All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.servicecatalog.AWSServiceCatalogClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Service Catalog module holds the client classes that are used for communicating with AWS Service Catalog

The newest version!
/*
 * 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 org.w3c.dom.*;

import java.net.*;
import java.util.*;

import javax.annotation.Generated;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;

import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;

import com.amazonaws.services.servicecatalog.AWSServiceCatalogClientBuilder;

import com.amazonaws.AmazonServiceException;

import com.amazonaws.services.servicecatalog.model.*;

import com.amazonaws.services.servicecatalog.model.transform.*;

/**
 * Client for accessing AWS Service Catalog. All service calls made using this client are blocking, and will not return
 * until the service call completes.
 * 

* 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. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSServiceCatalogClient extends AmazonWebServiceClient implements AWSServiceCatalog { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSServiceCatalog.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "servicecatalog"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidParametersException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.InvalidParametersExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("OperationNotSupportedException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.OperationNotSupportedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidStateException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.InvalidStateExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DuplicateResourceException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.DuplicateResourceExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("LimitExceededException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.LimitExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("TagOptionNotMigratedException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.TagOptionNotMigratedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceInUseException").withExceptionUnmarshaller( com.amazonaws.services.servicecatalog.model.transform.ResourceInUseExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.servicecatalog.model.AWSServiceCatalogException.class)); /** * Constructs a new client to invoke service methods on AWS Service Catalog. A credentials provider chain will be * used that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSServiceCatalogClientBuilder#defaultClient()} */ @Deprecated public AWSServiceCatalogClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS Service Catalog. A credentials provider chain will be * used that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientConfiguration * The client configuration options controlling how this client connects to AWS Service Catalog (ex: proxy * settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSServiceCatalogClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSServiceCatalogClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified AWS account * credentials. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @deprecated use {@link AWSServiceCatalogClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AWSServiceCatalogClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AWSServiceCatalogClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified AWS account * credentials and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use when authenticating with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to AWS Service Catalog (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AWSServiceCatalogClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSServiceCatalogClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSServiceCatalogClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified AWS account * credentials provider. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @deprecated use {@link AWSServiceCatalogClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AWSServiceCatalogClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified AWS account * credentials provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to AWS Service Catalog (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AWSServiceCatalogClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSServiceCatalogClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSServiceCatalogClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified AWS account * credentials provider, client configuration options, and request metric collector. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials to authenticate requests with AWS services. * @param clientConfiguration * The client configuration options controlling how this client connects to AWS Service Catalog (ex: proxy * settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AWSServiceCatalogClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSServiceCatalogClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AWSServiceCatalogClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AWSServiceCatalogClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AWSServiceCatalogClientBuilder builder() { return AWSServiceCatalogClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSServiceCatalogClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on AWS Service Catalog using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSServiceCatalogClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("servicecatalog.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/servicecatalog/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/servicecatalog/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* 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 */ @Override public AcceptPortfolioShareResult acceptPortfolioShare(AcceptPortfolioShareRequest request) { request = beforeClientExecution(request); return executeAcceptPortfolioShare(request); } @SdkInternalApi final AcceptPortfolioShareResult executeAcceptPortfolioShare(AcceptPortfolioShareRequest acceptPortfolioShareRequest) { ExecutionContext executionContext = createExecutionContext(acceptPortfolioShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AcceptPortfolioShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(acceptPortfolioShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AcceptPortfolioShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AcceptPortfolioShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public AssociateBudgetWithResourceResult associateBudgetWithResource(AssociateBudgetWithResourceRequest request) { request = beforeClientExecution(request); return executeAssociateBudgetWithResource(request); } @SdkInternalApi final AssociateBudgetWithResourceResult executeAssociateBudgetWithResource(AssociateBudgetWithResourceRequest associateBudgetWithResourceRequest) { ExecutionContext executionContext = createExecutionContext(associateBudgetWithResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateBudgetWithResourceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateBudgetWithResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateBudgetWithResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateBudgetWithResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public AssociatePrincipalWithPortfolioResult associatePrincipalWithPortfolio(AssociatePrincipalWithPortfolioRequest request) { request = beforeClientExecution(request); return executeAssociatePrincipalWithPortfolio(request); } @SdkInternalApi final AssociatePrincipalWithPortfolioResult executeAssociatePrincipalWithPortfolio( AssociatePrincipalWithPortfolioRequest associatePrincipalWithPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(associatePrincipalWithPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociatePrincipalWithPortfolioRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associatePrincipalWithPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociatePrincipalWithPortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociatePrincipalWithPortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public AssociateProductWithPortfolioResult associateProductWithPortfolio(AssociateProductWithPortfolioRequest request) { request = beforeClientExecution(request); return executeAssociateProductWithPortfolio(request); } @SdkInternalApi final AssociateProductWithPortfolioResult executeAssociateProductWithPortfolio(AssociateProductWithPortfolioRequest associateProductWithPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(associateProductWithPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateProductWithPortfolioRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateProductWithPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateProductWithPortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateProductWithPortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public AssociateServiceActionWithProvisioningArtifactResult associateServiceActionWithProvisioningArtifact( AssociateServiceActionWithProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeAssociateServiceActionWithProvisioningArtifact(request); } @SdkInternalApi final AssociateServiceActionWithProvisioningArtifactResult executeAssociateServiceActionWithProvisioningArtifact( AssociateServiceActionWithProvisioningArtifactRequest associateServiceActionWithProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(associateServiceActionWithProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateServiceActionWithProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateServiceActionWithProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateServiceActionWithProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateServiceActionWithProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public AssociateTagOptionWithResourceResult associateTagOptionWithResource(AssociateTagOptionWithResourceRequest request) { request = beforeClientExecution(request); return executeAssociateTagOptionWithResource(request); } @SdkInternalApi final AssociateTagOptionWithResourceResult executeAssociateTagOptionWithResource(AssociateTagOptionWithResourceRequest associateTagOptionWithResourceRequest) { ExecutionContext executionContext = createExecutionContext(associateTagOptionWithResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateTagOptionWithResourceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateTagOptionWithResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateTagOptionWithResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateTagOptionWithResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public BatchAssociateServiceActionWithProvisioningArtifactResult batchAssociateServiceActionWithProvisioningArtifact( BatchAssociateServiceActionWithProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeBatchAssociateServiceActionWithProvisioningArtifact(request); } @SdkInternalApi final BatchAssociateServiceActionWithProvisioningArtifactResult executeBatchAssociateServiceActionWithProvisioningArtifact( BatchAssociateServiceActionWithProvisioningArtifactRequest batchAssociateServiceActionWithProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(batchAssociateServiceActionWithProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new BatchAssociateServiceActionWithProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(batchAssociateServiceActionWithProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "BatchAssociateServiceActionWithProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new BatchAssociateServiceActionWithProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public BatchDisassociateServiceActionFromProvisioningArtifactResult batchDisassociateServiceActionFromProvisioningArtifact( BatchDisassociateServiceActionFromProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeBatchDisassociateServiceActionFromProvisioningArtifact(request); } @SdkInternalApi final BatchDisassociateServiceActionFromProvisioningArtifactResult executeBatchDisassociateServiceActionFromProvisioningArtifact( BatchDisassociateServiceActionFromProvisioningArtifactRequest batchDisassociateServiceActionFromProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(batchDisassociateServiceActionFromProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new BatchDisassociateServiceActionFromProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(batchDisassociateServiceActionFromProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "BatchDisassociateServiceActionFromProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new BatchDisassociateServiceActionFromProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CopyProductResult copyProduct(CopyProductRequest request) { request = beforeClientExecution(request); return executeCopyProduct(request); } @SdkInternalApi final CopyProductResult executeCopyProduct(CopyProductRequest copyProductRequest) { ExecutionContext executionContext = createExecutionContext(copyProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CopyProductRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(copyProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CopyProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CopyProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreateConstraintResult createConstraint(CreateConstraintRequest request) { request = beforeClientExecution(request); return executeCreateConstraint(request); } @SdkInternalApi final CreateConstraintResult executeCreateConstraint(CreateConstraintRequest createConstraintRequest) { ExecutionContext executionContext = createExecutionContext(createConstraintRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateConstraintRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createConstraintRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateConstraint"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateConstraintResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreatePortfolioResult createPortfolio(CreatePortfolioRequest request) { request = beforeClientExecution(request); return executeCreatePortfolio(request); } @SdkInternalApi final CreatePortfolioResult executeCreatePortfolio(CreatePortfolioRequest createPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(createPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePortfolioRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreatePortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreatePortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreatePortfolioShareResult createPortfolioShare(CreatePortfolioShareRequest request) { request = beforeClientExecution(request); return executeCreatePortfolioShare(request); } @SdkInternalApi final CreatePortfolioShareResult executeCreatePortfolioShare(CreatePortfolioShareRequest createPortfolioShareRequest) { ExecutionContext executionContext = createExecutionContext(createPortfolioShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreatePortfolioShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createPortfolioShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreatePortfolioShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreatePortfolioShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreateProductResult createProduct(CreateProductRequest request) { request = beforeClientExecution(request); return executeCreateProduct(request); } @SdkInternalApi final CreateProductResult executeCreateProduct(CreateProductRequest createProductRequest) { ExecutionContext executionContext = createExecutionContext(createProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateProductRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreateProvisionedProductPlanResult createProvisionedProductPlan(CreateProvisionedProductPlanRequest request) { request = beforeClientExecution(request); return executeCreateProvisionedProductPlan(request); } @SdkInternalApi final CreateProvisionedProductPlanResult executeCreateProvisionedProductPlan(CreateProvisionedProductPlanRequest createProvisionedProductPlanRequest) { ExecutionContext executionContext = createExecutionContext(createProvisionedProductPlanRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateProvisionedProductPlanRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createProvisionedProductPlanRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateProvisionedProductPlan"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateProvisionedProductPlanResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreateProvisioningArtifactResult createProvisioningArtifact(CreateProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeCreateProvisioningArtifact(request); } @SdkInternalApi final CreateProvisioningArtifactResult executeCreateProvisioningArtifact(CreateProvisioningArtifactRequest createProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(createProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreateServiceActionResult createServiceAction(CreateServiceActionRequest request) { request = beforeClientExecution(request); return executeCreateServiceAction(request); } @SdkInternalApi final CreateServiceActionResult executeCreateServiceAction(CreateServiceActionRequest createServiceActionRequest) { ExecutionContext executionContext = createExecutionContext(createServiceActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateServiceActionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createServiceActionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateServiceAction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateServiceActionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public CreateTagOptionResult createTagOption(CreateTagOptionRequest request) { request = beforeClientExecution(request); return executeCreateTagOption(request); } @SdkInternalApi final CreateTagOptionResult executeCreateTagOption(CreateTagOptionRequest createTagOptionRequest) { ExecutionContext executionContext = createExecutionContext(createTagOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTagOptionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTagOptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTagOption"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTagOptionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeleteConstraintResult deleteConstraint(DeleteConstraintRequest request) { request = beforeClientExecution(request); return executeDeleteConstraint(request); } @SdkInternalApi final DeleteConstraintResult executeDeleteConstraint(DeleteConstraintRequest deleteConstraintRequest) { ExecutionContext executionContext = createExecutionContext(deleteConstraintRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteConstraintRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteConstraintRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteConstraint"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteConstraintResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeletePortfolioResult deletePortfolio(DeletePortfolioRequest request) { request = beforeClientExecution(request); return executeDeletePortfolio(request); } @SdkInternalApi final DeletePortfolioResult executeDeletePortfolio(DeletePortfolioRequest deletePortfolioRequest) { ExecutionContext executionContext = createExecutionContext(deletePortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePortfolioRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deletePortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeletePortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeletePortfolioShareResult deletePortfolioShare(DeletePortfolioShareRequest request) { request = beforeClientExecution(request); return executeDeletePortfolioShare(request); } @SdkInternalApi final DeletePortfolioShareResult executeDeletePortfolioShare(DeletePortfolioShareRequest deletePortfolioShareRequest) { ExecutionContext executionContext = createExecutionContext(deletePortfolioShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeletePortfolioShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deletePortfolioShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeletePortfolioShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeletePortfolioShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeleteProductResult deleteProduct(DeleteProductRequest request) { request = beforeClientExecution(request); return executeDeleteProduct(request); } @SdkInternalApi final DeleteProductResult executeDeleteProduct(DeleteProductRequest deleteProductRequest) { ExecutionContext executionContext = createExecutionContext(deleteProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteProductRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeleteProvisionedProductPlanResult deleteProvisionedProductPlan(DeleteProvisionedProductPlanRequest request) { request = beforeClientExecution(request); return executeDeleteProvisionedProductPlan(request); } @SdkInternalApi final DeleteProvisionedProductPlanResult executeDeleteProvisionedProductPlan(DeleteProvisionedProductPlanRequest deleteProvisionedProductPlanRequest) { ExecutionContext executionContext = createExecutionContext(deleteProvisionedProductPlanRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteProvisionedProductPlanRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteProvisionedProductPlanRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteProvisionedProductPlan"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteProvisionedProductPlanResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeleteProvisioningArtifactResult deleteProvisioningArtifact(DeleteProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeDeleteProvisioningArtifact(request); } @SdkInternalApi final DeleteProvisioningArtifactResult executeDeleteProvisioningArtifact(DeleteProvisioningArtifactRequest deleteProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(deleteProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeleteServiceActionResult deleteServiceAction(DeleteServiceActionRequest request) { request = beforeClientExecution(request); return executeDeleteServiceAction(request); } @SdkInternalApi final DeleteServiceActionResult executeDeleteServiceAction(DeleteServiceActionRequest deleteServiceActionRequest) { ExecutionContext executionContext = createExecutionContext(deleteServiceActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteServiceActionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteServiceActionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteServiceAction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteServiceActionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DeleteTagOptionResult deleteTagOption(DeleteTagOptionRequest request) { request = beforeClientExecution(request); return executeDeleteTagOption(request); } @SdkInternalApi final DeleteTagOptionResult executeDeleteTagOption(DeleteTagOptionRequest deleteTagOptionRequest) { ExecutionContext executionContext = createExecutionContext(deleteTagOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTagOptionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTagOptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTagOption"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTagOptionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeConstraintResult describeConstraint(DescribeConstraintRequest request) { request = beforeClientExecution(request); return executeDescribeConstraint(request); } @SdkInternalApi final DescribeConstraintResult executeDescribeConstraint(DescribeConstraintRequest describeConstraintRequest) { ExecutionContext executionContext = createExecutionContext(describeConstraintRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeConstraintRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeConstraintRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeConstraint"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeConstraintResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeCopyProductStatusResult describeCopyProductStatus(DescribeCopyProductStatusRequest request) { request = beforeClientExecution(request); return executeDescribeCopyProductStatus(request); } @SdkInternalApi final DescribeCopyProductStatusResult executeDescribeCopyProductStatus(DescribeCopyProductStatusRequest describeCopyProductStatusRequest) { ExecutionContext executionContext = createExecutionContext(describeCopyProductStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCopyProductStatusRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeCopyProductStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeCopyProductStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeCopyProductStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribePortfolioResult describePortfolio(DescribePortfolioRequest request) { request = beforeClientExecution(request); return executeDescribePortfolio(request); } @SdkInternalApi final DescribePortfolioResult executeDescribePortfolio(DescribePortfolioRequest describePortfolioRequest) { ExecutionContext executionContext = createExecutionContext(describePortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribePortfolioRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describePortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribePortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribePortfolioShareStatusResult describePortfolioShareStatus(DescribePortfolioShareStatusRequest request) { request = beforeClientExecution(request); return executeDescribePortfolioShareStatus(request); } @SdkInternalApi final DescribePortfolioShareStatusResult executeDescribePortfolioShareStatus(DescribePortfolioShareStatusRequest describePortfolioShareStatusRequest) { ExecutionContext executionContext = createExecutionContext(describePortfolioShareStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribePortfolioShareStatusRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describePortfolioShareStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePortfolioShareStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribePortfolioShareStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribePortfolioSharesResult describePortfolioShares(DescribePortfolioSharesRequest request) { request = beforeClientExecution(request); return executeDescribePortfolioShares(request); } @SdkInternalApi final DescribePortfolioSharesResult executeDescribePortfolioShares(DescribePortfolioSharesRequest describePortfolioSharesRequest) { ExecutionContext executionContext = createExecutionContext(describePortfolioSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribePortfolioSharesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describePortfolioSharesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribePortfolioShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribePortfolioSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProductResult describeProduct(DescribeProductRequest request) { request = beforeClientExecution(request); return executeDescribeProduct(request); } @SdkInternalApi final DescribeProductResult executeDescribeProduct(DescribeProductRequest describeProductRequest) { ExecutionContext executionContext = createExecutionContext(describeProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProductRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProductAsAdminResult describeProductAsAdmin(DescribeProductAsAdminRequest request) { request = beforeClientExecution(request); return executeDescribeProductAsAdmin(request); } @SdkInternalApi final DescribeProductAsAdminResult executeDescribeProductAsAdmin(DescribeProductAsAdminRequest describeProductAsAdminRequest) { ExecutionContext executionContext = createExecutionContext(describeProductAsAdminRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProductAsAdminRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeProductAsAdminRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProductAsAdmin"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProductAsAdminResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProductViewResult describeProductView(DescribeProductViewRequest request) { request = beforeClientExecution(request); return executeDescribeProductView(request); } @SdkInternalApi final DescribeProductViewResult executeDescribeProductView(DescribeProductViewRequest describeProductViewRequest) { ExecutionContext executionContext = createExecutionContext(describeProductViewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProductViewRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeProductViewRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProductView"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProductViewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProvisionedProductResult describeProvisionedProduct(DescribeProvisionedProductRequest request) { request = beforeClientExecution(request); return executeDescribeProvisionedProduct(request); } @SdkInternalApi final DescribeProvisionedProductResult executeDescribeProvisionedProduct(DescribeProvisionedProductRequest describeProvisionedProductRequest) { ExecutionContext executionContext = createExecutionContext(describeProvisionedProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProvisionedProductRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeProvisionedProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProvisionedProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProvisionedProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProvisionedProductPlanResult describeProvisionedProductPlan(DescribeProvisionedProductPlanRequest request) { request = beforeClientExecution(request); return executeDescribeProvisionedProductPlan(request); } @SdkInternalApi final DescribeProvisionedProductPlanResult executeDescribeProvisionedProductPlan(DescribeProvisionedProductPlanRequest describeProvisionedProductPlanRequest) { ExecutionContext executionContext = createExecutionContext(describeProvisionedProductPlanRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProvisionedProductPlanRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeProvisionedProductPlanRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProvisionedProductPlan"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProvisionedProductPlanResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProvisioningArtifactResult describeProvisioningArtifact(DescribeProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeDescribeProvisioningArtifact(request); } @SdkInternalApi final DescribeProvisioningArtifactResult executeDescribeProvisioningArtifact(DescribeProvisioningArtifactRequest describeProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(describeProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeProvisioningParametersResult describeProvisioningParameters(DescribeProvisioningParametersRequest request) { request = beforeClientExecution(request); return executeDescribeProvisioningParameters(request); } @SdkInternalApi final DescribeProvisioningParametersResult executeDescribeProvisioningParameters(DescribeProvisioningParametersRequest describeProvisioningParametersRequest) { ExecutionContext executionContext = createExecutionContext(describeProvisioningParametersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeProvisioningParametersRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeProvisioningParametersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeProvisioningParameters"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeProvisioningParametersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeRecordResult describeRecord(DescribeRecordRequest request) { request = beforeClientExecution(request); return executeDescribeRecord(request); } @SdkInternalApi final DescribeRecordResult executeDescribeRecord(DescribeRecordRequest describeRecordRequest) { ExecutionContext executionContext = createExecutionContext(describeRecordRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeRecordRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeRecordRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeRecord"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeRecordResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeServiceActionResult describeServiceAction(DescribeServiceActionRequest request) { request = beforeClientExecution(request); return executeDescribeServiceAction(request); } @SdkInternalApi final DescribeServiceActionResult executeDescribeServiceAction(DescribeServiceActionRequest describeServiceActionRequest) { ExecutionContext executionContext = createExecutionContext(describeServiceActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeServiceActionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeServiceActionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeServiceAction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeServiceActionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeServiceActionExecutionParametersResult describeServiceActionExecutionParameters(DescribeServiceActionExecutionParametersRequest request) { request = beforeClientExecution(request); return executeDescribeServiceActionExecutionParameters(request); } @SdkInternalApi final DescribeServiceActionExecutionParametersResult executeDescribeServiceActionExecutionParameters( DescribeServiceActionExecutionParametersRequest describeServiceActionExecutionParametersRequest) { ExecutionContext executionContext = createExecutionContext(describeServiceActionExecutionParametersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeServiceActionExecutionParametersRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeServiceActionExecutionParametersRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeServiceActionExecutionParameters"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeServiceActionExecutionParametersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DescribeTagOptionResult describeTagOption(DescribeTagOptionRequest request) { request = beforeClientExecution(request); return executeDescribeTagOption(request); } @SdkInternalApi final DescribeTagOptionResult executeDescribeTagOption(DescribeTagOptionRequest describeTagOptionRequest) { ExecutionContext executionContext = createExecutionContext(describeTagOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTagOptionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeTagOptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTagOption"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTagOptionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DisableAWSOrganizationsAccessResult disableAWSOrganizationsAccess(DisableAWSOrganizationsAccessRequest request) { request = beforeClientExecution(request); return executeDisableAWSOrganizationsAccess(request); } @SdkInternalApi final DisableAWSOrganizationsAccessResult executeDisableAWSOrganizationsAccess(DisableAWSOrganizationsAccessRequest disableAWSOrganizationsAccessRequest) { ExecutionContext executionContext = createExecutionContext(disableAWSOrganizationsAccessRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableAWSOrganizationsAccessRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disableAWSOrganizationsAccessRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableAWSOrganizationsAccess"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisableAWSOrganizationsAccessResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DisassociateBudgetFromResourceResult disassociateBudgetFromResource(DisassociateBudgetFromResourceRequest request) { request = beforeClientExecution(request); return executeDisassociateBudgetFromResource(request); } @SdkInternalApi final DisassociateBudgetFromResourceResult executeDisassociateBudgetFromResource(DisassociateBudgetFromResourceRequest disassociateBudgetFromResourceRequest) { ExecutionContext executionContext = createExecutionContext(disassociateBudgetFromResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateBudgetFromResourceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateBudgetFromResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateBudgetFromResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateBudgetFromResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DisassociatePrincipalFromPortfolioResult disassociatePrincipalFromPortfolio(DisassociatePrincipalFromPortfolioRequest request) { request = beforeClientExecution(request); return executeDisassociatePrincipalFromPortfolio(request); } @SdkInternalApi final DisassociatePrincipalFromPortfolioResult executeDisassociatePrincipalFromPortfolio( DisassociatePrincipalFromPortfolioRequest disassociatePrincipalFromPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(disassociatePrincipalFromPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociatePrincipalFromPortfolioRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociatePrincipalFromPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociatePrincipalFromPortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociatePrincipalFromPortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DisassociateProductFromPortfolioResult disassociateProductFromPortfolio(DisassociateProductFromPortfolioRequest request) { request = beforeClientExecution(request); return executeDisassociateProductFromPortfolio(request); } @SdkInternalApi final DisassociateProductFromPortfolioResult executeDisassociateProductFromPortfolio( DisassociateProductFromPortfolioRequest disassociateProductFromPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(disassociateProductFromPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateProductFromPortfolioRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateProductFromPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateProductFromPortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateProductFromPortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DisassociateServiceActionFromProvisioningArtifactResult disassociateServiceActionFromProvisioningArtifact( DisassociateServiceActionFromProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeDisassociateServiceActionFromProvisioningArtifact(request); } @SdkInternalApi final DisassociateServiceActionFromProvisioningArtifactResult executeDisassociateServiceActionFromProvisioningArtifact( DisassociateServiceActionFromProvisioningArtifactRequest disassociateServiceActionFromProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(disassociateServiceActionFromProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateServiceActionFromProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateServiceActionFromProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateServiceActionFromProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateServiceActionFromProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public DisassociateTagOptionFromResourceResult disassociateTagOptionFromResource(DisassociateTagOptionFromResourceRequest request) { request = beforeClientExecution(request); return executeDisassociateTagOptionFromResource(request); } @SdkInternalApi final DisassociateTagOptionFromResourceResult executeDisassociateTagOptionFromResource( DisassociateTagOptionFromResourceRequest disassociateTagOptionFromResourceRequest) { ExecutionContext executionContext = createExecutionContext(disassociateTagOptionFromResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateTagOptionFromResourceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateTagOptionFromResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateTagOptionFromResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateTagOptionFromResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public EnableAWSOrganizationsAccessResult enableAWSOrganizationsAccess(EnableAWSOrganizationsAccessRequest request) { request = beforeClientExecution(request); return executeEnableAWSOrganizationsAccess(request); } @SdkInternalApi final EnableAWSOrganizationsAccessResult executeEnableAWSOrganizationsAccess(EnableAWSOrganizationsAccessRequest enableAWSOrganizationsAccessRequest) { ExecutionContext executionContext = createExecutionContext(enableAWSOrganizationsAccessRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new EnableAWSOrganizationsAccessRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(enableAWSOrganizationsAccessRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "EnableAWSOrganizationsAccess"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new EnableAWSOrganizationsAccessResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ExecuteProvisionedProductPlanResult executeProvisionedProductPlan(ExecuteProvisionedProductPlanRequest request) { request = beforeClientExecution(request); return executeExecuteProvisionedProductPlan(request); } @SdkInternalApi final ExecuteProvisionedProductPlanResult executeExecuteProvisionedProductPlan(ExecuteProvisionedProductPlanRequest executeProvisionedProductPlanRequest) { ExecutionContext executionContext = createExecutionContext(executeProvisionedProductPlanRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ExecuteProvisionedProductPlanRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(executeProvisionedProductPlanRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ExecuteProvisionedProductPlan"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ExecuteProvisionedProductPlanResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ExecuteProvisionedProductServiceActionResult executeProvisionedProductServiceAction(ExecuteProvisionedProductServiceActionRequest request) { request = beforeClientExecution(request); return executeExecuteProvisionedProductServiceAction(request); } @SdkInternalApi final ExecuteProvisionedProductServiceActionResult executeExecuteProvisionedProductServiceAction( ExecuteProvisionedProductServiceActionRequest executeProvisionedProductServiceActionRequest) { ExecutionContext executionContext = createExecutionContext(executeProvisionedProductServiceActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ExecuteProvisionedProductServiceActionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(executeProvisionedProductServiceActionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ExecuteProvisionedProductServiceAction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ExecuteProvisionedProductServiceActionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public GetAWSOrganizationsAccessStatusResult getAWSOrganizationsAccessStatus(GetAWSOrganizationsAccessStatusRequest request) { request = beforeClientExecution(request); return executeGetAWSOrganizationsAccessStatus(request); } @SdkInternalApi final GetAWSOrganizationsAccessStatusResult executeGetAWSOrganizationsAccessStatus( GetAWSOrganizationsAccessStatusRequest getAWSOrganizationsAccessStatusRequest) { ExecutionContext executionContext = createExecutionContext(getAWSOrganizationsAccessStatusRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetAWSOrganizationsAccessStatusRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(getAWSOrganizationsAccessStatusRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetAWSOrganizationsAccessStatus"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetAWSOrganizationsAccessStatusResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public GetProvisionedProductOutputsResult getProvisionedProductOutputs(GetProvisionedProductOutputsRequest request) { request = beforeClientExecution(request); return executeGetProvisionedProductOutputs(request); } @SdkInternalApi final GetProvisionedProductOutputsResult executeGetProvisionedProductOutputs(GetProvisionedProductOutputsRequest getProvisionedProductOutputsRequest) { ExecutionContext executionContext = createExecutionContext(getProvisionedProductOutputsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetProvisionedProductOutputsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(getProvisionedProductOutputsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetProvisionedProductOutputs"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetProvisionedProductOutputsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ImportAsProvisionedProductResult importAsProvisionedProduct(ImportAsProvisionedProductRequest request) { request = beforeClientExecution(request); return executeImportAsProvisionedProduct(request); } @SdkInternalApi final ImportAsProvisionedProductResult executeImportAsProvisionedProduct(ImportAsProvisionedProductRequest importAsProvisionedProductRequest) { ExecutionContext executionContext = createExecutionContext(importAsProvisionedProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ImportAsProvisionedProductRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(importAsProvisionedProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ImportAsProvisionedProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ImportAsProvisionedProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListAcceptedPortfolioSharesResult listAcceptedPortfolioShares(ListAcceptedPortfolioSharesRequest request) { request = beforeClientExecution(request); return executeListAcceptedPortfolioShares(request); } @SdkInternalApi final ListAcceptedPortfolioSharesResult executeListAcceptedPortfolioShares(ListAcceptedPortfolioSharesRequest listAcceptedPortfolioSharesRequest) { ExecutionContext executionContext = createExecutionContext(listAcceptedPortfolioSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListAcceptedPortfolioSharesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listAcceptedPortfolioSharesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAcceptedPortfolioShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAcceptedPortfolioSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListBudgetsForResourceResult listBudgetsForResource(ListBudgetsForResourceRequest request) { request = beforeClientExecution(request); return executeListBudgetsForResource(request); } @SdkInternalApi final ListBudgetsForResourceResult executeListBudgetsForResource(ListBudgetsForResourceRequest listBudgetsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listBudgetsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListBudgetsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listBudgetsForResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListBudgetsForResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListBudgetsForResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListConstraintsForPortfolioResult listConstraintsForPortfolio(ListConstraintsForPortfolioRequest request) { request = beforeClientExecution(request); return executeListConstraintsForPortfolio(request); } @SdkInternalApi final ListConstraintsForPortfolioResult executeListConstraintsForPortfolio(ListConstraintsForPortfolioRequest listConstraintsForPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(listConstraintsForPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListConstraintsForPortfolioRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listConstraintsForPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListConstraintsForPortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListConstraintsForPortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListLaunchPathsResult listLaunchPaths(ListLaunchPathsRequest request) { request = beforeClientExecution(request); return executeListLaunchPaths(request); } @SdkInternalApi final ListLaunchPathsResult executeListLaunchPaths(ListLaunchPathsRequest listLaunchPathsRequest) { ExecutionContext executionContext = createExecutionContext(listLaunchPathsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLaunchPathsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLaunchPathsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLaunchPaths"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLaunchPathsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListOrganizationPortfolioAccessResult listOrganizationPortfolioAccess(ListOrganizationPortfolioAccessRequest request) { request = beforeClientExecution(request); return executeListOrganizationPortfolioAccess(request); } @SdkInternalApi final ListOrganizationPortfolioAccessResult executeListOrganizationPortfolioAccess( ListOrganizationPortfolioAccessRequest listOrganizationPortfolioAccessRequest) { ExecutionContext executionContext = createExecutionContext(listOrganizationPortfolioAccessRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListOrganizationPortfolioAccessRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listOrganizationPortfolioAccessRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListOrganizationPortfolioAccess"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListOrganizationPortfolioAccessResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListPortfolioAccessResult listPortfolioAccess(ListPortfolioAccessRequest request) { request = beforeClientExecution(request); return executeListPortfolioAccess(request); } @SdkInternalApi final ListPortfolioAccessResult executeListPortfolioAccess(ListPortfolioAccessRequest listPortfolioAccessRequest) { ExecutionContext executionContext = createExecutionContext(listPortfolioAccessRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPortfolioAccessRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPortfolioAccessRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPortfolioAccess"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPortfolioAccessResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListPortfoliosResult listPortfolios(ListPortfoliosRequest request) { request = beforeClientExecution(request); return executeListPortfolios(request); } @SdkInternalApi final ListPortfoliosResult executeListPortfolios(ListPortfoliosRequest listPortfoliosRequest) { ExecutionContext executionContext = createExecutionContext(listPortfoliosRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPortfoliosRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listPortfoliosRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPortfolios"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPortfoliosResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListPortfoliosForProductResult listPortfoliosForProduct(ListPortfoliosForProductRequest request) { request = beforeClientExecution(request); return executeListPortfoliosForProduct(request); } @SdkInternalApi final ListPortfoliosForProductResult executeListPortfoliosForProduct(ListPortfoliosForProductRequest listPortfoliosForProductRequest) { ExecutionContext executionContext = createExecutionContext(listPortfoliosForProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPortfoliosForProductRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listPortfoliosForProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPortfoliosForProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPortfoliosForProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Lists all PrincipalARNs and corresponding PrincipalTypes 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 */ @Override public ListPrincipalsForPortfolioResult listPrincipalsForPortfolio(ListPrincipalsForPortfolioRequest request) { request = beforeClientExecution(request); return executeListPrincipalsForPortfolio(request); } @SdkInternalApi final ListPrincipalsForPortfolioResult executeListPrincipalsForPortfolio(ListPrincipalsForPortfolioRequest listPrincipalsForPortfolioRequest) { ExecutionContext executionContext = createExecutionContext(listPrincipalsForPortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListPrincipalsForPortfolioRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listPrincipalsForPortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListPrincipalsForPortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListPrincipalsForPortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListProvisionedProductPlansResult listProvisionedProductPlans(ListProvisionedProductPlansRequest request) { request = beforeClientExecution(request); return executeListProvisionedProductPlans(request); } @SdkInternalApi final ListProvisionedProductPlansResult executeListProvisionedProductPlans(ListProvisionedProductPlansRequest listProvisionedProductPlansRequest) { ExecutionContext executionContext = createExecutionContext(listProvisionedProductPlansRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProvisionedProductPlansRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listProvisionedProductPlansRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProvisionedProductPlans"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProvisionedProductPlansResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListProvisioningArtifactsResult listProvisioningArtifacts(ListProvisioningArtifactsRequest request) { request = beforeClientExecution(request); return executeListProvisioningArtifacts(request); } @SdkInternalApi final ListProvisioningArtifactsResult executeListProvisioningArtifacts(ListProvisioningArtifactsRequest listProvisioningArtifactsRequest) { ExecutionContext executionContext = createExecutionContext(listProvisioningArtifactsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProvisioningArtifactsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listProvisioningArtifactsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProvisioningArtifacts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProvisioningArtifactsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListProvisioningArtifactsForServiceActionResult listProvisioningArtifactsForServiceAction(ListProvisioningArtifactsForServiceActionRequest request) { request = beforeClientExecution(request); return executeListProvisioningArtifactsForServiceAction(request); } @SdkInternalApi final ListProvisioningArtifactsForServiceActionResult executeListProvisioningArtifactsForServiceAction( ListProvisioningArtifactsForServiceActionRequest listProvisioningArtifactsForServiceActionRequest) { ExecutionContext executionContext = createExecutionContext(listProvisioningArtifactsForServiceActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProvisioningArtifactsForServiceActionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listProvisioningArtifactsForServiceActionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProvisioningArtifactsForServiceAction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProvisioningArtifactsForServiceActionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListRecordHistoryResult listRecordHistory(ListRecordHistoryRequest request) { request = beforeClientExecution(request); return executeListRecordHistory(request); } @SdkInternalApi final ListRecordHistoryResult executeListRecordHistory(ListRecordHistoryRequest listRecordHistoryRequest) { ExecutionContext executionContext = createExecutionContext(listRecordHistoryRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListRecordHistoryRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listRecordHistoryRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListRecordHistory"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListRecordHistoryResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListResourcesForTagOptionResult listResourcesForTagOption(ListResourcesForTagOptionRequest request) { request = beforeClientExecution(request); return executeListResourcesForTagOption(request); } @SdkInternalApi final ListResourcesForTagOptionResult executeListResourcesForTagOption(ListResourcesForTagOptionRequest listResourcesForTagOptionRequest) { ExecutionContext executionContext = createExecutionContext(listResourcesForTagOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListResourcesForTagOptionRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listResourcesForTagOptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListResourcesForTagOption"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListResourcesForTagOptionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListServiceActionsResult listServiceActions(ListServiceActionsRequest request) { request = beforeClientExecution(request); return executeListServiceActions(request); } @SdkInternalApi final ListServiceActionsResult executeListServiceActions(ListServiceActionsRequest listServiceActionsRequest) { ExecutionContext executionContext = createExecutionContext(listServiceActionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListServiceActionsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listServiceActionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListServiceActions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListServiceActionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListServiceActionsForProvisioningArtifactResult listServiceActionsForProvisioningArtifact(ListServiceActionsForProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeListServiceActionsForProvisioningArtifact(request); } @SdkInternalApi final ListServiceActionsForProvisioningArtifactResult executeListServiceActionsForProvisioningArtifact( ListServiceActionsForProvisioningArtifactRequest listServiceActionsForProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(listServiceActionsForProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListServiceActionsForProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listServiceActionsForProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListServiceActionsForProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListServiceActionsForProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListStackInstancesForProvisionedProductResult listStackInstancesForProvisionedProduct(ListStackInstancesForProvisionedProductRequest request) { request = beforeClientExecution(request); return executeListStackInstancesForProvisionedProduct(request); } @SdkInternalApi final ListStackInstancesForProvisionedProductResult executeListStackInstancesForProvisionedProduct( ListStackInstancesForProvisionedProductRequest listStackInstancesForProvisionedProductRequest) { ExecutionContext executionContext = createExecutionContext(listStackInstancesForProvisionedProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListStackInstancesForProvisionedProductRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listStackInstancesForProvisionedProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListStackInstancesForProvisionedProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListStackInstancesForProvisionedProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListTagOptionsResult listTagOptions(ListTagOptionsRequest request) { request = beforeClientExecution(request); return executeListTagOptions(request); } @SdkInternalApi final ListTagOptionsResult executeListTagOptions(ListTagOptionsRequest listTagOptionsRequest) { ExecutionContext executionContext = createExecutionContext(listTagOptionsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagOptionsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagOptionsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagOptions"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagOptionsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public NotifyProvisionProductEngineWorkflowResultResult notifyProvisionProductEngineWorkflowResult(NotifyProvisionProductEngineWorkflowResultRequest request) { request = beforeClientExecution(request); return executeNotifyProvisionProductEngineWorkflowResult(request); } @SdkInternalApi final NotifyProvisionProductEngineWorkflowResultResult executeNotifyProvisionProductEngineWorkflowResult( NotifyProvisionProductEngineWorkflowResultRequest notifyProvisionProductEngineWorkflowResultRequest) { ExecutionContext executionContext = createExecutionContext(notifyProvisionProductEngineWorkflowResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new NotifyProvisionProductEngineWorkflowResultRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(notifyProvisionProductEngineWorkflowResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "NotifyProvisionProductEngineWorkflowResult"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new NotifyProvisionProductEngineWorkflowResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public NotifyTerminateProvisionedProductEngineWorkflowResultResult notifyTerminateProvisionedProductEngineWorkflowResult( NotifyTerminateProvisionedProductEngineWorkflowResultRequest request) { request = beforeClientExecution(request); return executeNotifyTerminateProvisionedProductEngineWorkflowResult(request); } @SdkInternalApi final NotifyTerminateProvisionedProductEngineWorkflowResultResult executeNotifyTerminateProvisionedProductEngineWorkflowResult( NotifyTerminateProvisionedProductEngineWorkflowResultRequest notifyTerminateProvisionedProductEngineWorkflowResultRequest) { ExecutionContext executionContext = createExecutionContext(notifyTerminateProvisionedProductEngineWorkflowResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new NotifyTerminateProvisionedProductEngineWorkflowResultRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(notifyTerminateProvisionedProductEngineWorkflowResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "NotifyTerminateProvisionedProductEngineWorkflowResult"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new NotifyTerminateProvisionedProductEngineWorkflowResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public NotifyUpdateProvisionedProductEngineWorkflowResultResult notifyUpdateProvisionedProductEngineWorkflowResult( NotifyUpdateProvisionedProductEngineWorkflowResultRequest request) { request = beforeClientExecution(request); return executeNotifyUpdateProvisionedProductEngineWorkflowResult(request); } @SdkInternalApi final NotifyUpdateProvisionedProductEngineWorkflowResultResult executeNotifyUpdateProvisionedProductEngineWorkflowResult( NotifyUpdateProvisionedProductEngineWorkflowResultRequest notifyUpdateProvisionedProductEngineWorkflowResultRequest) { ExecutionContext executionContext = createExecutionContext(notifyUpdateProvisionedProductEngineWorkflowResultRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new NotifyUpdateProvisionedProductEngineWorkflowResultRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(notifyUpdateProvisionedProductEngineWorkflowResultRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "NotifyUpdateProvisionedProductEngineWorkflowResult"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new NotifyUpdateProvisionedProductEngineWorkflowResultResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ProvisionProductResult provisionProduct(ProvisionProductRequest request) { request = beforeClientExecution(request); return executeProvisionProduct(request); } @SdkInternalApi final ProvisionProductResult executeProvisionProduct(ProvisionProductRequest provisionProductRequest) { ExecutionContext executionContext = createExecutionContext(provisionProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ProvisionProductRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(provisionProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ProvisionProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ProvisionProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public RejectPortfolioShareResult rejectPortfolioShare(RejectPortfolioShareRequest request) { request = beforeClientExecution(request); return executeRejectPortfolioShare(request); } @SdkInternalApi final RejectPortfolioShareResult executeRejectPortfolioShare(RejectPortfolioShareRequest rejectPortfolioShareRequest) { ExecutionContext executionContext = createExecutionContext(rejectPortfolioShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RejectPortfolioShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(rejectPortfolioShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RejectPortfolioShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RejectPortfolioShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ScanProvisionedProductsResult scanProvisionedProducts(ScanProvisionedProductsRequest request) { request = beforeClientExecution(request); return executeScanProvisionedProducts(request); } @SdkInternalApi final ScanProvisionedProductsResult executeScanProvisionedProducts(ScanProvisionedProductsRequest scanProvisionedProductsRequest) { ExecutionContext executionContext = createExecutionContext(scanProvisionedProductsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ScanProvisionedProductsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(scanProvisionedProductsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ScanProvisionedProducts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ScanProvisionedProductsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public SearchProductsResult searchProducts(SearchProductsRequest request) { request = beforeClientExecution(request); return executeSearchProducts(request); } @SdkInternalApi final SearchProductsResult executeSearchProducts(SearchProductsRequest searchProductsRequest) { ExecutionContext executionContext = createExecutionContext(searchProductsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchProductsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchProductsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchProducts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchProductsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public SearchProductsAsAdminResult searchProductsAsAdmin(SearchProductsAsAdminRequest request) { request = beforeClientExecution(request); return executeSearchProductsAsAdmin(request); } @SdkInternalApi final SearchProductsAsAdminResult executeSearchProductsAsAdmin(SearchProductsAsAdminRequest searchProductsAsAdminRequest) { ExecutionContext executionContext = createExecutionContext(searchProductsAsAdminRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchProductsAsAdminRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(searchProductsAsAdminRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchProductsAsAdmin"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchProductsAsAdminResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public SearchProvisionedProductsResult searchProvisionedProducts(SearchProvisionedProductsRequest request) { request = beforeClientExecution(request); return executeSearchProvisionedProducts(request); } @SdkInternalApi final SearchProvisionedProductsResult executeSearchProvisionedProducts(SearchProvisionedProductsRequest searchProvisionedProductsRequest) { ExecutionContext executionContext = createExecutionContext(searchProvisionedProductsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SearchProvisionedProductsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(searchProvisionedProductsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SearchProvisionedProducts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SearchProvisionedProductsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public TerminateProvisionedProductResult terminateProvisionedProduct(TerminateProvisionedProductRequest request) { request = beforeClientExecution(request); return executeTerminateProvisionedProduct(request); } @SdkInternalApi final TerminateProvisionedProductResult executeTerminateProvisionedProduct(TerminateProvisionedProductRequest terminateProvisionedProductRequest) { ExecutionContext executionContext = createExecutionContext(terminateProvisionedProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TerminateProvisionedProductRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(terminateProvisionedProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TerminateProvisionedProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TerminateProvisionedProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateConstraintResult updateConstraint(UpdateConstraintRequest request) { request = beforeClientExecution(request); return executeUpdateConstraint(request); } @SdkInternalApi final UpdateConstraintResult executeUpdateConstraint(UpdateConstraintRequest updateConstraintRequest) { ExecutionContext executionContext = createExecutionContext(updateConstraintRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateConstraintRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateConstraintRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateConstraint"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateConstraintResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdatePortfolioResult updatePortfolio(UpdatePortfolioRequest request) { request = beforeClientExecution(request); return executeUpdatePortfolio(request); } @SdkInternalApi final UpdatePortfolioResult executeUpdatePortfolio(UpdatePortfolioRequest updatePortfolioRequest) { ExecutionContext executionContext = createExecutionContext(updatePortfolioRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdatePortfolioRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updatePortfolioRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdatePortfolio"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdatePortfolioResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdatePortfolioShareResult updatePortfolioShare(UpdatePortfolioShareRequest request) { request = beforeClientExecution(request); return executeUpdatePortfolioShare(request); } @SdkInternalApi final UpdatePortfolioShareResult executeUpdatePortfolioShare(UpdatePortfolioShareRequest updatePortfolioShareRequest) { ExecutionContext executionContext = createExecutionContext(updatePortfolioShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdatePortfolioShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updatePortfolioShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdatePortfolioShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdatePortfolioShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateProductResult updateProduct(UpdateProductRequest request) { request = beforeClientExecution(request); return executeUpdateProduct(request); } @SdkInternalApi final UpdateProductResult executeUpdateProduct(UpdateProductRequest updateProductRequest) { ExecutionContext executionContext = createExecutionContext(updateProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateProductRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateProvisionedProductResult updateProvisionedProduct(UpdateProvisionedProductRequest request) { request = beforeClientExecution(request); return executeUpdateProvisionedProduct(request); } @SdkInternalApi final UpdateProvisionedProductResult executeUpdateProvisionedProduct(UpdateProvisionedProductRequest updateProvisionedProductRequest) { ExecutionContext executionContext = createExecutionContext(updateProvisionedProductRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateProvisionedProductRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateProvisionedProductRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateProvisionedProduct"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateProvisionedProductResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateProvisionedProductPropertiesResult updateProvisionedProductProperties(UpdateProvisionedProductPropertiesRequest request) { request = beforeClientExecution(request); return executeUpdateProvisionedProductProperties(request); } @SdkInternalApi final UpdateProvisionedProductPropertiesResult executeUpdateProvisionedProductProperties( UpdateProvisionedProductPropertiesRequest updateProvisionedProductPropertiesRequest) { ExecutionContext executionContext = createExecutionContext(updateProvisionedProductPropertiesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateProvisionedProductPropertiesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateProvisionedProductPropertiesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateProvisionedProductProperties"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateProvisionedProductPropertiesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateProvisioningArtifactResult updateProvisioningArtifact(UpdateProvisioningArtifactRequest request) { request = beforeClientExecution(request); return executeUpdateProvisioningArtifact(request); } @SdkInternalApi final UpdateProvisioningArtifactResult executeUpdateProvisioningArtifact(UpdateProvisioningArtifactRequest updateProvisioningArtifactRequest) { ExecutionContext executionContext = createExecutionContext(updateProvisioningArtifactRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateProvisioningArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateProvisioningArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateProvisioningArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateProvisioningArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateServiceActionResult updateServiceAction(UpdateServiceActionRequest request) { request = beforeClientExecution(request); return executeUpdateServiceAction(request); } @SdkInternalApi final UpdateServiceActionResult executeUpdateServiceAction(UpdateServiceActionRequest updateServiceActionRequest) { ExecutionContext executionContext = createExecutionContext(updateServiceActionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateServiceActionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateServiceActionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateServiceAction"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateServiceActionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public UpdateTagOptionResult updateTagOption(UpdateTagOptionRequest request) { request = beforeClientExecution(request); return executeUpdateTagOption(request); } @SdkInternalApi final UpdateTagOptionResult executeUpdateTagOption(UpdateTagOptionRequest updateTagOptionRequest) { ExecutionContext executionContext = createExecutionContext(updateTagOptionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateTagOptionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateTagOptionRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Service Catalog"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateTagOption"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateTagOptionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * 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 the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @com.amazonaws.annotation.SdkInternalApi static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() { return protocolFactory; } @Override public void shutdown() { super.shutdown(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy