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