com.amazonaws.services.wellarchitected.AWSWellArchitected Maven / Gradle / Ivy
Show all versions of aws-java-sdk-wellarchitected Show documentation
/*
* Copyright 2016-2021 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.
*
*
* AWS Well-Architected Tool
*
* This is the AWS Well-Architected Tool API Reference. The AWS Well-Architected Tool API provides programmatic
* access to the AWS Well-Architected Tool in the AWS Management Console. For information about the AWS
* Well-Architected Tool, see the AWS
* 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.
*
*
* @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 AWS 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 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 AWS 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 AWS accounts and IAM users in the same AWS Region. Only
* the owner of a workload can delete it.
*
*
* For more information, see Defining a Workload
* in the AWS 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 AWS 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 AWS accounts and IAM users in the same AWS Region. Shared access
* to a workload is not removed until the workload invitation is deleted.
*
*
* For more information, see Sharing a Workload
* in the AWS 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 AWS 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 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 AWS 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 AWS 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.
*
*
*
* The AWS 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 AWS 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);
/**
*
* 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 AWS 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 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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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);
/**
*
* 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 AWS 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 AWS 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 AWS 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 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 AWS 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 AWS 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 AWS 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 AWS 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.
*
*
* @param listTagsForResourceRequest
* @return Result of the ListTagsForResource operation returned by the service.
* @throws InternalServerException
* There is a problem with the AWS 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 AWS 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 AWS 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.
*
*
* @param tagResourceRequest
* @return Result of the TagResource operation returned by the service.
* @throws InternalServerException
* There is a problem with the AWS 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.
*
*
* 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 AWS 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 AWS 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);
/**
*
* 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 AWS 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 AWS 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 AWS 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 AWS 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 AWS 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);
}