/**
* Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0.
*/
#pragma once
#include
#include
#include
#include
#include
#include
namespace Aws
{
namespace WellArchitected
{
/**
* 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.
*/
class AWS_WELLARCHITECTED_API WellArchitectedClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods
{
public:
typedef Aws::Client::AWSJsonClient BASECLASS;
static const char* SERVICE_NAME;
static const char* ALLOCATION_TAG;
typedef WellArchitectedClientConfiguration ClientConfigurationType;
typedef WellArchitectedEndpointProvider EndpointProviderType;
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WellArchitectedClient(const Aws::WellArchitected::WellArchitectedClientConfiguration& clientConfiguration = Aws::WellArchitected::WellArchitectedClientConfiguration(),
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG));
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WellArchitectedClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::WellArchitected::WellArchitectedClientConfiguration& clientConfiguration = Aws::WellArchitected::WellArchitectedClientConfiguration());
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
WellArchitectedClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::WellArchitected::WellArchitectedClientConfiguration& clientConfiguration = Aws::WellArchitected::WellArchitectedClientConfiguration());
/* Legacy constructors due deprecation */
/**
* Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WellArchitectedClient(const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config
* is not specified, it will be initialized to default values.
*/
WellArchitectedClient(const Aws::Auth::AWSCredentials& credentials,
const Aws::Client::ClientConfiguration& clientConfiguration);
/**
* Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied,
* the default http client factory will be used
*/
WellArchitectedClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~WellArchitectedClient();
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateLensesOutcome AssociateLenses(const Model::AssociateLensesRequest& request) const;
/**
* A Callable wrapper for AssociateLenses that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateLensesOutcomeCallable AssociateLensesCallable(const AssociateLensesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::AssociateLenses, request);
}
/**
* An Async wrapper for AssociateLenses that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateLensesAsync(const AssociateLensesRequestT& request, const AssociateLensesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::AssociateLenses, request, handler, context);
}
/**
* Associate a profile with a workload.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateProfilesOutcome AssociateProfiles(const Model::AssociateProfilesRequest& request) const;
/**
* A Callable wrapper for AssociateProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateProfilesOutcomeCallable AssociateProfilesCallable(const AssociateProfilesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::AssociateProfiles, request);
}
/**
* An Async wrapper for AssociateProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateProfilesAsync(const AssociateProfilesRequestT& request, const AssociateProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::AssociateProfiles, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateLensShareOutcome CreateLensShare(const Model::CreateLensShareRequest& request) const;
/**
* A Callable wrapper for CreateLensShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateLensShareOutcomeCallable CreateLensShareCallable(const CreateLensShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateLensShare, request);
}
/**
* An Async wrapper for CreateLensShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateLensShareAsync(const CreateLensShareRequestT& request, const CreateLensShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateLensShare, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateLensVersionOutcome CreateLensVersion(const Model::CreateLensVersionRequest& request) const;
/**
* A Callable wrapper for CreateLensVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateLensVersionOutcomeCallable CreateLensVersionCallable(const CreateLensVersionRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateLensVersion, request);
}
/**
* An Async wrapper for CreateLensVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateLensVersionAsync(const CreateLensVersionRequestT& request, const CreateLensVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateLensVersion, request, handler, context);
}
/**
* Create a milestone for an existing workload.
See Also:
AWS
* API Reference
*/
virtual Model::CreateMilestoneOutcome CreateMilestone(const Model::CreateMilestoneRequest& request) const;
/**
* A Callable wrapper for CreateMilestone that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateMilestoneOutcomeCallable CreateMilestoneCallable(const CreateMilestoneRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateMilestone, request);
}
/**
* An Async wrapper for CreateMilestone that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateMilestoneAsync(const CreateMilestoneRequestT& request, const CreateMilestoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateMilestone, request, handler, context);
}
/**
* Create a profile.
See Also:
AWS
* API Reference
*/
virtual Model::CreateProfileOutcome CreateProfile(const Model::CreateProfileRequest& request) const;
/**
* A Callable wrapper for CreateProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateProfileOutcomeCallable CreateProfileCallable(const CreateProfileRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateProfile, request);
}
/**
* An Async wrapper for CreateProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateProfileAsync(const CreateProfileRequestT& request, const CreateProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateProfile, request, handler, context);
}
/**
* Create a profile share.
See Also:
AWS
* API Reference
*/
virtual Model::CreateProfileShareOutcome CreateProfileShare(const Model::CreateProfileShareRequest& request) const;
/**
* A Callable wrapper for CreateProfileShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateProfileShareOutcomeCallable CreateProfileShareCallable(const CreateProfileShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateProfileShare, request);
}
/**
* An Async wrapper for CreateProfileShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateProfileShareAsync(const CreateProfileShareRequestT& request, const CreateProfileShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateProfileShare, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::CreateWorkloadOutcome CreateWorkload(const Model::CreateWorkloadRequest& request) const;
/**
* A Callable wrapper for CreateWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateWorkloadOutcomeCallable CreateWorkloadCallable(const CreateWorkloadRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateWorkload, request);
}
/**
* An Async wrapper for CreateWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateWorkloadAsync(const CreateWorkloadRequestT& request, const CreateWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateWorkload, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateWorkloadShareOutcome CreateWorkloadShare(const Model::CreateWorkloadShareRequest& request) const;
/**
* A Callable wrapper for CreateWorkloadShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateWorkloadShareOutcomeCallable CreateWorkloadShareCallable(const CreateWorkloadShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::CreateWorkloadShare, request);
}
/**
* An Async wrapper for CreateWorkloadShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateWorkloadShareAsync(const CreateWorkloadShareRequestT& request, const CreateWorkloadShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::CreateWorkloadShare, request, handler, context);
}
/**
* 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.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteLensOutcome DeleteLens(const Model::DeleteLensRequest& request) const;
/**
* A Callable wrapper for DeleteLens that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteLensOutcomeCallable DeleteLensCallable(const DeleteLensRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DeleteLens, request);
}
/**
* An Async wrapper for DeleteLens that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteLensAsync(const DeleteLensRequestT& request, const DeleteLensResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DeleteLens, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteLensShareOutcome DeleteLensShare(const Model::DeleteLensShareRequest& request) const;
/**
* A Callable wrapper for DeleteLensShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteLensShareOutcomeCallable DeleteLensShareCallable(const DeleteLensShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DeleteLensShare, request);
}
/**
* An Async wrapper for DeleteLensShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteLensShareAsync(const DeleteLensShareRequestT& request, const DeleteLensShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DeleteLensShare, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteProfileOutcome DeleteProfile(const Model::DeleteProfileRequest& request) const;
/**
* A Callable wrapper for DeleteProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteProfileOutcomeCallable DeleteProfileCallable(const DeleteProfileRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DeleteProfile, request);
}
/**
* An Async wrapper for DeleteProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteProfileAsync(const DeleteProfileRequestT& request, const DeleteProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DeleteProfile, request, handler, context);
}
/**
* Delete a profile share.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteProfileShareOutcome DeleteProfileShare(const Model::DeleteProfileShareRequest& request) const;
/**
* A Callable wrapper for DeleteProfileShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteProfileShareOutcomeCallable DeleteProfileShareCallable(const DeleteProfileShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DeleteProfileShare, request);
}
/**
* An Async wrapper for DeleteProfileShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteProfileShareAsync(const DeleteProfileShareRequestT& request, const DeleteProfileShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DeleteProfileShare, request, handler, context);
}
/**
* Delete an existing workload.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteWorkloadOutcome DeleteWorkload(const Model::DeleteWorkloadRequest& request) const;
/**
* A Callable wrapper for DeleteWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteWorkloadOutcomeCallable DeleteWorkloadCallable(const DeleteWorkloadRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DeleteWorkload, request);
}
/**
* An Async wrapper for DeleteWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteWorkloadAsync(const DeleteWorkloadRequestT& request, const DeleteWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DeleteWorkload, request, handler, context);
}
/**
* Delete a workload share.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteWorkloadShareOutcome DeleteWorkloadShare(const Model::DeleteWorkloadShareRequest& request) const;
/**
* A Callable wrapper for DeleteWorkloadShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteWorkloadShareOutcomeCallable DeleteWorkloadShareCallable(const DeleteWorkloadShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DeleteWorkloadShare, request);
}
/**
* An Async wrapper for DeleteWorkloadShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteWorkloadShareAsync(const DeleteWorkloadShareRequestT& request, const DeleteWorkloadShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DeleteWorkloadShare, request, handler, context);
}
/**
* 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.
* See Also:
AWS
* API Reference
*/
virtual Model::DisassociateLensesOutcome DisassociateLenses(const Model::DisassociateLensesRequest& request) const;
/**
* A Callable wrapper for DisassociateLenses that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateLensesOutcomeCallable DisassociateLensesCallable(const DisassociateLensesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DisassociateLenses, request);
}
/**
* An Async wrapper for DisassociateLenses that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateLensesAsync(const DisassociateLensesRequestT& request, const DisassociateLensesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DisassociateLenses, request, handler, context);
}
/**
* Disassociate a profile from a workload.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateProfilesOutcome DisassociateProfiles(const Model::DisassociateProfilesRequest& request) const;
/**
* A Callable wrapper for DisassociateProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateProfilesOutcomeCallable DisassociateProfilesCallable(const DisassociateProfilesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::DisassociateProfiles, request);
}
/**
* An Async wrapper for DisassociateProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateProfilesAsync(const DisassociateProfilesRequestT& request, const DisassociateProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::DisassociateProfiles, request, handler, context);
}
/**
* 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.
See Also:
AWS
* API Reference
*/
virtual Model::ExportLensOutcome ExportLens(const Model::ExportLensRequest& request) const;
/**
* A Callable wrapper for ExportLens that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ExportLensOutcomeCallable ExportLensCallable(const ExportLensRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ExportLens, request);
}
/**
* An Async wrapper for ExportLens that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ExportLensAsync(const ExportLensRequestT& request, const ExportLensResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ExportLens, request, handler, context);
}
/**
* Get the answer to a specific question in a workload review.
See
* Also:
AWS
* API Reference
*/
virtual Model::GetAnswerOutcome GetAnswer(const Model::GetAnswerRequest& request) const;
/**
* A Callable wrapper for GetAnswer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetAnswerOutcomeCallable GetAnswerCallable(const GetAnswerRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetAnswer, request);
}
/**
* An Async wrapper for GetAnswer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetAnswerAsync(const GetAnswerRequestT& request, const GetAnswerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetAnswer, request, handler, context);
}
/**
* Get a consolidated report of your workloads.
You can optionally choose
* to include workloads that have been shared with you.
See Also:
* AWS
* API Reference
*/
virtual Model::GetConsolidatedReportOutcome GetConsolidatedReport(const Model::GetConsolidatedReportRequest& request) const;
/**
* A Callable wrapper for GetConsolidatedReport that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetConsolidatedReportOutcomeCallable GetConsolidatedReportCallable(const GetConsolidatedReportRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetConsolidatedReport, request);
}
/**
* An Async wrapper for GetConsolidatedReport that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetConsolidatedReportAsync(const GetConsolidatedReportRequestT& request, const GetConsolidatedReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetConsolidatedReport, request, handler, context);
}
/**
* Get an existing lens.
See Also:
AWS
* API Reference
*/
virtual Model::GetLensOutcome GetLens(const Model::GetLensRequest& request) const;
/**
* A Callable wrapper for GetLens that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLensOutcomeCallable GetLensCallable(const GetLensRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetLens, request);
}
/**
* An Async wrapper for GetLens that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLensAsync(const GetLensRequestT& request, const GetLensResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetLens, request, handler, context);
}
/**
* Get lens review.
See Also:
AWS
* API Reference
*/
virtual Model::GetLensReviewOutcome GetLensReview(const Model::GetLensReviewRequest& request) const;
/**
* A Callable wrapper for GetLensReview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLensReviewOutcomeCallable GetLensReviewCallable(const GetLensReviewRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetLensReview, request);
}
/**
* An Async wrapper for GetLensReview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLensReviewAsync(const GetLensReviewRequestT& request, const GetLensReviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetLensReview, request, handler, context);
}
/**
* Get lens review report.
See Also:
AWS
* API Reference
*/
virtual Model::GetLensReviewReportOutcome GetLensReviewReport(const Model::GetLensReviewReportRequest& request) const;
/**
* A Callable wrapper for GetLensReviewReport that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLensReviewReportOutcomeCallable GetLensReviewReportCallable(const GetLensReviewReportRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetLensReviewReport, request);
}
/**
* An Async wrapper for GetLensReviewReport that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLensReviewReportAsync(const GetLensReviewReportRequestT& request, const GetLensReviewReportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetLensReviewReport, request, handler, context);
}
/**
* Get lens version differences.
See Also:
AWS
* API Reference
*/
virtual Model::GetLensVersionDifferenceOutcome GetLensVersionDifference(const Model::GetLensVersionDifferenceRequest& request) const;
/**
* A Callable wrapper for GetLensVersionDifference that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetLensVersionDifferenceOutcomeCallable GetLensVersionDifferenceCallable(const GetLensVersionDifferenceRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetLensVersionDifference, request);
}
/**
* An Async wrapper for GetLensVersionDifference that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetLensVersionDifferenceAsync(const GetLensVersionDifferenceRequestT& request, const GetLensVersionDifferenceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetLensVersionDifference, request, handler, context);
}
/**
* Get a milestone for an existing workload.
See Also:
AWS
* API Reference
*/
virtual Model::GetMilestoneOutcome GetMilestone(const Model::GetMilestoneRequest& request) const;
/**
* A Callable wrapper for GetMilestone that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetMilestoneOutcomeCallable GetMilestoneCallable(const GetMilestoneRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetMilestone, request);
}
/**
* An Async wrapper for GetMilestone that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetMilestoneAsync(const GetMilestoneRequestT& request, const GetMilestoneResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetMilestone, request, handler, context);
}
/**
* Get profile information.
See Also:
AWS
* API Reference
*/
virtual Model::GetProfileOutcome GetProfile(const Model::GetProfileRequest& request) const;
/**
* A Callable wrapper for GetProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetProfileOutcomeCallable GetProfileCallable(const GetProfileRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetProfile, request);
}
/**
* An Async wrapper for GetProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetProfileAsync(const GetProfileRequestT& request, const GetProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetProfile, request, handler, context);
}
/**
* Get profile template.
See Also:
AWS
* API Reference
*/
virtual Model::GetProfileTemplateOutcome GetProfileTemplate(const Model::GetProfileTemplateRequest& request) const;
/**
* A Callable wrapper for GetProfileTemplate that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetProfileTemplateOutcomeCallable GetProfileTemplateCallable(const GetProfileTemplateRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetProfileTemplate, request);
}
/**
* An Async wrapper for GetProfileTemplate that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetProfileTemplateAsync(const GetProfileTemplateRequestT& request, const GetProfileTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetProfileTemplate, request, handler, context);
}
/**
* Get an existing workload.
See Also:
AWS
* API Reference
*/
virtual Model::GetWorkloadOutcome GetWorkload(const Model::GetWorkloadRequest& request) const;
/**
* A Callable wrapper for GetWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::GetWorkloadOutcomeCallable GetWorkloadCallable(const GetWorkloadRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::GetWorkload, request);
}
/**
* An Async wrapper for GetWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void GetWorkloadAsync(const GetWorkloadRequestT& request, const GetWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::GetWorkload, request, handler, context);
}
/**
* 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.
See
* Also:
AWS
* API Reference
*/
virtual Model::ImportLensOutcome ImportLens(const Model::ImportLensRequest& request) const;
/**
* A Callable wrapper for ImportLens that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ImportLensOutcomeCallable ImportLensCallable(const ImportLensRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ImportLens, request);
}
/**
* An Async wrapper for ImportLens that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ImportLensAsync(const ImportLensRequestT& request, const ImportLensResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ImportLens, request, handler, context);
}
/**
* List of answers for a particular workload and lens.
See Also:
* AWS
* API Reference
*/
virtual Model::ListAnswersOutcome ListAnswers(const Model::ListAnswersRequest& request) const;
/**
* A Callable wrapper for ListAnswers that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAnswersOutcomeCallable ListAnswersCallable(const ListAnswersRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListAnswers, request);
}
/**
* An Async wrapper for ListAnswers that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAnswersAsync(const ListAnswersRequestT& request, const ListAnswersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListAnswers, request, handler, context);
}
/**
* List of Trusted Advisor check details by account related to the
* workload.
See Also:
AWS
* API Reference
*/
virtual Model::ListCheckDetailsOutcome ListCheckDetails(const Model::ListCheckDetailsRequest& request) const;
/**
* A Callable wrapper for ListCheckDetails that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCheckDetailsOutcomeCallable ListCheckDetailsCallable(const ListCheckDetailsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListCheckDetails, request);
}
/**
* An Async wrapper for ListCheckDetails that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCheckDetailsAsync(const ListCheckDetailsRequestT& request, const ListCheckDetailsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListCheckDetails, request, handler, context);
}
/**
* List of Trusted Advisor checks summarized for all accounts related to the
* workload.
See Also:
AWS
* API Reference
*/
virtual Model::ListCheckSummariesOutcome ListCheckSummaries(const Model::ListCheckSummariesRequest& request) const;
/**
* A Callable wrapper for ListCheckSummaries that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListCheckSummariesOutcomeCallable ListCheckSummariesCallable(const ListCheckSummariesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListCheckSummaries, request);
}
/**
* An Async wrapper for ListCheckSummaries that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListCheckSummariesAsync(const ListCheckSummariesRequestT& request, const ListCheckSummariesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListCheckSummaries, request, handler, context);
}
/**
* List lens review improvements.
See Also:
AWS
* API Reference
*/
virtual Model::ListLensReviewImprovementsOutcome ListLensReviewImprovements(const Model::ListLensReviewImprovementsRequest& request) const;
/**
* A Callable wrapper for ListLensReviewImprovements that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLensReviewImprovementsOutcomeCallable ListLensReviewImprovementsCallable(const ListLensReviewImprovementsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListLensReviewImprovements, request);
}
/**
* An Async wrapper for ListLensReviewImprovements that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLensReviewImprovementsAsync(const ListLensReviewImprovementsRequestT& request, const ListLensReviewImprovementsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListLensReviewImprovements, request, handler, context);
}
/**
* List lens reviews for a particular workload.
See Also:
AWS
* API Reference
*/
virtual Model::ListLensReviewsOutcome ListLensReviews(const Model::ListLensReviewsRequest& request) const;
/**
* A Callable wrapper for ListLensReviews that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLensReviewsOutcomeCallable ListLensReviewsCallable(const ListLensReviewsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListLensReviews, request);
}
/**
* An Async wrapper for ListLensReviews that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLensReviewsAsync(const ListLensReviewsRequestT& request, const ListLensReviewsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListLensReviews, request, handler, context);
}
/**
* List the lens shares associated with the lens.
See Also:
AWS
* API Reference
*/
virtual Model::ListLensSharesOutcome ListLensShares(const Model::ListLensSharesRequest& request) const;
/**
* A Callable wrapper for ListLensShares that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLensSharesOutcomeCallable ListLensSharesCallable(const ListLensSharesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListLensShares, request);
}
/**
* An Async wrapper for ListLensShares that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLensSharesAsync(const ListLensSharesRequestT& request, const ListLensSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListLensShares, request, handler, context);
}
/**
* List the available lenses.
See Also:
AWS
* API Reference
*/
virtual Model::ListLensesOutcome ListLenses(const Model::ListLensesRequest& request) const;
/**
* A Callable wrapper for ListLenses that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLensesOutcomeCallable ListLensesCallable(const ListLensesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListLenses, request);
}
/**
* An Async wrapper for ListLenses that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLensesAsync(const ListLensesRequestT& request, const ListLensesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListLenses, request, handler, context);
}
/**
* List all milestones for an existing workload.
See Also:
AWS
* API Reference
*/
virtual Model::ListMilestonesOutcome ListMilestones(const Model::ListMilestonesRequest& request) const;
/**
* A Callable wrapper for ListMilestones that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListMilestonesOutcomeCallable ListMilestonesCallable(const ListMilestonesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListMilestones, request);
}
/**
* An Async wrapper for ListMilestones that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListMilestonesAsync(const ListMilestonesRequestT& request, const ListMilestonesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListMilestones, request, handler, context);
}
/**
* List lens notifications.
See Also:
AWS
* API Reference
*/
virtual Model::ListNotificationsOutcome ListNotifications(const Model::ListNotificationsRequest& request) const;
/**
* A Callable wrapper for ListNotifications that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListNotificationsOutcomeCallable ListNotificationsCallable(const ListNotificationsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListNotifications, request);
}
/**
* An Async wrapper for ListNotifications that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListNotificationsAsync(const ListNotificationsRequestT& request, const ListNotificationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListNotifications, request, handler, context);
}
/**
* List profile notifications.
See Also:
AWS
* API Reference
*/
virtual Model::ListProfileNotificationsOutcome ListProfileNotifications(const Model::ListProfileNotificationsRequest& request) const;
/**
* A Callable wrapper for ListProfileNotifications that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProfileNotificationsOutcomeCallable ListProfileNotificationsCallable(const ListProfileNotificationsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListProfileNotifications, request);
}
/**
* An Async wrapper for ListProfileNotifications that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProfileNotificationsAsync(const ListProfileNotificationsRequestT& request, const ListProfileNotificationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListProfileNotifications, request, handler, context);
}
/**
* List profile shares.
See Also:
AWS
* API Reference
*/
virtual Model::ListProfileSharesOutcome ListProfileShares(const Model::ListProfileSharesRequest& request) const;
/**
* A Callable wrapper for ListProfileShares that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProfileSharesOutcomeCallable ListProfileSharesCallable(const ListProfileSharesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListProfileShares, request);
}
/**
* An Async wrapper for ListProfileShares that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProfileSharesAsync(const ListProfileSharesRequestT& request, const ListProfileSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListProfileShares, request, handler, context);
}
/**
* List profiles.
See Also:
AWS
* API Reference
*/
virtual Model::ListProfilesOutcome ListProfiles(const Model::ListProfilesRequest& request) const;
/**
* A Callable wrapper for ListProfiles that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListProfilesOutcomeCallable ListProfilesCallable(const ListProfilesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListProfiles, request);
}
/**
* An Async wrapper for ListProfiles that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListProfilesAsync(const ListProfilesRequestT& request, const ListProfilesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListProfiles, request, handler, context);
}
/**
* List the workload invitations.
See Also:
AWS
* API Reference
*/
virtual Model::ListShareInvitationsOutcome ListShareInvitations(const Model::ListShareInvitationsRequest& request) const;
/**
* A Callable wrapper for ListShareInvitations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListShareInvitationsOutcomeCallable ListShareInvitationsCallable(const ListShareInvitationsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListShareInvitations, request);
}
/**
* An Async wrapper for ListShareInvitations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListShareInvitationsAsync(const ListShareInvitationsRequestT& request, const ListShareInvitationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListShareInvitations, request, handler, context);
}
/**
* List the tags for a resource.
The WorkloadArn parameter can be
* a workload ARN, a custom lens ARN, or a profile ARN.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const;
/**
* A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListTagsForResource, request);
}
/**
* An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListTagsForResource, request, handler, context);
}
/**
* List the workload shares associated with the workload.
See
* Also:
AWS
* API Reference
*/
virtual Model::ListWorkloadSharesOutcome ListWorkloadShares(const Model::ListWorkloadSharesRequest& request) const;
/**
* A Callable wrapper for ListWorkloadShares that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListWorkloadSharesOutcomeCallable ListWorkloadSharesCallable(const ListWorkloadSharesRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListWorkloadShares, request);
}
/**
* An Async wrapper for ListWorkloadShares that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListWorkloadSharesAsync(const ListWorkloadSharesRequestT& request, const ListWorkloadSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListWorkloadShares, request, handler, context);
}
/**
* Paginated list of workloads.
See Also:
AWS
* API Reference
*/
virtual Model::ListWorkloadsOutcome ListWorkloads(const Model::ListWorkloadsRequest& request) const;
/**
* A Callable wrapper for ListWorkloads that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListWorkloadsOutcomeCallable ListWorkloadsCallable(const ListWorkloadsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::ListWorkloads, request);
}
/**
* An Async wrapper for ListWorkloads that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListWorkloadsAsync(const ListWorkloadsRequestT& request, const ListWorkloadsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::ListWorkloads, request, handler, context);
}
/**
* Adds one or more tags to the specified resource.
The
* WorkloadArn parameter can be a workload ARN, a custom lens ARN, or a profile
* ARN.
See Also:
AWS
* API Reference
*/
virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const;
/**
* A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::TagResource, request);
}
/**
* An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::TagResource, request, handler, context);
}
/**
* Deletes specified tags from a resource.
The WorkloadArn
* parameter can be a workload ARN, a custom lens ARN, or a profile ARN.
* To specify multiple tags, use separate tagKeys parameters, for
* example:
DELETE
* /tags/WorkloadArn?tagKeys=key1&tagKeys=key2
See Also:
* AWS
* API Reference
*/
virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const;
/**
* A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UntagResource, request);
}
/**
* An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UntagResource, request, handler, context);
}
/**
* Update the answer to a specific question in a workload review.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateAnswerOutcome UpdateAnswer(const Model::UpdateAnswerRequest& request) const;
/**
* A Callable wrapper for UpdateAnswer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateAnswerOutcomeCallable UpdateAnswerCallable(const UpdateAnswerRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateAnswer, request);
}
/**
* An Async wrapper for UpdateAnswer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateAnswerAsync(const UpdateAnswerRequestT& request, const UpdateAnswerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateAnswer, request, handler, context);
}
/**
* Updates whether the Amazon Web Services account is opted into organization
* sharing and discovery integration features.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateGlobalSettingsOutcome UpdateGlobalSettings(const Model::UpdateGlobalSettingsRequest& request) const;
/**
* A Callable wrapper for UpdateGlobalSettings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateGlobalSettingsOutcomeCallable UpdateGlobalSettingsCallable(const UpdateGlobalSettingsRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateGlobalSettings, request);
}
/**
* An Async wrapper for UpdateGlobalSettings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateGlobalSettingsAsync(const UpdateGlobalSettingsRequestT& request, const UpdateGlobalSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateGlobalSettings, request, handler, context);
}
/**
* Update lens review for a particular workload.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateLensReviewOutcome UpdateLensReview(const Model::UpdateLensReviewRequest& request) const;
/**
* A Callable wrapper for UpdateLensReview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateLensReviewOutcomeCallable UpdateLensReviewCallable(const UpdateLensReviewRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateLensReview, request);
}
/**
* An Async wrapper for UpdateLensReview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateLensReviewAsync(const UpdateLensReviewRequestT& request, const UpdateLensReviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateLensReview, request, handler, context);
}
/**
* Update a profile.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateProfileOutcome UpdateProfile(const Model::UpdateProfileRequest& request) const;
/**
* A Callable wrapper for UpdateProfile that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateProfileOutcomeCallable UpdateProfileCallable(const UpdateProfileRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateProfile, request);
}
/**
* An Async wrapper for UpdateProfile that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateProfileAsync(const UpdateProfileRequestT& request, const UpdateProfileResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateProfile, request, handler, context);
}
/**
* 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.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateShareInvitationOutcome UpdateShareInvitation(const Model::UpdateShareInvitationRequest& request) const;
/**
* A Callable wrapper for UpdateShareInvitation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateShareInvitationOutcomeCallable UpdateShareInvitationCallable(const UpdateShareInvitationRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateShareInvitation, request);
}
/**
* An Async wrapper for UpdateShareInvitation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateShareInvitationAsync(const UpdateShareInvitationRequestT& request, const UpdateShareInvitationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateShareInvitation, request, handler, context);
}
/**
* Update an existing workload.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateWorkloadOutcome UpdateWorkload(const Model::UpdateWorkloadRequest& request) const;
/**
* A Callable wrapper for UpdateWorkload that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateWorkloadOutcomeCallable UpdateWorkloadCallable(const UpdateWorkloadRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateWorkload, request);
}
/**
* An Async wrapper for UpdateWorkload that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateWorkloadAsync(const UpdateWorkloadRequestT& request, const UpdateWorkloadResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateWorkload, request, handler, context);
}
/**
* Update a workload share.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateWorkloadShareOutcome UpdateWorkloadShare(const Model::UpdateWorkloadShareRequest& request) const;
/**
* A Callable wrapper for UpdateWorkloadShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateWorkloadShareOutcomeCallable UpdateWorkloadShareCallable(const UpdateWorkloadShareRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpdateWorkloadShare, request);
}
/**
* An Async wrapper for UpdateWorkloadShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateWorkloadShareAsync(const UpdateWorkloadShareRequestT& request, const UpdateWorkloadShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpdateWorkloadShare, request, handler, context);
}
/**
* Upgrade lens review for a particular workload.
See Also:
AWS
* API Reference
*/
virtual Model::UpgradeLensReviewOutcome UpgradeLensReview(const Model::UpgradeLensReviewRequest& request) const;
/**
* A Callable wrapper for UpgradeLensReview that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpgradeLensReviewOutcomeCallable UpgradeLensReviewCallable(const UpgradeLensReviewRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpgradeLensReview, request);
}
/**
* An Async wrapper for UpgradeLensReview that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpgradeLensReviewAsync(const UpgradeLensReviewRequestT& request, const UpgradeLensReviewResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpgradeLensReview, request, handler, context);
}
/**
* Upgrade a profile.
See Also:
AWS
* API Reference
*/
virtual Model::UpgradeProfileVersionOutcome UpgradeProfileVersion(const Model::UpgradeProfileVersionRequest& request) const;
/**
* A Callable wrapper for UpgradeProfileVersion that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpgradeProfileVersionOutcomeCallable UpgradeProfileVersionCallable(const UpgradeProfileVersionRequestT& request) const
{
return SubmitCallable(&WellArchitectedClient::UpgradeProfileVersion, request);
}
/**
* An Async wrapper for UpgradeProfileVersion that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpgradeProfileVersionAsync(const UpgradeProfileVersionRequestT& request, const UpgradeProfileVersionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&WellArchitectedClient::UpgradeProfileVersion, request, handler, context);
}
void OverrideEndpoint(const Aws::String& endpoint);
std::shared_ptr& accessEndpointProvider();
private:
friend class Aws::Client::ClientWithAsyncTemplateMethods;
void init(const WellArchitectedClientConfiguration& clientConfiguration);
WellArchitectedClientConfiguration m_clientConfiguration;
std::shared_ptr m_executor;
std::shared_ptr m_endpointProvider;
};
} // namespace WellArchitected
} // namespace Aws