com.amazonaws.services.wellarchitected.AWSWellArchitected Maven / Gradle / Ivy
/*
* Copyright 2017-2022 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 javax.annotation.Generated;
import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.services.wellarchitected.model.*;
/**
* Interface for accessing Well-Architected.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.wellarchitected.AbstractAWSWellArchitected} instead.
*
*
* 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.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSWellArchitected {
/**
* The region metadata service name for computing region endpoints. You can use this value to retrieve metadata
* (such as supported regions) of the service.
*
* @see RegionUtils#getRegionsForService(String)
*/
String ENDPOINT_PREFIX = "wellarchitected";
/**
*
* 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 already exists.
* @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
*/
AssociateLensesResult associateLenses(AssociateLensesRequest associateLensesRequest);
/**
*
* Create a lens share.
*
*
* The owner of a lens can share it with other Amazon Web Services accounts and IAM users in the same Amazon Web
* Services Region. Shared access to a lens is not removed until the lens invitation is deleted.
*
*
*
* 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 already exists.
* @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
*/
CreateLensShareResult createLensShare(CreateLensShareRequest createLensShareRequest);
/**
*
* Create a new lens version.
*
*
* A lens can have up to 100 versions.
*
*
* After a lens has been imported, create a new lens version to publish it. The owner of a lens can share the lens
* with other Amazon Web Services accounts and IAM 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 already exists.
* @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
*/
CreateLensVersionResult createLensVersion(CreateLensVersionRequest createLensVersionRequest);
/**
*
* 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 already exists.
* @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
*/
CreateMilestoneResult createMilestone(CreateMilestoneRequest createMilestoneRequest);
/**
*
* Create a new workload.
*
*
* The owner of a workload can share the workload with other Amazon Web Services accounts and IAM users 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.
*
*
* @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 already exists.
* @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.CreateWorkload
* @see AWS
* API Documentation
*/
CreateWorkloadResult createWorkload(CreateWorkloadRequest createWorkloadRequest);
/**
*
* Create a workload share.
*
*
* The owner of a workload can share it with other Amazon Web Services accounts and IAM users in the same Amazon Web
* Services Region. Shared access to a workload is not removed until the workload invitation is deleted.
*
*
* 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 already exists.
* @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
*/
CreateWorkloadShareResult createWorkloadShare(CreateWorkloadShareRequest createWorkloadShareRequest);
/**
*
* Delete an existing lens.
*
*
* Only the owner of a lens can delete it. After the lens is deleted, Amazon Web Services accounts and IAM 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 already exists.
* @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
*/
DeleteLensResult deleteLens(DeleteLensRequest deleteLensRequest);
/**
*
* Delete a lens share.
*
*
* After the lens share is deleted, Amazon Web Services accounts and IAM 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 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 already exists.
* @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
*/
DeleteLensShareResult deleteLensShare(DeleteLensShareRequest deleteLensShareRequest);
/**
*
* 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 already exists.
* @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
*/
DeleteWorkloadResult deleteWorkload(DeleteWorkloadRequest deleteWorkloadRequest);
/**
*
* 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 already exists.
* @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
*/
DeleteWorkloadShareResult deleteWorkloadShare(DeleteWorkloadShareRequest deleteWorkloadShareRequest);
/**
*
* 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 already exists.
* @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
*/
DisassociateLensesResult disassociateLenses(DisassociateLensesRequest disassociateLensesRequest);
/**
*
* Export an existing lens.
*
*
* Lenses are defined in JSON. For more information, see JSON format
* specification in the Well-Architected Tool User Guide. Only the owner of a lens can export it.
*
*
*
* 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
*/
ExportLensResult exportLens(ExportLensRequest exportLensRequest);
/**
*
* 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
*/
GetAnswerResult getAnswer(GetAnswerRequest getAnswerRequest);
/**
*
* 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
*/
GetLensResult getLens(GetLensRequest getLensRequest);
/**
*
* 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
*/
GetLensReviewResult getLensReview(GetLensReviewRequest getLensReviewRequest);
/**
*
* 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
*/
GetLensReviewReportResult getLensReviewReport(GetLensReviewReportRequest getLensReviewReportRequest);
/**
*
* 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
*/
GetLensVersionDifferenceResult getLensVersionDifference(GetLensVersionDifferenceRequest getLensVersionDifferenceRequest);
/**
*
* 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
*/
GetMilestoneResult getMilestone(GetMilestoneRequest getMilestoneRequest);
/**
*
* 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
*/
GetWorkloadResult getWorkload(GetWorkloadRequest getWorkloadRequest);
/**
*
* Import a new lens.
*
*
* 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 already exists.
* @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
*/
ImportLensResult importLens(ImportLensRequest importLensRequest);
/**
*
* List of answers.
*
*
* @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
*/
ListAnswersResult listAnswers(ListAnswersRequest listAnswersRequest);
/**
*
* List lens review improvements.
*
*
* @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
*/
ListLensReviewImprovementsResult listLensReviewImprovements(ListLensReviewImprovementsRequest listLensReviewImprovementsRequest);
/**
*
* List lens reviews.
*
*
* @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
*/
ListLensReviewsResult listLensReviews(ListLensReviewsRequest listLensReviewsRequest);
/**
*
* 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
*/
ListLensSharesResult listLensShares(ListLensSharesRequest listLensSharesRequest);
/**
*
* 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
*/
ListLensesResult listLenses(ListLensesRequest listLensesRequest);
/**
*
* 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
*/
ListMilestonesResult listMilestones(ListMilestonesRequest listMilestonesRequest);
/**
*
* 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
*/
ListNotificationsResult listNotifications(ListNotificationsRequest listNotificationsRequest);
/**
*
* List the workload invitations.
*
*
* @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
*/
ListShareInvitationsResult listShareInvitations(ListShareInvitationsRequest listShareInvitationsRequest);
/**
*
* List the tags for a resource.
*
*
*
* The WorkloadArn parameter can be either a workload ARN or a custom lens 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
*/
ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest);
/**
*
* 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
*/
ListWorkloadSharesResult listWorkloadShares(ListWorkloadSharesRequest listWorkloadSharesRequest);
/**
*
* List workloads. Paginated.
*
*
* @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
*/
ListWorkloadsResult listWorkloads(ListWorkloadsRequest listWorkloadsRequest);
/**
*
* Adds one or more tags to the specified resource.
*
*
*
* The WorkloadArn parameter can be either a workload ARN or a custom lens 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
*/
TagResourceResult tagResource(TagResourceRequest tagResourceRequest);
/**
*
* Deletes specified tags from a resource.
*
*
*
* The WorkloadArn parameter can be either a workload ARN or a custom lens 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
*/
UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest);
/**
*
* 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 already exists.
* @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
*/
UpdateAnswerResult updateAnswer(UpdateAnswerRequest updateAnswerRequest);
/**
*
* Updates whether the Amazon Web Services account is opted into organization sharing 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 already exists.
* @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
*/
UpdateGlobalSettingsResult updateGlobalSettings(UpdateGlobalSettingsRequest updateGlobalSettingsRequest);
/**
*
* Update lens review.
*
*
* @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 already exists.
* @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
*/
UpdateLensReviewResult updateLensReview(UpdateLensReviewRequest updateLensReviewRequest);
/**
*
* Update a workload invitation.
*
*
* @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 already exists.
* @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
*/
UpdateShareInvitationResult updateShareInvitation(UpdateShareInvitationRequest updateShareInvitationRequest);
/**
*
* 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 already exists.
* @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
*/
UpdateWorkloadResult updateWorkload(UpdateWorkloadRequest updateWorkloadRequest);
/**
*
* 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 already exists.
* @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
*/
UpdateWorkloadShareResult updateWorkloadShare(UpdateWorkloadShareRequest updateWorkloadShareRequest);
/**
*
* Upgrade lens review.
*
*
* @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 already exists.
* @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.UpgradeLensReview
* @see AWS API Documentation
*/
UpgradeLensReviewResult upgradeLensReview(UpgradeLensReviewRequest upgradeLensReviewRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
*
* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic
* information for an executed request, you should use this method to retrieve it as soon as possible after
* executing a request.
*
* @param request
* The originally executed request.
*
* @return The response metadata for the specified request, or null if none is available.
*/
ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request);
}