/** * 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 CloudHSM { /** * AWS CloudHSM Service

This is documentation for AWS * CloudHSM Classic. For more information, see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

*/ class AWS_CLOUDHSM_API CloudHSMClient : 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 CloudHSMClientConfiguration ClientConfigurationType; typedef CloudHSMEndpointProvider 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. */ CloudHSMClient(const Aws::CloudHSM::CloudHSMClientConfiguration& clientConfiguration = Aws::CloudHSM::CloudHSMClientConfiguration(), 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. */ CloudHSMClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::CloudHSM::CloudHSMClientConfiguration& clientConfiguration = Aws::CloudHSM::CloudHSMClientConfiguration()); /** * 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 */ CloudHSMClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::CloudHSM::CloudHSMClientConfiguration& clientConfiguration = Aws::CloudHSM::CloudHSMClientConfiguration()); /* 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. */ CloudHSMClient(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. */ CloudHSMClient(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 */ CloudHSMClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~CloudHSMClient(); /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Adds or overwrites one or more tags for the specified * AWS CloudHSM resource.

Each tag consists of a key and a value. Tag keys * must be unique to each resource.

See Also:

AWS * API Reference

*/ virtual Model::AddTagsToResourceOutcome AddTagsToResource(const Model::AddTagsToResourceRequest& request) const; /** * A Callable wrapper for AddTagsToResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AddTagsToResourceOutcomeCallable AddTagsToResourceCallable(const AddTagsToResourceRequestT& request) const { return SubmitCallable(&CloudHSMClient::AddTagsToResource, request); } /** * An Async wrapper for AddTagsToResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AddTagsToResourceAsync(const AddTagsToResourceRequestT& request, const AddTagsToResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::AddTagsToResource, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Creates a high-availability partition group. A * high-availability partition group is a group of partitions that spans multiple * physical HSMs.

See Also:

AWS * API Reference

*/ virtual Model::CreateHapgOutcome CreateHapg(const Model::CreateHapgRequest& request) const; /** * A Callable wrapper for CreateHapg that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateHapgOutcomeCallable CreateHapgCallable(const CreateHapgRequestT& request) const { return SubmitCallable(&CloudHSMClient::CreateHapg, request); } /** * An Async wrapper for CreateHapg that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateHapgAsync(const CreateHapgRequestT& request, const CreateHapgResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::CreateHapg, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Creates an uninitialized HSM instance.

There is * an upfront fee charged for each HSM instance that you create with the * CreateHsm operation. If you accidentally provision an HSM and want * to request a refund, delete the instance using the DeleteHsm operation, * go to the AWS Support * Center, create a new case, and select Account and Billing * Support.

It can take up to 20 minutes to create and * provision an HSM. You can monitor the status of the HSM with the * DescribeHsm operation. The HSM is ready to be initialized when the status * changes to RUNNING.

See Also:

AWS * API Reference

*/ virtual Model::CreateHsmOutcome CreateHsm(const Model::CreateHsmRequest& request) const; /** * A Callable wrapper for CreateHsm that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateHsmOutcomeCallable CreateHsmCallable(const CreateHsmRequestT& request) const { return SubmitCallable(&CloudHSMClient::CreateHsm, request); } /** * An Async wrapper for CreateHsm that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateHsmAsync(const CreateHsmRequestT& request, const CreateHsmResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::CreateHsm, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Creates an HSM client.

See Also:

AWS * API Reference

*/ virtual Model::CreateLunaClientOutcome CreateLunaClient(const Model::CreateLunaClientRequest& request) const; /** * A Callable wrapper for CreateLunaClient that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateLunaClientOutcomeCallable CreateLunaClientCallable(const CreateLunaClientRequestT& request) const { return SubmitCallable(&CloudHSMClient::CreateLunaClient, request); } /** * An Async wrapper for CreateLunaClient that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateLunaClientAsync(const CreateLunaClientRequestT& request, const CreateLunaClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::CreateLunaClient, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Deletes a high-availability partition * group.

See Also:

AWS * API Reference

*/ virtual Model::DeleteHapgOutcome DeleteHapg(const Model::DeleteHapgRequest& request) const; /** * A Callable wrapper for DeleteHapg that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteHapgOutcomeCallable DeleteHapgCallable(const DeleteHapgRequestT& request) const { return SubmitCallable(&CloudHSMClient::DeleteHapg, request); } /** * An Async wrapper for DeleteHapg that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteHapgAsync(const DeleteHapgRequestT& request, const DeleteHapgResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::DeleteHapg, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Deletes an HSM. After completion, this operation * cannot be undone and your key material cannot be recovered.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteHsmOutcome DeleteHsm(const Model::DeleteHsmRequest& request) const; /** * A Callable wrapper for DeleteHsm that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteHsmOutcomeCallable DeleteHsmCallable(const DeleteHsmRequestT& request) const { return SubmitCallable(&CloudHSMClient::DeleteHsm, request); } /** * An Async wrapper for DeleteHsm that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteHsmAsync(const DeleteHsmRequestT& request, const DeleteHsmResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::DeleteHsm, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Deletes a client.

See Also:

AWS * API Reference

*/ virtual Model::DeleteLunaClientOutcome DeleteLunaClient(const Model::DeleteLunaClientRequest& request) const; /** * A Callable wrapper for DeleteLunaClient that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteLunaClientOutcomeCallable DeleteLunaClientCallable(const DeleteLunaClientRequestT& request) const { return SubmitCallable(&CloudHSMClient::DeleteLunaClient, request); } /** * An Async wrapper for DeleteLunaClient that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteLunaClientAsync(const DeleteLunaClientRequestT& request, const DeleteLunaClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::DeleteLunaClient, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Retrieves information about a high-availability * partition group.

See Also:

AWS * API Reference

*/ virtual Model::DescribeHapgOutcome DescribeHapg(const Model::DescribeHapgRequest& request) const; /** * A Callable wrapper for DescribeHapg that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeHapgOutcomeCallable DescribeHapgCallable(const DescribeHapgRequestT& request) const { return SubmitCallable(&CloudHSMClient::DescribeHapg, request); } /** * An Async wrapper for DescribeHapg that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeHapgAsync(const DescribeHapgRequestT& request, const DescribeHapgResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::DescribeHapg, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Retrieves information about an HSM. You can identify * the HSM by its ARN or its serial number.

See Also:

AWS * API Reference

*/ virtual Model::DescribeHsmOutcome DescribeHsm(const Model::DescribeHsmRequest& request) const; /** * A Callable wrapper for DescribeHsm that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeHsmOutcomeCallable DescribeHsmCallable(const DescribeHsmRequestT& request) const { return SubmitCallable(&CloudHSMClient::DescribeHsm, request); } /** * An Async wrapper for DescribeHsm that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeHsmAsync(const DescribeHsmRequestT& request, const DescribeHsmResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::DescribeHsm, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Retrieves information about an HSM * client.

See Also:

AWS * API Reference

*/ virtual Model::DescribeLunaClientOutcome DescribeLunaClient(const Model::DescribeLunaClientRequest& request) const; /** * A Callable wrapper for DescribeLunaClient that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeLunaClientOutcomeCallable DescribeLunaClientCallable(const DescribeLunaClientRequestT& request) const { return SubmitCallable(&CloudHSMClient::DescribeLunaClient, request); } /** * An Async wrapper for DescribeLunaClient that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeLunaClientAsync(const DescribeLunaClientRequestT& request, const DescribeLunaClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::DescribeLunaClient, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Gets the configuration files necessary to connect to * all high availability partition groups the client is associated * with.

See Also:

AWS * API Reference

*/ virtual Model::GetConfigOutcome GetConfig(const Model::GetConfigRequest& request) const; /** * A Callable wrapper for GetConfig that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetConfigOutcomeCallable GetConfigCallable(const GetConfigRequestT& request) const { return SubmitCallable(&CloudHSMClient::GetConfig, request); } /** * An Async wrapper for GetConfig that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetConfigAsync(const GetConfigRequestT& request, const GetConfigResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::GetConfig, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Lists the Availability Zones that have available AWS * CloudHSM capacity.

See Also:

AWS * API Reference

*/ virtual Model::ListAvailableZonesOutcome ListAvailableZones(const Model::ListAvailableZonesRequest& request) const; /** * A Callable wrapper for ListAvailableZones that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListAvailableZonesOutcomeCallable ListAvailableZonesCallable(const ListAvailableZonesRequestT& request) const { return SubmitCallable(&CloudHSMClient::ListAvailableZones, request); } /** * An Async wrapper for ListAvailableZones that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListAvailableZonesAsync(const ListAvailableZonesRequestT& request, const ListAvailableZonesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ListAvailableZones, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Lists the high-availability partition groups for the * account.

This operation supports pagination with the use of the * NextToken member. If more results are available, the * NextToken member of the response contains a token that you pass in * the next call to ListHapgs to retrieve the next set of * items.

See Also:

AWS * API Reference

*/ virtual Model::ListHapgsOutcome ListHapgs(const Model::ListHapgsRequest& request) const; /** * A Callable wrapper for ListHapgs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListHapgsOutcomeCallable ListHapgsCallable(const ListHapgsRequestT& request) const { return SubmitCallable(&CloudHSMClient::ListHapgs, request); } /** * An Async wrapper for ListHapgs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListHapgsAsync(const ListHapgsRequestT& request, const ListHapgsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ListHapgs, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Retrieves the identifiers of all of the HSMs * provisioned for the current customer.

This operation supports pagination * with the use of the NextToken member. If more results are * available, the NextToken member of the response contains a token * that you pass in the next call to ListHsms to retrieve the next set * of items.

See Also:

AWS * API Reference

*/ virtual Model::ListHsmsOutcome ListHsms(const Model::ListHsmsRequest& request) const; /** * A Callable wrapper for ListHsms that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListHsmsOutcomeCallable ListHsmsCallable(const ListHsmsRequestT& request) const { return SubmitCallable(&CloudHSMClient::ListHsms, request); } /** * An Async wrapper for ListHsms that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListHsmsAsync(const ListHsmsRequestT& request, const ListHsmsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ListHsms, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Lists all of the clients.

This operation * supports pagination with the use of the NextToken member. If more * results are available, the NextToken member of the response * contains a token that you pass in the next call to ListLunaClients * to retrieve the next set of items.

See Also:

AWS * API Reference

*/ virtual Model::ListLunaClientsOutcome ListLunaClients(const Model::ListLunaClientsRequest& request) const; /** * A Callable wrapper for ListLunaClients that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListLunaClientsOutcomeCallable ListLunaClientsCallable(const ListLunaClientsRequestT& request) const { return SubmitCallable(&CloudHSMClient::ListLunaClients, request); } /** * An Async wrapper for ListLunaClients that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListLunaClientsAsync(const ListLunaClientsRequestT& request, const ListLunaClientsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ListLunaClients, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Returns a list of all tags for the specified AWS * CloudHSM resource.

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(&CloudHSMClient::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(&CloudHSMClient::ListTagsForResource, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Modifies an existing high-availability partition * group.

See Also:

AWS * API Reference

*/ virtual Model::ModifyHapgOutcome ModifyHapg(const Model::ModifyHapgRequest& request) const; /** * A Callable wrapper for ModifyHapg that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyHapgOutcomeCallable ModifyHapgCallable(const ModifyHapgRequestT& request) const { return SubmitCallable(&CloudHSMClient::ModifyHapg, request); } /** * An Async wrapper for ModifyHapg that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyHapgAsync(const ModifyHapgRequestT& request, const ModifyHapgResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ModifyHapg, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Modifies an HSM.

This operation can * result in the HSM being offline for up to 15 minutes while the AWS CloudHSM * service is reconfigured. If you are modifying a production HSM, you should * ensure that your AWS CloudHSM service is configured for high availability, and * consider executing this operation during a maintenance window.

*

See Also:

AWS * API Reference

*/ virtual Model::ModifyHsmOutcome ModifyHsm(const Model::ModifyHsmRequest& request) const; /** * A Callable wrapper for ModifyHsm that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyHsmOutcomeCallable ModifyHsmCallable(const ModifyHsmRequestT& request) const { return SubmitCallable(&CloudHSMClient::ModifyHsm, request); } /** * An Async wrapper for ModifyHsm that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyHsmAsync(const ModifyHsmRequestT& request, const ModifyHsmResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ModifyHsm, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Modifies the certificate used by the client.

*

This action can potentially start a workflow to install the new certificate * on the client's HSMs.

See Also:

AWS * API Reference

*/ virtual Model::ModifyLunaClientOutcome ModifyLunaClient(const Model::ModifyLunaClientRequest& request) const; /** * A Callable wrapper for ModifyLunaClient that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ModifyLunaClientOutcomeCallable ModifyLunaClientCallable(const ModifyLunaClientRequestT& request) const { return SubmitCallable(&CloudHSMClient::ModifyLunaClient, request); } /** * An Async wrapper for ModifyLunaClient that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ModifyLunaClientAsync(const ModifyLunaClientRequestT& request, const ModifyLunaClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::ModifyLunaClient, request, handler, context); } /** *

This is documentation for AWS CloudHSM Classic. For more information, * see AWS CloudHSM Classic * FAQs, the AWS CloudHSM * Classic User Guide, and the AWS CloudHSM * Classic API Reference.

For information about the current version * of AWS CloudHSM, see AWS * CloudHSM, the AWS CloudHSM User * Guide, and the AWS CloudHSM * API Reference.

Removes one or more tags from the specified AWS * CloudHSM resource.

To remove a tag, specify only the tag key to remove * (not the value). To overwrite the value for an existing tag, use * AddTagsToResource.

See Also:

AWS * API Reference

*/ virtual Model::RemoveTagsFromResourceOutcome RemoveTagsFromResource(const Model::RemoveTagsFromResourceRequest& request) const; /** * A Callable wrapper for RemoveTagsFromResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveTagsFromResourceOutcomeCallable RemoveTagsFromResourceCallable(const RemoveTagsFromResourceRequestT& request) const { return SubmitCallable(&CloudHSMClient::RemoveTagsFromResource, request); } /** * An Async wrapper for RemoveTagsFromResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveTagsFromResourceAsync(const RemoveTagsFromResourceRequestT& request, const RemoveTagsFromResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&CloudHSMClient::RemoveTagsFromResource, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const CloudHSMClientConfiguration& clientConfiguration); CloudHSMClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace CloudHSM } // namespace Aws