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

com.amazonaws.services.wellarchitected.AWSWellArchitectedClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Well-Architected Tool module holds the client classes that are used for communicating with AWS Well-Architected Tool Service

There is a newer version: 1.12.778
Show 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.wellarchitected;

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.wellarchitected.AWSWellArchitectedClientBuilder;

import com.amazonaws.AmazonServiceException;

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

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

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

* Well-Architected Tool *

* This is the Well-Architected Tool API Reference. The WA Tool API provides programmatic access to the Well-Architected Tool in the Amazon Web Services Management Console. For information * about the Well-Architected Tool, see the Well-Architected Tool User Guide. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSWellArchitectedClient extends AmazonWebServiceClient implements AWSWellArchitected { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSWellArchitected.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "wellarchitected"; /** 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) .withContentTypeOverride("application/json") .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceQuotaExceededException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.ServiceQuotaExceededExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InternalServerException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.InternalServerExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ValidationException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.ValidationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.ThrottlingExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.AccessDeniedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ConflictException").withExceptionUnmarshaller( com.amazonaws.services.wellarchitected.model.transform.ConflictExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.wellarchitected.model.AWSWellArchitectedException.class)); public static AWSWellArchitectedClientBuilder builder() { return AWSWellArchitectedClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on Well-Architected 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. */ AWSWellArchitectedClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on Well-Architected 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. */ AWSWellArchitectedClient(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("wellarchitected.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/wellarchitected/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/wellarchitected/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* Associate a lens to a workload. *

*

* Up to 10 lenses can be associated with a workload in a single API operation. A maximum of 20 lenses can be * associated with a workload. *

* *

* Disclaimer *

*

* By accessing and/or applying custom lenses created by another Amazon Web Services user or account, you * acknowledge that custom lenses created by other users and shared with you are Third Party Content as defined in * the Amazon Web Services Customer Agreement. *

*
* * @param associateLensesRequest * Input to associate lens reviews. * @return Result of the AssociateLenses operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.AssociateLenses * @see AWS API Documentation */ @Override public AssociateLensesResult associateLenses(AssociateLensesRequest request) { request = beforeClientExecution(request); return executeAssociateLenses(request); } @SdkInternalApi final AssociateLensesResult executeAssociateLenses(AssociateLensesRequest associateLensesRequest) { ExecutionContext executionContext = createExecutionContext(associateLensesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateLensesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateLensesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateLenses"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateLensesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Associate a profile with a workload. *

* * @param associateProfilesRequest * @return Result of the AssociateProfiles operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.AssociateProfiles * @see AWS API Documentation */ @Override public AssociateProfilesResult associateProfiles(AssociateProfilesRequest request) { request = beforeClientExecution(request); return executeAssociateProfiles(request); } @SdkInternalApi final AssociateProfilesResult executeAssociateProfiles(AssociateProfilesRequest associateProfilesRequest) { ExecutionContext executionContext = createExecutionContext(associateProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateProfilesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a lens share. *

*

* The owner of a lens can share it with other Amazon Web Services accounts, users, an organization, and * organizational units (OUs) in the same Amazon Web Services Region. Lenses provided by Amazon Web Services (Amazon * Web Services Official Content) cannot be shared. *

*

* Shared access to a lens is not removed until the lens invitation is deleted. *

*

* If you share a lens with an organization or OU, all accounts in the organization or OU are granted access to the * lens. *

*

* For more information, see Sharing a custom lens * in the Well-Architected Tool User Guide. *

* *

* Disclaimer *

*

* By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services * will make your custom lenses available to those other accounts. Those other accounts may continue to access and * use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or * terminate your Amazon Web Services account. *

*
* * @param createLensShareRequest * @return Result of the CreateLensShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateLensShare * @see AWS API Documentation */ @Override public CreateLensShareResult createLensShare(CreateLensShareRequest request) { request = beforeClientExecution(request); return executeCreateLensShare(request); } @SdkInternalApi final CreateLensShareResult executeCreateLensShare(CreateLensShareRequest createLensShareRequest) { ExecutionContext executionContext = createExecutionContext(createLensShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateLensShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createLensShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateLensShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateLensShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a new lens version. *

*

* A lens can have up to 100 versions. *

*

* Use this operation to publish a new lens version after you have imported a lens. The LensAlias is * used to identify the lens to be published. The owner of a lens can share the lens with other Amazon Web Services * accounts and users in the same Amazon Web Services Region. Only the owner of a lens can delete it. *

* * @param createLensVersionRequest * @return Result of the CreateLensVersion operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateLensVersion * @see AWS API Documentation */ @Override public CreateLensVersionResult createLensVersion(CreateLensVersionRequest request) { request = beforeClientExecution(request); return executeCreateLensVersion(request); } @SdkInternalApi final CreateLensVersionResult executeCreateLensVersion(CreateLensVersionRequest createLensVersionRequest) { ExecutionContext executionContext = createExecutionContext(createLensVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateLensVersionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createLensVersionRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateLensVersion"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateLensVersionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a milestone for an existing workload. *

* * @param createMilestoneRequest * Input for milestone creation. * @return Result of the CreateMilestone operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateMilestone * @see AWS API Documentation */ @Override public CreateMilestoneResult createMilestone(CreateMilestoneRequest request) { request = beforeClientExecution(request); return executeCreateMilestone(request); } @SdkInternalApi final CreateMilestoneResult executeCreateMilestone(CreateMilestoneRequest createMilestoneRequest) { ExecutionContext executionContext = createExecutionContext(createMilestoneRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateMilestoneRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createMilestoneRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateMilestone"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateMilestoneResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a profile. *

* * @param createProfileRequest * @return Result of the CreateProfile operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateProfile * @see AWS * API Documentation */ @Override public CreateProfileResult createProfile(CreateProfileRequest request) { request = beforeClientExecution(request); return executeCreateProfile(request); } @SdkInternalApi final CreateProfileResult executeCreateProfile(CreateProfileRequest createProfileRequest) { ExecutionContext executionContext = createExecutionContext(createProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createProfileRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a profile share. *

* * @param createProfileShareRequest * @return Result of the CreateProfileShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateProfileShare * @see AWS API Documentation */ @Override public CreateProfileShareResult createProfileShare(CreateProfileShareRequest request) { request = beforeClientExecution(request); return executeCreateProfileShare(request); } @SdkInternalApi final CreateProfileShareResult executeCreateProfileShare(CreateProfileShareRequest createProfileShareRequest) { ExecutionContext executionContext = createExecutionContext(createProfileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateProfileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createProfileShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateProfileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateProfileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a review template. *

* *

* Disclaimer *

*

* Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals * in or via your review templates. If your review template or those shared with you and used in your account do * include or collect PII you are responsible for: ensuring that the included PII is processed in accordance with * applicable law, providing adequate privacy notices, and obtaining necessary consents for processing such data. *

*
* * @param createReviewTemplateRequest * @return Result of the CreateReviewTemplate operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateReviewTemplate * @see AWS API Documentation */ @Override public CreateReviewTemplateResult createReviewTemplate(CreateReviewTemplateRequest request) { request = beforeClientExecution(request); return executeCreateReviewTemplate(request); } @SdkInternalApi final CreateReviewTemplateResult executeCreateReviewTemplate(CreateReviewTemplateRequest createReviewTemplateRequest) { ExecutionContext executionContext = createExecutionContext(createReviewTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateReviewTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createReviewTemplateRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateReviewTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateReviewTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a review template share. *

*

* The owner of a review template can share it with other Amazon Web Services accounts, users, an organization, and * organizational units (OUs) in the same Amazon Web Services Region. *

*

* Shared access to a review template is not removed until the review template share invitation is deleted. *

*

* If you share a review template with an organization or OU, all accounts in the organization or OU are granted * access to the review template. *

* *

* Disclaimer *

*

* By sharing your review template with other Amazon Web Services accounts, you acknowledge that Amazon Web Services * will make your review template available to those other accounts. *

*
* * @param createTemplateShareRequest * @return Result of the CreateTemplateShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateTemplateShare * @see AWS API Documentation */ @Override public CreateTemplateShareResult createTemplateShare(CreateTemplateShareRequest request) { request = beforeClientExecution(request); return executeCreateTemplateShare(request); } @SdkInternalApi final CreateTemplateShareResult executeCreateTemplateShare(CreateTemplateShareRequest createTemplateShareRequest) { ExecutionContext executionContext = createExecutionContext(createTemplateShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTemplateShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTemplateShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTemplateShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTemplateShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a new workload. *

*

* The owner of a workload can share the workload with other Amazon Web Services accounts, users, an organization, * and organizational units (OUs) in the same Amazon Web Services Region. Only the owner of a workload can delete * it. *

*

* For more information, see Defining a Workload * in the Well-Architected Tool User Guide. *

* *

* Either AwsRegions, NonAwsRegions, or both must be specified when creating a workload. *

*

* You also must specify ReviewOwner, even though the parameter is listed as not being required in the * following section. *

*
*

* When creating a workload using a review template, you must have the following IAM permissions: *

*
    *
  • *

    * wellarchitected:GetReviewTemplate *

    *
  • *
  • *

    * wellarchitected:GetReviewTemplateAnswer *

    *
  • *
  • *

    * wellarchitected:ListReviewTemplateAnswers *

    *
  • *
  • *

    * wellarchitected:GetReviewTemplateLensReview *

    *
  • *
* * @param createWorkloadRequest * Input for workload creation. * @return Result of the CreateWorkload operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateWorkload * @see AWS * API Documentation */ @Override public CreateWorkloadResult createWorkload(CreateWorkloadRequest request) { request = beforeClientExecution(request); return executeCreateWorkload(request); } @SdkInternalApi final CreateWorkloadResult executeCreateWorkload(CreateWorkloadRequest createWorkloadRequest) { ExecutionContext executionContext = createExecutionContext(createWorkloadRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateWorkloadRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createWorkloadRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateWorkload"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateWorkloadResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Create a workload share. *

*

* The owner of a workload can share it with other Amazon Web Services accounts and users in the same Amazon Web * Services Region. Shared access to a workload is not removed until the workload invitation is deleted. *

*

* If you share a workload with an organization or OU, all accounts in the organization or OU are granted access to * the workload. *

*

* For more information, see Sharing a workload * in the Well-Architected Tool User Guide. *

* * @param createWorkloadShareRequest * Input for Create Workload Share * @return Result of the CreateWorkloadShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.CreateWorkloadShare * @see AWS API Documentation */ @Override public CreateWorkloadShareResult createWorkloadShare(CreateWorkloadShareRequest request) { request = beforeClientExecution(request); return executeCreateWorkloadShare(request); } @SdkInternalApi final CreateWorkloadShareResult executeCreateWorkloadShare(CreateWorkloadShareRequest createWorkloadShareRequest) { ExecutionContext executionContext = createExecutionContext(createWorkloadShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateWorkloadShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createWorkloadShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateWorkloadShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateWorkloadShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete an existing lens. *

*

* Only the owner of a lens can delete it. After the lens is deleted, Amazon Web Services accounts and users that * you shared the lens with can continue to use it, but they will no longer be able to apply it to new workloads. *

* *

* Disclaimer *

*

* By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services * will make your custom lenses available to those other accounts. Those other accounts may continue to access and * use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or * terminate your Amazon Web Services account. *

*
* * @param deleteLensRequest * @return Result of the DeleteLens operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteLens * @see AWS API * Documentation */ @Override public DeleteLensResult deleteLens(DeleteLensRequest request) { request = beforeClientExecution(request); return executeDeleteLens(request); } @SdkInternalApi final DeleteLensResult executeDeleteLens(DeleteLensRequest deleteLensRequest) { ExecutionContext executionContext = createExecutionContext(deleteLensRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteLensRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteLensRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteLens"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteLensResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a lens share. *

*

* After the lens share is deleted, Amazon Web Services accounts, users, organizations, and organizational units * (OUs) that you shared the lens with can continue to use it, but they will no longer be able to apply it to new * workloads. *

* *

* Disclaimer *

*

* By sharing your custom lenses with other Amazon Web Services accounts, you acknowledge that Amazon Web Services * will make your custom lenses available to those other accounts. Those other accounts may continue to access and * use your shared custom lenses even if you delete the custom lenses from your own Amazon Web Services account or * terminate your Amazon Web Services account. *

*
* * @param deleteLensShareRequest * @return Result of the DeleteLensShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteLensShare * @see AWS API Documentation */ @Override public DeleteLensShareResult deleteLensShare(DeleteLensShareRequest request) { request = beforeClientExecution(request); return executeDeleteLensShare(request); } @SdkInternalApi final DeleteLensShareResult executeDeleteLensShare(DeleteLensShareRequest deleteLensShareRequest) { ExecutionContext executionContext = createExecutionContext(deleteLensShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteLensShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteLensShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteLensShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteLensShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a profile. *

* *

* Disclaimer *

*

* By sharing your profile with other Amazon Web Services accounts, you acknowledge that Amazon Web Services will * make your profile available to those other accounts. Those other accounts may continue to access and use your * shared profile even if you delete the profile from your own Amazon Web Services account or terminate your Amazon * Web Services account. *

*
* * @param deleteProfileRequest * @return Result of the DeleteProfile operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteProfile * @see AWS * API Documentation */ @Override public DeleteProfileResult deleteProfile(DeleteProfileRequest request) { request = beforeClientExecution(request); return executeDeleteProfile(request); } @SdkInternalApi final DeleteProfileResult executeDeleteProfile(DeleteProfileRequest deleteProfileRequest) { ExecutionContext executionContext = createExecutionContext(deleteProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteProfileRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a profile share. *

* * @param deleteProfileShareRequest * @return Result of the DeleteProfileShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteProfileShare * @see AWS API Documentation */ @Override public DeleteProfileShareResult deleteProfileShare(DeleteProfileShareRequest request) { request = beforeClientExecution(request); return executeDeleteProfileShare(request); } @SdkInternalApi final DeleteProfileShareResult executeDeleteProfileShare(DeleteProfileShareRequest deleteProfileShareRequest) { ExecutionContext executionContext = createExecutionContext(deleteProfileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteProfileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteProfileShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteProfileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteProfileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a review template. *

*

* Only the owner of a review template can delete it. *

*

* After the review template is deleted, Amazon Web Services accounts, users, organizations, and organizational * units (OUs) that you shared the review template with will no longer be able to apply it to new workloads. *

* * @param deleteReviewTemplateRequest * @return Result of the DeleteReviewTemplate operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteReviewTemplate * @see AWS API Documentation */ @Override public DeleteReviewTemplateResult deleteReviewTemplate(DeleteReviewTemplateRequest request) { request = beforeClientExecution(request); return executeDeleteReviewTemplate(request); } @SdkInternalApi final DeleteReviewTemplateResult executeDeleteReviewTemplate(DeleteReviewTemplateRequest deleteReviewTemplateRequest) { ExecutionContext executionContext = createExecutionContext(deleteReviewTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteReviewTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteReviewTemplateRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteReviewTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteReviewTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a review template share. *

*

* After the review template share is deleted, Amazon Web Services accounts, users, organizations, and * organizational units (OUs) that you shared the review template with will no longer be able to apply it to new * workloads. *

* * @param deleteTemplateShareRequest * @return Result of the DeleteTemplateShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteTemplateShare * @see AWS API Documentation */ @Override public DeleteTemplateShareResult deleteTemplateShare(DeleteTemplateShareRequest request) { request = beforeClientExecution(request); return executeDeleteTemplateShare(request); } @SdkInternalApi final DeleteTemplateShareResult executeDeleteTemplateShare(DeleteTemplateShareRequest deleteTemplateShareRequest) { ExecutionContext executionContext = createExecutionContext(deleteTemplateShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTemplateShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTemplateShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTemplateShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTemplateShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete an existing workload. *

* * @param deleteWorkloadRequest * Input for workload deletion. * @return Result of the DeleteWorkload operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteWorkload * @see AWS * API Documentation */ @Override public DeleteWorkloadResult deleteWorkload(DeleteWorkloadRequest request) { request = beforeClientExecution(request); return executeDeleteWorkload(request); } @SdkInternalApi final DeleteWorkloadResult executeDeleteWorkload(DeleteWorkloadRequest deleteWorkloadRequest) { ExecutionContext executionContext = createExecutionContext(deleteWorkloadRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteWorkloadRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteWorkloadRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteWorkload"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteWorkloadResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Delete a workload share. *

* * @param deleteWorkloadShareRequest * Input for Delete Workload Share * @return Result of the DeleteWorkloadShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DeleteWorkloadShare * @see AWS API Documentation */ @Override public DeleteWorkloadShareResult deleteWorkloadShare(DeleteWorkloadShareRequest request) { request = beforeClientExecution(request); return executeDeleteWorkloadShare(request); } @SdkInternalApi final DeleteWorkloadShareResult executeDeleteWorkloadShare(DeleteWorkloadShareRequest deleteWorkloadShareRequest) { ExecutionContext executionContext = createExecutionContext(deleteWorkloadShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteWorkloadShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteWorkloadShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteWorkloadShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteWorkloadShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Disassociate a lens from a workload. *

*

* Up to 10 lenses can be disassociated from a workload in a single API operation. *

* *

* The Amazon Web Services Well-Architected Framework lens (wellarchitected) cannot be removed from a * workload. *

*
* * @param disassociateLensesRequest * Input to disassociate lens reviews. * @return Result of the DisassociateLenses operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DisassociateLenses * @see AWS API Documentation */ @Override public DisassociateLensesResult disassociateLenses(DisassociateLensesRequest request) { request = beforeClientExecution(request); return executeDisassociateLenses(request); } @SdkInternalApi final DisassociateLensesResult executeDisassociateLenses(DisassociateLensesRequest disassociateLensesRequest) { ExecutionContext executionContext = createExecutionContext(disassociateLensesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateLensesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateLensesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateLenses"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateLensesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Disassociate a profile from a workload. *

* * @param disassociateProfilesRequest * @return Result of the DisassociateProfiles operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.DisassociateProfiles * @see AWS API Documentation */ @Override public DisassociateProfilesResult disassociateProfiles(DisassociateProfilesRequest request) { request = beforeClientExecution(request); return executeDisassociateProfiles(request); } @SdkInternalApi final DisassociateProfilesResult executeDisassociateProfiles(DisassociateProfilesRequest disassociateProfilesRequest) { ExecutionContext executionContext = createExecutionContext(disassociateProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateProfilesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Export an existing lens. *

*

* Only the owner of a lens can export it. Lenses provided by Amazon Web Services (Amazon Web Services Official * Content) cannot be exported. *

*

* Lenses are defined in JSON. For more information, see JSON format * specification in the Well-Architected Tool User Guide. *

* *

* Disclaimer *

*

* Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals * in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or * collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable * law, providing adequate privacy notices, and obtaining necessary consents for processing such data. *

*
* * @param exportLensRequest * @return Result of the ExportLens operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ExportLens * @see AWS API * Documentation */ @Override public ExportLensResult exportLens(ExportLensRequest request) { request = beforeClientExecution(request); return executeExportLens(request); } @SdkInternalApi final ExportLensResult executeExportLens(ExportLensRequest exportLensRequest) { ExecutionContext executionContext = createExecutionContext(exportLensRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ExportLensRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(exportLensRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ExportLens"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ExportLensResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get the answer to a specific question in a workload review. *

* * @param getAnswerRequest * Input to get answer. * @return Result of the GetAnswer operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetAnswer * @see AWS API * Documentation */ @Override public GetAnswerResult getAnswer(GetAnswerRequest request) { request = beforeClientExecution(request); return executeGetAnswer(request); } @SdkInternalApi final GetAnswerResult executeGetAnswer(GetAnswerRequest getAnswerRequest) { ExecutionContext executionContext = createExecutionContext(getAnswerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetAnswerRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getAnswerRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetAnswer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetAnswerResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get a consolidated report of your workloads. *

*

* You can optionally choose to include workloads that have been shared with you. *

* * @param getConsolidatedReportRequest * @return Result of the GetConsolidatedReport operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @sample AWSWellArchitected.GetConsolidatedReport * @see AWS API Documentation */ @Override public GetConsolidatedReportResult getConsolidatedReport(GetConsolidatedReportRequest request) { request = beforeClientExecution(request); return executeGetConsolidatedReport(request); } @SdkInternalApi final GetConsolidatedReportResult executeGetConsolidatedReport(GetConsolidatedReportRequest getConsolidatedReportRequest) { ExecutionContext executionContext = createExecutionContext(getConsolidatedReportRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetConsolidatedReportRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getConsolidatedReportRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetConsolidatedReport"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetConsolidatedReportResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Global settings for all workloads. *

* * @param getGlobalSettingsRequest * @return Result of the GetGlobalSettings operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetGlobalSettings * @see AWS API Documentation */ @Override public GetGlobalSettingsResult getGlobalSettings(GetGlobalSettingsRequest request) { request = beforeClientExecution(request); return executeGetGlobalSettings(request); } @SdkInternalApi final GetGlobalSettingsResult executeGetGlobalSettings(GetGlobalSettingsRequest getGlobalSettingsRequest) { ExecutionContext executionContext = createExecutionContext(getGlobalSettingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetGlobalSettingsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getGlobalSettingsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetGlobalSettings"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetGlobalSettingsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get an existing lens. *

* * @param getLensRequest * @return Result of the GetLens operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetLens * @see AWS API * Documentation */ @Override public GetLensResult getLens(GetLensRequest request) { request = beforeClientExecution(request); return executeGetLens(request); } @SdkInternalApi final GetLensResult executeGetLens(GetLensRequest getLensRequest) { ExecutionContext executionContext = createExecutionContext(getLensRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetLensRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getLensRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetLens"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetLensResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get lens review. *

* * @param getLensReviewRequest * Input to get lens review. * @return Result of the GetLensReview operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetLensReview * @see AWS * API Documentation */ @Override public GetLensReviewResult getLensReview(GetLensReviewRequest request) { request = beforeClientExecution(request); return executeGetLensReview(request); } @SdkInternalApi final GetLensReviewResult executeGetLensReview(GetLensReviewRequest getLensReviewRequest) { ExecutionContext executionContext = createExecutionContext(getLensReviewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetLensReviewRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getLensReviewRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetLensReview"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetLensReviewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get lens review report. *

* * @param getLensReviewReportRequest * Input to get lens review report. * @return Result of the GetLensReviewReport operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetLensReviewReport * @see AWS API Documentation */ @Override public GetLensReviewReportResult getLensReviewReport(GetLensReviewReportRequest request) { request = beforeClientExecution(request); return executeGetLensReviewReport(request); } @SdkInternalApi final GetLensReviewReportResult executeGetLensReviewReport(GetLensReviewReportRequest getLensReviewReportRequest) { ExecutionContext executionContext = createExecutionContext(getLensReviewReportRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetLensReviewReportRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getLensReviewReportRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetLensReviewReport"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetLensReviewReportResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get lens version differences. *

* * @param getLensVersionDifferenceRequest * @return Result of the GetLensVersionDifference operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetLensVersionDifference * @see AWS API Documentation */ @Override public GetLensVersionDifferenceResult getLensVersionDifference(GetLensVersionDifferenceRequest request) { request = beforeClientExecution(request); return executeGetLensVersionDifference(request); } @SdkInternalApi final GetLensVersionDifferenceResult executeGetLensVersionDifference(GetLensVersionDifferenceRequest getLensVersionDifferenceRequest) { ExecutionContext executionContext = createExecutionContext(getLensVersionDifferenceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetLensVersionDifferenceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(getLensVersionDifferenceRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetLensVersionDifference"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetLensVersionDifferenceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get a milestone for an existing workload. *

* * @param getMilestoneRequest * Input to get a milestone. * @return Result of the GetMilestone operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetMilestone * @see AWS * API Documentation */ @Override public GetMilestoneResult getMilestone(GetMilestoneRequest request) { request = beforeClientExecution(request); return executeGetMilestone(request); } @SdkInternalApi final GetMilestoneResult executeGetMilestone(GetMilestoneRequest getMilestoneRequest) { ExecutionContext executionContext = createExecutionContext(getMilestoneRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetMilestoneRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getMilestoneRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetMilestone"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetMilestoneResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get profile information. *

* * @param getProfileRequest * @return Result of the GetProfile operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetProfile * @see AWS API * Documentation */ @Override public GetProfileResult getProfile(GetProfileRequest request) { request = beforeClientExecution(request); return executeGetProfile(request); } @SdkInternalApi final GetProfileResult executeGetProfile(GetProfileRequest getProfileRequest) { ExecutionContext executionContext = createExecutionContext(getProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getProfileRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get profile template. *

* * @param getProfileTemplateRequest * @return Result of the GetProfileTemplate operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetProfileTemplate * @see AWS API Documentation */ @Override public GetProfileTemplateResult getProfileTemplate(GetProfileTemplateRequest request) { request = beforeClientExecution(request); return executeGetProfileTemplate(request); } @SdkInternalApi final GetProfileTemplateResult executeGetProfileTemplate(GetProfileTemplateRequest getProfileTemplateRequest) { ExecutionContext executionContext = createExecutionContext(getProfileTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetProfileTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getProfileTemplateRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetProfileTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetProfileTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get review template. *

* * @param getReviewTemplateRequest * @return Result of the GetReviewTemplate operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetReviewTemplate * @see AWS API Documentation */ @Override public GetReviewTemplateResult getReviewTemplate(GetReviewTemplateRequest request) { request = beforeClientExecution(request); return executeGetReviewTemplate(request); } @SdkInternalApi final GetReviewTemplateResult executeGetReviewTemplate(GetReviewTemplateRequest getReviewTemplateRequest) { ExecutionContext executionContext = createExecutionContext(getReviewTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetReviewTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getReviewTemplateRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetReviewTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetReviewTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get review template answer. *

* * @param getReviewTemplateAnswerRequest * @return Result of the GetReviewTemplateAnswer operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetReviewTemplateAnswer * @see AWS API Documentation */ @Override public GetReviewTemplateAnswerResult getReviewTemplateAnswer(GetReviewTemplateAnswerRequest request) { request = beforeClientExecution(request); return executeGetReviewTemplateAnswer(request); } @SdkInternalApi final GetReviewTemplateAnswerResult executeGetReviewTemplateAnswer(GetReviewTemplateAnswerRequest getReviewTemplateAnswerRequest) { ExecutionContext executionContext = createExecutionContext(getReviewTemplateAnswerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetReviewTemplateAnswerRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(getReviewTemplateAnswerRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetReviewTemplateAnswer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetReviewTemplateAnswerResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get a lens review associated with a review template. *

* * @param getReviewTemplateLensReviewRequest * @return Result of the GetReviewTemplateLensReview operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetReviewTemplateLensReview * @see AWS API Documentation */ @Override public GetReviewTemplateLensReviewResult getReviewTemplateLensReview(GetReviewTemplateLensReviewRequest request) { request = beforeClientExecution(request); return executeGetReviewTemplateLensReview(request); } @SdkInternalApi final GetReviewTemplateLensReviewResult executeGetReviewTemplateLensReview(GetReviewTemplateLensReviewRequest getReviewTemplateLensReviewRequest) { ExecutionContext executionContext = createExecutionContext(getReviewTemplateLensReviewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetReviewTemplateLensReviewRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(getReviewTemplateLensReviewRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetReviewTemplateLensReview"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetReviewTemplateLensReviewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Get an existing workload. *

* * @param getWorkloadRequest * Input to get a workload. * @return Result of the GetWorkload operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.GetWorkload * @see AWS * API Documentation */ @Override public GetWorkloadResult getWorkload(GetWorkloadRequest request) { request = beforeClientExecution(request); return executeGetWorkload(request); } @SdkInternalApi final GetWorkloadResult executeGetWorkload(GetWorkloadRequest getWorkloadRequest) { ExecutionContext executionContext = createExecutionContext(getWorkloadRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new GetWorkloadRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(getWorkloadRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "GetWorkload"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new GetWorkloadResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Import a new custom lens or update an existing custom lens. *

*

* To update an existing custom lens, specify its ARN as the LensAlias. If no ARN is specified, a new * custom lens is created. *

*

* The new or updated lens will have a status of DRAFT. The lens cannot be applied to workloads or * shared with other Amazon Web Services accounts until it's published with CreateLensVersion. *

*

* Lenses are defined in JSON. For more information, see JSON format * specification in the Well-Architected Tool User Guide. *

*

* A custom lens cannot exceed 500 KB in size. *

* *

* Disclaimer *

*

* Do not include or gather personal identifiable information (PII) of end users or other identifiable individuals * in or via your custom lenses. If your custom lens or those shared with you and used in your account do include or * collect PII you are responsible for: ensuring that the included PII is processed in accordance with applicable * law, providing adequate privacy notices, and obtaining necessary consents for processing such data. *

*
* * @param importLensRequest * @return Result of the ImportLens operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ImportLens * @see AWS API * Documentation */ @Override public ImportLensResult importLens(ImportLensRequest request) { request = beforeClientExecution(request); return executeImportLens(request); } @SdkInternalApi final ImportLensResult executeImportLens(ImportLensRequest importLensRequest) { ExecutionContext executionContext = createExecutionContext(importLensRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ImportLensRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(importLensRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ImportLens"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ImportLensResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List of answers for a particular workload and lens. *

* * @param listAnswersRequest * Input to list answers. * @return Result of the ListAnswers operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListAnswers * @see AWS * API Documentation */ @Override public ListAnswersResult listAnswers(ListAnswersRequest request) { request = beforeClientExecution(request); return executeListAnswers(request); } @SdkInternalApi final ListAnswersResult executeListAnswers(ListAnswersRequest listAnswersRequest) { ExecutionContext executionContext = createExecutionContext(listAnswersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListAnswersRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listAnswersRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAnswers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAnswersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List of Trusted Advisor check details by account related to the workload. *

* * @param listCheckDetailsRequest * @return Result of the ListCheckDetails operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListCheckDetails * @see AWS API Documentation */ @Override public ListCheckDetailsResult listCheckDetails(ListCheckDetailsRequest request) { request = beforeClientExecution(request); return executeListCheckDetails(request); } @SdkInternalApi final ListCheckDetailsResult executeListCheckDetails(ListCheckDetailsRequest listCheckDetailsRequest) { ExecutionContext executionContext = createExecutionContext(listCheckDetailsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCheckDetailsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listCheckDetailsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCheckDetails"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListCheckDetailsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List of Trusted Advisor checks summarized for all accounts related to the workload. *

* * @param listCheckSummariesRequest * @return Result of the ListCheckSummaries operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListCheckSummaries * @see AWS API Documentation */ @Override public ListCheckSummariesResult listCheckSummaries(ListCheckSummariesRequest request) { request = beforeClientExecution(request); return executeListCheckSummaries(request); } @SdkInternalApi final ListCheckSummariesResult executeListCheckSummaries(ListCheckSummariesRequest listCheckSummariesRequest) { ExecutionContext executionContext = createExecutionContext(listCheckSummariesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCheckSummariesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listCheckSummariesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCheckSummaries"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListCheckSummariesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the improvements of a particular lens review. *

* * @param listLensReviewImprovementsRequest * Input to list lens review improvements. * @return Result of the ListLensReviewImprovements operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListLensReviewImprovements * @see AWS API Documentation */ @Override public ListLensReviewImprovementsResult listLensReviewImprovements(ListLensReviewImprovementsRequest request) { request = beforeClientExecution(request); return executeListLensReviewImprovements(request); } @SdkInternalApi final ListLensReviewImprovementsResult executeListLensReviewImprovements(ListLensReviewImprovementsRequest listLensReviewImprovementsRequest) { ExecutionContext executionContext = createExecutionContext(listLensReviewImprovementsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLensReviewImprovementsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listLensReviewImprovementsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLensReviewImprovements"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLensReviewImprovementsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List lens reviews for a particular workload. *

* * @param listLensReviewsRequest * Input to list lens reviews. * @return Result of the ListLensReviews operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListLensReviews * @see AWS API Documentation */ @Override public ListLensReviewsResult listLensReviews(ListLensReviewsRequest request) { request = beforeClientExecution(request); return executeListLensReviews(request); } @SdkInternalApi final ListLensReviewsResult executeListLensReviews(ListLensReviewsRequest listLensReviewsRequest) { ExecutionContext executionContext = createExecutionContext(listLensReviewsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLensReviewsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLensReviewsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLensReviews"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLensReviewsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the lens shares associated with the lens. *

* * @param listLensSharesRequest * @return Result of the ListLensShares operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListLensShares * @see AWS * API Documentation */ @Override public ListLensSharesResult listLensShares(ListLensSharesRequest request) { request = beforeClientExecution(request); return executeListLensShares(request); } @SdkInternalApi final ListLensSharesResult executeListLensShares(ListLensSharesRequest listLensSharesRequest) { ExecutionContext executionContext = createExecutionContext(listLensSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLensSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLensSharesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLensShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLensSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the available lenses. *

* * @param listLensesRequest * Input to list lenses. * @return Result of the ListLenses operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListLenses * @see AWS API * Documentation */ @Override public ListLensesResult listLenses(ListLensesRequest request) { request = beforeClientExecution(request); return executeListLenses(request); } @SdkInternalApi final ListLensesResult executeListLenses(ListLensesRequest listLensesRequest) { ExecutionContext executionContext = createExecutionContext(listLensesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLensesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLensesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLenses"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLensesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List all milestones for an existing workload. *

* * @param listMilestonesRequest * Input to list all milestones for a workload. * @return Result of the ListMilestones operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListMilestones * @see AWS * API Documentation */ @Override public ListMilestonesResult listMilestones(ListMilestonesRequest request) { request = beforeClientExecution(request); return executeListMilestones(request); } @SdkInternalApi final ListMilestonesResult executeListMilestones(ListMilestonesRequest listMilestonesRequest) { ExecutionContext executionContext = createExecutionContext(listMilestonesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListMilestonesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listMilestonesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListMilestones"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListMilestonesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List lens notifications. *

* * @param listNotificationsRequest * @return Result of the ListNotifications operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListNotifications * @see AWS API Documentation */ @Override public ListNotificationsResult listNotifications(ListNotificationsRequest request) { request = beforeClientExecution(request); return executeListNotifications(request); } @SdkInternalApi final ListNotificationsResult executeListNotifications(ListNotificationsRequest listNotificationsRequest) { ExecutionContext executionContext = createExecutionContext(listNotificationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListNotificationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listNotificationsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListNotifications"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListNotificationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List profile notifications. *

* * @param listProfileNotificationsRequest * @return Result of the ListProfileNotifications operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListProfileNotifications * @see AWS API Documentation */ @Override public ListProfileNotificationsResult listProfileNotifications(ListProfileNotificationsRequest request) { request = beforeClientExecution(request); return executeListProfileNotifications(request); } @SdkInternalApi final ListProfileNotificationsResult executeListProfileNotifications(ListProfileNotificationsRequest listProfileNotificationsRequest) { ExecutionContext executionContext = createExecutionContext(listProfileNotificationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProfileNotificationsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listProfileNotificationsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProfileNotifications"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProfileNotificationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List profile shares. *

* * @param listProfileSharesRequest * @return Result of the ListProfileShares operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListProfileShares * @see AWS API Documentation */ @Override public ListProfileSharesResult listProfileShares(ListProfileSharesRequest request) { request = beforeClientExecution(request); return executeListProfileShares(request); } @SdkInternalApi final ListProfileSharesResult executeListProfileShares(ListProfileSharesRequest listProfileSharesRequest) { ExecutionContext executionContext = createExecutionContext(listProfileSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProfileSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listProfileSharesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProfileShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProfileSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List profiles. *

* * @param listProfilesRequest * @return Result of the ListProfiles operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListProfiles * @see AWS * API Documentation */ @Override public ListProfilesResult listProfiles(ListProfilesRequest request) { request = beforeClientExecution(request); return executeListProfiles(request); } @SdkInternalApi final ListProfilesResult executeListProfiles(ListProfilesRequest listProfilesRequest) { ExecutionContext executionContext = createExecutionContext(listProfilesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProfilesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listProfilesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProfiles"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProfilesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the answers of a review template. *

* * @param listReviewTemplateAnswersRequest * @return Result of the ListReviewTemplateAnswers operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListReviewTemplateAnswers * @see AWS API Documentation */ @Override public ListReviewTemplateAnswersResult listReviewTemplateAnswers(ListReviewTemplateAnswersRequest request) { request = beforeClientExecution(request); return executeListReviewTemplateAnswers(request); } @SdkInternalApi final ListReviewTemplateAnswersResult executeListReviewTemplateAnswers(ListReviewTemplateAnswersRequest listReviewTemplateAnswersRequest) { ExecutionContext executionContext = createExecutionContext(listReviewTemplateAnswersRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListReviewTemplateAnswersRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listReviewTemplateAnswersRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListReviewTemplateAnswers"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListReviewTemplateAnswersResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List review templates. *

* * @param listReviewTemplatesRequest * @return Result of the ListReviewTemplates operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListReviewTemplates * @see AWS API Documentation */ @Override public ListReviewTemplatesResult listReviewTemplates(ListReviewTemplatesRequest request) { request = beforeClientExecution(request); return executeListReviewTemplates(request); } @SdkInternalApi final ListReviewTemplatesResult executeListReviewTemplates(ListReviewTemplatesRequest listReviewTemplatesRequest) { ExecutionContext executionContext = createExecutionContext(listReviewTemplatesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListReviewTemplatesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listReviewTemplatesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListReviewTemplates"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListReviewTemplatesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the share invitations. *

*

* WorkloadNamePrefix, LensNamePrefix, ProfileNamePrefix, and * TemplateNamePrefix are mutually exclusive. Use the parameter that matches your * ShareResourceType. *

* * @param listShareInvitationsRequest * Input for List Share Invitations * @return Result of the ListShareInvitations operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListShareInvitations * @see AWS API Documentation */ @Override public ListShareInvitationsResult listShareInvitations(ListShareInvitationsRequest request) { request = beforeClientExecution(request); return executeListShareInvitations(request); } @SdkInternalApi final ListShareInvitationsResult executeListShareInvitations(ListShareInvitationsRequest listShareInvitationsRequest) { ExecutionContext executionContext = createExecutionContext(listShareInvitationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListShareInvitationsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listShareInvitationsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListShareInvitations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListShareInvitationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the tags for a resource. *

* *

* The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN. *

*
* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @sample AWSWellArchitected.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List review template shares. *

* * @param listTemplateSharesRequest * @return Result of the ListTemplateShares operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListTemplateShares * @see AWS API Documentation */ @Override public ListTemplateSharesResult listTemplateShares(ListTemplateSharesRequest request) { request = beforeClientExecution(request); return executeListTemplateShares(request); } @SdkInternalApi final ListTemplateSharesResult executeListTemplateShares(ListTemplateSharesRequest listTemplateSharesRequest) { ExecutionContext executionContext = createExecutionContext(listTemplateSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTemplateSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTemplateSharesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTemplateShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTemplateSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* List the workload shares associated with the workload. *

* * @param listWorkloadSharesRequest * Input for List Workload Share * @return Result of the ListWorkloadShares operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListWorkloadShares * @see AWS API Documentation */ @Override public ListWorkloadSharesResult listWorkloadShares(ListWorkloadSharesRequest request) { request = beforeClientExecution(request); return executeListWorkloadShares(request); } @SdkInternalApi final ListWorkloadSharesResult executeListWorkloadShares(ListWorkloadSharesRequest listWorkloadSharesRequest) { ExecutionContext executionContext = createExecutionContext(listWorkloadSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListWorkloadSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listWorkloadSharesRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListWorkloadShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListWorkloadSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Paginated list of workloads. *

* * @param listWorkloadsRequest * Input to list all workloads. * @return Result of the ListWorkloads operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.ListWorkloads * @see AWS * API Documentation */ @Override public ListWorkloadsResult listWorkloads(ListWorkloadsRequest request) { request = beforeClientExecution(request); return executeListWorkloads(request); } @SdkInternalApi final ListWorkloadsResult executeListWorkloads(ListWorkloadsRequest listWorkloadsRequest) { ExecutionContext executionContext = createExecutionContext(listWorkloadsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListWorkloadsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listWorkloadsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListWorkloads"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListWorkloadsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Adds one or more tags to the specified resource. *

* *

* The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN. *

*
* * @param tagResourceRequest * @return Result of the TagResource operation returned by the service. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @sample AWSWellArchitected.TagResource * @see AWS * API Documentation */ @Override public TagResourceResult tagResource(TagResourceRequest request) { request = beforeClientExecution(request); return executeTagResource(request); } @SdkInternalApi final TagResourceResult executeTagResource(TagResourceRequest tagResourceRequest) { ExecutionContext executionContext = createExecutionContext(tagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new TagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(tagResourceRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "TagResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new TagResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Deletes specified tags from a resource. *

* *

* The WorkloadArn parameter can be a workload ARN, a custom lens ARN, a profile ARN, or review template ARN. *

*
*

* To specify multiple tags, use separate tagKeys parameters, for example: *

*

* DELETE /tags/WorkloadArn?tagKeys=key1&tagKeys=key2 *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @sample AWSWellArchitected.UntagResource * @see AWS * API Documentation */ @Override public UntagResourceResult untagResource(UntagResourceRequest request) { request = beforeClientExecution(request); return executeUntagResource(request); } @SdkInternalApi final UntagResourceResult executeUntagResource(UntagResourceRequest untagResourceRequest) { ExecutionContext executionContext = createExecutionContext(untagResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UntagResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(untagResourceRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UntagResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UntagResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update the answer to a specific question in a workload review. *

* * @param updateAnswerRequest * Input to update answer. * @return Result of the UpdateAnswer operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateAnswer * @see AWS * API Documentation */ @Override public UpdateAnswerResult updateAnswer(UpdateAnswerRequest request) { request = beforeClientExecution(request); return executeUpdateAnswer(request); } @SdkInternalApi final UpdateAnswerResult executeUpdateAnswer(UpdateAnswerRequest updateAnswerRequest) { ExecutionContext executionContext = createExecutionContext(updateAnswerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateAnswerRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateAnswerRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateAnswer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateAnswerResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update whether the Amazon Web Services account is opted into organization sharing and discovery integration * features. *

* * @param updateGlobalSettingsRequest * @return Result of the UpdateGlobalSettings operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateGlobalSettings * @see AWS API Documentation */ @Override public UpdateGlobalSettingsResult updateGlobalSettings(UpdateGlobalSettingsRequest request) { request = beforeClientExecution(request); return executeUpdateGlobalSettings(request); } @SdkInternalApi final UpdateGlobalSettingsResult executeUpdateGlobalSettings(UpdateGlobalSettingsRequest updateGlobalSettingsRequest) { ExecutionContext executionContext = createExecutionContext(updateGlobalSettingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateGlobalSettingsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateGlobalSettingsRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateGlobalSettings"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateGlobalSettingsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update integration features. *

* * @param updateIntegrationRequest * @return Result of the UpdateIntegration operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws ResourceNotFoundException * The requested resource was not found. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateIntegration * @see AWS API Documentation */ @Override public UpdateIntegrationResult updateIntegration(UpdateIntegrationRequest request) { request = beforeClientExecution(request); return executeUpdateIntegration(request); } @SdkInternalApi final UpdateIntegrationResult executeUpdateIntegration(UpdateIntegrationRequest updateIntegrationRequest) { ExecutionContext executionContext = createExecutionContext(updateIntegrationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateIntegrationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateIntegrationRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateIntegration"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateIntegrationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update lens review for a particular workload. *

* * @param updateLensReviewRequest * Input for update lens review. * @return Result of the UpdateLensReview operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateLensReview * @see AWS API Documentation */ @Override public UpdateLensReviewResult updateLensReview(UpdateLensReviewRequest request) { request = beforeClientExecution(request); return executeUpdateLensReview(request); } @SdkInternalApi final UpdateLensReviewResult executeUpdateLensReview(UpdateLensReviewRequest updateLensReviewRequest) { ExecutionContext executionContext = createExecutionContext(updateLensReviewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateLensReviewRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateLensReviewRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateLensReview"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateLensReviewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a profile. *

* * @param updateProfileRequest * @return Result of the UpdateProfile operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateProfile * @see AWS * API Documentation */ @Override public UpdateProfileResult updateProfile(UpdateProfileRequest request) { request = beforeClientExecution(request); return executeUpdateProfile(request); } @SdkInternalApi final UpdateProfileResult executeUpdateProfile(UpdateProfileRequest updateProfileRequest) { ExecutionContext executionContext = createExecutionContext(updateProfileRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateProfileRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateProfileRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateProfile"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateProfileResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a review template. *

* * @param updateReviewTemplateRequest * @return Result of the UpdateReviewTemplate operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateReviewTemplate * @see AWS API Documentation */ @Override public UpdateReviewTemplateResult updateReviewTemplate(UpdateReviewTemplateRequest request) { request = beforeClientExecution(request); return executeUpdateReviewTemplate(request); } @SdkInternalApi final UpdateReviewTemplateResult executeUpdateReviewTemplate(UpdateReviewTemplateRequest updateReviewTemplateRequest) { ExecutionContext executionContext = createExecutionContext(updateReviewTemplateRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateReviewTemplateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateReviewTemplateRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateReviewTemplate"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateReviewTemplateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a review template answer. *

* * @param updateReviewTemplateAnswerRequest * @return Result of the UpdateReviewTemplateAnswer operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateReviewTemplateAnswer * @see AWS API Documentation */ @Override public UpdateReviewTemplateAnswerResult updateReviewTemplateAnswer(UpdateReviewTemplateAnswerRequest request) { request = beforeClientExecution(request); return executeUpdateReviewTemplateAnswer(request); } @SdkInternalApi final UpdateReviewTemplateAnswerResult executeUpdateReviewTemplateAnswer(UpdateReviewTemplateAnswerRequest updateReviewTemplateAnswerRequest) { ExecutionContext executionContext = createExecutionContext(updateReviewTemplateAnswerRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateReviewTemplateAnswerRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateReviewTemplateAnswerRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateReviewTemplateAnswer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateReviewTemplateAnswerResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a lens review associated with a review template. *

* * @param updateReviewTemplateLensReviewRequest * @return Result of the UpdateReviewTemplateLensReview operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateReviewTemplateLensReview * @see AWS API Documentation */ @Override public UpdateReviewTemplateLensReviewResult updateReviewTemplateLensReview(UpdateReviewTemplateLensReviewRequest request) { request = beforeClientExecution(request); return executeUpdateReviewTemplateLensReview(request); } @SdkInternalApi final UpdateReviewTemplateLensReviewResult executeUpdateReviewTemplateLensReview(UpdateReviewTemplateLensReviewRequest updateReviewTemplateLensReviewRequest) { ExecutionContext executionContext = createExecutionContext(updateReviewTemplateLensReviewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateReviewTemplateLensReviewRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateReviewTemplateLensReviewRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateReviewTemplateLensReview"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateReviewTemplateLensReviewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a workload or custom lens share invitation. *

* *

* This API operation can be called independently of any resource. Previous documentation implied that a workload * ARN must be specified. *

*
* * @param updateShareInvitationRequest * Input for Update Share Invitation * @return Result of the UpdateShareInvitation operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateShareInvitation * @see AWS API Documentation */ @Override public UpdateShareInvitationResult updateShareInvitation(UpdateShareInvitationRequest request) { request = beforeClientExecution(request); return executeUpdateShareInvitation(request); } @SdkInternalApi final UpdateShareInvitationResult executeUpdateShareInvitation(UpdateShareInvitationRequest updateShareInvitationRequest) { ExecutionContext executionContext = createExecutionContext(updateShareInvitationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateShareInvitationRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateShareInvitationRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateShareInvitation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateShareInvitationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update an existing workload. *

* * @param updateWorkloadRequest * Input to update a workload. * @return Result of the UpdateWorkload operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateWorkload * @see AWS * API Documentation */ @Override public UpdateWorkloadResult updateWorkload(UpdateWorkloadRequest request) { request = beforeClientExecution(request); return executeUpdateWorkload(request); } @SdkInternalApi final UpdateWorkloadResult executeUpdateWorkload(UpdateWorkloadRequest updateWorkloadRequest) { ExecutionContext executionContext = createExecutionContext(updateWorkloadRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateWorkloadRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateWorkloadRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateWorkload"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateWorkloadResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Update a workload share. *

* * @param updateWorkloadShareRequest * Input for Update Workload Share * @return Result of the UpdateWorkloadShare operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpdateWorkloadShare * @see AWS API Documentation */ @Override public UpdateWorkloadShareResult updateWorkloadShare(UpdateWorkloadShareRequest request) { request = beforeClientExecution(request); return executeUpdateWorkloadShare(request); } @SdkInternalApi final UpdateWorkloadShareResult executeUpdateWorkloadShare(UpdateWorkloadShareRequest updateWorkloadShareRequest) { ExecutionContext executionContext = createExecutionContext(updateWorkloadShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateWorkloadShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateWorkloadShareRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateWorkloadShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateWorkloadShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Upgrade lens review for a particular workload. *

* * @param upgradeLensReviewRequest * @return Result of the UpgradeLensReview operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @sample AWSWellArchitected.UpgradeLensReview * @see AWS API Documentation */ @Override public UpgradeLensReviewResult upgradeLensReview(UpgradeLensReviewRequest request) { request = beforeClientExecution(request); return executeUpgradeLensReview(request); } @SdkInternalApi final UpgradeLensReviewResult executeUpgradeLensReview(UpgradeLensReviewRequest upgradeLensReviewRequest) { ExecutionContext executionContext = createExecutionContext(upgradeLensReviewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpgradeLensReviewRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(upgradeLensReviewRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpgradeLensReview"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpgradeLensReviewResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Upgrade a profile. *

* * @param upgradeProfileVersionRequest * @return Result of the UpgradeProfileVersion operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @throws ServiceQuotaExceededException * The user has reached their resource quota. * @sample AWSWellArchitected.UpgradeProfileVersion * @see AWS API Documentation */ @Override public UpgradeProfileVersionResult upgradeProfileVersion(UpgradeProfileVersionRequest request) { request = beforeClientExecution(request); return executeUpgradeProfileVersion(request); } @SdkInternalApi final UpgradeProfileVersionResult executeUpgradeProfileVersion(UpgradeProfileVersionRequest upgradeProfileVersionRequest) { ExecutionContext executionContext = createExecutionContext(upgradeProfileVersionRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpgradeProfileVersionRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(upgradeProfileVersionRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpgradeProfileVersion"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpgradeProfileVersionResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* Upgrade the lens review of a review template. *

* * @param upgradeReviewTemplateLensReviewRequest * @return Result of the UpgradeReviewTemplateLensReview operation returned by the service. * @throws ValidationException * The user input is not valid. * @throws ResourceNotFoundException * The requested resource was not found. * @throws ConflictException * The resource has already been processed, was deleted, or is too large. * @throws InternalServerException * There is a problem with the Well-Architected Tool API service. * @throws AccessDeniedException * User does not have sufficient access to perform this action. * @throws ThrottlingException * Request was denied due to request throttling. * @sample AWSWellArchitected.UpgradeReviewTemplateLensReview * @see AWS API Documentation */ @Override public UpgradeReviewTemplateLensReviewResult upgradeReviewTemplateLensReview(UpgradeReviewTemplateLensReviewRequest request) { request = beforeClientExecution(request); return executeUpgradeReviewTemplateLensReview(request); } @SdkInternalApi final UpgradeReviewTemplateLensReviewResult executeUpgradeReviewTemplateLensReview( UpgradeReviewTemplateLensReviewRequest upgradeReviewTemplateLensReviewRequest) { ExecutionContext executionContext = createExecutionContext(upgradeReviewTemplateLensReviewRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpgradeReviewTemplateLensReviewRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(upgradeReviewTemplateLensReviewRequest)); // 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, "WellArchitected"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpgradeReviewTemplateLensReview"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpgradeReviewTemplateLensReviewResultJsonUnmarshaller()); 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 - 2024 Weber Informatics LLC | Privacy Policy