/**
* 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 StorageGateway
{
/**
* Storage Gateway Service Storage Gateway is the service
* that connects an on-premises software appliance with cloud-based storage to
* provide seamless and secure integration between an organization's on-premises IT
* environment and the Amazon Web Services storage infrastructure. The service
* enables you to securely upload data to the Amazon Web Services Cloud for cost
* effective backup and rapid disaster recovery.
Use the following links to
* get started using the Storage Gateway Service API Reference:
* Storage Gateway resource IDs are in uppercase. When you use these resource
* IDs with the Amazon EC2 API, EC2 expects resource IDs in lowercase. You must
* change your resource ID to lowercase to use it with the EC2 API. For example, in
* Storage Gateway the ID for a volume might be
* vol-AA22BB012345DAF670
. When you use this ID with the EC2 API, you
* must change it to vol-aa22bb012345daf670
. Otherwise, the EC2 API
* might not behave as expected.
IDs for Storage Gateway
* volumes and Amazon EBS snapshots created from gateway volumes are changing to a
* longer format. Starting in December 2016, all new volumes and snapshots will be
* created with a 17-character string. Starting in April 2016, you will be able to
* use these longer IDs so you can test your systems with the new format. For more
* information, see Longer EC2
* and EBS resource IDs.
For example, a volume Amazon Resource Name
* (ARN) with the longer volume ID format looks like the following:
* arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG
.
* A snapshot ID with the longer ID format looks like the following:
* snap-78e226633445566ee
.
For more information, see Announcement: Heads-up –
* Longer Storage Gateway volume and snapshot IDs coming in 2016.
*
*/
class AWS_STORAGEGATEWAY_API StorageGatewayClient : 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 StorageGatewayClientConfiguration ClientConfigurationType;
typedef StorageGatewayEndpointProvider 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.
*/
StorageGatewayClient(const Aws::StorageGateway::StorageGatewayClientConfiguration& clientConfiguration = Aws::StorageGateway::StorageGatewayClientConfiguration(),
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.
*/
StorageGatewayClient(const Aws::Auth::AWSCredentials& credentials,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::StorageGateway::StorageGatewayClientConfiguration& clientConfiguration = Aws::StorageGateway::StorageGatewayClientConfiguration());
/**
* 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
*/
StorageGatewayClient(const std::shared_ptr& credentialsProvider,
std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG),
const Aws::StorageGateway::StorageGatewayClientConfiguration& clientConfiguration = Aws::StorageGateway::StorageGatewayClientConfiguration());
/* 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.
*/
StorageGatewayClient(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.
*/
StorageGatewayClient(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
*/
StorageGatewayClient(const std::shared_ptr& credentialsProvider,
const Aws::Client::ClientConfiguration& clientConfiguration);
/* End of legacy constructors due deprecation */
virtual ~StorageGatewayClient();
/**
* Activates the gateway you previously deployed on your host. In the activation
* process, you specify information such as the Amazon Web Services Region that you
* want to use for storing snapshots or tapes, the time zone for scheduled
* snapshots the gateway snapshot schedule window, an activation key, and a name
* for your gateway. The activation process also associates your gateway with your
* account. For more information, see UpdateGatewayInformation.
* You must turn on the gateway VM before you can activate your gateway.
* See Also:
AWS
* API Reference
*/
virtual Model::ActivateGatewayOutcome ActivateGateway(const Model::ActivateGatewayRequest& request) const;
/**
* A Callable wrapper for ActivateGateway that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ActivateGatewayOutcomeCallable ActivateGatewayCallable(const ActivateGatewayRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ActivateGateway, request);
}
/**
* An Async wrapper for ActivateGateway that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ActivateGatewayAsync(const ActivateGatewayRequestT& request, const ActivateGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ActivateGateway, request, handler, context);
}
/**
* Configures one or more gateway local disks as cache for a gateway. This
* operation is only supported in the cached volume, tape, and file gateway type
* (see How
* Storage Gateway works (architecture).
In the request, you specify the
* gateway Amazon Resource Name (ARN) to which you want to add cache, and one or
* more disk IDs that you want to configure as cache.
See Also:
AWS
* API Reference
*/
virtual Model::AddCacheOutcome AddCache(const Model::AddCacheRequest& request) const;
/**
* A Callable wrapper for AddCache that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddCacheOutcomeCallable AddCacheCallable(const AddCacheRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::AddCache, request);
}
/**
* An Async wrapper for AddCache that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddCacheAsync(const AddCacheRequestT& request, const AddCacheResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::AddCache, request, handler, context);
}
/**
* Adds one or more tags to the specified resource. You use tags to add metadata
* to resources, which you can use to categorize these resources. For example, you
* can categorize resources by purpose, owner, environment, or team. Each tag
* consists of a key and a value, which you define. You can add tags to the
* following Storage Gateway resources:
You can create a maximum of 50 tags for each
* resource. Virtual tapes and storage volumes that are recovered to a new gateway
* maintain their tags.
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(&StorageGatewayClient::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(&StorageGatewayClient::AddTagsToResource, request, handler, context);
}
/**
* Configures one or more gateway local disks as upload buffer for a specified
* gateway. This operation is supported for the stored volume, cached volume, and
* tape gateway types.
In the request, you specify the gateway Amazon
* Resource Name (ARN) to which you want to add upload buffer, and one or more disk
* IDs that you want to configure as upload buffer.
See Also:
AWS
* API Reference
*/
virtual Model::AddUploadBufferOutcome AddUploadBuffer(const Model::AddUploadBufferRequest& request) const;
/**
* A Callable wrapper for AddUploadBuffer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddUploadBufferOutcomeCallable AddUploadBufferCallable(const AddUploadBufferRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::AddUploadBuffer, request);
}
/**
* An Async wrapper for AddUploadBuffer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddUploadBufferAsync(const AddUploadBufferRequestT& request, const AddUploadBufferResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::AddUploadBuffer, request, handler, context);
}
/**
* Configures one or more gateway local disks as working storage for a gateway.
* This operation is only supported in the stored volume gateway type. This
* operation is deprecated in cached volume API version 20120630. Use
* AddUploadBuffer instead.
Working storage is also referred
* to as upload buffer. You can also use the AddUploadBuffer operation to
* add upload buffer to a stored volume gateway.
In the request, you
* specify the gateway Amazon Resource Name (ARN) to which you want to add working
* storage, and one or more disk IDs that you want to configure as working
* storage.
See Also:
AWS
* API Reference
*/
virtual Model::AddWorkingStorageOutcome AddWorkingStorage(const Model::AddWorkingStorageRequest& request) const;
/**
* A Callable wrapper for AddWorkingStorage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AddWorkingStorageOutcomeCallable AddWorkingStorageCallable(const AddWorkingStorageRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::AddWorkingStorage, request);
}
/**
* An Async wrapper for AddWorkingStorage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AddWorkingStorageAsync(const AddWorkingStorageRequestT& request, const AddWorkingStorageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::AddWorkingStorage, request, handler, context);
}
/**
* Assigns a tape to a tape pool for archiving. The tape assigned to a pool is
* archived in the S3 storage class that is associated with the pool. When you use
* your backup application to eject the tape, the tape is archived directly into
* the S3 storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to
* the pool.
See Also:
AWS
* API Reference
*/
virtual Model::AssignTapePoolOutcome AssignTapePool(const Model::AssignTapePoolRequest& request) const;
/**
* A Callable wrapper for AssignTapePool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssignTapePoolOutcomeCallable AssignTapePoolCallable(const AssignTapePoolRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::AssignTapePool, request);
}
/**
* An Async wrapper for AssignTapePool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssignTapePoolAsync(const AssignTapePoolRequestT& request, const AssignTapePoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::AssignTapePool, request, handler, context);
}
/**
* Associate an Amazon FSx file system with the FSx File Gateway. After the
* association process is complete, the file shares on the Amazon FSx file system
* are available for access through the gateway. This operation only supports the
* FSx File Gateway type.
See Also:
AWS
* API Reference
*/
virtual Model::AssociateFileSystemOutcome AssociateFileSystem(const Model::AssociateFileSystemRequest& request) const;
/**
* A Callable wrapper for AssociateFileSystem that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AssociateFileSystemOutcomeCallable AssociateFileSystemCallable(const AssociateFileSystemRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::AssociateFileSystem, request);
}
/**
* An Async wrapper for AssociateFileSystem that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AssociateFileSystemAsync(const AssociateFileSystemRequestT& request, const AssociateFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::AssociateFileSystem, request, handler, context);
}
/**
* Connects a volume to an iSCSI connection and then attaches the volume to the
* specified gateway. Detaching and attaching a volume enables you to recover your
* data from one gateway to a different gateway without creating a snapshot. It
* also makes it easier to move your volumes from an on-premises gateway to a
* gateway hosted on an Amazon EC2 instance.
See Also:
AWS
* API Reference
*/
virtual Model::AttachVolumeOutcome AttachVolume(const Model::AttachVolumeRequest& request) const;
/**
* A Callable wrapper for AttachVolume that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::AttachVolumeOutcomeCallable AttachVolumeCallable(const AttachVolumeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::AttachVolume, request);
}
/**
* An Async wrapper for AttachVolume that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void AttachVolumeAsync(const AttachVolumeRequestT& request, const AttachVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::AttachVolume, request, handler, context);
}
/**
* Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the
* archiving process is initiated. This operation is only supported in the tape
* gateway type.
See Also:
AWS
* API Reference
*/
virtual Model::CancelArchivalOutcome CancelArchival(const Model::CancelArchivalRequest& request) const;
/**
* A Callable wrapper for CancelArchival that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelArchivalOutcomeCallable CancelArchivalCallable(const CancelArchivalRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CancelArchival, request);
}
/**
* An Async wrapper for CancelArchival that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelArchivalAsync(const CancelArchivalRequestT& request, const CancelArchivalResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CancelArchival, request, handler, context);
}
/**
* Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a
* gateway after the retrieval process is initiated. The virtual tape is returned
* to the VTS. This operation is only supported in the tape gateway
* type.
See Also:
AWS
* API Reference
*/
virtual Model::CancelRetrievalOutcome CancelRetrieval(const Model::CancelRetrievalRequest& request) const;
/**
* A Callable wrapper for CancelRetrieval that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CancelRetrievalOutcomeCallable CancelRetrievalCallable(const CancelRetrievalRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CancelRetrieval, request);
}
/**
* An Async wrapper for CancelRetrieval that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CancelRetrievalAsync(const CancelRetrievalRequestT& request, const CancelRetrievalResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CancelRetrieval, request, handler, context);
}
/**
* Creates a cached volume on a specified cached volume gateway. This operation
* is only supported in the cached volume gateway type.
Cache storage
* must be allocated to the gateway before you can create a cached volume. Use the
* AddCache operation to add cache storage to a gateway.
In
* the request, you must specify the gateway, size of the volume in bytes, the
* iSCSI target name, an IP address on which to expose the target, and a unique
* client token. In response, the gateway creates the volume and returns
* information about it. This information includes the volume Amazon Resource Name
* (ARN), its size, and the iSCSI target ARN that initiators can use to connect to
* the volume target.
Optionally, you can provide the ARN for an existing
* volume as the SourceVolumeARN
for this cached volume, which creates
* an exact copy of the existing volume’s latest recovery point. The
* VolumeSizeInBytes
value must be equal to or larger than the size of
* the copied volume, in bytes.
See Also:
AWS
* API Reference
*/
virtual Model::CreateCachediSCSIVolumeOutcome CreateCachediSCSIVolume(const Model::CreateCachediSCSIVolumeRequest& request) const;
/**
* A Callable wrapper for CreateCachediSCSIVolume that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateCachediSCSIVolumeOutcomeCallable CreateCachediSCSIVolumeCallable(const CreateCachediSCSIVolumeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateCachediSCSIVolume, request);
}
/**
* An Async wrapper for CreateCachediSCSIVolume that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateCachediSCSIVolumeAsync(const CreateCachediSCSIVolumeRequestT& request, const CreateCachediSCSIVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateCachediSCSIVolume, request, handler, context);
}
/**
* Creates a Network File System (NFS) file share on an existing S3 File
* Gateway. In Storage Gateway, a file share is a file system mount point backed by
* Amazon S3 cloud storage. Storage Gateway exposes file shares using an NFS
* interface. This operation is only supported for S3 File Gateways.
* S3 File gateway requires Security Token Service (Amazon Web
* Services STS) to be activated to enable you to create a file share. Make sure
* Amazon Web Services STS is activated in the Amazon Web Services Region you are
* creating your S3 File Gateway in. If Amazon Web Services STS is not activated in
* the Amazon Web Services Region, activate it. For information about how to
* activate Amazon Web Services STS, see Activating
* and deactivating Amazon Web Services STS in an Amazon Web Services Region in
* the Identity and Access Management User Guide.
S3 File Gateways do
* not support creating hard or symbolic links on a file share.
* See Also:
AWS
* API Reference
*/
virtual Model::CreateNFSFileShareOutcome CreateNFSFileShare(const Model::CreateNFSFileShareRequest& request) const;
/**
* A Callable wrapper for CreateNFSFileShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateNFSFileShareOutcomeCallable CreateNFSFileShareCallable(const CreateNFSFileShareRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateNFSFileShare, request);
}
/**
* An Async wrapper for CreateNFSFileShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateNFSFileShareAsync(const CreateNFSFileShareRequestT& request, const CreateNFSFileShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateNFSFileShare, request, handler, context);
}
/**
* Creates a Server Message Block (SMB) file share on an existing S3 File
* Gateway. In Storage Gateway, a file share is a file system mount point backed by
* Amazon S3 cloud storage. Storage Gateway exposes file shares using an SMB
* interface. This operation is only supported for S3 File Gateways.
* S3 File Gateways require Security Token Service (Amazon Web
* Services STS) to be activated to enable you to create a file share. Make sure
* that Amazon Web Services STS is activated in the Amazon Web Services Region you
* are creating your S3 File Gateway in. If Amazon Web Services STS is not
* activated in this Amazon Web Services Region, activate it. For information about
* how to activate Amazon Web Services STS, see Activating
* and deactivating Amazon Web Services STS in an Amazon Web Services Region in
* the Identity and Access Management User Guide.
File gateways don't
* support creating hard or symbolic links on a file share.
* See Also:
AWS
* API Reference
*/
virtual Model::CreateSMBFileShareOutcome CreateSMBFileShare(const Model::CreateSMBFileShareRequest& request) const;
/**
* A Callable wrapper for CreateSMBFileShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSMBFileShareOutcomeCallable CreateSMBFileShareCallable(const CreateSMBFileShareRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateSMBFileShare, request);
}
/**
* An Async wrapper for CreateSMBFileShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSMBFileShareAsync(const CreateSMBFileShareRequestT& request, const CreateSMBFileShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateSMBFileShare, request, handler, context);
}
/**
* Initiates a snapshot of a volume.
Storage Gateway provides the ability
* to back up point-in-time snapshots of your data to Amazon Simple Storage (Amazon
* S3) for durable off-site recovery, and also import the data to an Amazon Elastic
* Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take
* snapshots of your gateway volume on a scheduled or ad hoc basis. This API
* enables you to take an ad hoc snapshot. For more information, see Editing
* a snapshot schedule.
In the CreateSnapshot
request, you
* identify the volume by providing its Amazon Resource Name (ARN). You must also
* provide description for the snapshot. When Storage Gateway takes the snapshot of
* specified volume, the snapshot and description appears in the Storage Gateway
* console. In response, Storage Gateway returns you a snapshot ID. You can use
* this snapshot ID to check the snapshot progress or later use it when you want to
* create a volume from a snapshot. This operation is only supported in stored and
* cached volume gateway type.
To list or delete a snapshot, you must
* use the Amazon EC2 API. For more information, see DescribeSnapshots
* or DeleteSnapshot
* in the Amazon Elastic Compute Cloud API Reference.
* Volume and snapshot IDs are changing to a longer length ID
* format. For more information, see the important note on the Welcome
* page.
See Also:
AWS
* API Reference
*/
virtual Model::CreateSnapshotOutcome CreateSnapshot(const Model::CreateSnapshotRequest& request) const;
/**
* A Callable wrapper for CreateSnapshot that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSnapshotOutcomeCallable CreateSnapshotCallable(const CreateSnapshotRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateSnapshot, request);
}
/**
* An Async wrapper for CreateSnapshot that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSnapshotAsync(const CreateSnapshotRequestT& request, const CreateSnapshotResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateSnapshot, request, handler, context);
}
/**
* Initiates a snapshot of a gateway from a volume recovery point. This
* operation is only supported in the cached volume gateway type.
A volume
* recovery point is a point in time at which all data of the volume is consistent
* and from which you can create a snapshot. To get a list of volume recovery point
* for cached volume gateway, use ListVolumeRecoveryPoints.
In the
* CreateSnapshotFromVolumeRecoveryPoint
request, you identify the
* volume by providing its Amazon Resource Name (ARN). You must also provide a
* description for the snapshot. When the gateway takes a snapshot of the specified
* volume, the snapshot and its description appear in the Storage Gateway console.
* In response, the gateway returns you a snapshot ID. You can use this snapshot ID
* to check the snapshot progress or later use it when you want to create a volume
* from a snapshot.
To list or delete a snapshot, you must use the
* Amazon EC2 API. For more information, see DescribeSnapshots
* or DeleteSnapshot
* in the Amazon Elastic Compute Cloud API Reference.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateSnapshotFromVolumeRecoveryPointOutcome CreateSnapshotFromVolumeRecoveryPoint(const Model::CreateSnapshotFromVolumeRecoveryPointRequest& request) const;
/**
* A Callable wrapper for CreateSnapshotFromVolumeRecoveryPoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateSnapshotFromVolumeRecoveryPointOutcomeCallable CreateSnapshotFromVolumeRecoveryPointCallable(const CreateSnapshotFromVolumeRecoveryPointRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateSnapshotFromVolumeRecoveryPoint, request);
}
/**
* An Async wrapper for CreateSnapshotFromVolumeRecoveryPoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateSnapshotFromVolumeRecoveryPointAsync(const CreateSnapshotFromVolumeRecoveryPointRequestT& request, const CreateSnapshotFromVolumeRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateSnapshotFromVolumeRecoveryPoint, request, handler, context);
}
/**
* Creates a volume on a specified gateway. This operation is only supported in
* the stored volume gateway type.
The size of the volume to create is
* inferred from the disk size. You can choose to preserve existing data on the
* disk, create volume from an existing snapshot, or create an empty volume. If you
* choose to create an empty gateway volume, then any existing data on the disk is
* erased.
In the request, you must specify the gateway and the disk
* information on which you are creating the volume. In response, the gateway
* creates the volume and returns volume information such as the volume Amazon
* Resource Name (ARN), its size, and the iSCSI target ARN that initiators can use
* to connect to the volume target.
See Also:
AWS
* API Reference
*/
virtual Model::CreateStorediSCSIVolumeOutcome CreateStorediSCSIVolume(const Model::CreateStorediSCSIVolumeRequest& request) const;
/**
* A Callable wrapper for CreateStorediSCSIVolume that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateStorediSCSIVolumeOutcomeCallable CreateStorediSCSIVolumeCallable(const CreateStorediSCSIVolumeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateStorediSCSIVolume, request);
}
/**
* An Async wrapper for CreateStorediSCSIVolume that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateStorediSCSIVolumeAsync(const CreateStorediSCSIVolumeRequestT& request, const CreateStorediSCSIVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateStorediSCSIVolume, request, handler, context);
}
/**
* Creates a new custom tape pool. You can use custom tape pool to enable tape
* retention lock on tapes that are archived in the custom pool.
See
* Also:
AWS
* API Reference
*/
virtual Model::CreateTapePoolOutcome CreateTapePool(const Model::CreateTapePoolRequest& request) const;
/**
* A Callable wrapper for CreateTapePool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateTapePoolOutcomeCallable CreateTapePoolCallable(const CreateTapePoolRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateTapePool, request);
}
/**
* An Async wrapper for CreateTapePool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateTapePoolAsync(const CreateTapePoolRequestT& request, const CreateTapePoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateTapePool, request, handler, context);
}
/**
* Creates a virtual tape by using your own barcode. You write data to the
* virtual tape and then archive the tape. A barcode is unique and cannot be reused
* if it has already been used on a tape. This applies to barcodes used on deleted
* tapes. This operation is only supported in the tape gateway type.
* Cache storage must be allocated to the gateway before you can create a
* virtual tape. Use the AddCache operation to add cache storage to a
* gateway.
See Also:
AWS
* API Reference
*/
virtual Model::CreateTapeWithBarcodeOutcome CreateTapeWithBarcode(const Model::CreateTapeWithBarcodeRequest& request) const;
/**
* A Callable wrapper for CreateTapeWithBarcode that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateTapeWithBarcodeOutcomeCallable CreateTapeWithBarcodeCallable(const CreateTapeWithBarcodeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateTapeWithBarcode, request);
}
/**
* An Async wrapper for CreateTapeWithBarcode that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateTapeWithBarcodeAsync(const CreateTapeWithBarcodeRequestT& request, const CreateTapeWithBarcodeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateTapeWithBarcode, request, handler, context);
}
/**
* Creates one or more virtual tapes. You write data to the virtual tapes and
* then archive the tapes. This operation is only supported in the tape gateway
* type.
Cache storage must be allocated to the gateway before you
* can create virtual tapes. Use the AddCache operation to add cache storage
* to a gateway.
See Also:
AWS
* API Reference
*/
virtual Model::CreateTapesOutcome CreateTapes(const Model::CreateTapesRequest& request) const;
/**
* A Callable wrapper for CreateTapes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::CreateTapesOutcomeCallable CreateTapesCallable(const CreateTapesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::CreateTapes, request);
}
/**
* An Async wrapper for CreateTapes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void CreateTapesAsync(const CreateTapesRequestT& request, const CreateTapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::CreateTapes, request, handler, context);
}
/**
* Deletes the automatic tape creation policy of a gateway. If you delete this
* policy, new virtual tapes must be created manually. Use the Amazon Resource Name
* (ARN) of the gateway in your request to remove the policy.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteAutomaticTapeCreationPolicyOutcome DeleteAutomaticTapeCreationPolicy(const Model::DeleteAutomaticTapeCreationPolicyRequest& request) const;
/**
* A Callable wrapper for DeleteAutomaticTapeCreationPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteAutomaticTapeCreationPolicyOutcomeCallable DeleteAutomaticTapeCreationPolicyCallable(const DeleteAutomaticTapeCreationPolicyRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteAutomaticTapeCreationPolicy, request);
}
/**
* An Async wrapper for DeleteAutomaticTapeCreationPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteAutomaticTapeCreationPolicyAsync(const DeleteAutomaticTapeCreationPolicyRequestT& request, const DeleteAutomaticTapeCreationPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteAutomaticTapeCreationPolicy, request, handler, context);
}
/**
* Deletes the bandwidth rate limits of a gateway. You can delete either the
* upload and download bandwidth rate limit, or you can delete both. If you delete
* only one of the limits, the other limit remains unchanged. To specify which
* gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your
* request. This operation is supported only for the stored volume, cached volume,
* and tape gateway types.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteBandwidthRateLimitOutcome DeleteBandwidthRateLimit(const Model::DeleteBandwidthRateLimitRequest& request) const;
/**
* A Callable wrapper for DeleteBandwidthRateLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteBandwidthRateLimitOutcomeCallable DeleteBandwidthRateLimitCallable(const DeleteBandwidthRateLimitRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteBandwidthRateLimit, request);
}
/**
* An Async wrapper for DeleteBandwidthRateLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteBandwidthRateLimitAsync(const DeleteBandwidthRateLimitRequestT& request, const DeleteBandwidthRateLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteBandwidthRateLimit, request, handler, context);
}
/**
* Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a
* specified iSCSI target and initiator pair. This operation is supported in volume
* and tape gateway types.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteChapCredentialsOutcome DeleteChapCredentials(const Model::DeleteChapCredentialsRequest& request) const;
/**
* A Callable wrapper for DeleteChapCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteChapCredentialsOutcomeCallable DeleteChapCredentialsCallable(const DeleteChapCredentialsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteChapCredentials, request);
}
/**
* An Async wrapper for DeleteChapCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteChapCredentialsAsync(const DeleteChapCredentialsRequestT& request, const DeleteChapCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteChapCredentials, request, handler, context);
}
/**
* Deletes a file share from an S3 File Gateway. This operation is only
* supported for S3 File Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteFileShareOutcome DeleteFileShare(const Model::DeleteFileShareRequest& request) const;
/**
* A Callable wrapper for DeleteFileShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteFileShareOutcomeCallable DeleteFileShareCallable(const DeleteFileShareRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteFileShare, request);
}
/**
* An Async wrapper for DeleteFileShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteFileShareAsync(const DeleteFileShareRequestT& request, const DeleteFileShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteFileShare, request, handler, context);
}
/**
* Deletes a gateway. To specify which gateway to delete, use the Amazon
* Resource Name (ARN) of the gateway in your request. The operation deletes the
* gateway; however, it does not delete the gateway virtual machine (VM) from your
* host computer.
After you delete a gateway, you cannot reactivate it.
* Completed snapshots of the gateway volumes are not deleted upon deleting the
* gateway, however, pending snapshots will not complete. After you delete a
* gateway, your next step is to remove it from your environment.
* You no longer pay software charges after the gateway is deleted; however,
* your existing Amazon EBS snapshots persist and you will continue to be billed
* for these snapshots. You can choose to remove all remaining Amazon EBS snapshots
* by canceling your Amazon EC2 subscription. If you prefer not to cancel your
* Amazon EC2 subscription, you can delete your snapshots using the Amazon EC2
* console. For more information, see the Storage Gateway detail page.
* 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(&StorageGatewayClient::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(&StorageGatewayClient::DeleteGateway, request, handler, context);
}
/**
* Deletes a snapshot of a volume.
You can take snapshots of your gateway
* volumes on a scheduled or ad hoc basis. This API action enables you to delete a
* snapshot schedule for a volume. For more information, see Backing
* up your volumes. In the DeleteSnapshotSchedule
request, you
* identify the volume by providing its Amazon Resource Name (ARN). This operation
* is only supported for cached volume gateway types.
To list or
* delete a snapshot, you must use the Amazon EC2 API. For more information, go to
* DescribeSnapshots
* in the Amazon Elastic Compute Cloud API Reference.
See
* Also:
AWS
* API Reference
*/
virtual Model::DeleteSnapshotScheduleOutcome DeleteSnapshotSchedule(const Model::DeleteSnapshotScheduleRequest& request) const;
/**
* A Callable wrapper for DeleteSnapshotSchedule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteSnapshotScheduleOutcomeCallable DeleteSnapshotScheduleCallable(const DeleteSnapshotScheduleRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteSnapshotSchedule, request);
}
/**
* An Async wrapper for DeleteSnapshotSchedule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteSnapshotScheduleAsync(const DeleteSnapshotScheduleRequestT& request, const DeleteSnapshotScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteSnapshotSchedule, request, handler, context);
}
/**
* Deletes the specified virtual tape. This operation is only supported in the
* tape gateway type.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteTapeOutcome DeleteTape(const Model::DeleteTapeRequest& request) const;
/**
* A Callable wrapper for DeleteTape that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteTapeOutcomeCallable DeleteTapeCallable(const DeleteTapeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteTape, request);
}
/**
* An Async wrapper for DeleteTape that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteTapeAsync(const DeleteTapeRequestT& request, const DeleteTapeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteTape, request, handler, context);
}
/**
* Deletes the specified virtual tape from the virtual tape shelf (VTS). This
* operation is only supported in the tape gateway type.
See Also:
* AWS
* API Reference
*/
virtual Model::DeleteTapeArchiveOutcome DeleteTapeArchive(const Model::DeleteTapeArchiveRequest& request) const;
/**
* A Callable wrapper for DeleteTapeArchive that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteTapeArchiveOutcomeCallable DeleteTapeArchiveCallable(const DeleteTapeArchiveRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteTapeArchive, request);
}
/**
* An Async wrapper for DeleteTapeArchive that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteTapeArchiveAsync(const DeleteTapeArchiveRequestT& request, const DeleteTapeArchiveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteTapeArchive, request, handler, context);
}
/**
* Delete a custom tape pool. A custom tape pool can only be deleted if there
* are no tapes in the pool and if there are no automatic tape creation policies
* that reference the custom tape pool.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteTapePoolOutcome DeleteTapePool(const Model::DeleteTapePoolRequest& request) const;
/**
* A Callable wrapper for DeleteTapePool that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteTapePoolOutcomeCallable DeleteTapePoolCallable(const DeleteTapePoolRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteTapePool, request);
}
/**
* An Async wrapper for DeleteTapePool that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteTapePoolAsync(const DeleteTapePoolRequestT& request, const DeleteTapePoolResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteTapePool, request, handler, context);
}
/**
* Deletes the specified storage volume that you previously created using the
* CreateCachediSCSIVolume or CreateStorediSCSIVolume API. This
* operation is only supported in the cached volume and stored volume types. For
* stored volume gateways, the local disk that was configured as the storage volume
* is not deleted. You can reuse the local disk to create another storage
* volume.
Before you delete a volume, make sure there are no iSCSI
* connections to the volume you are deleting. You should also make sure there is
* no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon
* EC2) API to query snapshots on the volume you are deleting and check the
* snapshot status. For more information, go to DescribeSnapshots
* in the Amazon Elastic Compute Cloud API Reference.
In the request,
* you must provide the Amazon Resource Name (ARN) of the storage volume you want
* to delete.
See Also:
AWS
* API Reference
*/
virtual Model::DeleteVolumeOutcome DeleteVolume(const Model::DeleteVolumeRequest& request) const;
/**
* A Callable wrapper for DeleteVolume that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DeleteVolumeOutcomeCallable DeleteVolumeCallable(const DeleteVolumeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DeleteVolume, request);
}
/**
* An Async wrapper for DeleteVolume that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DeleteVolumeAsync(const DeleteVolumeRequestT& request, const DeleteVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DeleteVolume, request, handler, context);
}
/**
* Returns information about the most recent high availability monitoring test
* that was performed on the host in a cluster. If a test isn't performed, the
* status and start time in the response would be null.
See Also:
* AWS
* API Reference
*/
virtual Model::DescribeAvailabilityMonitorTestOutcome DescribeAvailabilityMonitorTest(const Model::DescribeAvailabilityMonitorTestRequest& request) const;
/**
* A Callable wrapper for DescribeAvailabilityMonitorTest that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeAvailabilityMonitorTestOutcomeCallable DescribeAvailabilityMonitorTestCallable(const DescribeAvailabilityMonitorTestRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeAvailabilityMonitorTest, request);
}
/**
* An Async wrapper for DescribeAvailabilityMonitorTest that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeAvailabilityMonitorTestAsync(const DescribeAvailabilityMonitorTestRequestT& request, const DescribeAvailabilityMonitorTestResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeAvailabilityMonitorTest, request, handler, context);
}
/**
* Returns the bandwidth rate limits of a gateway. By default, these limits are
* not set, which means no bandwidth rate limiting is in effect. This operation is
* supported only for the stored volume, cached volume, and tape gateway types. To
* describe bandwidth rate limits for S3 file gateways, use
* DescribeBandwidthRateLimitSchedule.
This operation returns a value
* for a bandwidth rate limit only if the limit is set. If no limits are set for
* the gateway, then this operation returns only the gateway ARN in the response
* body. To specify which gateway to describe, use the Amazon Resource Name (ARN)
* of the gateway in your request.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeBandwidthRateLimitOutcome DescribeBandwidthRateLimit(const Model::DescribeBandwidthRateLimitRequest& request) const;
/**
* A Callable wrapper for DescribeBandwidthRateLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeBandwidthRateLimitOutcomeCallable DescribeBandwidthRateLimitCallable(const DescribeBandwidthRateLimitRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeBandwidthRateLimit, request);
}
/**
* An Async wrapper for DescribeBandwidthRateLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeBandwidthRateLimitAsync(const DescribeBandwidthRateLimitRequestT& request, const DescribeBandwidthRateLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeBandwidthRateLimit, request, handler, context);
}
/**
* Returns information about the bandwidth rate limit schedule of a gateway. By
* default, gateways do not have bandwidth rate limit schedules, which means no
* bandwidth rate limiting is in effect. This operation is supported only for
* volume, tape and S3 file gateways. FSx file gateways do not support bandwidth
* rate limits.
This operation returns information about a gateway's
* bandwidth rate limit schedule. A bandwidth rate limit schedule consists of one
* or more bandwidth rate limit intervals. A bandwidth rate limit interval defines
* a period of time on one or more days of the week, during which bandwidth rate
* limits are specified for uploading, downloading, or both.
A bandwidth
* rate limit interval consists of one or more days of the week, a start hour and
* minute, an ending hour and minute, and bandwidth rate limits for uploading and
* downloading
If no bandwidth rate limit schedule intervals are set for
* the gateway, this operation returns an empty response. To specify which gateway
* to describe, use the Amazon Resource Name (ARN) of the gateway in your
* request.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeBandwidthRateLimitScheduleOutcome DescribeBandwidthRateLimitSchedule(const Model::DescribeBandwidthRateLimitScheduleRequest& request) const;
/**
* A Callable wrapper for DescribeBandwidthRateLimitSchedule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeBandwidthRateLimitScheduleOutcomeCallable DescribeBandwidthRateLimitScheduleCallable(const DescribeBandwidthRateLimitScheduleRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeBandwidthRateLimitSchedule, request);
}
/**
* An Async wrapper for DescribeBandwidthRateLimitSchedule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeBandwidthRateLimitScheduleAsync(const DescribeBandwidthRateLimitScheduleRequestT& request, const DescribeBandwidthRateLimitScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeBandwidthRateLimitSchedule, request, handler, context);
}
/**
* Returns information about the cache of a gateway. This operation is only
* supported in the cached volume, tape, and file gateway types.
The
* response includes disk IDs that are configured as cache, and it includes the
* amount of cache allocated and used.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeCacheOutcome DescribeCache(const Model::DescribeCacheRequest& request) const;
/**
* A Callable wrapper for DescribeCache that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeCacheOutcomeCallable DescribeCacheCallable(const DescribeCacheRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeCache, request);
}
/**
* An Async wrapper for DescribeCache that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeCacheAsync(const DescribeCacheRequestT& request, const DescribeCacheResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeCache, request, handler, context);
}
/**
* Returns a description of the gateway volumes specified in the request. This
* operation is only supported in the cached volume gateway types.
The list
* of gateway volumes in the request must be from one gateway. In the response,
* Storage Gateway returns volume information sorted by volume Amazon Resource Name
* (ARN).
See Also:
AWS
* API Reference
*/
virtual Model::DescribeCachediSCSIVolumesOutcome DescribeCachediSCSIVolumes(const Model::DescribeCachediSCSIVolumesRequest& request) const;
/**
* A Callable wrapper for DescribeCachediSCSIVolumes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeCachediSCSIVolumesOutcomeCallable DescribeCachediSCSIVolumesCallable(const DescribeCachediSCSIVolumesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeCachediSCSIVolumes, request);
}
/**
* An Async wrapper for DescribeCachediSCSIVolumes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeCachediSCSIVolumesAsync(const DescribeCachediSCSIVolumesRequestT& request, const DescribeCachediSCSIVolumesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeCachediSCSIVolumes, request, handler, context);
}
/**
* Returns an array of Challenge-Handshake Authentication Protocol (CHAP)
* credentials information for a specified iSCSI target, one for each
* target-initiator pair. This operation is supported in the volume and tape
* gateway types.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeChapCredentialsOutcome DescribeChapCredentials(const Model::DescribeChapCredentialsRequest& request) const;
/**
* A Callable wrapper for DescribeChapCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeChapCredentialsOutcomeCallable DescribeChapCredentialsCallable(const DescribeChapCredentialsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeChapCredentials, request);
}
/**
* An Async wrapper for DescribeChapCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeChapCredentialsAsync(const DescribeChapCredentialsRequestT& request, const DescribeChapCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeChapCredentials, request, handler, context);
}
/**
* Gets the file system association information. This operation is only
* supported for FSx File Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeFileSystemAssociationsOutcome DescribeFileSystemAssociations(const Model::DescribeFileSystemAssociationsRequest& request) const;
/**
* A Callable wrapper for DescribeFileSystemAssociations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeFileSystemAssociationsOutcomeCallable DescribeFileSystemAssociationsCallable(const DescribeFileSystemAssociationsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeFileSystemAssociations, request);
}
/**
* An Async wrapper for DescribeFileSystemAssociations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeFileSystemAssociationsAsync(const DescribeFileSystemAssociationsRequestT& request, const DescribeFileSystemAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeFileSystemAssociations, request, handler, context);
}
/**
* Returns metadata about a gateway such as its name, network interfaces,
* configured time zone, and the state (whether the gateway is running or not). To
* specify which gateway to describe, use the Amazon Resource Name (ARN) of the
* gateway in your request.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeGatewayInformationOutcome DescribeGatewayInformation(const Model::DescribeGatewayInformationRequest& request) const;
/**
* A Callable wrapper for DescribeGatewayInformation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeGatewayInformationOutcomeCallable DescribeGatewayInformationCallable(const DescribeGatewayInformationRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeGatewayInformation, request);
}
/**
* An Async wrapper for DescribeGatewayInformation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeGatewayInformationAsync(const DescribeGatewayInformationRequestT& request, const DescribeGatewayInformationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeGatewayInformation, request, handler, context);
}
/**
* Returns your gateway's weekly maintenance start time including the day and
* time of the week. Note that values are in terms of the gateway's time
* zone.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeMaintenanceStartTimeOutcome DescribeMaintenanceStartTime(const Model::DescribeMaintenanceStartTimeRequest& request) const;
/**
* A Callable wrapper for DescribeMaintenanceStartTime that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeMaintenanceStartTimeOutcomeCallable DescribeMaintenanceStartTimeCallable(const DescribeMaintenanceStartTimeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeMaintenanceStartTime, request);
}
/**
* An Async wrapper for DescribeMaintenanceStartTime that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeMaintenanceStartTimeAsync(const DescribeMaintenanceStartTimeRequestT& request, const DescribeMaintenanceStartTimeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeMaintenanceStartTime, request, handler, context);
}
/**
* Gets a description for one or more Network File System (NFS) file shares from
* an S3 File Gateway. This operation is only supported for S3 File
* Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeNFSFileSharesOutcome DescribeNFSFileShares(const Model::DescribeNFSFileSharesRequest& request) const;
/**
* A Callable wrapper for DescribeNFSFileShares that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeNFSFileSharesOutcomeCallable DescribeNFSFileSharesCallable(const DescribeNFSFileSharesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeNFSFileShares, request);
}
/**
* An Async wrapper for DescribeNFSFileShares that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeNFSFileSharesAsync(const DescribeNFSFileSharesRequestT& request, const DescribeNFSFileSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeNFSFileShares, request, handler, context);
}
/**
* Gets a description for one or more Server Message Block (SMB) file shares
* from a S3 File Gateway. This operation is only supported for S3 File
* Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeSMBFileSharesOutcome DescribeSMBFileShares(const Model::DescribeSMBFileSharesRequest& request) const;
/**
* A Callable wrapper for DescribeSMBFileShares that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeSMBFileSharesOutcomeCallable DescribeSMBFileSharesCallable(const DescribeSMBFileSharesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeSMBFileShares, request);
}
/**
* An Async wrapper for DescribeSMBFileShares that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeSMBFileSharesAsync(const DescribeSMBFileSharesRequestT& request, const DescribeSMBFileSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeSMBFileShares, request, handler, context);
}
/**
* Gets a description of a Server Message Block (SMB) file share settings from a
* file gateway. This operation is only supported for file gateways.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeSMBSettingsOutcome DescribeSMBSettings(const Model::DescribeSMBSettingsRequest& request) const;
/**
* A Callable wrapper for DescribeSMBSettings that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeSMBSettingsOutcomeCallable DescribeSMBSettingsCallable(const DescribeSMBSettingsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeSMBSettings, request);
}
/**
* An Async wrapper for DescribeSMBSettings that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeSMBSettingsAsync(const DescribeSMBSettingsRequestT& request, const DescribeSMBSettingsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeSMBSettings, request, handler, context);
}
/**
* Describes the snapshot schedule for the specified gateway volume. The
* snapshot schedule information includes intervals at which snapshots are
* automatically initiated on the volume. This operation is only supported in the
* cached volume and stored volume types.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeSnapshotScheduleOutcome DescribeSnapshotSchedule(const Model::DescribeSnapshotScheduleRequest& request) const;
/**
* A Callable wrapper for DescribeSnapshotSchedule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeSnapshotScheduleOutcomeCallable DescribeSnapshotScheduleCallable(const DescribeSnapshotScheduleRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeSnapshotSchedule, request);
}
/**
* An Async wrapper for DescribeSnapshotSchedule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeSnapshotScheduleAsync(const DescribeSnapshotScheduleRequestT& request, const DescribeSnapshotScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeSnapshotSchedule, request, handler, context);
}
/**
* Returns the description of the gateway volumes specified in the request. The
* list of gateway volumes in the request must be from one gateway. In the
* response, Storage Gateway returns volume information sorted by volume ARNs. This
* operation is only supported in stored volume gateway type.
See
* Also:
AWS
* API Reference
*/
virtual Model::DescribeStorediSCSIVolumesOutcome DescribeStorediSCSIVolumes(const Model::DescribeStorediSCSIVolumesRequest& request) const;
/**
* A Callable wrapper for DescribeStorediSCSIVolumes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeStorediSCSIVolumesOutcomeCallable DescribeStorediSCSIVolumesCallable(const DescribeStorediSCSIVolumesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeStorediSCSIVolumes, request);
}
/**
* An Async wrapper for DescribeStorediSCSIVolumes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeStorediSCSIVolumesAsync(const DescribeStorediSCSIVolumesRequestT& request, const DescribeStorediSCSIVolumesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeStorediSCSIVolumes, request, handler, context);
}
/**
* Returns a description of specified virtual tapes in the virtual tape shelf
* (VTS). This operation is only supported in the tape gateway type.
If a
* specific TapeARN
is not specified, Storage Gateway returns a
* description of all virtual tapes found in the VTS associated with your
* account.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeTapeArchivesOutcome DescribeTapeArchives(const Model::DescribeTapeArchivesRequest& request) const;
/**
* A Callable wrapper for DescribeTapeArchives that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeTapeArchivesOutcomeCallable DescribeTapeArchivesCallable(const DescribeTapeArchivesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeTapeArchives, request);
}
/**
* An Async wrapper for DescribeTapeArchives that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeTapeArchivesAsync(const DescribeTapeArchivesRequestT& request, const DescribeTapeArchivesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeTapeArchives, request, handler, context);
}
/**
* Returns a list of virtual tape recovery points that are available for the
* specified tape gateway.
A recovery point is a point-in-time view of a
* virtual tape at which all the data on the virtual tape is consistent. If your
* gateway crashes, virtual tapes that have recovery points can be recovered to a
* new gateway. This operation is only supported in the tape gateway
* type.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeTapeRecoveryPointsOutcome DescribeTapeRecoveryPoints(const Model::DescribeTapeRecoveryPointsRequest& request) const;
/**
* A Callable wrapper for DescribeTapeRecoveryPoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeTapeRecoveryPointsOutcomeCallable DescribeTapeRecoveryPointsCallable(const DescribeTapeRecoveryPointsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeTapeRecoveryPoints, request);
}
/**
* An Async wrapper for DescribeTapeRecoveryPoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeTapeRecoveryPointsAsync(const DescribeTapeRecoveryPointsRequestT& request, const DescribeTapeRecoveryPointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeTapeRecoveryPoints, request, handler, context);
}
/**
* Returns a description of the specified Amazon Resource Name (ARN) of virtual
* tapes. If a TapeARN
is not specified, returns a description of all
* virtual tapes associated with the specified gateway. This operation is only
* supported in the tape gateway type.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeTapesOutcome DescribeTapes(const Model::DescribeTapesRequest& request) const;
/**
* A Callable wrapper for DescribeTapes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeTapesOutcomeCallable DescribeTapesCallable(const DescribeTapesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeTapes, request);
}
/**
* An Async wrapper for DescribeTapes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeTapesAsync(const DescribeTapesRequestT& request, const DescribeTapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeTapes, request, handler, context);
}
/**
* Returns information about the upload buffer of a gateway. This operation is
* supported for the stored volume, cached volume, and tape gateway types.
* The response includes disk IDs that are configured as upload buffer space,
* and it includes the amount of upload buffer space allocated and
* used.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeUploadBufferOutcome DescribeUploadBuffer(const Model::DescribeUploadBufferRequest& request) const;
/**
* A Callable wrapper for DescribeUploadBuffer that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeUploadBufferOutcomeCallable DescribeUploadBufferCallable(const DescribeUploadBufferRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeUploadBuffer, request);
}
/**
* An Async wrapper for DescribeUploadBuffer that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeUploadBufferAsync(const DescribeUploadBufferRequestT& request, const DescribeUploadBufferResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeUploadBuffer, request, handler, context);
}
/**
* Returns a description of virtual tape library (VTL) devices for the specified
* tape gateway. In the response, Storage Gateway returns VTL device
* information.
This operation is only supported in the tape gateway
* type.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeVTLDevicesOutcome DescribeVTLDevices(const Model::DescribeVTLDevicesRequest& request) const;
/**
* A Callable wrapper for DescribeVTLDevices that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeVTLDevicesOutcomeCallable DescribeVTLDevicesCallable(const DescribeVTLDevicesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeVTLDevices, request);
}
/**
* An Async wrapper for DescribeVTLDevices that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeVTLDevicesAsync(const DescribeVTLDevicesRequestT& request, const DescribeVTLDevicesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeVTLDevices, request, handler, context);
}
/**
* Returns information about the working storage of a gateway. This operation is
* only supported in the stored volumes gateway type. This operation is deprecated
* in cached volumes API version (20120630). Use DescribeUploadBuffer instead.
* Working storage is also referred to as upload buffer. You can also use
* the DescribeUploadBuffer operation to add upload buffer to a stored volume
* gateway.
The response includes disk IDs that are configured as
* working storage, and it includes the amount of working storage allocated and
* used.
See Also:
AWS
* API Reference
*/
virtual Model::DescribeWorkingStorageOutcome DescribeWorkingStorage(const Model::DescribeWorkingStorageRequest& request) const;
/**
* A Callable wrapper for DescribeWorkingStorage that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DescribeWorkingStorageOutcomeCallable DescribeWorkingStorageCallable(const DescribeWorkingStorageRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DescribeWorkingStorage, request);
}
/**
* An Async wrapper for DescribeWorkingStorage that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DescribeWorkingStorageAsync(const DescribeWorkingStorageRequestT& request, const DescribeWorkingStorageResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DescribeWorkingStorage, request, handler, context);
}
/**
* Disconnects a volume from an iSCSI connection and then detaches the volume
* from the specified gateway. Detaching and attaching a volume enables you to
* recover your data from one gateway to a different gateway without creating a
* snapshot. It also makes it easier to move your volumes from an on-premises
* gateway to a gateway hosted on an Amazon EC2 instance. This operation is only
* supported in the volume gateway type.
See Also:
AWS
* API Reference
*/
virtual Model::DetachVolumeOutcome DetachVolume(const Model::DetachVolumeRequest& request) const;
/**
* A Callable wrapper for DetachVolume that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DetachVolumeOutcomeCallable DetachVolumeCallable(const DetachVolumeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DetachVolume, request);
}
/**
* An Async wrapper for DetachVolume that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DetachVolumeAsync(const DetachVolumeRequestT& request, const DetachVolumeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DetachVolume, request, handler, context);
}
/**
* Disables a tape gateway when the gateway is no longer functioning. For
* example, if your gateway VM is damaged, you can disable the gateway so you can
* recover virtual tapes.
Use this operation for a tape gateway that is not
* reachable or not functioning. This operation is only supported in the tape
* gateway type.
After a gateway is disabled, it cannot be
* enabled.
See Also:
AWS
* API Reference
*/
virtual Model::DisableGatewayOutcome DisableGateway(const Model::DisableGatewayRequest& request) const;
/**
* A Callable wrapper for DisableGateway that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisableGatewayOutcomeCallable DisableGatewayCallable(const DisableGatewayRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DisableGateway, request);
}
/**
* An Async wrapper for DisableGateway that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisableGatewayAsync(const DisableGatewayRequestT& request, const DisableGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DisableGateway, request, handler, context);
}
/**
* Disassociates an Amazon FSx file system from the specified gateway. After the
* disassociation process finishes, the gateway can no longer access the Amazon FSx
* file system. This operation is only supported in the FSx File Gateway
* type.
See Also:
AWS
* API Reference
*/
virtual Model::DisassociateFileSystemOutcome DisassociateFileSystem(const Model::DisassociateFileSystemRequest& request) const;
/**
* A Callable wrapper for DisassociateFileSystem that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::DisassociateFileSystemOutcomeCallable DisassociateFileSystemCallable(const DisassociateFileSystemRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::DisassociateFileSystem, request);
}
/**
* An Async wrapper for DisassociateFileSystem that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void DisassociateFileSystemAsync(const DisassociateFileSystemRequestT& request, const DisassociateFileSystemResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::DisassociateFileSystem, request, handler, context);
}
/**
* Adds a file gateway to an Active Directory domain. This operation is only
* supported for file gateways that support the SMB file protocol.
See
* Also:
AWS
* API Reference
*/
virtual Model::JoinDomainOutcome JoinDomain(const Model::JoinDomainRequest& request) const;
/**
* A Callable wrapper for JoinDomain that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::JoinDomainOutcomeCallable JoinDomainCallable(const JoinDomainRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::JoinDomain, request);
}
/**
* An Async wrapper for JoinDomain that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void JoinDomainAsync(const JoinDomainRequestT& request, const JoinDomainResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::JoinDomain, request, handler, context);
}
/**
* Lists the automatic tape creation policies for a gateway. If there are no
* automatic tape creation policies for the gateway, it returns an empty list.
* This operation is only supported for tape gateways.
See Also:
* AWS
* API Reference
*/
virtual Model::ListAutomaticTapeCreationPoliciesOutcome ListAutomaticTapeCreationPolicies(const Model::ListAutomaticTapeCreationPoliciesRequest& request) const;
/**
* A Callable wrapper for ListAutomaticTapeCreationPolicies that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListAutomaticTapeCreationPoliciesOutcomeCallable ListAutomaticTapeCreationPoliciesCallable(const ListAutomaticTapeCreationPoliciesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListAutomaticTapeCreationPolicies, request);
}
/**
* An Async wrapper for ListAutomaticTapeCreationPolicies that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListAutomaticTapeCreationPoliciesAsync(const ListAutomaticTapeCreationPoliciesRequestT& request, const ListAutomaticTapeCreationPoliciesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListAutomaticTapeCreationPolicies, request, handler, context);
}
/**
* Gets a list of the file shares for a specific S3 File Gateway, or the list of
* file shares that belong to the calling user account. This operation is only
* supported for S3 File Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::ListFileSharesOutcome ListFileShares(const Model::ListFileSharesRequest& request) const;
/**
* A Callable wrapper for ListFileShares that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFileSharesOutcomeCallable ListFileSharesCallable(const ListFileSharesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListFileShares, request);
}
/**
* An Async wrapper for ListFileShares that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFileSharesAsync(const ListFileSharesRequestT& request, const ListFileSharesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListFileShares, request, handler, context);
}
/**
* Gets a list of FileSystemAssociationSummary
objects. Each object
* contains a summary of a file system association. This operation is only
* supported for FSx File Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::ListFileSystemAssociationsOutcome ListFileSystemAssociations(const Model::ListFileSystemAssociationsRequest& request) const;
/**
* A Callable wrapper for ListFileSystemAssociations that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListFileSystemAssociationsOutcomeCallable ListFileSystemAssociationsCallable(const ListFileSystemAssociationsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListFileSystemAssociations, request);
}
/**
* An Async wrapper for ListFileSystemAssociations that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListFileSystemAssociationsAsync(const ListFileSystemAssociationsRequestT& request, const ListFileSystemAssociationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListFileSystemAssociations, request, handler, context);
}
/**
* Lists gateways owned by an Amazon Web Services account in an Amazon Web
* Services Region specified in the request. The returned list is ordered by
* gateway Amazon Resource Name (ARN).
By default, the operation returns a
* maximum of 100 gateways. This operation supports pagination that allows you to
* optionally reduce the number of gateways returned in a response.
If you
* have more gateways than are returned in a response (that is, the response
* returns only a truncated list of your gateways), the response contains a marker
* that you can specify in your next request to fetch the next page of
* gateways.
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(&StorageGatewayClient::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(&StorageGatewayClient::ListGateways, request, handler, context);
}
/**
* Returns a list of the gateway's local disks. To specify which gateway to
* describe, you use the Amazon Resource Name (ARN) of the gateway in the body of
* the request.
The request returns a list of all disks, specifying which
* are configured as working storage, cache storage, or stored volume or not
* configured at all. The response includes a DiskStatus
field. This
* field can have a value of present (the disk is available to use), missing (the
* disk is no longer connected to the gateway), or mismatch (the disk node is
* occupied by a disk that has incorrect metadata or the disk content is
* corrupted).
See Also:
AWS
* API Reference
*/
virtual Model::ListLocalDisksOutcome ListLocalDisks(const Model::ListLocalDisksRequest& request) const;
/**
* A Callable wrapper for ListLocalDisks that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListLocalDisksOutcomeCallable ListLocalDisksCallable(const ListLocalDisksRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListLocalDisks, request);
}
/**
* An Async wrapper for ListLocalDisks that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListLocalDisksAsync(const ListLocalDisksRequestT& request, const ListLocalDisksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListLocalDisks, request, handler, context);
}
/**
* Lists the tags that have been added to the specified resource. This operation
* is supported in storage gateways of all types.
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(&StorageGatewayClient::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(&StorageGatewayClient::ListTagsForResource, request, handler, context);
}
/**
* Lists custom tape pools. You specify custom tape pools to list by specifying
* one or more custom tape pool Amazon Resource Names (ARNs). If you don't specify
* a custom tape pool ARN, the operation lists all custom tape pools.
This
* operation supports pagination. You can optionally specify the Limit
* parameter in the body to limit the number of tape pools in the response. If the
* number of tape pools returned in the response is truncated, the response
* includes a Marker
element that you can use in your subsequent
* request to retrieve the next set of tape pools.
See Also:
AWS
* API Reference
*/
virtual Model::ListTapePoolsOutcome ListTapePools(const Model::ListTapePoolsRequest& request) const;
/**
* A Callable wrapper for ListTapePools that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTapePoolsOutcomeCallable ListTapePoolsCallable(const ListTapePoolsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListTapePools, request);
}
/**
* An Async wrapper for ListTapePools that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTapePoolsAsync(const ListTapePoolsRequestT& request, const ListTapePoolsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListTapePools, request, handler, context);
}
/**
* Lists virtual tapes in your virtual tape library (VTL) and your virtual tape
* shelf (VTS). You specify the tapes to list by specifying one or more tape Amazon
* Resource Names (ARNs). If you don't specify a tape ARN, the operation lists all
* virtual tapes in both your VTL and VTS.
This operation supports
* pagination. By default, the operation returns a maximum of up to 100 tapes. You
* can optionally specify the Limit
parameter in the body to limit the
* number of tapes in the response. If the number of tapes returned in the response
* is truncated, the response includes a Marker
element that you can
* use in your subsequent request to retrieve the next set of tapes. This operation
* is only supported in the tape gateway type.
See Also:
AWS
* API Reference
*/
virtual Model::ListTapesOutcome ListTapes(const Model::ListTapesRequest& request) const;
/**
* A Callable wrapper for ListTapes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListTapesOutcomeCallable ListTapesCallable(const ListTapesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListTapes, request);
}
/**
* An Async wrapper for ListTapes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListTapesAsync(const ListTapesRequestT& request, const ListTapesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListTapes, request, handler, context);
}
/**
* Lists iSCSI initiators that are connected to a volume. You can use this
* operation to determine whether a volume is being used or not. This operation is
* only supported in the cached volume and stored volume gateway
* types.
See Also:
AWS
* API Reference
*/
virtual Model::ListVolumeInitiatorsOutcome ListVolumeInitiators(const Model::ListVolumeInitiatorsRequest& request) const;
/**
* A Callable wrapper for ListVolumeInitiators that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListVolumeInitiatorsOutcomeCallable ListVolumeInitiatorsCallable(const ListVolumeInitiatorsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListVolumeInitiators, request);
}
/**
* An Async wrapper for ListVolumeInitiators that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListVolumeInitiatorsAsync(const ListVolumeInitiatorsRequestT& request, const ListVolumeInitiatorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListVolumeInitiators, request, handler, context);
}
/**
* Lists the recovery points for a specified gateway. This operation is only
* supported in the cached volume gateway type.
Each cache volume has one
* recovery point. A volume recovery point is a point in time at which all data of
* the volume is consistent and from which you can create a snapshot or clone a new
* cached volume from a source volume. To create a snapshot from a volume recovery
* point use the CreateSnapshotFromVolumeRecoveryPoint
* operation.
See Also:
AWS
* API Reference
*/
virtual Model::ListVolumeRecoveryPointsOutcome ListVolumeRecoveryPoints(const Model::ListVolumeRecoveryPointsRequest& request) const;
/**
* A Callable wrapper for ListVolumeRecoveryPoints that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListVolumeRecoveryPointsOutcomeCallable ListVolumeRecoveryPointsCallable(const ListVolumeRecoveryPointsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListVolumeRecoveryPoints, request);
}
/**
* An Async wrapper for ListVolumeRecoveryPoints that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListVolumeRecoveryPointsAsync(const ListVolumeRecoveryPointsRequestT& request, const ListVolumeRecoveryPointsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListVolumeRecoveryPoints, request, handler, context);
}
/**
* Lists the iSCSI stored volumes of a gateway. Results are sorted by volume
* ARN. The response includes only the volume ARNs. If you want additional volume
* information, use the DescribeStorediSCSIVolumes or the
* DescribeCachediSCSIVolumes API.
The operation supports pagination.
* By default, the operation returns a maximum of up to 100 volumes. You can
* optionally specify the Limit
field in the body to limit the number
* of volumes in the response. If the number of volumes returned in the response is
* truncated, the response includes a Marker field. You can use this Marker value
* in your subsequent request to retrieve the next set of volumes. This operation
* is only supported in the cached volume and stored volume gateway
* types.
See Also:
AWS
* API Reference
*/
virtual Model::ListVolumesOutcome ListVolumes(const Model::ListVolumesRequest& request) const;
/**
* A Callable wrapper for ListVolumes that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ListVolumesOutcomeCallable ListVolumesCallable(const ListVolumesRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ListVolumes, request);
}
/**
* An Async wrapper for ListVolumes that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ListVolumesAsync(const ListVolumesRequestT& request, const ListVolumesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ListVolumes, request, handler, context);
}
/**
* Sends you notification through CloudWatch Events when all files written to
* your file share have been uploaded to S3. Amazon S3.
Storage Gateway can
* send a notification through Amazon CloudWatch Events when all files written to
* your file share up to that point in time have been uploaded to Amazon S3. These
* files include files written to the file share up to the time that you make a
* request for notification. When the upload is done, Storage Gateway sends you
* notification through an Amazon CloudWatch Event. You can configure CloudWatch
* Events to send the notification through event targets such as Amazon SNS or
* Lambda function. This operation is only supported for S3 File Gateways.
* For more information, see Getting
* file upload notification in the Storage Gateway User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::NotifyWhenUploadedOutcome NotifyWhenUploaded(const Model::NotifyWhenUploadedRequest& request) const;
/**
* A Callable wrapper for NotifyWhenUploaded that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::NotifyWhenUploadedOutcomeCallable NotifyWhenUploadedCallable(const NotifyWhenUploadedRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::NotifyWhenUploaded, request);
}
/**
* An Async wrapper for NotifyWhenUploaded that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void NotifyWhenUploadedAsync(const NotifyWhenUploadedRequestT& request, const NotifyWhenUploadedResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::NotifyWhenUploaded, request, handler, context);
}
/**
* Refreshes the cached inventory of objects for the specified file share. This
* operation finds objects in the Amazon S3 bucket that were added, removed, or
* replaced since the gateway last listed the bucket's contents and cached the
* results. This operation does not import files into the S3 File Gateway cache
* storage. It only updates the cached inventory to reflect changes in the
* inventory of the objects in the S3 bucket. This operation is only supported in
* the S3 File Gateway types.
You can subscribe to be notified through an
* Amazon CloudWatch event when your RefreshCache
operation completes.
* For more information, see Getting
* notified about file operations in the Storage Gateway User Guide.
* This operation is Only supported for S3 File Gateways.
When this API is
* called, it only initiates the refresh operation. When the API call completes and
* returns a success code, it doesn't necessarily mean that the file refresh has
* completed. You should use the refresh-complete notification to determine that
* the operation has completed before you check for new files on the gateway file
* share. You can subscribe to be notified through a CloudWatch event when your
* RefreshCache
operation completes.
Throttle limit: This API
* is asynchronous, so the gateway will accept no more than two refreshes at any
* time. We recommend using the refresh-complete CloudWatch event notification
* before issuing additional requests. For more information, see Getting
* notified about file operations in the Storage Gateway User Guide.
* -
Wait at least 60 seconds between consecutive
* RefreshCache API requests.
-
RefreshCache does not evict cache
* entries if invoked consecutively within 60 seconds of a previous RefreshCache
* request.
-
If you invoke the RefreshCache API when two requests
* are already being processed, any new request will cause an
* InvalidGatewayRequestException
error because too many requests were
* sent to the server.
The S3 bucket name
* does not need to be included when entering the list of folders in the FolderList
* parameter.
For more information, see Getting
* notified about file operations in the Storage Gateway User
* Guide.
See Also:
AWS
* API Reference
*/
virtual Model::RefreshCacheOutcome RefreshCache(const Model::RefreshCacheRequest& request) const;
/**
* A Callable wrapper for RefreshCache that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RefreshCacheOutcomeCallable RefreshCacheCallable(const RefreshCacheRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::RefreshCache, request);
}
/**
* An Async wrapper for RefreshCache that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RefreshCacheAsync(const RefreshCacheRequestT& request, const RefreshCacheResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::RefreshCache, request, handler, context);
}
/**
* Removes one or more tags from the specified resource. This operation is
* supported in storage gateways of all types.
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(&StorageGatewayClient::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(&StorageGatewayClient::RemoveTagsFromResource, request, handler, context);
}
/**
* Resets all cache disks that have encountered an error and makes the disks
* available for reconfiguration as cache storage. If your cache disk encounters an
* error, the gateway prevents read and write operations on virtual tapes in the
* gateway. For example, an error can occur when a disk is corrupted or removed
* from the gateway. When a cache is reset, the gateway loses its cache storage. At
* this point, you can reconfigure the disks as cache disks. This operation is only
* supported in the cached volume and tape types.
If the cache
* disk you are resetting contains data that has not been uploaded to Amazon S3
* yet, that data can be lost. After you reset cache disks, there will be no
* configured cache disks left in the gateway, so you must configure at least one
* new cache disk for your gateway to function properly.
See
* Also:
AWS
* API Reference
*/
virtual Model::ResetCacheOutcome ResetCache(const Model::ResetCacheRequest& request) const;
/**
* A Callable wrapper for ResetCache that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ResetCacheOutcomeCallable ResetCacheCallable(const ResetCacheRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ResetCache, request);
}
/**
* An Async wrapper for ResetCache that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ResetCacheAsync(const ResetCacheRequestT& request, const ResetCacheResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ResetCache, request, handler, context);
}
/**
* Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a
* tape gateway. Virtual tapes archived in the VTS are not associated with any
* gateway. However after a tape is retrieved, it is associated with a gateway,
* even though it is also listed in the VTS, that is, archive. This operation is
* only supported in the tape gateway type.
Once a tape is successfully
* retrieved to a gateway, it cannot be retrieved again to another gateway. You
* must archive the tape again before you can retrieve it to another gateway. This
* operation is only supported in the tape gateway type.
See Also:
* AWS
* API Reference
*/
virtual Model::RetrieveTapeArchiveOutcome RetrieveTapeArchive(const Model::RetrieveTapeArchiveRequest& request) const;
/**
* A Callable wrapper for RetrieveTapeArchive that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RetrieveTapeArchiveOutcomeCallable RetrieveTapeArchiveCallable(const RetrieveTapeArchiveRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::RetrieveTapeArchive, request);
}
/**
* An Async wrapper for RetrieveTapeArchive that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RetrieveTapeArchiveAsync(const RetrieveTapeArchiveRequestT& request, const RetrieveTapeArchiveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::RetrieveTapeArchive, request, handler, context);
}
/**
* Retrieves the recovery point for the specified virtual tape. This operation
* is only supported in the tape gateway type.
A recovery point is a point
* in time view of a virtual tape at which all the data on the tape is consistent.
* If your gateway crashes, virtual tapes that have recovery points can be
* recovered to a new gateway.
The virtual tape can be retrieved to
* only one gateway. The retrieved tape is read-only. The virtual tape can be
* retrieved to only a tape gateway. There is no charge for retrieving recovery
* points.
See Also:
AWS
* API Reference
*/
virtual Model::RetrieveTapeRecoveryPointOutcome RetrieveTapeRecoveryPoint(const Model::RetrieveTapeRecoveryPointRequest& request) const;
/**
* A Callable wrapper for RetrieveTapeRecoveryPoint that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::RetrieveTapeRecoveryPointOutcomeCallable RetrieveTapeRecoveryPointCallable(const RetrieveTapeRecoveryPointRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::RetrieveTapeRecoveryPoint, request);
}
/**
* An Async wrapper for RetrieveTapeRecoveryPoint that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void RetrieveTapeRecoveryPointAsync(const RetrieveTapeRecoveryPointRequestT& request, const RetrieveTapeRecoveryPointResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::RetrieveTapeRecoveryPoint, request, handler, context);
}
/**
* Sets the password for your VM local console. When you log in to the local
* console for the first time, you log in to the VM with the default credentials.
* We recommend that you set a new password. You don't need to know the default
* password to set a new password.
See Also:
AWS
* API Reference
*/
virtual Model::SetLocalConsolePasswordOutcome SetLocalConsolePassword(const Model::SetLocalConsolePasswordRequest& request) const;
/**
* A Callable wrapper for SetLocalConsolePassword that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SetLocalConsolePasswordOutcomeCallable SetLocalConsolePasswordCallable(const SetLocalConsolePasswordRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::SetLocalConsolePassword, request);
}
/**
* An Async wrapper for SetLocalConsolePassword that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SetLocalConsolePasswordAsync(const SetLocalConsolePasswordRequestT& request, const SetLocalConsolePasswordResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::SetLocalConsolePassword, request, handler, context);
}
/**
* Sets the password for the guest user smbguest
. The
* smbguest
user is the user when the authentication method for the
* file share is set to GuestAccess
. This operation only supported for
* S3 File Gateways
See Also:
AWS
* API Reference
*/
virtual Model::SetSMBGuestPasswordOutcome SetSMBGuestPassword(const Model::SetSMBGuestPasswordRequest& request) const;
/**
* A Callable wrapper for SetSMBGuestPassword that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::SetSMBGuestPasswordOutcomeCallable SetSMBGuestPasswordCallable(const SetSMBGuestPasswordRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::SetSMBGuestPassword, request);
}
/**
* An Async wrapper for SetSMBGuestPassword that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void SetSMBGuestPasswordAsync(const SetSMBGuestPasswordRequestT& request, const SetSMBGuestPasswordResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::SetSMBGuestPassword, request, handler, context);
}
/**
* Shuts down a gateway. To specify which gateway to shut down, use the Amazon
* Resource Name (ARN) of the gateway in the body of your request.
The
* operation shuts down the gateway service component running in the gateway's
* virtual machine (VM) and not the host VM.
If you want to shut down
* the VM, it is recommended that you first shut down the gateway component in the
* VM to avoid unpredictable conditions.
After the gateway is
* shutdown, you cannot call any other API except StartGateway,
* DescribeGatewayInformation, and ListGateways. For more
* information, see ActivateGateway. Your applications cannot read from or
* write to the gateway's storage volumes, and there are no snapshots taken.
* When you make a shutdown request, you will get a 200 OK
* success response immediately. However, it might take some time for the gateway
* to shut down. You can call the DescribeGatewayInformation API to check
* the status. For more information, see ActivateGateway.
If
* do not intend to use the gateway again, you must delete the gateway (using
* DeleteGateway) to no longer pay software charges associated with the
* gateway.
See Also:
AWS
* API Reference
*/
virtual Model::ShutdownGatewayOutcome ShutdownGateway(const Model::ShutdownGatewayRequest& request) const;
/**
* A Callable wrapper for ShutdownGateway that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::ShutdownGatewayOutcomeCallable ShutdownGatewayCallable(const ShutdownGatewayRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::ShutdownGateway, request);
}
/**
* An Async wrapper for ShutdownGateway that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void ShutdownGatewayAsync(const ShutdownGatewayRequestT& request, const ShutdownGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::ShutdownGateway, request, handler, context);
}
/**
* Start a test that verifies that the specified gateway is configured for High
* Availability monitoring in your host environment. This request only initiates
* the test and that a successful response only indicates that the test was
* started. It doesn't indicate that the test passed. For the status of the test,
* invoke the DescribeAvailabilityMonitorTest
API.
* Starting this test will cause your gateway to go offline for a brief
* period.
See Also:
AWS
* API Reference
*/
virtual Model::StartAvailabilityMonitorTestOutcome StartAvailabilityMonitorTest(const Model::StartAvailabilityMonitorTestRequest& request) const;
/**
* A Callable wrapper for StartAvailabilityMonitorTest that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartAvailabilityMonitorTestOutcomeCallable StartAvailabilityMonitorTestCallable(const StartAvailabilityMonitorTestRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::StartAvailabilityMonitorTest, request);
}
/**
* An Async wrapper for StartAvailabilityMonitorTest that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartAvailabilityMonitorTestAsync(const StartAvailabilityMonitorTestRequestT& request, const StartAvailabilityMonitorTestResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::StartAvailabilityMonitorTest, request, handler, context);
}
/**
* Starts a gateway that you previously shut down (see ShutdownGateway).
* After the gateway starts, you can then make other API calls, your applications
* can read from or write to the gateway's storage volumes and you will be able to
* take snapshot backups.
When you make a request, you will get a 200
* OK success response immediately. However, it might take some time for the
* gateway to be ready. You should call DescribeGatewayInformation and check
* the status before making any additional API calls. For more information, see
* ActivateGateway.
To specify which gateway to start, use
* the Amazon Resource Name (ARN) of the gateway in your request.
See
* Also:
AWS
* API Reference
*/
virtual Model::StartGatewayOutcome StartGateway(const Model::StartGatewayRequest& request) const;
/**
* A Callable wrapper for StartGateway that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::StartGatewayOutcomeCallable StartGatewayCallable(const StartGatewayRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::StartGateway, request);
}
/**
* An Async wrapper for StartGateway that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void StartGatewayAsync(const StartGatewayRequestT& request, const StartGatewayResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::StartGateway, request, handler, context);
}
/**
* Updates the automatic tape creation policy of a gateway. Use this to update
* the policy with a new set of automatic tape creation rules. This is only
* supported for tape gateways.
By default, there is no automatic tape
* creation policy.
A gateway can have only one automatic tape
* creation policy.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateAutomaticTapeCreationPolicyOutcome UpdateAutomaticTapeCreationPolicy(const Model::UpdateAutomaticTapeCreationPolicyRequest& request) const;
/**
* A Callable wrapper for UpdateAutomaticTapeCreationPolicy that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateAutomaticTapeCreationPolicyOutcomeCallable UpdateAutomaticTapeCreationPolicyCallable(const UpdateAutomaticTapeCreationPolicyRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateAutomaticTapeCreationPolicy, request);
}
/**
* An Async wrapper for UpdateAutomaticTapeCreationPolicy that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateAutomaticTapeCreationPolicyAsync(const UpdateAutomaticTapeCreationPolicyRequestT& request, const UpdateAutomaticTapeCreationPolicyResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateAutomaticTapeCreationPolicy, request, handler, context);
}
/**
* Updates the bandwidth rate limits of a gateway. You can update both the
* upload and download bandwidth rate limit or specify only one of the two. If you
* don't set a bandwidth rate limit, the existing rate limit remains. This
* operation is supported only for the stored volume, cached volume, and tape
* gateway types. To update bandwidth rate limits for S3 file gateways, use
* UpdateBandwidthRateLimitSchedule.
By default, a gateway's
* bandwidth rate limits are not set. If you don't set any limit, the gateway does
* not have any limitations on its bandwidth usage and could potentially use the
* maximum available bandwidth.
To specify which gateway to update, use the
* Amazon Resource Name (ARN) of the gateway in your request.
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateBandwidthRateLimitOutcome UpdateBandwidthRateLimit(const Model::UpdateBandwidthRateLimitRequest& request) const;
/**
* A Callable wrapper for UpdateBandwidthRateLimit that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateBandwidthRateLimitOutcomeCallable UpdateBandwidthRateLimitCallable(const UpdateBandwidthRateLimitRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateBandwidthRateLimit, request);
}
/**
* An Async wrapper for UpdateBandwidthRateLimit that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateBandwidthRateLimitAsync(const UpdateBandwidthRateLimitRequestT& request, const UpdateBandwidthRateLimitResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateBandwidthRateLimit, request, handler, context);
}
/**
* Updates 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 initiate or update a gateway's
* bandwidth rate limit schedule. This operation is supported only for volume, tape
* and S3 file gateways. FSx file gateways do not support bandwidth rate
* limits.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateBandwidthRateLimitScheduleOutcome UpdateBandwidthRateLimitSchedule(const Model::UpdateBandwidthRateLimitScheduleRequest& request) const;
/**
* A Callable wrapper for UpdateBandwidthRateLimitSchedule that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateBandwidthRateLimitScheduleOutcomeCallable UpdateBandwidthRateLimitScheduleCallable(const UpdateBandwidthRateLimitScheduleRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateBandwidthRateLimitSchedule, request);
}
/**
* An Async wrapper for UpdateBandwidthRateLimitSchedule that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateBandwidthRateLimitScheduleAsync(const UpdateBandwidthRateLimitScheduleRequestT& request, const UpdateBandwidthRateLimitScheduleResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateBandwidthRateLimitSchedule, request, handler, context);
}
/**
* Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials
* for a specified iSCSI target. By default, a gateway does not have CHAP enabled;
* however, for added security, you might use it. This operation is supported in
* the volume and tape gateway types.
When you update CHAP
* credentials, all existing connections on the target are closed and initiators
* must reconnect with the new credentials.
See Also:
* AWS
* API Reference
*/
virtual Model::UpdateChapCredentialsOutcome UpdateChapCredentials(const Model::UpdateChapCredentialsRequest& request) const;
/**
* A Callable wrapper for UpdateChapCredentials that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateChapCredentialsOutcomeCallable UpdateChapCredentialsCallable(const UpdateChapCredentialsRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateChapCredentials, request);
}
/**
* An Async wrapper for UpdateChapCredentials that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateChapCredentialsAsync(const UpdateChapCredentialsRequestT& request, const UpdateChapCredentialsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateChapCredentials, request, handler, context);
}
/**
* Updates a file system association. This operation is only supported in the
* FSx File Gateways.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateFileSystemAssociationOutcome UpdateFileSystemAssociation(const Model::UpdateFileSystemAssociationRequest& request) const;
/**
* A Callable wrapper for UpdateFileSystemAssociation that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateFileSystemAssociationOutcomeCallable UpdateFileSystemAssociationCallable(const UpdateFileSystemAssociationRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateFileSystemAssociation, request);
}
/**
* An Async wrapper for UpdateFileSystemAssociation that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateFileSystemAssociationAsync(const UpdateFileSystemAssociationRequestT& request, const UpdateFileSystemAssociationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateFileSystemAssociation, request, handler, context);
}
/**
* Updates a gateway's metadata, which includes the gateway's name and time
* zone. To specify which gateway to update, use the Amazon Resource Name (ARN) of
* the gateway in your request.
For gateways activated after
* September 2, 2015, the gateway's ARN contains the gateway ID rather than the
* gateway name. However, changing the name of the gateway has no effect on the
* gateway's ARN.
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(&StorageGatewayClient::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(&StorageGatewayClient::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. You can call DescribeGatewayInformation
* to verify the gateway is in the STATE_RUNNING
state.
* A software update forces a system restart of your gateway. You
* can minimize the chance of any disruption to your applications by increasing
* your iSCSI Initiators' timeouts. For more information about increasing iSCSI
* Initiator timeouts for Windows and Linux, see Customizing
* your Windows iSCSI settings and Customizing
* your Linux iSCSI settings, respectively.
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(&StorageGatewayClient::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(&StorageGatewayClient::UpdateGatewaySoftwareNow, request, handler, context);
}
/**
* Updates a gateway's weekly maintenance start time information, including day
* and time of the week. The maintenance time is the time in your gateway's time
* zone.
See Also:
AWS
* API Reference
*/
virtual Model::UpdateMaintenanceStartTimeOutcome UpdateMaintenanceStartTime(const Model::UpdateMaintenanceStartTimeRequest& request) const;
/**
* A Callable wrapper for UpdateMaintenanceStartTime that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateMaintenanceStartTimeOutcomeCallable UpdateMaintenanceStartTimeCallable(const UpdateMaintenanceStartTimeRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateMaintenanceStartTime, request);
}
/**
* An Async wrapper for UpdateMaintenanceStartTime that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateMaintenanceStartTimeAsync(const UpdateMaintenanceStartTimeRequestT& request, const UpdateMaintenanceStartTimeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateMaintenanceStartTime, request, handler, context);
}
/**
* Updates a Network File System (NFS) file share. This operation is only
* supported in S3 File Gateways.
To leave a file share field
* unchanged, set the corresponding input field to null.
Updates the
* following file share settings:
-
Default storage class for your
* S3 bucket
-
Metadata defaults for your S3 bucket
-
*
Allowed NFS clients for your file share
-
Squash settings
* -
Write status of your file share
See
* Also:
AWS
* API Reference
*/
virtual Model::UpdateNFSFileShareOutcome UpdateNFSFileShare(const Model::UpdateNFSFileShareRequest& request) const;
/**
* A Callable wrapper for UpdateNFSFileShare that returns a future to the operation so that it can be executed in parallel to other requests.
*/
template
Model::UpdateNFSFileShareOutcomeCallable UpdateNFSFileShareCallable(const UpdateNFSFileShareRequestT& request) const
{
return SubmitCallable(&StorageGatewayClient::UpdateNFSFileShare, request);
}
/**
* An Async wrapper for UpdateNFSFileShare that queues the request into a thread executor and triggers associated callback when operation has finished.
*/
template
void UpdateNFSFileShareAsync(const UpdateNFSFileShareRequestT& request, const UpdateNFSFileShareResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const
{
return SubmitAsync(&StorageGatewayClient::UpdateNFSFileShare, request, handler, context);
}
/**
* Updates a Server Message Block (SMB) file share. This operation is only
* supported for S3 File Gateways.
To leave a file share field
* unchanged, set the corresponding input field to null.
* File gateways require Security Token Service (Amazon Web Services STS) to be
* activated to enable you to create a file share. Make sure that Amazon Web
* Services STS is activated in the Amazon Web Services Region you are creating
* your file gateway in. If Amazon Web Services STS is not activated in this Amazon
* Web Services Region, activate it. For information about how to activate Amazon
* Web Services STS, see