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

com.amazonaws.services.storagegateway.AWSStorageGatewayClient 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.net.*;
import java.util.*;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.regions.*;
import com.amazonaws.auth.*;
import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.regions.*;
import com.amazonaws.internal.*;
import com.amazonaws.metrics.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.util.json.*;

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

/**
 * Client for accessing AWSStorageGateway.  All service calls made
 * using this client are blocking, and will not return until the service call
 * completes.
 * 

* 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 AWSStorageGatewayClient extends AmazonWebServiceClient implements AWSStorageGateway { /** Provider for AWS credentials. */ private AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSStorageGateway.class); /** * List of exception unmarshallers for all AWSStorageGateway exceptions. */ protected List jsonErrorUnmarshallers; /** * Constructs a new 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 AWSStorageGatewayClient() { this(new DefaultAWSCredentialsProviderChain(), new ClientConfiguration()); } /** * Constructs a new 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 AWSStorageGatewayClient(ClientConfiguration clientConfiguration) { this(new DefaultAWSCredentialsProviderChain(), clientConfiguration); } /** * Constructs a new client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. */ public AWSStorageGatewayClient(AWSCredentials awsCredentials) { this(awsCredentials, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials * and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentials The AWS credentials (access key ID and secret key) to use * when authenticating with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AWSStorageGateway * (ex: proxy settings, retry counts, etc.). */ public AWSStorageGatewayClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(adjustClientConfiguration(clientConfiguration)); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); init(); } /** * Constructs a new client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials provider. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. */ public AWSStorageGatewayClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, new ClientConfiguration()); } /** * Constructs a new client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials * provider and client configuration options. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AWSStorageGateway * (ex: proxy settings, retry counts, etc.). */ public AWSStorageGatewayClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on * AWSStorageGateway using the specified AWS account credentials * provider, client configuration options and request metric collector. * *

* All service calls made using this new client object are blocking, and will not * return until the service call completes. * * @param awsCredentialsProvider * The AWS credentials provider which will provide credentials * to authenticate requests with AWS services. * @param clientConfiguration The client configuration options controlling how this * client connects to AWSStorageGateway * (ex: proxy settings, retry counts, etc.). * @param requestMetricCollector optional request metric collector */ public AWSStorageGatewayClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(adjustClientConfiguration(clientConfiguration), requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; init(); } private void init() { jsonErrorUnmarshallers = new ArrayList(); jsonErrorUnmarshallers.add(new InvalidGatewayRequestExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new InternalServerErrorExceptionUnmarshaller()); jsonErrorUnmarshallers.add(new JsonErrorUnmarshaller()); // calling this.setEndPoint(...) will also modify the signer accordingly this.setEndpoint("storagegateway.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain( "/com/amazonaws/services/storagegateway/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain( "/com/amazonaws/services/storagegateway/request.handler2s")); } private static ClientConfiguration adjustClientConfiguration(ClientConfiguration orig) { ClientConfiguration config = orig; return config; } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DeleteSnapshotSchedule service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteSnapshotScheduleResult deleteSnapshotSchedule(DeleteSnapshotScheduleRequest deleteSnapshotScheduleRequest) { ExecutionContext executionContext = createExecutionContext(deleteSnapshotScheduleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteSnapshotScheduleRequestMarshaller().marshall(deleteSnapshotScheduleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteSnapshotScheduleResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method * on AWSStorageGateway. * * @return The response from the DescribeMaintenanceStartTime service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeMaintenanceStartTimeResult describeMaintenanceStartTime(DescribeMaintenanceStartTimeRequest describeMaintenanceStartTimeRequest) { ExecutionContext executionContext = createExecutionContext(describeMaintenanceStartTimeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeMaintenanceStartTimeRequestMarshaller().marshall(describeMaintenanceStartTimeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeMaintenanceStartTimeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the CreateStorediSCSIVolume service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CreateStorediSCSIVolumeResult createStorediSCSIVolume(CreateStorediSCSIVolumeRequest createStorediSCSIVolumeRequest) { ExecutionContext executionContext = createExecutionContext(createStorediSCSIVolumeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateStorediSCSIVolumeRequestMarshaller().marshall(createStorediSCSIVolumeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateStorediSCSIVolumeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the UpdateGatewaySoftwareNow service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 UpdateGatewaySoftwareNowResult updateGatewaySoftwareNow(UpdateGatewaySoftwareNowRequest updateGatewaySoftwareNowRequest) { ExecutionContext executionContext = createExecutionContext(updateGatewaySoftwareNowRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateGatewaySoftwareNowRequestMarshaller().marshall(updateGatewaySoftwareNowRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateGatewaySoftwareNowResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the CreateSnapshot service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CreateSnapshotResult createSnapshot(CreateSnapshotRequest createSnapshotRequest) { ExecutionContext executionContext = createExecutionContext(createSnapshotRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateSnapshotRequestMarshaller().marshall(createSnapshotRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateSnapshotResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the AddWorkingStorage service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 AddWorkingStorageResult addWorkingStorage(AddWorkingStorageRequest addWorkingStorageRequest) { ExecutionContext executionContext = createExecutionContext(addWorkingStorageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddWorkingStorageRequestMarshaller().marshall(addWorkingStorageRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new AddWorkingStorageResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the CancelRetrieval service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CancelRetrievalResult cancelRetrieval(CancelRetrievalRequest cancelRetrievalRequest) { ExecutionContext executionContext = createExecutionContext(cancelRetrievalRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CancelRetrievalRequestMarshaller().marshall(cancelRetrievalRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CancelRetrievalResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeBandwidthRateLimit service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeBandwidthRateLimitResult describeBandwidthRateLimit(DescribeBandwidthRateLimitRequest describeBandwidthRateLimitRequest) { ExecutionContext executionContext = createExecutionContext(describeBandwidthRateLimitRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeBandwidthRateLimitRequestMarshaller().marshall(describeBandwidthRateLimitRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeBandwidthRateLimitResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the DescribeTapes service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeTapesResult describeTapes(DescribeTapesRequest describeTapesRequest) { ExecutionContext executionContext = createExecutionContext(describeTapesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTapesRequestMarshaller().marshall(describeTapesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTapesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the RetrieveTapeRecoveryPoint service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 RetrieveTapeRecoveryPointResult retrieveTapeRecoveryPoint(RetrieveTapeRecoveryPointRequest retrieveTapeRecoveryPointRequest) { ExecutionContext executionContext = createExecutionContext(retrieveTapeRecoveryPointRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RetrieveTapeRecoveryPointRequestMarshaller().marshall(retrieveTapeRecoveryPointRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new RetrieveTapeRecoveryPointResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the UpdateChapCredentials service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 UpdateChapCredentialsResult updateChapCredentials(UpdateChapCredentialsRequest updateChapCredentialsRequest) { ExecutionContext executionContext = createExecutionContext(updateChapCredentialsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateChapCredentialsRequestMarshaller().marshall(updateChapCredentialsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateChapCredentialsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the CreateTapes service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CreateTapesResult createTapes(CreateTapesRequest createTapesRequest) { ExecutionContext executionContext = createExecutionContext(createTapesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTapesRequestMarshaller().marshall(createTapesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateTapesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeUploadBuffer service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeUploadBufferResult describeUploadBuffer(DescribeUploadBufferRequest describeUploadBufferRequest) { ExecutionContext executionContext = createExecutionContext(describeUploadBufferRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeUploadBufferRequestMarshaller().marshall(describeUploadBufferRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeUploadBufferResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DeleteChapCredentials service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteChapCredentialsResult deleteChapCredentials(DeleteChapCredentialsRequest deleteChapCredentialsRequest) { ExecutionContext executionContext = createExecutionContext(deleteChapCredentialsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteChapCredentialsRequestMarshaller().marshall(deleteChapCredentialsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteChapCredentialsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the AddCache service method, as returned by * AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 AddCacheResult addCache(AddCacheRequest addCacheRequest) { ExecutionContext executionContext = createExecutionContext(addCacheRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddCacheRequestMarshaller().marshall(addCacheRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new AddCacheResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeGatewayInformation service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeGatewayInformationResult describeGatewayInformation(DescribeGatewayInformationRequest describeGatewayInformationRequest) { ExecutionContext executionContext = createExecutionContext(describeGatewayInformationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeGatewayInformationRequestMarshaller().marshall(describeGatewayInformationRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeGatewayInformationResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the ActivateGateway service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ActivateGatewayResult activateGateway(ActivateGatewayRequest activateGatewayRequest) { ExecutionContext executionContext = createExecutionContext(activateGatewayRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ActivateGatewayRequestMarshaller().marshall(activateGatewayRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ActivateGatewayResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeTapeArchives service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeTapeArchivesResult describeTapeArchives(DescribeTapeArchivesRequest describeTapeArchivesRequest) { ExecutionContext executionContext = createExecutionContext(describeTapeArchivesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTapeArchivesRequestMarshaller().marshall(describeTapeArchivesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTapeArchivesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the UpdateGatewayInformation service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 UpdateGatewayInformationResult updateGatewayInformation(UpdateGatewayInformationRequest updateGatewayInformationRequest) { ExecutionContext executionContext = createExecutionContext(updateGatewayInformationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateGatewayInformationRequestMarshaller().marshall(updateGatewayInformationRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateGatewayInformationResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the ListLocalDisks service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ListLocalDisksResult listLocalDisks(ListLocalDisksRequest listLocalDisksRequest) { ExecutionContext executionContext = createExecutionContext(listLocalDisksRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListLocalDisksRequestMarshaller().marshall(listLocalDisksRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListLocalDisksResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @param deleteTapeArchiveRequest Container for the necessary parameters * to execute the DeleteTapeArchive service method on AWSStorageGateway. * * @return The response from the DeleteTapeArchive service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteTapeArchiveResult deleteTapeArchive(DeleteTapeArchiveRequest deleteTapeArchiveRequest) { ExecutionContext executionContext = createExecutionContext(deleteTapeArchiveRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTapeArchiveRequestMarshaller().marshall(deleteTapeArchiveRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteTapeArchiveResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the DescribeCache service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeCacheResult describeCache(DescribeCacheRequest describeCacheRequest) { ExecutionContext executionContext = createExecutionContext(describeCacheRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCacheRequestMarshaller().marshall(describeCacheRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeCacheResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the UpdateBandwidthRateLimit service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 UpdateBandwidthRateLimitResult updateBandwidthRateLimit(UpdateBandwidthRateLimitRequest updateBandwidthRateLimitRequest) { ExecutionContext executionContext = createExecutionContext(updateBandwidthRateLimitRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateBandwidthRateLimitRequestMarshaller().marshall(updateBandwidthRateLimitRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateBandwidthRateLimitResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the DisableGateway service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DisableGatewayResult disableGateway(DisableGatewayRequest disableGatewayRequest) { ExecutionContext executionContext = createExecutionContext(disableGatewayRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisableGatewayRequestMarshaller().marshall(disableGatewayRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DisableGatewayResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeWorkingStorage service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeWorkingStorageResult describeWorkingStorage(DescribeWorkingStorageRequest describeWorkingStorageRequest) { ExecutionContext executionContext = createExecutionContext(describeWorkingStorageRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeWorkingStorageRequestMarshaller().marshall(describeWorkingStorageRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeWorkingStorageResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the UpdateMaintenanceStartTime service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 UpdateMaintenanceStartTimeResult updateMaintenanceStartTime(UpdateMaintenanceStartTimeRequest updateMaintenanceStartTimeRequest) { ExecutionContext executionContext = createExecutionContext(updateMaintenanceStartTimeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateMaintenanceStartTimeRequestMarshaller().marshall(updateMaintenanceStartTimeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateMaintenanceStartTimeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* Deletes the specified virtual tape. *

* * @param deleteTapeRequest Container for the necessary parameters to * execute the DeleteTape service method on AWSStorageGateway. * * @return The response from the DeleteTape service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteTapeResult deleteTape(DeleteTapeRequest deleteTapeRequest) { ExecutionContext executionContext = createExecutionContext(deleteTapeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTapeRequestMarshaller().marshall(deleteTapeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteTapeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the StartGateway service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 StartGatewayResult startGateway(StartGatewayRequest startGatewayRequest) { ExecutionContext executionContext = createExecutionContext(startGatewayRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartGatewayRequestMarshaller().marshall(startGatewayRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new StartGatewayResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeChapCredentials service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeChapCredentialsResult describeChapCredentials(DescribeChapCredentialsRequest describeChapCredentialsRequest) { ExecutionContext executionContext = createExecutionContext(describeChapCredentialsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeChapCredentialsRequestMarshaller().marshall(describeChapCredentialsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeChapCredentialsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeSnapshotSchedule service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeSnapshotScheduleResult describeSnapshotSchedule(DescribeSnapshotScheduleRequest describeSnapshotScheduleRequest) { ExecutionContext executionContext = createExecutionContext(describeSnapshotScheduleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeSnapshotScheduleRequestMarshaller().marshall(describeSnapshotScheduleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeSnapshotScheduleResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the DeleteVolume service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteVolumeResult deleteVolume(DeleteVolumeRequest deleteVolumeRequest) { ExecutionContext executionContext = createExecutionContext(deleteVolumeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteVolumeRequestMarshaller().marshall(deleteVolumeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteVolumeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the CreateSnapshotFromVolumeRecoveryPoint * service method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CreateSnapshotFromVolumeRecoveryPointResult createSnapshotFromVolumeRecoveryPoint(CreateSnapshotFromVolumeRecoveryPointRequest createSnapshotFromVolumeRecoveryPointRequest) { ExecutionContext executionContext = createExecutionContext(createSnapshotFromVolumeRecoveryPointRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateSnapshotFromVolumeRecoveryPointRequestMarshaller().marshall(createSnapshotFromVolumeRecoveryPointRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateSnapshotFromVolumeRecoveryPointResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the DeleteGateway service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteGatewayResult deleteGateway(DeleteGatewayRequest deleteGatewayRequest) { ExecutionContext executionContext = createExecutionContext(deleteGatewayRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteGatewayRequestMarshaller().marshall(deleteGatewayRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteGatewayResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the CreateCachediSCSIVolume service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CreateCachediSCSIVolumeResult createCachediSCSIVolume(CreateCachediSCSIVolumeRequest createCachediSCSIVolumeRequest) { ExecutionContext executionContext = createExecutionContext(createCachediSCSIVolumeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateCachediSCSIVolumeRequestMarshaller().marshall(createCachediSCSIVolumeRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CreateCachediSCSIVolumeResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the ShutdownGateway service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ShutdownGatewayResult shutdownGateway(ShutdownGatewayRequest shutdownGatewayRequest) { ExecutionContext executionContext = createExecutionContext(shutdownGatewayRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ShutdownGatewayRequestMarshaller().marshall(shutdownGatewayRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ShutdownGatewayResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DeleteBandwidthRateLimit service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DeleteBandwidthRateLimitResult deleteBandwidthRateLimit(DeleteBandwidthRateLimitRequest deleteBandwidthRateLimitRequest) { ExecutionContext executionContext = createExecutionContext(deleteBandwidthRateLimitRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteBandwidthRateLimitRequestMarshaller().marshall(deleteBandwidthRateLimitRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DeleteBandwidthRateLimitResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the ListVolumes service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ListVolumesResult listVolumes(ListVolumesRequest listVolumesRequest) { ExecutionContext executionContext = createExecutionContext(listVolumesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListVolumesRequestMarshaller().marshall(listVolumesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListVolumesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeTapeRecoveryPoints service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeTapeRecoveryPointsResult describeTapeRecoveryPoints(DescribeTapeRecoveryPointsRequest describeTapeRecoveryPointsRequest) { ExecutionContext executionContext = createExecutionContext(describeTapeRecoveryPointsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeTapeRecoveryPointsRequestMarshaller().marshall(describeTapeRecoveryPointsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeTapeRecoveryPointsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the UpdateSnapshotSchedule service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 UpdateSnapshotScheduleResult updateSnapshotSchedule(UpdateSnapshotScheduleRequest updateSnapshotScheduleRequest) { ExecutionContext executionContext = createExecutionContext(updateSnapshotScheduleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateSnapshotScheduleRequestMarshaller().marshall(updateSnapshotScheduleRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new UpdateSnapshotScheduleResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the ListGateways service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ListGatewaysResult listGateways(ListGatewaysRequest listGatewaysRequest) { ExecutionContext executionContext = createExecutionContext(listGatewaysRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListGatewaysRequestMarshaller().marshall(listGatewaysRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListGatewaysResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the AddUploadBuffer service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 AddUploadBufferResult addUploadBuffer(AddUploadBufferRequest addUploadBufferRequest) { ExecutionContext executionContext = createExecutionContext(addUploadBufferRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddUploadBufferRequestMarshaller().marshall(addUploadBufferRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new AddUploadBufferResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeCachediSCSIVolumes service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeCachediSCSIVolumesResult describeCachediSCSIVolumes(DescribeCachediSCSIVolumesRequest describeCachediSCSIVolumesRequest) { ExecutionContext executionContext = createExecutionContext(describeCachediSCSIVolumesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeCachediSCSIVolumesRequestMarshaller().marshall(describeCachediSCSIVolumesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeCachediSCSIVolumesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeStorediSCSIVolumes service * method, as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeStorediSCSIVolumesResult describeStorediSCSIVolumes(DescribeStorediSCSIVolumesRequest describeStorediSCSIVolumesRequest) { ExecutionContext executionContext = createExecutionContext(describeStorediSCSIVolumesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeStorediSCSIVolumesRequestMarshaller().marshall(describeStorediSCSIVolumesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeStorediSCSIVolumesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the ListVolumeRecoveryPoints service method, * as returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ListVolumeRecoveryPointsResult listVolumeRecoveryPoints(ListVolumeRecoveryPointsRequest listVolumeRecoveryPointsRequest) { ExecutionContext executionContext = createExecutionContext(listVolumeRecoveryPointsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListVolumeRecoveryPointsRequestMarshaller().marshall(listVolumeRecoveryPointsRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new ListVolumeRecoveryPointsResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the DescribeVTLDevices service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeVTLDevicesResult describeVTLDevices(DescribeVTLDevicesRequest describeVTLDevicesRequest) { ExecutionContext executionContext = createExecutionContext(describeVTLDevicesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeVTLDevicesRequestMarshaller().marshall(describeVTLDevicesRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new DescribeVTLDevicesResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on * AWSStorageGateway. * * @return The response from the RetrieveTapeArchive service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 RetrieveTapeArchiveResult retrieveTapeArchive(RetrieveTapeArchiveRequest retrieveTapeArchiveRequest) { ExecutionContext executionContext = createExecutionContext(retrieveTapeArchiveRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RetrieveTapeArchiveRequestMarshaller().marshall(retrieveTapeArchiveRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new RetrieveTapeArchiveResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

* 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 service method on AWSStorageGateway. * * @return The response from the CancelArchival service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 CancelArchivalResult cancelArchival(CancelArchivalRequest cancelArchivalRequest) { ExecutionContext executionContext = createExecutionContext(cancelArchivalRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CancelArchivalRequestMarshaller().marshall(cancelArchivalRequest); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } Unmarshaller unmarshaller = new CancelArchivalResultJsonUnmarshaller(); JsonResponseHandler responseHandler = new JsonResponseHandler(unmarshaller); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response, LOGGING_AWS_REQUEST_METRIC); } } /** *

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

* * @return The response from the DescribeTapeArchives service method, as * returned by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 DescribeTapeArchivesResult describeTapeArchives() throws AmazonServiceException, AmazonClientException { return describeTapeArchives(new DescribeTapeArchivesRequest()); } /** *

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

* * @return The response from the ListGateways service method, as returned * by AWSStorageGateway. * * @throws InternalServerErrorException * @throws InvalidGatewayRequestException * * @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 ListGatewaysResult listGateways() throws AmazonServiceException, AmazonClientException { return listGateways(new ListGatewaysRequest()); } @Override public void setEndpoint(String endpoint) { super.setEndpoint(endpoint); } @Override public void setEndpoint(String endpoint, String serviceName, String regionId) throws IllegalArgumentException { super.setEndpoint(endpoint, serviceName, regionId); } /** * Returns additional metadata for a previously executed successful, request, typically used for * debugging issues where a service isn't acting as expected. This data isn't considered part * of the result data returned by an operation, so it's available through this separate, * diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access * this extra diagnostic information for an executed request, you should use this method * to retrieve it as soon as possible after executing the request. * * @param request * The originally executed request * * @return The response metadata for the specified request, or null if none * is available. */ public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) { return client.getResponseMetadataForRequest(request); } private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { request.setEndpoint(endpoint); request.setTimeOffset(timeOffset); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); AWSCredentials credentials; awsRequestMetrics.startEvent(Field.CredentialsRequestTime); try { credentials = awsCredentialsProvider.getCredentials(); } finally { awsRequestMetrics.endEvent(Field.CredentialsRequestTime); } AmazonWebServiceRequest originalRequest = request.getOriginalRequest(); if (originalRequest != null && originalRequest.getRequestCredentials() != null) { credentials = originalRequest.getRequestCredentials(); } executionContext.setCredentials(credentials); JsonErrorResponseHandler errorResponseHandler = new JsonErrorResponseHandler(jsonErrorUnmarshallers); Response result = client.execute(request, responseHandler, errorResponseHandler, executionContext); return result; } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy