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

Backup gateway

Backup gateway connects Backup to your * hypervisor, so you can create, store, and restore backups of your virtual * machines (VMs) anywhere, whether on-premises or in the VMware Cloud (VMC) on * Amazon Web Services.

Add on-premises resources by connecting to a * hypervisor through a gateway. Backup will automatically discover the resources * in your hypervisor.

Use Backup to assign virtual or on-premises resources * to a backup plan, or run on-demand backups. Once you have backed up your * resources, you can view them and restore them like any resource supported by * Backup.

To download the Amazon Web Services software to get started, * navigate to the Backup console, choose Gateways, then choose Create * gateway.

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

Associates a backup gateway with your server. After you complete the * association process, you can back up and restore your VMs through the * gateway.

See Also:

AWS * API Reference

*/ virtual Model::AssociateGatewayToServerOutcome AssociateGatewayToServer(const Model::AssociateGatewayToServerRequest& request) const; /** * A Callable wrapper for AssociateGatewayToServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateGatewayToServerOutcomeCallable AssociateGatewayToServerCallable(const AssociateGatewayToServerRequestT& request) const { return SubmitCallable(&BackupGatewayClient::AssociateGatewayToServer, request); } /** * An Async wrapper for AssociateGatewayToServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateGatewayToServerAsync(const AssociateGatewayToServerRequestT& request, const AssociateGatewayToServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::AssociateGatewayToServer, request, handler, context); } /** *

Creates a backup gateway. After you create a gateway, you can associate it * with a server using the AssociateGatewayToServer * operation.

See Also:

AWS * API Reference

*/ virtual Model::CreateGatewayOutcome CreateGateway(const Model::CreateGatewayRequest& request) const; /** * A Callable wrapper for CreateGateway that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateGatewayOutcomeCallable CreateGatewayCallable(const CreateGatewayRequestT& request) const { return SubmitCallable(&BackupGatewayClient::CreateGateway, request); } /** * An Async wrapper for CreateGateway that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateGatewayAsync(const CreateGatewayRequestT& request, const CreateGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::CreateGateway, request, handler, context); } /** *

Deletes a backup gateway.

See Also:

AWS * API Reference

*/ virtual Model::DeleteGatewayOutcome DeleteGateway(const Model::DeleteGatewayRequest& request) const; /** * A Callable wrapper for DeleteGateway that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteGatewayOutcomeCallable DeleteGatewayCallable(const DeleteGatewayRequestT& request) const { return SubmitCallable(&BackupGatewayClient::DeleteGateway, request); } /** * An Async wrapper for DeleteGateway that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteGatewayAsync(const DeleteGatewayRequestT& request, const DeleteGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::DeleteGateway, request, handler, context); } /** *

Deletes a hypervisor.

See Also:

AWS * API Reference

*/ virtual Model::DeleteHypervisorOutcome DeleteHypervisor(const Model::DeleteHypervisorRequest& request) const; /** * A Callable wrapper for DeleteHypervisor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteHypervisorOutcomeCallable DeleteHypervisorCallable(const DeleteHypervisorRequestT& request) const { return SubmitCallable(&BackupGatewayClient::DeleteHypervisor, request); } /** * An Async wrapper for DeleteHypervisor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteHypervisorAsync(const DeleteHypervisorRequestT& request, const DeleteHypervisorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::DeleteHypervisor, request, handler, context); } /** *

Disassociates a backup gateway from the specified server. After the * disassociation process finishes, the gateway can no longer access the virtual * machines on the server.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateGatewayFromServerOutcome DisassociateGatewayFromServer(const Model::DisassociateGatewayFromServerRequest& request) const; /** * A Callable wrapper for DisassociateGatewayFromServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateGatewayFromServerOutcomeCallable DisassociateGatewayFromServerCallable(const DisassociateGatewayFromServerRequestT& request) const { return SubmitCallable(&BackupGatewayClient::DisassociateGatewayFromServer, request); } /** * An Async wrapper for DisassociateGatewayFromServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateGatewayFromServerAsync(const DisassociateGatewayFromServerRequestT& request, const DisassociateGatewayFromServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::DisassociateGatewayFromServer, request, handler, context); } /** *

Retrieves the bandwidth rate limit schedule for a specified gateway. By * default, gateways do not have bandwidth rate limit schedules, which means no * bandwidth rate limiting is in effect. Use this to get a gateway's bandwidth rate * limit schedule.

See Also:

AWS * API Reference

*/ virtual Model::GetBandwidthRateLimitScheduleOutcome GetBandwidthRateLimitSchedule(const Model::GetBandwidthRateLimitScheduleRequest& request) const; /** * A Callable wrapper for GetBandwidthRateLimitSchedule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetBandwidthRateLimitScheduleOutcomeCallable GetBandwidthRateLimitScheduleCallable(const GetBandwidthRateLimitScheduleRequestT& request) const { return SubmitCallable(&BackupGatewayClient::GetBandwidthRateLimitSchedule, request); } /** * An Async wrapper for GetBandwidthRateLimitSchedule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetBandwidthRateLimitScheduleAsync(const GetBandwidthRateLimitScheduleRequestT& request, const GetBandwidthRateLimitScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::GetBandwidthRateLimitSchedule, request, handler, context); } /** *

By providing the ARN (Amazon Resource Name), this API returns the * gateway.

See Also:

AWS * API Reference

*/ virtual Model::GetGatewayOutcome GetGateway(const Model::GetGatewayRequest& request) const; /** * A Callable wrapper for GetGateway that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetGatewayOutcomeCallable GetGatewayCallable(const GetGatewayRequestT& request) const { return SubmitCallable(&BackupGatewayClient::GetGateway, request); } /** * An Async wrapper for GetGateway that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetGatewayAsync(const GetGatewayRequestT& request, const GetGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::GetGateway, request, handler, context); } /** *

This action requests information about the specified hypervisor to which the * gateway will connect. A hypervisor is hardware, software, or firmware that * creates and manages virtual machines, and allocates resources to * them.

See Also:

AWS * API Reference

*/ virtual Model::GetHypervisorOutcome GetHypervisor(const Model::GetHypervisorRequest& request) const; /** * A Callable wrapper for GetHypervisor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetHypervisorOutcomeCallable GetHypervisorCallable(const GetHypervisorRequestT& request) const { return SubmitCallable(&BackupGatewayClient::GetHypervisor, request); } /** * An Async wrapper for GetHypervisor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetHypervisorAsync(const GetHypervisorRequestT& request, const GetHypervisorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::GetHypervisor, request, handler, context); } /** *

This action retrieves the property mappings for the specified hypervisor. A * hypervisor property mapping displays the relationship of entity properties * available from the on-premises hypervisor to the properties available in Amazon * Web Services.

See Also:

AWS * API Reference

*/ virtual Model::GetHypervisorPropertyMappingsOutcome GetHypervisorPropertyMappings(const Model::GetHypervisorPropertyMappingsRequest& request) const; /** * A Callable wrapper for GetHypervisorPropertyMappings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetHypervisorPropertyMappingsOutcomeCallable GetHypervisorPropertyMappingsCallable(const GetHypervisorPropertyMappingsRequestT& request) const { return SubmitCallable(&BackupGatewayClient::GetHypervisorPropertyMappings, request); } /** * An Async wrapper for GetHypervisorPropertyMappings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetHypervisorPropertyMappingsAsync(const GetHypervisorPropertyMappingsRequestT& request, const GetHypervisorPropertyMappingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::GetHypervisorPropertyMappings, request, handler, context); } /** *

By providing the ARN (Amazon Resource Name), this API returns the virtual * machine.

See Also:

AWS * API Reference

*/ virtual Model::GetVirtualMachineOutcome GetVirtualMachine(const Model::GetVirtualMachineRequest& request) const; /** * A Callable wrapper for GetVirtualMachine that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetVirtualMachineOutcomeCallable GetVirtualMachineCallable(const GetVirtualMachineRequestT& request) const { return SubmitCallable(&BackupGatewayClient::GetVirtualMachine, request); } /** * An Async wrapper for GetVirtualMachine that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetVirtualMachineAsync(const GetVirtualMachineRequestT& request, const GetVirtualMachineResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::GetVirtualMachine, request, handler, context); } /** *

Connect to a hypervisor by importing its configuration.

See * Also:

AWS * API Reference

*/ virtual Model::ImportHypervisorConfigurationOutcome ImportHypervisorConfiguration(const Model::ImportHypervisorConfigurationRequest& request) const; /** * A Callable wrapper for ImportHypervisorConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ImportHypervisorConfigurationOutcomeCallable ImportHypervisorConfigurationCallable(const ImportHypervisorConfigurationRequestT& request) const { return SubmitCallable(&BackupGatewayClient::ImportHypervisorConfiguration, request); } /** * An Async wrapper for ImportHypervisorConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ImportHypervisorConfigurationAsync(const ImportHypervisorConfigurationRequestT& request, const ImportHypervisorConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::ImportHypervisorConfiguration, request, handler, context); } /** *

Lists backup gateways owned by an Amazon Web Services account in an Amazon * Web Services Region. The returned list is ordered by gateway Amazon Resource * Name (ARN).

See Also:

AWS * API Reference

*/ virtual Model::ListGatewaysOutcome ListGateways(const Model::ListGatewaysRequest& request) const; /** * A Callable wrapper for ListGateways that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListGatewaysOutcomeCallable ListGatewaysCallable(const ListGatewaysRequestT& request) const { return SubmitCallable(&BackupGatewayClient::ListGateways, request); } /** * An Async wrapper for ListGateways that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListGatewaysAsync(const ListGatewaysRequestT& request, const ListGatewaysResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::ListGateways, request, handler, context); } /** *

Lists your hypervisors.

See Also:

AWS * API Reference

*/ virtual Model::ListHypervisorsOutcome ListHypervisors(const Model::ListHypervisorsRequest& request) const; /** * A Callable wrapper for ListHypervisors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListHypervisorsOutcomeCallable ListHypervisorsCallable(const ListHypervisorsRequestT& request) const { return SubmitCallable(&BackupGatewayClient::ListHypervisors, request); } /** * An Async wrapper for ListHypervisors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListHypervisorsAsync(const ListHypervisorsRequestT& request, const ListHypervisorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::ListHypervisors, request, handler, context); } /** *

Lists the tags applied to the resource identified by its Amazon Resource Name * (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(&BackupGatewayClient::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(&BackupGatewayClient::ListTagsForResource, request, handler, context); } /** *

Lists your virtual machines.

See Also:

AWS * API Reference

*/ virtual Model::ListVirtualMachinesOutcome ListVirtualMachines(const Model::ListVirtualMachinesRequest& request) const; /** * A Callable wrapper for ListVirtualMachines that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListVirtualMachinesOutcomeCallable ListVirtualMachinesCallable(const ListVirtualMachinesRequestT& request) const { return SubmitCallable(&BackupGatewayClient::ListVirtualMachines, request); } /** * An Async wrapper for ListVirtualMachines that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListVirtualMachinesAsync(const ListVirtualMachinesRequestT& request, const ListVirtualMachinesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::ListVirtualMachines, request, handler, context); } /** *

This action sets the bandwidth rate limit schedule for a specified gateway. * By default, gateways do not have a bandwidth rate limit schedule, which means no * bandwidth rate limiting is in effect. Use this to initiate a gateway's bandwidth * rate limit schedule.

See Also:

AWS * API Reference

*/ virtual Model::PutBandwidthRateLimitScheduleOutcome PutBandwidthRateLimitSchedule(const Model::PutBandwidthRateLimitScheduleRequest& request) const; /** * A Callable wrapper for PutBandwidthRateLimitSchedule that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutBandwidthRateLimitScheduleOutcomeCallable PutBandwidthRateLimitScheduleCallable(const PutBandwidthRateLimitScheduleRequestT& request) const { return SubmitCallable(&BackupGatewayClient::PutBandwidthRateLimitSchedule, request); } /** * An Async wrapper for PutBandwidthRateLimitSchedule that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutBandwidthRateLimitScheduleAsync(const PutBandwidthRateLimitScheduleRequestT& request, const PutBandwidthRateLimitScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::PutBandwidthRateLimitSchedule, request, handler, context); } /** *

This action sets the property mappings for the specified hypervisor. A * hypervisor property mapping displays the relationship of entity properties * available from the on-premises hypervisor to the properties available in Amazon * Web Services.

See Also:

AWS * API Reference

*/ virtual Model::PutHypervisorPropertyMappingsOutcome PutHypervisorPropertyMappings(const Model::PutHypervisorPropertyMappingsRequest& request) const; /** * A Callable wrapper for PutHypervisorPropertyMappings that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutHypervisorPropertyMappingsOutcomeCallable PutHypervisorPropertyMappingsCallable(const PutHypervisorPropertyMappingsRequestT& request) const { return SubmitCallable(&BackupGatewayClient::PutHypervisorPropertyMappings, request); } /** * An Async wrapper for PutHypervisorPropertyMappings that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutHypervisorPropertyMappingsAsync(const PutHypervisorPropertyMappingsRequestT& request, const PutHypervisorPropertyMappingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::PutHypervisorPropertyMappings, request, handler, context); } /** *

Set the maintenance start time for a gateway.

See Also:

AWS * API Reference

*/ virtual Model::PutMaintenanceStartTimeOutcome PutMaintenanceStartTime(const Model::PutMaintenanceStartTimeRequest& request) const; /** * A Callable wrapper for PutMaintenanceStartTime that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutMaintenanceStartTimeOutcomeCallable PutMaintenanceStartTimeCallable(const PutMaintenanceStartTimeRequestT& request) const { return SubmitCallable(&BackupGatewayClient::PutMaintenanceStartTime, request); } /** * An Async wrapper for PutMaintenanceStartTime that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutMaintenanceStartTimeAsync(const PutMaintenanceStartTimeRequestT& request, const PutMaintenanceStartTimeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::PutMaintenanceStartTime, request, handler, context); } /** *

This action sends a request to sync metadata across the specified virtual * machines.

See Also:

AWS * API Reference

*/ virtual Model::StartVirtualMachinesMetadataSyncOutcome StartVirtualMachinesMetadataSync(const Model::StartVirtualMachinesMetadataSyncRequest& request) const; /** * A Callable wrapper for StartVirtualMachinesMetadataSync that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartVirtualMachinesMetadataSyncOutcomeCallable StartVirtualMachinesMetadataSyncCallable(const StartVirtualMachinesMetadataSyncRequestT& request) const { return SubmitCallable(&BackupGatewayClient::StartVirtualMachinesMetadataSync, request); } /** * An Async wrapper for StartVirtualMachinesMetadataSync that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartVirtualMachinesMetadataSyncAsync(const StartVirtualMachinesMetadataSyncRequestT& request, const StartVirtualMachinesMetadataSyncResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::StartVirtualMachinesMetadataSync, request, handler, context); } /** *

Tag the resource.

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

Tests your hypervisor configuration to validate that backup gateway can * connect with the hypervisor and its resources.

See Also:

AWS * API Reference

*/ virtual Model::TestHypervisorConfigurationOutcome TestHypervisorConfiguration(const Model::TestHypervisorConfigurationRequest& request) const; /** * A Callable wrapper for TestHypervisorConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TestHypervisorConfigurationOutcomeCallable TestHypervisorConfigurationCallable(const TestHypervisorConfigurationRequestT& request) const { return SubmitCallable(&BackupGatewayClient::TestHypervisorConfiguration, request); } /** * An Async wrapper for TestHypervisorConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TestHypervisorConfigurationAsync(const TestHypervisorConfigurationRequestT& request, const TestHypervisorConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::TestHypervisorConfiguration, request, handler, context); } /** *

Removes tags from the resource.

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

Updates a gateway's name. Specify which gateway to update using the Amazon * Resource Name (ARN) of the gateway in your request.

See Also:

* AWS * API Reference

*/ virtual Model::UpdateGatewayInformationOutcome UpdateGatewayInformation(const Model::UpdateGatewayInformationRequest& request) const; /** * A Callable wrapper for UpdateGatewayInformation that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateGatewayInformationOutcomeCallable UpdateGatewayInformationCallable(const UpdateGatewayInformationRequestT& request) const { return SubmitCallable(&BackupGatewayClient::UpdateGatewayInformation, request); } /** * An Async wrapper for UpdateGatewayInformation that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateGatewayInformationAsync(const UpdateGatewayInformationRequestT& request, const UpdateGatewayInformationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::UpdateGatewayInformation, request, handler, context); } /** *

Updates the gateway virtual machine (VM) software. The request immediately * triggers the software update.

When you make this request, you get * a 200 OK success response immediately. However, it might take some * time for the update to complete.

See Also:

AWS * API Reference

*/ virtual Model::UpdateGatewaySoftwareNowOutcome UpdateGatewaySoftwareNow(const Model::UpdateGatewaySoftwareNowRequest& request) const; /** * A Callable wrapper for UpdateGatewaySoftwareNow that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateGatewaySoftwareNowOutcomeCallable UpdateGatewaySoftwareNowCallable(const UpdateGatewaySoftwareNowRequestT& request) const { return SubmitCallable(&BackupGatewayClient::UpdateGatewaySoftwareNow, request); } /** * An Async wrapper for UpdateGatewaySoftwareNow that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateGatewaySoftwareNowAsync(const UpdateGatewaySoftwareNowRequestT& request, const UpdateGatewaySoftwareNowResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::UpdateGatewaySoftwareNow, request, handler, context); } /** *

Updates a hypervisor metadata, including its host, username, and password. * Specify which hypervisor to update using the Amazon Resource Name (ARN) of the * hypervisor in your request.

See Also:

AWS * API Reference

*/ virtual Model::UpdateHypervisorOutcome UpdateHypervisor(const Model::UpdateHypervisorRequest& request) const; /** * A Callable wrapper for UpdateHypervisor that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateHypervisorOutcomeCallable UpdateHypervisorCallable(const UpdateHypervisorRequestT& request) const { return SubmitCallable(&BackupGatewayClient::UpdateHypervisor, request); } /** * An Async wrapper for UpdateHypervisor that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateHypervisorAsync(const UpdateHypervisorRequestT& request, const UpdateHypervisorResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&BackupGatewayClient::UpdateHypervisor, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const BackupGatewayClientConfiguration& clientConfiguration); BackupGatewayClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace BackupGateway } // namespace Aws