All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.storagegateway.AWSStorageGatewayAsyncClient Maven / Gradle / Ivy

Go to download

The Amazon Web Services SDK for Java provides Java APIs for building software on AWS' cost-effective, scalable, and reliable infrastructure products. The AWS Java SDK allows developers to code against APIs for all of Amazon's infrastructure web services (Amazon S3, Amazon EC2, Amazon SQS, Amazon Relational Database Service, Amazon AutoScaling, etc).

The newest version!
/*
 * Copyright 2010-2014 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
package com.amazonaws.services.storagegateway;

import java.util.concurrent.Callable;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.Future;

import com.amazonaws.AmazonClientException;
import com.amazonaws.AmazonServiceException;
import com.amazonaws.handlers.AsyncHandler;
import com.amazonaws.ClientConfiguration;
import com.amazonaws.auth.AWSCredentials;
import com.amazonaws.auth.AWSCredentialsProvider;
import com.amazonaws.auth.DefaultAWSCredentialsProviderChain;

import com.amazonaws.services.storagegateway.model.*;

/**
 * Asynchronous client for accessing AWSStorageGateway.
 * All asynchronous calls made using this client are non-blocking. Callers could either
 * process the result and handle the exceptions in the worker thread by providing a callback handler
 * when making the call, or use the returned Future object to check the result of the call in the calling thread.
 * AWS Storage Gateway Service 

* AWS 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 AWS's storage infrastructure. The service enables you * to securely upload data to the AWS cloud for cost effective backup and * rapid disaster recovery. *

*

* Use the following links to get started using the AWS Storage * Gateway Service API Reference : *

* * */ public class AWSStorageGatewayAsyncClient extends AWSStorageGatewayClient implements AWSStorageGatewayAsync { /** * Executor service for executing asynchronous requests. */ private ExecutorService executorService; private static final int DEFAULT_THREAD_POOL_SIZE = 50; /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway. A credentials provider chain will be used * that searches for credentials in this order: *
    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @see DefaultAWSCredentialsProviderChain */ public AWSStorageGatewayAsyncClient() { this(new DefaultAWSCredentialsProviderChain()); } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway. A credentials provider chain will be used * that searches for credentials in this order: *

    *
  • Environment Variables - AWS_ACCESS_KEY_ID and AWS_SECRET_KEY
  • *
  • Java System Properties - aws.accessKeyId and aws.secretKey
  • *
  • Instance profile credentials delivered through the Amazon EC2 metadata service
  • *
* *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param clientConfiguration The client configuration options controlling how this * client connects to AWSStorageGateway * (ex: proxy settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain */ public AWSStorageGatewayAsyncClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AWSStorageGatewayAsyncClient(AWSCredentials awsCredentials) { this(awsCredentials, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AWSStorageGatewayAsyncClient(AWSCredentials awsCredentials, ExecutorService executorService) { super(awsCredentials); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials, * executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentials * The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AWSStorageGatewayAsyncClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentials, clientConfiguration); this.executorService = executorService; } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials provider. * Default client settings will be used, and a fixed size thread pool will be * created for executing the asynchronous tasks. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AWSStorageGatewayAsyncClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, Executors.newFixedThreadPool(DEFAULT_THREAD_POOL_SIZE)); } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials provider * and executor service. Default client settings will be used. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AWSStorageGatewayAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ExecutorService executorService) { this(awsCredentialsProvider, new ClientConfiguration(), executorService); } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials * provider and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). */ public AWSStorageGatewayAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, Executors.newFixedThreadPool(clientConfiguration.getMaxConnections())); } /** * Constructs a new asynchronous client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials * provider, executor service, and client configuration options. * *

* All calls made using this new client object are non-blocking, and will immediately * return a Java Future object that the caller can later check to see if the service * call has actually completed. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration * Client configuration options (ex: max retry limit, proxy * settings, etc). * @param executorService * The executor service by which all asynchronous requests will * be executed. */ public AWSStorageGatewayAsyncClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, ExecutorService executorService) { super(awsCredentialsProvider, clientConfiguration); this.executorService = executorService; } /** * Returns the executor service used by this async client to execute * requests. * * @return The executor service used by this async client to execute * requests. */ public ExecutorService getExecutorService() { return executorService; } /** * Shuts down the client, releasing all managed resources. This includes * forcibly terminating all pending asynchronous service calls. Clients who * wish to give pending asynchronous service calls time to complete should * call getExecutorService().shutdown() followed by * getExecutorService().awaitTermination() prior to calling this method. */ @Override public void shutdown() { super.shutdown(); executorService.shutdownNow(); } /** *

* This operation deletes a snapshot of a volume. *

*

* You can take snapshots of your gateway volumes on a scheduled or * ad-hoc basis. This API enables you to delete a snapshot schedule for a * volume. For more information, see * Working with Snapshots * . In the DeleteSnapshotSchedule request, you identify * the volume by providing its Amazon Resource Name (ARN). *

*

* NOTE: To list or delete a snapshot, you must use the Amazon EC2 * API. in Amazon Elastic Compute Cloud API Reference. *

* * @param deleteSnapshotScheduleRequest Container for the necessary * parameters to execute the DeleteSnapshotSchedule operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteSnapshotSchedule service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSnapshotScheduleAsync(final DeleteSnapshotScheduleRequest deleteSnapshotScheduleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteSnapshotScheduleResult call() throws Exception { return deleteSnapshotSchedule(deleteSnapshotScheduleRequest); } }); } /** *

* This operation deletes a snapshot of a volume. *

*

* You can take snapshots of your gateway volumes on a scheduled or * ad-hoc basis. This API enables you to delete a snapshot schedule for a * volume. For more information, see * Working with Snapshots * . In the DeleteSnapshotSchedule request, you identify * the volume by providing its Amazon Resource Name (ARN). *

*

* NOTE: To list or delete a snapshot, you must use the Amazon EC2 * API. in Amazon Elastic Compute Cloud API Reference. *

* * @param deleteSnapshotScheduleRequest Container for the necessary * parameters to execute the DeleteSnapshotSchedule operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteSnapshotSchedule service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteSnapshotScheduleAsync( final DeleteSnapshotScheduleRequest deleteSnapshotScheduleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteSnapshotScheduleResult call() throws Exception { DeleteSnapshotScheduleResult result; try { result = deleteSnapshotSchedule(deleteSnapshotScheduleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteSnapshotScheduleRequest, result); return result; } }); } /** *

* This operation 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. *

* * @param describeMaintenanceStartTimeRequest Container for the necessary * parameters to execute the DescribeMaintenanceStartTime operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeMaintenanceStartTime service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeMaintenanceStartTimeAsync(final DescribeMaintenanceStartTimeRequest describeMaintenanceStartTimeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeMaintenanceStartTimeResult call() throws Exception { return describeMaintenanceStartTime(describeMaintenanceStartTimeRequest); } }); } /** *

* This operation 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. *

* * @param describeMaintenanceStartTimeRequest Container for the necessary * parameters to execute the DescribeMaintenanceStartTime operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeMaintenanceStartTime service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeMaintenanceStartTimeAsync( final DescribeMaintenanceStartTimeRequest describeMaintenanceStartTimeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeMaintenanceStartTimeResult call() throws Exception { DescribeMaintenanceStartTimeResult result; try { result = describeMaintenanceStartTime(describeMaintenanceStartTimeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeMaintenanceStartTimeRequest, result); return result; } }); } /** *

* This operation creates a volume on a specified gateway. This operation * is supported only for the gateway-cached volume architecture. *

*

* 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, AWS Storage 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. *

* * @param createStorediSCSIVolumeRequest Container for the necessary * parameters to execute the CreateStorediSCSIVolume operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * CreateStorediSCSIVolume service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createStorediSCSIVolumeAsync(final CreateStorediSCSIVolumeRequest createStorediSCSIVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateStorediSCSIVolumeResult call() throws Exception { return createStorediSCSIVolume(createStorediSCSIVolumeRequest); } }); } /** *

* This operation creates a volume on a specified gateway. This operation * is supported only for the gateway-cached volume architecture. *

*

* 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, AWS Storage 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. *

* * @param createStorediSCSIVolumeRequest Container for the necessary * parameters to execute the CreateStorediSCSIVolume operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateStorediSCSIVolume service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createStorediSCSIVolumeAsync( final CreateStorediSCSIVolumeRequest createStorediSCSIVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateStorediSCSIVolumeResult call() throws Exception { CreateStorediSCSIVolumeResult result; try { result = createStorediSCSIVolume(createStorediSCSIVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createStorediSCSIVolumeRequest, result); return result; } }); } /** *

* This operation updates the gateway virtual machine (VM) software. The * request immediately triggers the software update. *

*

* NOTE: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. *

*

* IMPORTANT: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. *

* * @param updateGatewaySoftwareNowRequest Container for the necessary * parameters to execute the UpdateGatewaySoftwareNow operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * UpdateGatewaySoftwareNow service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateGatewaySoftwareNowAsync(final UpdateGatewaySoftwareNowRequest updateGatewaySoftwareNowRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateGatewaySoftwareNowResult call() throws Exception { return updateGatewaySoftwareNow(updateGatewaySoftwareNowRequest); } }); } /** *

* This operation updates the gateway virtual machine (VM) software. The * request immediately triggers the software update. *

*

* NOTE: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. *

*

* IMPORTANT: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. *

* * @param updateGatewaySoftwareNowRequest Container for the necessary * parameters to execute the UpdateGatewaySoftwareNow operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateGatewaySoftwareNow service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateGatewaySoftwareNowAsync( final UpdateGatewaySoftwareNowRequest updateGatewaySoftwareNowRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateGatewaySoftwareNowResult call() throws Exception { UpdateGatewaySoftwareNowResult result; try { result = updateGatewaySoftwareNow(updateGatewaySoftwareNowRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateGatewaySoftwareNowRequest, result); return result; } }); } /** *

* This operation initiates a snapshot of a volume. *

*

* AWS Storage Gateway provides the ability to back up point-in-time * snapshots of your data to Amazon Simple Storage (S3) for durable * off-site recovery, as well as 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 ad-hoc snapshot. For more * information, see Working With Snapshots in the AWS Storage Gateway * Console. *

*

* In the CreateSnapshot request you identify the volume by providing its * Amazon Resource Name (ARN). You must also provide description for the * snapshot. When AWS Storage Gateway takes the snapshot of specified * volume, the snapshot and description appears in the AWS Storage * Gateway Console. In response, AWS 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. *

*

* NOTE:To list or delete a snapshot, you must use the Amazon EC2 * API. For more information, . *

* * @param createSnapshotRequest Container for the necessary parameters to * execute the CreateSnapshot operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * CreateSnapshot service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createSnapshotAsync(final CreateSnapshotRequest createSnapshotRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSnapshotResult call() throws Exception { return createSnapshot(createSnapshotRequest); } }); } /** *

* This operation initiates a snapshot of a volume. *

*

* AWS Storage Gateway provides the ability to back up point-in-time * snapshots of your data to Amazon Simple Storage (S3) for durable * off-site recovery, as well as 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 ad-hoc snapshot. For more * information, see Working With Snapshots in the AWS Storage Gateway * Console. *

*

* In the CreateSnapshot request you identify the volume by providing its * Amazon Resource Name (ARN). You must also provide description for the * snapshot. When AWS Storage Gateway takes the snapshot of specified * volume, the snapshot and description appears in the AWS Storage * Gateway Console. In response, AWS 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. *

*

* NOTE:To list or delete a snapshot, you must use the Amazon EC2 * API. For more information, . *

* * @param createSnapshotRequest Container for the necessary parameters to * execute the CreateSnapshot operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSnapshot service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createSnapshotAsync( final CreateSnapshotRequest createSnapshotRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSnapshotResult call() throws Exception { CreateSnapshotResult result; try { result = createSnapshot(createSnapshotRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSnapshotRequest, result); return result; } }); } /** *

* This operation configures one or more gateway local disks as working * storage for a gateway. This operation is supported only for the * gateway-stored volume architecture. *

*

* NOTE: 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. *

* * @param addWorkingStorageRequest Container for the necessary parameters * to execute the AddWorkingStorage operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * AddWorkingStorage service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future addWorkingStorageAsync(final AddWorkingStorageRequest addWorkingStorageRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddWorkingStorageResult call() throws Exception { return addWorkingStorage(addWorkingStorageRequest); } }); } /** *

* This operation configures one or more gateway local disks as working * storage for a gateway. This operation is supported only for the * gateway-stored volume architecture. *

*

* NOTE: 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. *

* * @param addWorkingStorageRequest Container for the necessary parameters * to execute the AddWorkingStorage operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AddWorkingStorage service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future addWorkingStorageAsync( final AddWorkingStorageRequest addWorkingStorageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddWorkingStorageResult call() throws Exception { AddWorkingStorageResult result; try { result = addWorkingStorage(addWorkingStorageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(addWorkingStorageRequest, result); return result; } }); } /** *

* 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 Virtual Tape Shelf. *

* * @param cancelRetrievalRequest Container for the necessary parameters * to execute the CancelRetrieval operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * CancelRetrieval service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelRetrievalAsync(final CancelRetrievalRequest cancelRetrievalRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelRetrievalResult call() throws Exception { return cancelRetrieval(cancelRetrievalRequest); } }); } /** *

* 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 Virtual Tape Shelf. *

* * @param cancelRetrievalRequest Container for the necessary parameters * to execute the CancelRetrieval operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelRetrieval service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelRetrievalAsync( final CancelRetrievalRequest cancelRetrievalRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelRetrievalResult call() throws Exception { CancelRetrievalResult result; try { result = cancelRetrieval(cancelRetrievalRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelRetrievalRequest, result); return result; } }); } /** *

* This operation 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 only 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. *

* * @param describeBandwidthRateLimitRequest Container for the necessary * parameters to execute the DescribeBandwidthRateLimit operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeBandwidthRateLimit service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeBandwidthRateLimitAsync(final DescribeBandwidthRateLimitRequest describeBandwidthRateLimitRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeBandwidthRateLimitResult call() throws Exception { return describeBandwidthRateLimit(describeBandwidthRateLimitRequest); } }); } /** *

* This operation 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 only 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. *

* * @param describeBandwidthRateLimitRequest Container for the necessary * parameters to execute the DescribeBandwidthRateLimit operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeBandwidthRateLimit service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeBandwidthRateLimitAsync( final DescribeBandwidthRateLimitRequest describeBandwidthRateLimitRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeBandwidthRateLimitResult call() throws Exception { DescribeBandwidthRateLimitResult result; try { result = describeBandwidthRateLimit(describeBandwidthRateLimitRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeBandwidthRateLimitRequest, result); return result; } }); } /** *

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

* * @param describeTapesRequest Container for the necessary parameters to * execute the DescribeTapes operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeTapes service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTapesAsync(final DescribeTapesRequest describeTapesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTapesResult call() throws Exception { return describeTapes(describeTapesRequest); } }); } /** *

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

* * @param describeTapesRequest Container for the necessary parameters to * execute the DescribeTapes operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTapes service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTapesAsync( final DescribeTapesRequest describeTapesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTapesResult call() throws Exception { DescribeTapesResult result; try { result = describeTapes(describeTapesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTapesRequest, result); return result; } }); } /** *

* Retrieves the recovery point for the specified virtual tape. *

*

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

*

* NOTE: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 Gateway-Virtual Tape Library. There is no charge for retrieving * recovery points. *

* * @param retrieveTapeRecoveryPointRequest Container for the necessary * parameters to execute the RetrieveTapeRecoveryPoint operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * RetrieveTapeRecoveryPoint service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future retrieveTapeRecoveryPointAsync(final RetrieveTapeRecoveryPointRequest retrieveTapeRecoveryPointRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RetrieveTapeRecoveryPointResult call() throws Exception { return retrieveTapeRecoveryPoint(retrieveTapeRecoveryPointRequest); } }); } /** *

* Retrieves the recovery point for the specified virtual tape. *

*

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

*

* NOTE: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 Gateway-Virtual Tape Library. There is no charge for retrieving * recovery points. *

* * @param retrieveTapeRecoveryPointRequest Container for the necessary * parameters to execute the RetrieveTapeRecoveryPoint operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RetrieveTapeRecoveryPoint service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future retrieveTapeRecoveryPointAsync( final RetrieveTapeRecoveryPointRequest retrieveTapeRecoveryPointRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RetrieveTapeRecoveryPointResult call() throws Exception { RetrieveTapeRecoveryPointResult result; try { result = retrieveTapeRecoveryPoint(retrieveTapeRecoveryPointRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(retrieveTapeRecoveryPointRequest, result); return result; } }); } /** *

* This operation 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. *

*

* IMPORTANT: When you update CHAP credentials, all existing * connections on the target are closed and initiators must reconnect * with the new credentials. *

* * @param updateChapCredentialsRequest Container for the necessary * parameters to execute the UpdateChapCredentials operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * UpdateChapCredentials service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateChapCredentialsAsync(final UpdateChapCredentialsRequest updateChapCredentialsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateChapCredentialsResult call() throws Exception { return updateChapCredentials(updateChapCredentialsRequest); } }); } /** *

* This operation 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. *

*

* IMPORTANT: When you update CHAP credentials, all existing * connections on the target are closed and initiators must reconnect * with the new credentials. *

* * @param updateChapCredentialsRequest Container for the necessary * parameters to execute the UpdateChapCredentials operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateChapCredentials service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateChapCredentialsAsync( final UpdateChapCredentialsRequest updateChapCredentialsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateChapCredentialsResult call() throws Exception { UpdateChapCredentialsResult result; try { result = updateChapCredentials(updateChapCredentialsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateChapCredentialsRequest, result); return result; } }); } /** *

* Creates one or more virtual tapes. You write data to the virtual tapes * and then archive the tapes. *

*

* NOTE: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. *

* * @param createTapesRequest Container for the necessary parameters to * execute the CreateTapes operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * CreateTapes service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createTapesAsync(final CreateTapesRequest createTapesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateTapesResult call() throws Exception { return createTapes(createTapesRequest); } }); } /** *

* Creates one or more virtual tapes. You write data to the virtual tapes * and then archive the tapes. *

*

* NOTE: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. *

* * @param createTapesRequest Container for the necessary parameters to * execute the CreateTapes operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateTapes service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createTapesAsync( final CreateTapesRequest createTapesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateTapesResult call() throws Exception { CreateTapesResult result; try { result = createTapes(createTapesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createTapesRequest, result); return result; } }); } /** *

* This operation returns information about the upload buffer of a * gateway. This operation is supported for both the gateway-stored and * gateway-cached volume architectures. *

*

* The response includes disk IDs that are configured as upload buffer * space, and it includes the amount of upload buffer space allocated and * used. *

* * @param describeUploadBufferRequest Container for the necessary * parameters to execute the DescribeUploadBuffer operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeUploadBuffer service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeUploadBufferAsync(final DescribeUploadBufferRequest describeUploadBufferRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeUploadBufferResult call() throws Exception { return describeUploadBuffer(describeUploadBufferRequest); } }); } /** *

* This operation returns information about the upload buffer of a * gateway. This operation is supported for both the gateway-stored and * gateway-cached volume architectures. *

*

* The response includes disk IDs that are configured as upload buffer * space, and it includes the amount of upload buffer space allocated and * used. *

* * @param describeUploadBufferRequest Container for the necessary * parameters to execute the DescribeUploadBuffer operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeUploadBuffer service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeUploadBufferAsync( final DescribeUploadBufferRequest describeUploadBufferRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeUploadBufferResult call() throws Exception { DescribeUploadBufferResult result; try { result = describeUploadBuffer(describeUploadBufferRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeUploadBufferRequest, result); return result; } }); } /** *

* This operation deletes Challenge-Handshake Authentication Protocol * (CHAP) credentials for a specified iSCSI target and initiator pair. *

* * @param deleteChapCredentialsRequest Container for the necessary * parameters to execute the DeleteChapCredentials operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteChapCredentials service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteChapCredentialsAsync(final DeleteChapCredentialsRequest deleteChapCredentialsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteChapCredentialsResult call() throws Exception { return deleteChapCredentials(deleteChapCredentialsRequest); } }); } /** *

* This operation deletes Challenge-Handshake Authentication Protocol * (CHAP) credentials for a specified iSCSI target and initiator pair. *

* * @param deleteChapCredentialsRequest Container for the necessary * parameters to execute the DeleteChapCredentials operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteChapCredentials service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteChapCredentialsAsync( final DeleteChapCredentialsRequest deleteChapCredentialsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteChapCredentialsResult call() throws Exception { DeleteChapCredentialsResult result; try { result = deleteChapCredentials(deleteChapCredentialsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteChapCredentialsRequest, result); return result; } }); } /** *

* This operation configures one or more gateway local disks as cache for * a cached-volume gateway. This operation is supported only for the * gateway-cached volume architecture (see * Storage Gateway Concepts * ). *

*

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

* * @param addCacheRequest Container for the necessary parameters to * execute the AddCache operation on AWSStorageGateway. * * @return A Java Future object containing the response from the AddCache * service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future addCacheAsync(final AddCacheRequest addCacheRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddCacheResult call() throws Exception { return addCache(addCacheRequest); } }); } /** *

* This operation configures one or more gateway local disks as cache for * a cached-volume gateway. This operation is supported only for the * gateway-cached volume architecture (see * Storage Gateway Concepts * ). *

*

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

* * @param addCacheRequest Container for the necessary parameters to * execute the AddCache operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the AddCache * service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future addCacheAsync( final AddCacheRequest addCacheRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddCacheResult call() throws Exception { AddCacheResult result; try { result = addCache(addCacheRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(addCacheRequest, result); return result; } }); } /** *

* This operation 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. *

* * @param describeGatewayInformationRequest Container for the necessary * parameters to execute the DescribeGatewayInformation operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeGatewayInformation service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeGatewayInformationAsync(final DescribeGatewayInformationRequest describeGatewayInformationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeGatewayInformationResult call() throws Exception { return describeGatewayInformation(describeGatewayInformationRequest); } }); } /** *

* This operation 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. *

* * @param describeGatewayInformationRequest Container for the necessary * parameters to execute the DescribeGatewayInformation operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeGatewayInformation service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeGatewayInformationAsync( final DescribeGatewayInformationRequest describeGatewayInformationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeGatewayInformationResult call() throws Exception { DescribeGatewayInformationResult result; try { result = describeGatewayInformation(describeGatewayInformationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeGatewayInformationRequest, result); return result; } }); } /** *

* This operation activates the gateway you previously deployed on your * host. For more information, see * Downloading and Deploying AWS Storage Gateway VM * . In the activation process you specify information such as the * region you want to use for storing snapshots, the time zone for * scheduled snapshots and the gateway schedule window, an activation * key, and a name for your gateway. The activation process also * associates your gateway with your account (see * UpdateGatewayInformation). *

*

* NOTE:You must power on the gateway VM before you can activate * your gateway. *

* * @param activateGatewayRequest Container for the necessary parameters * to execute the ActivateGateway operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * ActivateGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future activateGatewayAsync(final ActivateGatewayRequest activateGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ActivateGatewayResult call() throws Exception { return activateGateway(activateGatewayRequest); } }); } /** *

* This operation activates the gateway you previously deployed on your * host. For more information, see * Downloading and Deploying AWS Storage Gateway VM * . In the activation process you specify information such as the * region you want to use for storing snapshots, the time zone for * scheduled snapshots and the gateway schedule window, an activation * key, and a name for your gateway. The activation process also * associates your gateway with your account (see * UpdateGatewayInformation). *

*

* NOTE:You must power on the gateway VM before you can activate * your gateway. *

* * @param activateGatewayRequest Container for the necessary parameters * to execute the ActivateGateway operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ActivateGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future activateGatewayAsync( final ActivateGatewayRequest activateGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ActivateGatewayResult call() throws Exception { ActivateGatewayResult result; try { result = activateGateway(activateGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(activateGatewayRequest, result); return result; } }); } /** *

* Returns a description of specified virtual tapes in the Virtual Tape * Shelf (VTS). *

*

* If a specific TapeARN is not specified, AWS Storage * Gateway returns a description all virtual tapes found in the Virtual * Tape Shelf (VTS) associated with your account. *

* * @param describeTapeArchivesRequest Container for the necessary * parameters to execute the DescribeTapeArchives operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeTapeArchives service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTapeArchivesAsync(final DescribeTapeArchivesRequest describeTapeArchivesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTapeArchivesResult call() throws Exception { return describeTapeArchives(describeTapeArchivesRequest); } }); } /** *

* Returns a description of specified virtual tapes in the Virtual Tape * Shelf (VTS). *

*

* If a specific TapeARN is not specified, AWS Storage * Gateway returns a description all virtual tapes found in the Virtual * Tape Shelf (VTS) associated with your account. *

* * @param describeTapeArchivesRequest Container for the necessary * parameters to execute the DescribeTapeArchives operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTapeArchives service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTapeArchivesAsync( final DescribeTapeArchivesRequest describeTapeArchivesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTapeArchivesResult call() throws Exception { DescribeTapeArchivesResult result; try { result = describeTapeArchives(describeTapeArchivesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTapeArchivesRequest, result); return result; } }); } /** *

* This operation 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. *

* * @param updateGatewayInformationRequest Container for the necessary * parameters to execute the UpdateGatewayInformation operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * UpdateGatewayInformation service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateGatewayInformationAsync(final UpdateGatewayInformationRequest updateGatewayInformationRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateGatewayInformationResult call() throws Exception { return updateGatewayInformation(updateGatewayInformationRequest); } }); } /** *

* This operation 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. *

* * @param updateGatewayInformationRequest Container for the necessary * parameters to execute the UpdateGatewayInformation operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateGatewayInformation service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateGatewayInformationAsync( final UpdateGatewayInformationRequest updateGatewayInformationRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateGatewayInformationResult call() throws Exception { UpdateGatewayInformationResult result; try { result = updateGatewayInformation(updateGatewayInformationRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateGatewayInformationRequest, result); return result; } }); } /** *

* This operation returns a list of the local disks of a gateway. 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 all disks, specifying which are configured as * working storage, stored volume or not configured at all. *

* * @param listLocalDisksRequest Container for the necessary parameters to * execute the ListLocalDisks operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * ListLocalDisks service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listLocalDisksAsync(final ListLocalDisksRequest listLocalDisksRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListLocalDisksResult call() throws Exception { return listLocalDisks(listLocalDisksRequest); } }); } /** *

* This operation returns a list of the local disks of a gateway. 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 all disks, specifying which are configured as * working storage, stored volume or not configured at all. *

* * @param listLocalDisksRequest Container for the necessary parameters to * execute the ListLocalDisks operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListLocalDisks service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listLocalDisksAsync( final ListLocalDisksRequest listLocalDisksRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListLocalDisksResult call() throws Exception { ListLocalDisksResult result; try { result = listLocalDisks(listLocalDisksRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listLocalDisksRequest, result); return result; } }); } /** *

* Deletes the specified virtual tape from the Virtual Tape Shelf (VTS). *

* * @param deleteTapeArchiveRequest Container for the necessary parameters * to execute the DeleteTapeArchive operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteTapeArchive service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTapeArchiveAsync(final DeleteTapeArchiveRequest deleteTapeArchiveRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteTapeArchiveResult call() throws Exception { return deleteTapeArchive(deleteTapeArchiveRequest); } }); } /** *

* Deletes the specified virtual tape from the Virtual Tape Shelf (VTS). *

* * @param deleteTapeArchiveRequest Container for the necessary parameters * to execute the DeleteTapeArchive operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteTapeArchive service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTapeArchiveAsync( final DeleteTapeArchiveRequest deleteTapeArchiveRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteTapeArchiveResult call() throws Exception { DeleteTapeArchiveResult result; try { result = deleteTapeArchive(deleteTapeArchiveRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteTapeArchiveRequest, result); return result; } }); } /** *

* This operation returns information about the cache of a gateway. This * operation is supported only for the gateway-cached volume * architecture. *

*

* The response includes disk IDs that are configured as cache, and it * includes the amount of cache allocated and used. *

* * @param describeCacheRequest Container for the necessary parameters to * execute the DescribeCache operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeCache service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCacheAsync(final DescribeCacheRequest describeCacheRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCacheResult call() throws Exception { return describeCache(describeCacheRequest); } }); } /** *

* This operation returns information about the cache of a gateway. This * operation is supported only for the gateway-cached volume * architecture. *

*

* The response includes disk IDs that are configured as cache, and it * includes the amount of cache allocated and used. *

* * @param describeCacheRequest Container for the necessary parameters to * execute the DescribeCache operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeCache service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCacheAsync( final DescribeCacheRequest describeCacheRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCacheResult call() throws Exception { DescribeCacheResult result; try { result = describeCache(describeCacheRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeCacheRequest, result); return result; } }); } /** *

* This operation 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. *

*

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

* * @param updateBandwidthRateLimitRequest Container for the necessary * parameters to execute the UpdateBandwidthRateLimit operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * UpdateBandwidthRateLimit service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateBandwidthRateLimitAsync(final UpdateBandwidthRateLimitRequest updateBandwidthRateLimitRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateBandwidthRateLimitResult call() throws Exception { return updateBandwidthRateLimit(updateBandwidthRateLimitRequest); } }); } /** *

* This operation 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. *

*

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

* * @param updateBandwidthRateLimitRequest Container for the necessary * parameters to execute the UpdateBandwidthRateLimit operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateBandwidthRateLimit service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateBandwidthRateLimitAsync( final UpdateBandwidthRateLimitRequest updateBandwidthRateLimitRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateBandwidthRateLimitResult call() throws Exception { UpdateBandwidthRateLimitResult result; try { result = updateBandwidthRateLimit(updateBandwidthRateLimitRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateBandwidthRateLimitRequest, result); return result; } }); } /** *

* Disables a gateway when the gateway is no longer functioning. For * examples, if your gateway VM is damaged, you can disable the gateway * so you can recover virtual tapes. *

*

* Use this operation for a Gateway-Virtual Tape Library that is not * reachable or not functioning. *

*

* IMPORTANT:Once a gateway is disabled it cannot be enabled. *

* * @param disableGatewayRequest Container for the necessary parameters to * execute the DisableGateway operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DisableGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future disableGatewayAsync(final DisableGatewayRequest disableGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DisableGatewayResult call() throws Exception { return disableGateway(disableGatewayRequest); } }); } /** *

* Disables a gateway when the gateway is no longer functioning. For * examples, if your gateway VM is damaged, you can disable the gateway * so you can recover virtual tapes. *

*

* Use this operation for a Gateway-Virtual Tape Library that is not * reachable or not functioning. *

*

* IMPORTANT:Once a gateway is disabled it cannot be enabled. *

* * @param disableGatewayRequest Container for the necessary parameters to * execute the DisableGateway operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DisableGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future disableGatewayAsync( final DisableGatewayRequest disableGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DisableGatewayResult call() throws Exception { DisableGatewayResult result; try { result = disableGateway(disableGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(disableGatewayRequest, result); return result; } }); } /** *

* This operation returns information about the working storage of a * gateway. This operation is supported only for the gateway-stored * volume architecture. *

*

* NOTE: 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. *

* * @param describeWorkingStorageRequest Container for the necessary * parameters to execute the DescribeWorkingStorage operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeWorkingStorage service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeWorkingStorageAsync(final DescribeWorkingStorageRequest describeWorkingStorageRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeWorkingStorageResult call() throws Exception { return describeWorkingStorage(describeWorkingStorageRequest); } }); } /** *

* This operation returns information about the working storage of a * gateway. This operation is supported only for the gateway-stored * volume architecture. *

*

* NOTE: 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. *

* * @param describeWorkingStorageRequest Container for the necessary * parameters to execute the DescribeWorkingStorage operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeWorkingStorage service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeWorkingStorageAsync( final DescribeWorkingStorageRequest describeWorkingStorageRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeWorkingStorageResult call() throws Exception { DescribeWorkingStorageResult result; try { result = describeWorkingStorage(describeWorkingStorageRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeWorkingStorageRequest, result); return result; } }); } /** *

* This operation 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. *

* * @param updateMaintenanceStartTimeRequest Container for the necessary * parameters to execute the UpdateMaintenanceStartTime operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * UpdateMaintenanceStartTime service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateMaintenanceStartTimeAsync(final UpdateMaintenanceStartTimeRequest updateMaintenanceStartTimeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateMaintenanceStartTimeResult call() throws Exception { return updateMaintenanceStartTime(updateMaintenanceStartTimeRequest); } }); } /** *

* This operation 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. *

* * @param updateMaintenanceStartTimeRequest Container for the necessary * parameters to execute the UpdateMaintenanceStartTime operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateMaintenanceStartTime service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateMaintenanceStartTimeAsync( final UpdateMaintenanceStartTimeRequest updateMaintenanceStartTimeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateMaintenanceStartTimeResult call() throws Exception { UpdateMaintenanceStartTimeResult result; try { result = updateMaintenanceStartTime(updateMaintenanceStartTimeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateMaintenanceStartTimeRequest, result); return result; } }); } /** *

* Deletes the specified virtual tape. *

* * @param deleteTapeRequest Container for the necessary parameters to * execute the DeleteTape operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteTape service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTapeAsync(final DeleteTapeRequest deleteTapeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteTapeResult call() throws Exception { return deleteTape(deleteTapeRequest); } }); } /** *

* Deletes the specified virtual tape. *

* * @param deleteTapeRequest Container for the necessary parameters to * execute the DeleteTape operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteTape service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteTapeAsync( final DeleteTapeRequest deleteTapeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteTapeResult call() throws Exception { DeleteTapeResult result; try { result = deleteTape(deleteTapeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteTapeRequest, result); return result; } }); } /** *

* This operation 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. *

*

* NOTE: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. *

* * @param startGatewayRequest Container for the necessary parameters to * execute the StartGateway operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * StartGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future startGatewayAsync(final StartGatewayRequest startGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StartGatewayResult call() throws Exception { return startGateway(startGatewayRequest); } }); } /** *

* This operation 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. *

*

* NOTE: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. *

* * @param startGatewayRequest Container for the necessary parameters to * execute the StartGateway operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * StartGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future startGatewayAsync( final StartGatewayRequest startGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public StartGatewayResult call() throws Exception { StartGatewayResult result; try { result = startGateway(startGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(startGatewayRequest, result); return result; } }); } /** *

* This operation returns an array of Challenge-Handshake Authentication * Protocol (CHAP) credentials information for a specified iSCSI target, * one for each target-initiator pair. *

* * @param describeChapCredentialsRequest Container for the necessary * parameters to execute the DescribeChapCredentials operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeChapCredentials service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeChapCredentialsAsync(final DescribeChapCredentialsRequest describeChapCredentialsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeChapCredentialsResult call() throws Exception { return describeChapCredentials(describeChapCredentialsRequest); } }); } /** *

* This operation returns an array of Challenge-Handshake Authentication * Protocol (CHAP) credentials information for a specified iSCSI target, * one for each target-initiator pair. *

* * @param describeChapCredentialsRequest Container for the necessary * parameters to execute the DescribeChapCredentials operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeChapCredentials service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeChapCredentialsAsync( final DescribeChapCredentialsRequest describeChapCredentialsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeChapCredentialsResult call() throws Exception { DescribeChapCredentialsResult result; try { result = describeChapCredentials(describeChapCredentialsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeChapCredentialsRequest, result); return result; } }); } /** *

* This operation describes the snapshot schedule for the specified * gateway volume. The snapshot schedule information includes intervals * at which snapshots are automatically initiated on the volume. *

* * @param describeSnapshotScheduleRequest Container for the necessary * parameters to execute the DescribeSnapshotSchedule operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeSnapshotSchedule service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSnapshotScheduleAsync(final DescribeSnapshotScheduleRequest describeSnapshotScheduleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSnapshotScheduleResult call() throws Exception { return describeSnapshotSchedule(describeSnapshotScheduleRequest); } }); } /** *

* This operation describes the snapshot schedule for the specified * gateway volume. The snapshot schedule information includes intervals * at which snapshots are automatically initiated on the volume. *

* * @param describeSnapshotScheduleRequest Container for the necessary * parameters to execute the DescribeSnapshotSchedule operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeSnapshotSchedule service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeSnapshotScheduleAsync( final DescribeSnapshotScheduleRequest describeSnapshotScheduleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeSnapshotScheduleResult call() throws Exception { DescribeSnapshotScheduleResult result; try { result = describeSnapshotSchedule(describeSnapshotScheduleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeSnapshotScheduleRequest, result); return result; } }); } /** *

* This operation delete the specified gateway volume that you previously * created using the CreateStorediSCSIVolume API. For gateway-stored * volumes, 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 gateway 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. *

* * @param deleteVolumeRequest Container for the necessary parameters to * execute the DeleteVolume operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteVolume service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVolumeAsync(final DeleteVolumeRequest deleteVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteVolumeResult call() throws Exception { return deleteVolume(deleteVolumeRequest); } }); } /** *

* This operation delete the specified gateway volume that you previously * created using the CreateStorediSCSIVolume API. For gateway-stored * volumes, 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 gateway 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. *

* * @param deleteVolumeRequest Container for the necessary parameters to * execute the DeleteVolume operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteVolume service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteVolumeAsync( final DeleteVolumeRequest deleteVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteVolumeResult call() throws Exception { DeleteVolumeResult result; try { result = deleteVolume(deleteVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteVolumeRequest, result); return result; } }); } /** *

* This operation initiates a snapshot of a gateway from a volume * recovery point. This operation is supported only for the * gateway-cached volume architecture (see ). *

*

* 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 gateway-cached volumes, 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 AWS Storage * Gateway takes a snapshot of the specified volume, the snapshot and its * description appear in the AWS Storage Gateway console. In response, * AWS 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. *

*

* NOTE: To list or delete a snapshot, you must use the Amazon EC2 * API. For more information, in Amazon Elastic Compute Cloud API * Reference. *

* * @param createSnapshotFromVolumeRecoveryPointRequest Container for the * necessary parameters to execute the * CreateSnapshotFromVolumeRecoveryPoint operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * CreateSnapshotFromVolumeRecoveryPoint service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createSnapshotFromVolumeRecoveryPointAsync(final CreateSnapshotFromVolumeRecoveryPointRequest createSnapshotFromVolumeRecoveryPointRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSnapshotFromVolumeRecoveryPointResult call() throws Exception { return createSnapshotFromVolumeRecoveryPoint(createSnapshotFromVolumeRecoveryPointRequest); } }); } /** *

* This operation initiates a snapshot of a gateway from a volume * recovery point. This operation is supported only for the * gateway-cached volume architecture (see ). *

*

* 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 gateway-cached volumes, 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 AWS Storage * Gateway takes a snapshot of the specified volume, the snapshot and its * description appear in the AWS Storage Gateway console. In response, * AWS 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. *

*

* NOTE: To list or delete a snapshot, you must use the Amazon EC2 * API. For more information, in Amazon Elastic Compute Cloud API * Reference. *

* * @param createSnapshotFromVolumeRecoveryPointRequest Container for the * necessary parameters to execute the * CreateSnapshotFromVolumeRecoveryPoint operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateSnapshotFromVolumeRecoveryPoint service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createSnapshotFromVolumeRecoveryPointAsync( final CreateSnapshotFromVolumeRecoveryPointRequest createSnapshotFromVolumeRecoveryPointRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateSnapshotFromVolumeRecoveryPointResult call() throws Exception { CreateSnapshotFromVolumeRecoveryPointResult result; try { result = createSnapshotFromVolumeRecoveryPoint(createSnapshotFromVolumeRecoveryPointRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createSnapshotFromVolumeRecoveryPointRequest, result); return result; } }); } /** *

* This operation 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. *

*

* IMPORTANT: 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 AWS Storage Gateway Detail * Page. *

* * @param deleteGatewayRequest Container for the necessary parameters to * execute the DeleteGateway operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteGatewayAsync(final DeleteGatewayRequest deleteGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteGatewayResult call() throws Exception { return deleteGateway(deleteGatewayRequest); } }); } /** *

* This operation 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. *

*

* IMPORTANT: 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 AWS Storage Gateway Detail * Page. *

* * @param deleteGatewayRequest Container for the necessary parameters to * execute the DeleteGateway operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteGatewayAsync( final DeleteGatewayRequest deleteGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteGatewayResult call() throws Exception { DeleteGatewayResult result; try { result = deleteGateway(deleteGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteGatewayRequest, result); return result; } }); } /** *

* This operation creates a cached volume on a specified cached gateway. * This operation is supported only for the gateway-cached volume * architecture. *

*

* NOTE: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, AWS Storage Gateway * creates the volume and returns information about it 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. *

* * @param createCachediSCSIVolumeRequest Container for the necessary * parameters to execute the CreateCachediSCSIVolume operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * CreateCachediSCSIVolume service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createCachediSCSIVolumeAsync(final CreateCachediSCSIVolumeRequest createCachediSCSIVolumeRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateCachediSCSIVolumeResult call() throws Exception { return createCachediSCSIVolume(createCachediSCSIVolumeRequest); } }); } /** *

* This operation creates a cached volume on a specified cached gateway. * This operation is supported only for the gateway-cached volume * architecture. *

*

* NOTE: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, AWS Storage Gateway * creates the volume and returns information about it 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. *

* * @param createCachediSCSIVolumeRequest Container for the necessary * parameters to execute the CreateCachediSCSIVolume operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CreateCachediSCSIVolume service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future createCachediSCSIVolumeAsync( final CreateCachediSCSIVolumeRequest createCachediSCSIVolumeRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CreateCachediSCSIVolumeResult call() throws Exception { CreateCachediSCSIVolumeResult result; try { result = createCachediSCSIVolume(createCachediSCSIVolumeRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(createCachediSCSIVolumeRequest, result); return result; } }); } /** *

* This operation 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 * storage gateway's virtual machine (VM) and not the VM. *

*

* NOTE: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. *

*

* NOTE: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. *

* * @param shutdownGatewayRequest Container for the necessary parameters * to execute the ShutdownGateway operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * ShutdownGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future shutdownGatewayAsync(final ShutdownGatewayRequest shutdownGatewayRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ShutdownGatewayResult call() throws Exception { return shutdownGateway(shutdownGatewayRequest); } }); } /** *

* This operation 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 * storage gateway's virtual machine (VM) and not the VM. *

*

* NOTE: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. *

*

* NOTE: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. *

* * @param shutdownGatewayRequest Container for the necessary parameters * to execute the ShutdownGateway operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ShutdownGateway service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future shutdownGatewayAsync( final ShutdownGatewayRequest shutdownGatewayRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ShutdownGatewayResult call() throws Exception { ShutdownGatewayResult result; try { result = shutdownGateway(shutdownGatewayRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(shutdownGatewayRequest, result); return result; } }); } /** *

* This operation 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. *

* * @param deleteBandwidthRateLimitRequest Container for the necessary * parameters to execute the DeleteBandwidthRateLimit operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DeleteBandwidthRateLimit service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteBandwidthRateLimitAsync(final DeleteBandwidthRateLimitRequest deleteBandwidthRateLimitRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteBandwidthRateLimitResult call() throws Exception { return deleteBandwidthRateLimit(deleteBandwidthRateLimitRequest); } }); } /** *

* This operation 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. *

* * @param deleteBandwidthRateLimitRequest Container for the necessary * parameters to execute the DeleteBandwidthRateLimit operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DeleteBandwidthRateLimit service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future deleteBandwidthRateLimitAsync( final DeleteBandwidthRateLimitRequest deleteBandwidthRateLimitRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DeleteBandwidthRateLimitResult call() throws Exception { DeleteBandwidthRateLimitResult result; try { result = deleteBandwidthRateLimit(deleteBandwidthRateLimitRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(deleteBandwidthRateLimitRequest, result); return result; } }); } /** *

* This operation 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 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. *

* * @param listVolumesRequest Container for the necessary parameters to * execute the ListVolumes operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * ListVolumes service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listVolumesAsync(final ListVolumesRequest listVolumesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListVolumesResult call() throws Exception { return listVolumes(listVolumesRequest); } }); } /** *

* This operation 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 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. *

* * @param listVolumesRequest Container for the necessary parameters to * execute the ListVolumes operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListVolumes service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listVolumesAsync( final ListVolumesRequest listVolumesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListVolumesResult call() throws Exception { ListVolumesResult result; try { result = listVolumes(listVolumesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listVolumesRequest, result); return result; } }); } /** *

* Returns a list of virtual tape recovery points that are available for * the specified Gateway-Virtual Tape Library. *

*

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

* * @param describeTapeRecoveryPointsRequest Container for the necessary * parameters to execute the DescribeTapeRecoveryPoints operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeTapeRecoveryPoints service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTapeRecoveryPointsAsync(final DescribeTapeRecoveryPointsRequest describeTapeRecoveryPointsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTapeRecoveryPointsResult call() throws Exception { return describeTapeRecoveryPoints(describeTapeRecoveryPointsRequest); } }); } /** *

* Returns a list of virtual tape recovery points that are available for * the specified Gateway-Virtual Tape Library. *

*

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

* * @param describeTapeRecoveryPointsRequest Container for the necessary * parameters to execute the DescribeTapeRecoveryPoints operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeTapeRecoveryPoints service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeTapeRecoveryPointsAsync( final DescribeTapeRecoveryPointsRequest describeTapeRecoveryPointsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeTapeRecoveryPointsResult call() throws Exception { DescribeTapeRecoveryPointsResult result; try { result = describeTapeRecoveryPoints(describeTapeRecoveryPointsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeTapeRecoveryPointsRequest, result); return result; } }); } /** *

* This operation updates a snapshot schedule configured for a gateway * volume. *

*

* The default snapshot schedule for volume is once every 24 hours, * starting at the creation time of the volume. You can use this API to * change the snapshot schedule configured for the volume. *

*

* In the request you must identify the gateway volume whose snapshot * schedule you want to update, and the schedule information, including * when you want the snapshot to begin on a day and the frequency (in * hours) of snapshots. *

* * @param updateSnapshotScheduleRequest Container for the necessary * parameters to execute the UpdateSnapshotSchedule operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * UpdateSnapshotSchedule service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateSnapshotScheduleAsync(final UpdateSnapshotScheduleRequest updateSnapshotScheduleRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateSnapshotScheduleResult call() throws Exception { return updateSnapshotSchedule(updateSnapshotScheduleRequest); } }); } /** *

* This operation updates a snapshot schedule configured for a gateway * volume. *

*

* The default snapshot schedule for volume is once every 24 hours, * starting at the creation time of the volume. You can use this API to * change the snapshot schedule configured for the volume. *

*

* In the request you must identify the gateway volume whose snapshot * schedule you want to update, and the schedule information, including * when you want the snapshot to begin on a day and the frequency (in * hours) of snapshots. *

* * @param updateSnapshotScheduleRequest Container for the necessary * parameters to execute the UpdateSnapshotSchedule operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * UpdateSnapshotSchedule service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future updateSnapshotScheduleAsync( final UpdateSnapshotScheduleRequest updateSnapshotScheduleRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public UpdateSnapshotScheduleResult call() throws Exception { UpdateSnapshotScheduleResult result; try { result = updateSnapshotSchedule(updateSnapshotScheduleRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(updateSnapshotScheduleRequest, result); return result; } }); } /** *

* This operation lists gateways owned by an AWS account in a 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. *

* * @param listGatewaysRequest Container for the necessary parameters to * execute the ListGateways operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * ListGateways service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listGatewaysAsync(final ListGatewaysRequest listGatewaysRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGatewaysResult call() throws Exception { return listGateways(listGatewaysRequest); } }); } /** *

* This operation lists gateways owned by an AWS account in a 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. *

* * @param listGatewaysRequest Container for the necessary parameters to * execute the ListGateways operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListGateways service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listGatewaysAsync( final ListGatewaysRequest listGatewaysRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListGatewaysResult call() throws Exception { ListGatewaysResult result; try { result = listGateways(listGatewaysRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listGatewaysRequest, result); return result; } }); } /** *

* This operation configures one or more gateway local disks as upload * buffer for a specified gateway. This operation is supported for both * the gateway-stored and gateway-cached volume architectures. *

*

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

* * @param addUploadBufferRequest Container for the necessary parameters * to execute the AddUploadBuffer operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * AddUploadBuffer service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future addUploadBufferAsync(final AddUploadBufferRequest addUploadBufferRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddUploadBufferResult call() throws Exception { return addUploadBuffer(addUploadBufferRequest); } }); } /** *

* This operation configures one or more gateway local disks as upload * buffer for a specified gateway. This operation is supported for both * the gateway-stored and gateway-cached volume architectures. *

*

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

* * @param addUploadBufferRequest Container for the necessary parameters * to execute the AddUploadBuffer operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * AddUploadBuffer service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future addUploadBufferAsync( final AddUploadBufferRequest addUploadBufferRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public AddUploadBufferResult call() throws Exception { AddUploadBufferResult result; try { result = addUploadBuffer(addUploadBufferRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(addUploadBufferRequest, result); return result; } }); } /** *

* This operation returns a description of the gateway volumes specified * in the request. This operation is supported only for the * gateway-cached volume architecture. *

*

* The list of gateway volumes in the request must be from one gateway. * In the response Amazon Storage Gateway returns volume information * sorted by volume Amazon Resource Name (ARN). *

* * @param describeCachediSCSIVolumesRequest Container for the necessary * parameters to execute the DescribeCachediSCSIVolumes operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeCachediSCSIVolumes service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCachediSCSIVolumesAsync(final DescribeCachediSCSIVolumesRequest describeCachediSCSIVolumesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCachediSCSIVolumesResult call() throws Exception { return describeCachediSCSIVolumes(describeCachediSCSIVolumesRequest); } }); } /** *

* This operation returns a description of the gateway volumes specified * in the request. This operation is supported only for the * gateway-cached volume architecture. *

*

* The list of gateway volumes in the request must be from one gateway. * In the response Amazon Storage Gateway returns volume information * sorted by volume Amazon Resource Name (ARN). *

* * @param describeCachediSCSIVolumesRequest Container for the necessary * parameters to execute the DescribeCachediSCSIVolumes operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeCachediSCSIVolumes service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeCachediSCSIVolumesAsync( final DescribeCachediSCSIVolumesRequest describeCachediSCSIVolumesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeCachediSCSIVolumesResult call() throws Exception { DescribeCachediSCSIVolumesResult result; try { result = describeCachediSCSIVolumes(describeCachediSCSIVolumesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeCachediSCSIVolumesRequest, result); return result; } }); } /** *

* This operation returns 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 Amazon Storage Gateway returns volume * information sorted by volume ARNs. *

* * @param describeStorediSCSIVolumesRequest Container for the necessary * parameters to execute the DescribeStorediSCSIVolumes operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeStorediSCSIVolumes service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeStorediSCSIVolumesAsync(final DescribeStorediSCSIVolumesRequest describeStorediSCSIVolumesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeStorediSCSIVolumesResult call() throws Exception { return describeStorediSCSIVolumes(describeStorediSCSIVolumesRequest); } }); } /** *

* This operation returns 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 Amazon Storage Gateway returns volume * information sorted by volume ARNs. *

* * @param describeStorediSCSIVolumesRequest Container for the necessary * parameters to execute the DescribeStorediSCSIVolumes operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeStorediSCSIVolumes service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeStorediSCSIVolumesAsync( final DescribeStorediSCSIVolumesRequest describeStorediSCSIVolumesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeStorediSCSIVolumesResult call() throws Exception { DescribeStorediSCSIVolumesResult result; try { result = describeStorediSCSIVolumes(describeStorediSCSIVolumesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeStorediSCSIVolumesRequest, result); return result; } }); } /** *

* This operation lists the recovery points for a specified gateway. This * operation is supported only for the gateway-cached volume * architecture. *

*

* Each gateway-cached 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. To create a snapshot from a * volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint * operation. *

* * @param listVolumeRecoveryPointsRequest Container for the necessary * parameters to execute the ListVolumeRecoveryPoints operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * ListVolumeRecoveryPoints service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listVolumeRecoveryPointsAsync(final ListVolumeRecoveryPointsRequest listVolumeRecoveryPointsRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListVolumeRecoveryPointsResult call() throws Exception { return listVolumeRecoveryPoints(listVolumeRecoveryPointsRequest); } }); } /** *

* This operation lists the recovery points for a specified gateway. This * operation is supported only for the gateway-cached volume * architecture. *

*

* Each gateway-cached 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. To create a snapshot from a * volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint * operation. *

* * @param listVolumeRecoveryPointsRequest Container for the necessary * parameters to execute the ListVolumeRecoveryPoints operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * ListVolumeRecoveryPoints service method, as returned by * AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future listVolumeRecoveryPointsAsync( final ListVolumeRecoveryPointsRequest listVolumeRecoveryPointsRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public ListVolumeRecoveryPointsResult call() throws Exception { ListVolumeRecoveryPointsResult result; try { result = listVolumeRecoveryPoints(listVolumeRecoveryPointsRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(listVolumeRecoveryPointsRequest, result); return result; } }); } /** *

* Returns a description of Virtual Tape Library (VTL) devices for the * gateway specified in the request. In the response, AWS Storage Gateway * returns Virtual Tape Library device information. *

*

* The list of Virtual Tape Library devices in the request must be from * one gateway. *

* * @param describeVTLDevicesRequest Container for the necessary * parameters to execute the DescribeVTLDevices operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * DescribeVTLDevices service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVTLDevicesAsync(final DescribeVTLDevicesRequest describeVTLDevicesRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVTLDevicesResult call() throws Exception { return describeVTLDevices(describeVTLDevicesRequest); } }); } /** *

* Returns a description of Virtual Tape Library (VTL) devices for the * gateway specified in the request. In the response, AWS Storage Gateway * returns Virtual Tape Library device information. *

*

* The list of Virtual Tape Library devices in the request must be from * one gateway. *

* * @param describeVTLDevicesRequest Container for the necessary * parameters to execute the DescribeVTLDevices operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * DescribeVTLDevices service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future describeVTLDevicesAsync( final DescribeVTLDevicesRequest describeVTLDevicesRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public DescribeVTLDevicesResult call() throws Exception { DescribeVTLDevicesResult result; try { result = describeVTLDevices(describeVTLDevicesRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(describeVTLDevicesRequest, result); return result; } }); } /** *

* Retrieves an archived virtual tape from the Virtual Tape Shelf (VTS) * to a Gateway-Virtual Tape Library. Virtual tapes archived in the * Virtual Tape Shelf (VTS) are not associated with any gateway. However * after a tape is retrieved, it is associated with a gateway though it * also listed in VTS. *

*

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

* * @param retrieveTapeArchiveRequest Container for the necessary * parameters to execute the RetrieveTapeArchive operation on * AWSStorageGateway. * * @return A Java Future object containing the response from the * RetrieveTapeArchive service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future retrieveTapeArchiveAsync(final RetrieveTapeArchiveRequest retrieveTapeArchiveRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RetrieveTapeArchiveResult call() throws Exception { return retrieveTapeArchive(retrieveTapeArchiveRequest); } }); } /** *

* Retrieves an archived virtual tape from the Virtual Tape Shelf (VTS) * to a Gateway-Virtual Tape Library. Virtual tapes archived in the * Virtual Tape Shelf (VTS) are not associated with any gateway. However * after a tape is retrieved, it is associated with a gateway though it * also listed in VTS. *

*

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

* * @param retrieveTapeArchiveRequest Container for the necessary * parameters to execute the RetrieveTapeArchive operation on * AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * RetrieveTapeArchive service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future retrieveTapeArchiveAsync( final RetrieveTapeArchiveRequest retrieveTapeArchiveRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public RetrieveTapeArchiveResult call() throws Exception { RetrieveTapeArchiveResult result; try { result = retrieveTapeArchive(retrieveTapeArchiveRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(retrieveTapeArchiveRequest, result); return result; } }); } /** *

* Cancels archiving of a virtual tape to the Virtual Tape Shelf (VTS) * after archiving process is initiated. *

* * @param cancelArchivalRequest Container for the necessary parameters to * execute the CancelArchival operation on AWSStorageGateway. * * @return A Java Future object containing the response from the * CancelArchival service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelArchivalAsync(final CancelArchivalRequest cancelArchivalRequest) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelArchivalResult call() throws Exception { return cancelArchival(cancelArchivalRequest); } }); } /** *

* Cancels archiving of a virtual tape to the Virtual Tape Shelf (VTS) * after archiving process is initiated. *

* * @param cancelArchivalRequest Container for the necessary parameters to * execute the CancelArchival operation on AWSStorageGateway. * @param asyncHandler Asynchronous callback handler for events in the * life-cycle of the request. Users could provide the implementation of * the four callback methods in this interface to process the operation * result or handle the exception. * * @return A Java Future object containing the response from the * CancelArchival service method, as returned by AWSStorageGateway. * * * @throws AmazonClientException * If any internal errors are encountered inside the client while * attempting to make the request or handle the response. For example * if a network connection is not available. * @throws AmazonServiceException * If an error response is returned by AWSStorageGateway indicating * either a problem with the data in the request, or a server side issue. */ public Future cancelArchivalAsync( final CancelArchivalRequest cancelArchivalRequest, final AsyncHandler asyncHandler) throws AmazonServiceException, AmazonClientException { return executorService.submit(new Callable() { public CancelArchivalResult call() throws Exception { CancelArchivalResult result; try { result = cancelArchival(cancelArchivalRequest); } catch (Exception ex) { asyncHandler.onError(ex); throw ex; } asyncHandler.onSuccess(cancelArchivalRequest, result); return result; } }); } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy