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 AWS Java SDK for AWS Storage Gateway module holds the client classes that are used for communicating with AWS Storage Gateway Service

There is a newer version: 1.12.780
Show newest version
/*
 * Copyright 2016-2021 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 org.w3c.dom.*;

import java.net.*;
import java.util.*;

import javax.annotation.Generated;

import org.apache.commons.logging.*;

import com.amazonaws.*;
import com.amazonaws.annotation.SdkInternalApi;
import com.amazonaws.auth.*;

import com.amazonaws.handlers.*;
import com.amazonaws.http.*;
import com.amazonaws.internal.*;
import com.amazonaws.internal.auth.*;
import com.amazonaws.metrics.*;
import com.amazonaws.regions.*;
import com.amazonaws.transform.*;
import com.amazonaws.util.*;
import com.amazonaws.protocol.json.*;
import com.amazonaws.util.AWSRequestMetrics.Field;
import com.amazonaws.annotation.ThreadSafe;
import com.amazonaws.client.AwsSyncClientParams;
import com.amazonaws.client.builder.AdvancedConfig;

import com.amazonaws.services.storagegateway.AWSStorageGatewayClientBuilder;

import com.amazonaws.AmazonServiceException;

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

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

* Storage Gateway Service *

* Storage Gateway is the service that connects an on-premises software appliance with cloud-based storage to provide * seamless and secure integration between an organization's on-premises IT environment and the Amazon Web Services * storage infrastructure. The service enables you to securely upload data to the Cloud for cost effective backup and * rapid disaster recovery. *

*

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

*
    *
  • *

    * Storage Gateway required request headers: Describes the required headers that you must send with every POST * request to Storage Gateway. *

    *
  • *
  • *

    * Signing requests: Storage Gateway requires that you authenticate every request you send; this topic describes * how sign such a request. *

    *
  • *
  • *

    * * Error responses: Provides reference information about Storage Gateway errors. *

    *
  • *
  • *

    * Operations in Storage * Gateway: Contains detailed descriptions of all Storage Gateway operations, their request parameters, response * elements, possible errors, and examples of requests and responses. *

    *
  • *
  • *

    * Storage Gateway endpoints and quotas: Provides a * list of each Region and the endpoints available for use with Storage Gateway. *

    *
  • *
* *

* Storage Gateway resource IDs are in uppercase. When you use these resource IDs with the Amazon EC2 API, EC2 expects * resource IDs in lowercase. You must change your resource ID to lowercase to use it with the EC2 API. For example, in * Storage Gateway the ID for a volume might be vol-AA22BB012345DAF670. When you use this ID with the EC2 * API, you must change it to vol-aa22bb012345daf670. Otherwise, the EC2 API might not behave as expected. *

*
*

* IDs for Storage Gateway volumes and Amazon EBS snapshots created from gateway volumes are changing to a longer * format. Starting in December 2016, all new volumes and snapshots will be created with a 17-character string. Starting * in April 2016, you will be able to use these longer IDs so you can test your systems with the new format. For more * information, see Longer EC2 and EBS resource IDs. *

*

* For example, a volume Amazon Resource Name (ARN) with the longer volume ID format looks like the following: *

*

* arn:aws:storagegateway:us-west-2:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABBCCDDEEFFG. *

*

* A snapshot ID with the longer ID format looks like the following: snap-78e226633445566ee. *

*

* For more information, see Announcement: Heads-up – Longer * Storage Gateway volume and snapshot IDs coming in 2016. *

*
*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSStorageGatewayClient extends AmazonWebServiceClient implements AWSStorageGateway { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSStorageGateway.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "storagegateway"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidGatewayRequestException").withExceptionUnmarshaller( com.amazonaws.services.storagegateway.model.transform.InvalidGatewayRequestExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceUnavailableError").withExceptionUnmarshaller( com.amazonaws.services.storagegateway.model.transform.ServiceUnavailableErrorExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InternalServerError").withExceptionUnmarshaller( com.amazonaws.services.storagegateway.model.transform.InternalServerErrorExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.storagegateway.model.AWSStorageGatewayException.class)); /** * Constructs a new client to invoke service methods on AWS Storage Gateway. 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 * @deprecated use {@link AWSStorageGatewayClientBuilder#defaultClient()} */ @Deprecated public AWSStorageGatewayClient() { this(DefaultAWSCredentialsProviderChain.getInstance(), configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway. 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 AWS Storage Gateway (ex: proxy * settings, retry counts, etc.). * * @see DefaultAWSCredentialsProviderChain * @deprecated use {@link AWSStorageGatewayClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSStorageGatewayClient(ClientConfiguration clientConfiguration) { this(DefaultAWSCredentialsProviderChain.getInstance(), clientConfiguration); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway 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. * @deprecated use {@link AWSStorageGatewayClientBuilder#withCredentials(AWSCredentialsProvider)} for example: * {@code AWSStorageGatewayClientBuilder.standard().withCredentials(new AWSStaticCredentialsProvider(awsCredentials)).build();} */ @Deprecated public AWSStorageGatewayClient(AWSCredentials awsCredentials) { this(awsCredentials, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway 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 AWS Storage Gateway (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AWSStorageGatewayClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSStorageGatewayClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSStorageGatewayClient(AWSCredentials awsCredentials, ClientConfiguration clientConfiguration) { super(clientConfiguration); this.awsCredentialsProvider = new StaticCredentialsProvider(awsCredentials); this.advancedConfig = AdvancedConfig.EMPTY; init(); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway 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. * @deprecated use {@link AWSStorageGatewayClientBuilder#withCredentials(AWSCredentialsProvider)} */ @Deprecated public AWSStorageGatewayClient(AWSCredentialsProvider awsCredentialsProvider) { this(awsCredentialsProvider, configFactory.getConfig()); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway 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 AWS Storage Gateway (ex: proxy * settings, retry counts, etc.). * @deprecated use {@link AWSStorageGatewayClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSStorageGatewayClientBuilder#withClientConfiguration(ClientConfiguration)} */ @Deprecated public AWSStorageGatewayClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration) { this(awsCredentialsProvider, clientConfiguration, null); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway 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 AWS Storage Gateway (ex: proxy * settings, retry counts, etc.). * @param requestMetricCollector * optional request metric collector * @deprecated use {@link AWSStorageGatewayClientBuilder#withCredentials(AWSCredentialsProvider)} and * {@link AWSStorageGatewayClientBuilder#withClientConfiguration(ClientConfiguration)} and * {@link AWSStorageGatewayClientBuilder#withMetricsCollector(RequestMetricCollector)} */ @Deprecated public AWSStorageGatewayClient(AWSCredentialsProvider awsCredentialsProvider, ClientConfiguration clientConfiguration, RequestMetricCollector requestMetricCollector) { super(clientConfiguration, requestMetricCollector); this.awsCredentialsProvider = awsCredentialsProvider; this.advancedConfig = AdvancedConfig.EMPTY; init(); } public static AWSStorageGatewayClientBuilder builder() { return AWSStorageGatewayClientBuilder.standard(); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSStorageGatewayClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on AWS Storage Gateway using the specified parameters. * *

* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSStorageGatewayClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("https://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")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *

* Activates the gateway you previously deployed on your host. In the activation process, you specify information * such as the Region that you want to use for storing snapshots or tapes, the time zone for scheduled snapshots the * gateway snapshot schedule window, an activation key, and a name for your gateway. The activation process also * associates your gateway with your account. For more information, see UpdateGatewayInformation. *

* *

* You must turn on the gateway VM before you can activate your gateway. *

*
* * @param activateGatewayRequest * A JSON object containing one or more of the following fields:

*
    *
  • *

    * ActivateGatewayInput$ActivationKey *

    *
  • *
  • *

    * ActivateGatewayInput$GatewayName *

    *
  • *
  • *

    * ActivateGatewayInput$GatewayRegion *

    *
  • *
  • *

    * ActivateGatewayInput$GatewayTimezone *

    *
  • *
  • *

    * ActivateGatewayInput$GatewayType *

    *
  • *
  • *

    * ActivateGatewayInput$MediumChangerType *

    *
  • *
  • *

    * ActivateGatewayInput$TapeDriveType *

    *
  • * @return Result of the ActivateGateway operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ActivateGateway * @see AWS * API Documentation */ @Override public ActivateGatewayResult activateGateway(ActivateGatewayRequest request) { request = beforeClientExecution(request); return executeActivateGateway(request); } @SdkInternalApi final ActivateGatewayResult executeActivateGateway(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 ActivateGatewayRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(activateGatewayRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ActivateGateway"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ActivateGatewayResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Configures one or more gateway local disks as cache for a gateway. This operation is only supported in the cached * volume, tape, and file gateway type (see How Storage * Gateway works (architecture). *

    *

    * In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add cache, and one or * more disk IDs that you want to configure as cache. *

    * * @param addCacheRequest * @return Result of the AddCache operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AddCache * @see AWS API * Documentation */ @Override public AddCacheResult addCache(AddCacheRequest request) { request = beforeClientExecution(request); return executeAddCache(request); } @SdkInternalApi final AddCacheResult executeAddCache(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 AddCacheRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addCacheRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddCache"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new AddCacheResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Adds one or more tags to the specified resource. You use tags to add metadata to resources, which you can use to * categorize these resources. For example, you can categorize resources by purpose, owner, environment, or team. * Each tag consists of a key and a value, which you define. You can add tags to the following Storage Gateway * resources: *

    *
      *
    • *

      * Storage gateways of all types *

      *
    • *
    • *

      * Storage volumes *

      *
    • *
    • *

      * Virtual tapes *

      *
    • *
    • *

      * NFS and SMB file shares *

      *
    • *
    • *

      * File System associations *

      *
    • *
    *

    * You can create a maximum of 50 tags for each resource. Virtual tapes and storage volumes that are recovered to a * new gateway maintain their tags. *

    * * @param addTagsToResourceRequest * AddTagsToResourceInput * @return Result of the AddTagsToResource operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AddTagsToResource * @see AWS API Documentation */ @Override public AddTagsToResourceResult addTagsToResource(AddTagsToResourceRequest request) { request = beforeClientExecution(request); return executeAddTagsToResource(request); } @SdkInternalApi final AddTagsToResourceResult executeAddTagsToResource(AddTagsToResourceRequest addTagsToResourceRequest) { ExecutionContext executionContext = createExecutionContext(addTagsToResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AddTagsToResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addTagsToResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddTagsToResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AddTagsToResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Configures one or more gateway local disks as upload buffer for a specified gateway. This operation is supported * for the stored volume, cached volume, and tape gateway types. *

    *

    * In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add upload buffer, and * one or more disk IDs that you want to configure as upload buffer. *

    * * @param addUploadBufferRequest * @return Result of the AddUploadBuffer operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AddUploadBuffer * @see AWS * API Documentation */ @Override public AddUploadBufferResult addUploadBuffer(AddUploadBufferRequest request) { request = beforeClientExecution(request); return executeAddUploadBuffer(request); } @SdkInternalApi final AddUploadBufferResult executeAddUploadBuffer(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 AddUploadBufferRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addUploadBufferRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddUploadBuffer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AddUploadBufferResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

    * Configures one or more gateway local disks as working storage for a gateway. This operation is only supported in * the stored volume gateway type. This operation is deprecated in cached volume API version 20120630. Use * AddUploadBuffer instead. *

    * *

    * Working storage is also referred to as upload buffer. You can also use the AddUploadBuffer operation to * add upload buffer to a stored volume gateway. *

    *
    *

    * In the request, you specify the gateway Amazon Resource Name (ARN) to which you want to add working storage, and * one or more disk IDs that you want to configure as working storage. *

    * * @param addWorkingStorageRequest * A JSON object containing one or more of the following fields:

    *
      *
    • *

      * AddWorkingStorageInput$DiskIds *

      *
    • * @return Result of the AddWorkingStorage operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AddWorkingStorage * @see AWS API Documentation */ @Override public AddWorkingStorageResult addWorkingStorage(AddWorkingStorageRequest request) { request = beforeClientExecution(request); return executeAddWorkingStorage(request); } @SdkInternalApi final AddWorkingStorageResult executeAddWorkingStorage(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 AddWorkingStorageRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(addWorkingStorageRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AddWorkingStorage"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AddWorkingStorageResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Assigns a tape to a tape pool for archiving. The tape assigned to a pool is archived in the S3 storage class that * is associated with the pool. When you use your backup application to eject the tape, the tape is archived * directly into the S3 storage class (S3 Glacier or S3 Glacier Deep Archive) that corresponds to the pool. *

      *

      * Valid Values: GLACIER | DEEP_ARCHIVE *

      * * @param assignTapePoolRequest * @return Result of the AssignTapePool operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AssignTapePool * @see AWS * API Documentation */ @Override public AssignTapePoolResult assignTapePool(AssignTapePoolRequest request) { request = beforeClientExecution(request); return executeAssignTapePool(request); } @SdkInternalApi final AssignTapePoolResult executeAssignTapePool(AssignTapePoolRequest assignTapePoolRequest) { ExecutionContext executionContext = createExecutionContext(assignTapePoolRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssignTapePoolRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(assignTapePoolRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssignTapePool"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssignTapePoolResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Associate an Amazon FSx file system with the FSx File Gateway. After the association process is complete, the * file shares on the Amazon FSx file system are available for access through the gateway. This operation only * supports the FSx File Gateway type. *

      * * @param associateFileSystemRequest * @return Result of the AssociateFileSystem operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AssociateFileSystem * @see AWS API Documentation */ @Override public AssociateFileSystemResult associateFileSystem(AssociateFileSystemRequest request) { request = beforeClientExecution(request); return executeAssociateFileSystem(request); } @SdkInternalApi final AssociateFileSystemResult executeAssociateFileSystem(AssociateFileSystemRequest associateFileSystemRequest) { ExecutionContext executionContext = createExecutionContext(associateFileSystemRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateFileSystemRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(associateFileSystemRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateFileSystem"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateFileSystemResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Connects a volume to an iSCSI connection and then attaches the volume to the specified gateway. Detaching and * attaching a volume enables you to recover your data from one gateway to a different gateway without creating a * snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an * Amazon EC2 instance. *

      * * @param attachVolumeRequest * AttachVolumeInput * @return Result of the AttachVolume operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.AttachVolume * @see AWS * API Documentation */ @Override public AttachVolumeResult attachVolume(AttachVolumeRequest request) { request = beforeClientExecution(request); return executeAttachVolume(request); } @SdkInternalApi final AttachVolumeResult executeAttachVolume(AttachVolumeRequest attachVolumeRequest) { ExecutionContext executionContext = createExecutionContext(attachVolumeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AttachVolumeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(attachVolumeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AttachVolume"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AttachVolumeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated. * This operation is only supported in the tape gateway type. *

      * * @param cancelArchivalRequest * CancelArchivalInput * @return Result of the CancelArchival operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CancelArchival * @see AWS * API Documentation */ @Override public CancelArchivalResult cancelArchival(CancelArchivalRequest request) { request = beforeClientExecution(request); return executeCancelArchival(request); } @SdkInternalApi final CancelArchivalResult executeCancelArchival(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 CancelArchivalRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(cancelArchivalRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CancelArchival"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CancelArchivalResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is * initiated. The virtual tape is returned to the VTS. This operation is only supported in the tape gateway type. *

      * * @param cancelRetrievalRequest * CancelRetrievalInput * @return Result of the CancelRetrieval operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CancelRetrieval * @see AWS * API Documentation */ @Override public CancelRetrievalResult cancelRetrieval(CancelRetrievalRequest request) { request = beforeClientExecution(request); return executeCancelRetrieval(request); } @SdkInternalApi final CancelRetrievalResult executeCancelRetrieval(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 CancelRetrievalRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(cancelRetrievalRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CancelRetrieval"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CancelRetrievalResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Creates a cached volume on a specified cached volume gateway. This operation is only supported in the cached * volume gateway type. *

      * *

      * Cache storage must be allocated to the gateway before you can create a cached volume. Use the AddCache * operation to add cache storage to a gateway. *

      *
      *

      * In the request, you must specify the gateway, size of the volume in bytes, the iSCSI target name, an IP address * on which to expose the target, and a unique client token. In response, the gateway creates the volume and returns * information about it. This information includes the volume Amazon Resource Name (ARN), its size, and the iSCSI * target ARN that initiators can use to connect to the volume target. *

      *

      * Optionally, you can provide the ARN for an existing volume as the SourceVolumeARN for this cached * volume, which creates an exact copy of the existing volume’s latest recovery point. The * VolumeSizeInBytes value must be equal to or larger than the size of the copied volume, in bytes. *

      * * @param createCachediSCSIVolumeRequest * @return Result of the CreateCachediSCSIVolume operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateCachediSCSIVolume * @see AWS API Documentation */ @Override public CreateCachediSCSIVolumeResult createCachediSCSIVolume(CreateCachediSCSIVolumeRequest request) { request = beforeClientExecution(request); return executeCreateCachediSCSIVolume(request); } @SdkInternalApi final CreateCachediSCSIVolumeResult executeCreateCachediSCSIVolume(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 CreateCachediSCSIVolumeRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createCachediSCSIVolumeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateCachediSCSIVolume"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateCachediSCSIVolumeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Creates a Network File System (NFS) file share on an existing S3 File Gateway. In Storage Gateway, a file share * is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using an NFS * interface. This operation is only supported for S3 File Gateways. *

      * *

      * S3 File gateway requires Security Token Service (STS) to be activated to enable you to create a file share. Make * sure STS is activated in the Region you are creating your S3 File Gateway in. If STS is not activated in the * Region, activate it. For information about how to activate STS, see Activating and * deactivating STS in an Region in the Identity and Access Management User Guide. *

      *

      * S3 File Gateways do not support creating hard or symbolic links on a file share. *

      *
      * * @param createNFSFileShareRequest * CreateNFSFileShareInput * @return Result of the CreateNFSFileShare operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateNFSFileShare * @see AWS API Documentation */ @Override public CreateNFSFileShareResult createNFSFileShare(CreateNFSFileShareRequest request) { request = beforeClientExecution(request); return executeCreateNFSFileShare(request); } @SdkInternalApi final CreateNFSFileShareResult executeCreateNFSFileShare(CreateNFSFileShareRequest createNFSFileShareRequest) { ExecutionContext executionContext = createExecutionContext(createNFSFileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateNFSFileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createNFSFileShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateNFSFileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateNFSFileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Creates a Server Message Block (SMB) file share on an existing S3 File Gateway. In Storage Gateway, a file share * is a file system mount point backed by Amazon S3 cloud storage. Storage Gateway exposes file shares using an SMB * interface. This operation is only supported for S3 File Gateways. *

      * *

      * S3 File Gateways require Security Token Service (STS) to be activated to enable you to create a file share. Make * sure that STS is activated in the Region you are creating your S3 File Gateway in. If STS is not activated in * this Region, activate it. For information about how to activate STS, see Activating and * deactivating STS in an Region in the Identity and Access Management User Guide. *

      *

      * File gateways don't support creating hard or symbolic links on a file share. *

      *
      * * @param createSMBFileShareRequest * CreateSMBFileShareInput * @return Result of the CreateSMBFileShare operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateSMBFileShare * @see AWS API Documentation */ @Override public CreateSMBFileShareResult createSMBFileShare(CreateSMBFileShareRequest request) { request = beforeClientExecution(request); return executeCreateSMBFileShare(request); } @SdkInternalApi final CreateSMBFileShareResult executeCreateSMBFileShare(CreateSMBFileShareRequest createSMBFileShareRequest) { ExecutionContext executionContext = createExecutionContext(createSMBFileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateSMBFileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createSMBFileShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSMBFileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateSMBFileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

      * Initiates a snapshot of a volume. *

      *

      * Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage * (Amazon S3) for durable off-site recovery, and also import the data to an Amazon Elastic Block Store (EBS) volume * in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad hoc * basis. This API enables you to take an ad hoc snapshot. For more information, see Editing a snapshot schedule. *

      *

      * In the CreateSnapshot request, you identify the volume by providing its Amazon Resource Name (ARN). * You must also provide description for the snapshot. When Storage Gateway takes the snapshot of specified volume, * the snapshot and description appears in the Storage Gateway console. In response, Storage Gateway returns you a * snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create * a volume from a snapshot. This operation is only supported in stored and cached volume gateway type. *

      * *

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

      *
      *

      * Volume and snapshot IDs are changing to a longer length ID format. For more information, see the important note * on the Welcome page. *

      *
      * * @param createSnapshotRequest * A JSON object containing one or more of the following fields:

      *
        *
      • *

        * CreateSnapshotInput$SnapshotDescription *

        *
      • *
      • *

        * CreateSnapshotInput$VolumeARN *

        *
      • * @return Result of the CreateSnapshot operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @throws ServiceUnavailableErrorException * An internal server error has occurred because the service is unavailable. For more information, see the * error and message fields. * @sample AWSStorageGateway.CreateSnapshot * @see AWS * API Documentation */ @Override public CreateSnapshotResult createSnapshot(CreateSnapshotRequest request) { request = beforeClientExecution(request); return executeCreateSnapshot(request); } @SdkInternalApi final CreateSnapshotResult executeCreateSnapshot(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 CreateSnapshotRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createSnapshotRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSnapshot"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateSnapshotResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

        * Initiates a snapshot of a gateway from a volume recovery point. This operation is only supported in the cached * volume gateway type. *

        *

        * A volume recovery point is a point in time at which all data of the volume is consistent and from which you can * create a snapshot. To get a list of volume recovery point for cached volume gateway, use * ListVolumeRecoveryPoints. *

        *

        * In the CreateSnapshotFromVolumeRecoveryPoint request, you identify the volume by providing its * Amazon Resource Name (ARN). You must also provide a description for the snapshot. When the gateway takes a * snapshot of the specified volume, the snapshot and its description appear in the Storage Gateway console. In * response, the gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or * later use it when you want to create a volume from a snapshot. *

        * *

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

        *
        * * @param createSnapshotFromVolumeRecoveryPointRequest * @return Result of the CreateSnapshotFromVolumeRecoveryPoint operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @throws ServiceUnavailableErrorException * An internal server error has occurred because the service is unavailable. For more information, see the * error and message fields. * @sample AWSStorageGateway.CreateSnapshotFromVolumeRecoveryPoint * @see AWS API Documentation */ @Override public CreateSnapshotFromVolumeRecoveryPointResult createSnapshotFromVolumeRecoveryPoint(CreateSnapshotFromVolumeRecoveryPointRequest request) { request = beforeClientExecution(request); return executeCreateSnapshotFromVolumeRecoveryPoint(request); } @SdkInternalApi final CreateSnapshotFromVolumeRecoveryPointResult executeCreateSnapshotFromVolumeRecoveryPoint( 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 CreateSnapshotFromVolumeRecoveryPointRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createSnapshotFromVolumeRecoveryPointRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateSnapshotFromVolumeRecoveryPoint"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateSnapshotFromVolumeRecoveryPointResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

        * Creates a volume on a specified gateway. This operation is only supported in the stored volume gateway type. *

        *

        * The size of the volume to create is inferred from the disk size. You can choose to preserve existing data on the * disk, create volume from an existing snapshot, or create an empty volume. If you choose to create an empty * gateway volume, then any existing data on the disk is erased. *

        *

        * In the request, you must specify the gateway and the disk information on which you are creating the volume. In * response, the gateway creates the volume and returns volume information such as the volume Amazon Resource Name * (ARN), its size, and the iSCSI target ARN that initiators can use to connect to the volume target. *

        * * @param createStorediSCSIVolumeRequest * A JSON object containing one or more of the following fields:

        *
          *
        • *

          * CreateStorediSCSIVolumeInput$DiskId *

          *
        • *
        • *

          * CreateStorediSCSIVolumeInput$NetworkInterfaceId *

          *
        • *
        • *

          * CreateStorediSCSIVolumeInput$PreserveExistingData *

          *
        • *
        • *

          * CreateStorediSCSIVolumeInput$SnapshotId *

          *
        • *
        • *

          * CreateStorediSCSIVolumeInput$TargetName *

          *
        • * @return Result of the CreateStorediSCSIVolume operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateStorediSCSIVolume * @see AWS API Documentation */ @Override public CreateStorediSCSIVolumeResult createStorediSCSIVolume(CreateStorediSCSIVolumeRequest request) { request = beforeClientExecution(request); return executeCreateStorediSCSIVolume(request); } @SdkInternalApi final CreateStorediSCSIVolumeResult executeCreateStorediSCSIVolume(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 CreateStorediSCSIVolumeRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createStorediSCSIVolumeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateStorediSCSIVolume"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateStorediSCSIVolumeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Creates a new custom tape pool. You can use custom tape pool to enable tape retention lock on tapes that are * archived in the custom pool. *

          * * @param createTapePoolRequest * @return Result of the CreateTapePool operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateTapePool * @see AWS * API Documentation */ @Override public CreateTapePoolResult createTapePool(CreateTapePoolRequest request) { request = beforeClientExecution(request); return executeCreateTapePool(request); } @SdkInternalApi final CreateTapePoolResult executeCreateTapePool(CreateTapePoolRequest createTapePoolRequest) { ExecutionContext executionContext = createExecutionContext(createTapePoolRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTapePoolRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTapePoolRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTapePool"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTapePoolResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Creates a virtual tape by using your own barcode. You write data to the virtual tape and then archive the tape. A * barcode is unique and cannot be reused if it has already been used on a tape. This applies to barcodes used on * deleted tapes. This operation is only supported in the tape gateway type. *

          * *

          * Cache storage must be allocated to the gateway before you can create a virtual tape. Use the AddCache * operation to add cache storage to a gateway. *

          *
          * * @param createTapeWithBarcodeRequest * CreateTapeWithBarcodeInput * @return Result of the CreateTapeWithBarcode operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateTapeWithBarcode * @see AWS API Documentation */ @Override public CreateTapeWithBarcodeResult createTapeWithBarcode(CreateTapeWithBarcodeRequest request) { request = beforeClientExecution(request); return executeCreateTapeWithBarcode(request); } @SdkInternalApi final CreateTapeWithBarcodeResult executeCreateTapeWithBarcode(CreateTapeWithBarcodeRequest createTapeWithBarcodeRequest) { ExecutionContext executionContext = createExecutionContext(createTapeWithBarcodeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateTapeWithBarcodeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTapeWithBarcodeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTapeWithBarcode"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTapeWithBarcodeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Creates one or more virtual tapes. You write data to the virtual tapes and then archive the tapes. This operation * is only supported in the tape gateway type. *

          * *

          * Cache storage must be allocated to the gateway before you can create virtual tapes. Use the AddCache * operation to add cache storage to a gateway. *

          *
          * * @param createTapesRequest * CreateTapesInput * @return Result of the CreateTapes operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.CreateTapes * @see AWS API * Documentation */ @Override public CreateTapesResult createTapes(CreateTapesRequest request) { request = beforeClientExecution(request); return executeCreateTapes(request); } @SdkInternalApi final CreateTapesResult executeCreateTapes(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 CreateTapesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(createTapesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateTapes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateTapesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Deletes the automatic tape creation policy of a gateway. If you delete this policy, new virtual tapes must be * created manually. Use the Amazon Resource Name (ARN) of the gateway in your request to remove the policy. *

          * * @param deleteAutomaticTapeCreationPolicyRequest * @return Result of the DeleteAutomaticTapeCreationPolicy operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteAutomaticTapeCreationPolicy * @see AWS API Documentation */ @Override public DeleteAutomaticTapeCreationPolicyResult deleteAutomaticTapeCreationPolicy(DeleteAutomaticTapeCreationPolicyRequest request) { request = beforeClientExecution(request); return executeDeleteAutomaticTapeCreationPolicy(request); } @SdkInternalApi final DeleteAutomaticTapeCreationPolicyResult executeDeleteAutomaticTapeCreationPolicy( DeleteAutomaticTapeCreationPolicyRequest deleteAutomaticTapeCreationPolicyRequest) { ExecutionContext executionContext = createExecutionContext(deleteAutomaticTapeCreationPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteAutomaticTapeCreationPolicyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteAutomaticTapeCreationPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteAutomaticTapeCreationPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteAutomaticTapeCreationPolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

          * Deletes the bandwidth rate limits of a gateway. You can delete either the upload and download bandwidth rate * limit, or you can delete both. If you delete only one of the limits, the other limit remains unchanged. To * specify which gateway to work with, use the Amazon Resource Name (ARN) of the gateway in your request. This * operation is supported for the stored volume, cached volume and tape gateway types. *

          * * @param deleteBandwidthRateLimitRequest * A JSON object containing the following fields:

          *
            *
          • *

            * DeleteBandwidthRateLimitInput$BandwidthType *

            *
          • * @return Result of the DeleteBandwidthRateLimit operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteBandwidthRateLimit * @see AWS API Documentation */ @Override public DeleteBandwidthRateLimitResult deleteBandwidthRateLimit(DeleteBandwidthRateLimitRequest request) { request = beforeClientExecution(request); return executeDeleteBandwidthRateLimit(request); } @SdkInternalApi final DeleteBandwidthRateLimitResult executeDeleteBandwidthRateLimit(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 DeleteBandwidthRateLimitRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteBandwidthRateLimitRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteBandwidthRateLimit"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteBandwidthRateLimitResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

            * Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator * pair. This operation is supported in volume and tape gateway types. *

            * * @param deleteChapCredentialsRequest * A JSON object containing one or more of the following fields:

            *
              *
            • *

              * DeleteChapCredentialsInput$InitiatorName *

              *
            • *
            • *

              * DeleteChapCredentialsInput$TargetARN *

              *
            • * @return Result of the DeleteChapCredentials operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteChapCredentials * @see AWS API Documentation */ @Override public DeleteChapCredentialsResult deleteChapCredentials(DeleteChapCredentialsRequest request) { request = beforeClientExecution(request); return executeDeleteChapCredentials(request); } @SdkInternalApi final DeleteChapCredentialsResult executeDeleteChapCredentials(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 DeleteChapCredentialsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteChapCredentialsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteChapCredentials"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteChapCredentialsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Deletes a file share from an S3 File Gateway. This operation is only supported for S3 File Gateways. *

              * * @param deleteFileShareRequest * DeleteFileShareInput * @return Result of the DeleteFileShare operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteFileShare * @see AWS * API Documentation */ @Override public DeleteFileShareResult deleteFileShare(DeleteFileShareRequest request) { request = beforeClientExecution(request); return executeDeleteFileShare(request); } @SdkInternalApi final DeleteFileShareResult executeDeleteFileShare(DeleteFileShareRequest deleteFileShareRequest) { ExecutionContext executionContext = createExecutionContext(deleteFileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteFileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteFileShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteFileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteFileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Deletes a gateway. To specify which gateway to delete, use the Amazon Resource Name (ARN) of the gateway in your * request. The operation deletes the gateway; however, it does not delete the gateway virtual machine (VM) from * your host computer. *

              *

              * After you delete a gateway, you cannot reactivate it. Completed snapshots of the gateway volumes are not deleted * upon deleting the gateway, however, pending snapshots will not complete. After you delete a gateway, your next * step is to remove it from your environment. *

              * *

              * You no longer pay software charges after the gateway is deleted; however, your existing Amazon EBS snapshots * persist and you will continue to be billed for these snapshots. You can choose to remove all remaining Amazon EBS * snapshots by canceling your Amazon EC2 subscription.  If you prefer not to cancel your Amazon EC2 subscription, * you can delete your snapshots using the Amazon EC2 console. For more information, see the Storage Gateway detail page. *

              *
              * * @param deleteGatewayRequest * A JSON object containing the ID of the gateway to delete. * @return Result of the DeleteGateway operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteGateway * @see AWS * API Documentation */ @Override public DeleteGatewayResult deleteGateway(DeleteGatewayRequest request) { request = beforeClientExecution(request); return executeDeleteGateway(request); } @SdkInternalApi final DeleteGatewayResult executeDeleteGateway(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 DeleteGatewayRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteGatewayRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteGateway"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteGatewayResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Deletes a snapshot of a volume. *

              *

              * You can take snapshots of your gateway volumes on a scheduled or ad hoc basis. This API action enables you to * delete a snapshot schedule for a volume. For more information, see Backing up your * volumes. In the DeleteSnapshotSchedule request, you identify the volume by providing its Amazon * Resource Name (ARN). This operation is only supported in stored and cached volume gateway types. *

              * *

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

              *
              * * @param deleteSnapshotScheduleRequest * @return Result of the DeleteSnapshotSchedule operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteSnapshotSchedule * @see AWS API Documentation */ @Override public DeleteSnapshotScheduleResult deleteSnapshotSchedule(DeleteSnapshotScheduleRequest request) { request = beforeClientExecution(request); return executeDeleteSnapshotSchedule(request); } @SdkInternalApi final DeleteSnapshotScheduleResult executeDeleteSnapshotSchedule(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 DeleteSnapshotScheduleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteSnapshotScheduleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteSnapshotSchedule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteSnapshotScheduleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Deletes the specified virtual tape. This operation is only supported in the tape gateway type. *

              * * @param deleteTapeRequest * DeleteTapeInput * @return Result of the DeleteTape operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteTape * @see AWS API * Documentation */ @Override public DeleteTapeResult deleteTape(DeleteTapeRequest request) { request = beforeClientExecution(request); return executeDeleteTape(request); } @SdkInternalApi final DeleteTapeResult executeDeleteTape(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 DeleteTapeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTapeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTape"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTapeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Deletes the specified virtual tape from the virtual tape shelf (VTS). This operation is only supported in the * tape gateway type. *

              * * @param deleteTapeArchiveRequest * DeleteTapeArchiveInput * @return Result of the DeleteTapeArchive operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteTapeArchive * @see AWS API Documentation */ @Override public DeleteTapeArchiveResult deleteTapeArchive(DeleteTapeArchiveRequest request) { request = beforeClientExecution(request); return executeDeleteTapeArchive(request); } @SdkInternalApi final DeleteTapeArchiveResult executeDeleteTapeArchive(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 DeleteTapeArchiveRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTapeArchiveRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTapeArchive"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTapeArchiveResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Delete a custom tape pool. A custom tape pool can only be deleted if there are no tapes in the pool and if there * are no automatic tape creation policies that reference the custom tape pool. *

              * * @param deleteTapePoolRequest * @return Result of the DeleteTapePool operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteTapePool * @see AWS * API Documentation */ @Override public DeleteTapePoolResult deleteTapePool(DeleteTapePoolRequest request) { request = beforeClientExecution(request); return executeDeleteTapePool(request); } @SdkInternalApi final DeleteTapePoolResult executeDeleteTapePool(DeleteTapePoolRequest deleteTapePoolRequest) { ExecutionContext executionContext = createExecutionContext(deleteTapePoolRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteTapePoolRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteTapePoolRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteTapePool"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteTapePoolResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Deletes the specified storage volume that you previously created using the CreateCachediSCSIVolume or * CreateStorediSCSIVolume API. This operation is only supported in the cached volume and stored volume * types. For stored volume gateways, the local disk that was configured as the storage volume is not deleted. You * can reuse the local disk to create another storage volume. *

              *

              * Before you delete a volume, make sure there are no iSCSI connections to the volume you are deleting. You should * also make sure there is no snapshot in progress. You can use the Amazon Elastic Compute Cloud (Amazon EC2) API to * query snapshots on the volume you are deleting and check the snapshot status. For more information, go to * DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference. *

              *

              * In the request, you must provide the Amazon Resource Name (ARN) of the storage volume you want to delete. *

              * * @param deleteVolumeRequest * A JSON object containing the DeleteVolumeInput$VolumeARN to delete. * @return Result of the DeleteVolume operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DeleteVolume * @see AWS * API Documentation */ @Override public DeleteVolumeResult deleteVolume(DeleteVolumeRequest request) { request = beforeClientExecution(request); return executeDeleteVolume(request); } @SdkInternalApi final DeleteVolumeResult executeDeleteVolume(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 DeleteVolumeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(deleteVolumeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteVolume"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteVolumeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns information about the most recent high availability monitoring test that was performed on the host in a * cluster. If a test isn't performed, the status and start time in the response would be null. *

              * * @param describeAvailabilityMonitorTestRequest * @return Result of the DescribeAvailabilityMonitorTest operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeAvailabilityMonitorTest * @see AWS API Documentation */ @Override public DescribeAvailabilityMonitorTestResult describeAvailabilityMonitorTest(DescribeAvailabilityMonitorTestRequest request) { request = beforeClientExecution(request); return executeDescribeAvailabilityMonitorTest(request); } @SdkInternalApi final DescribeAvailabilityMonitorTestResult executeDescribeAvailabilityMonitorTest( DescribeAvailabilityMonitorTestRequest describeAvailabilityMonitorTestRequest) { ExecutionContext executionContext = createExecutionContext(describeAvailabilityMonitorTestRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeAvailabilityMonitorTestRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeAvailabilityMonitorTestRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeAvailabilityMonitorTest"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeAvailabilityMonitorTestResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth * rate limiting is in effect. This operation is supported for the stored volume, cached volume, and tape gateway * types. *

              *

              * 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 * A JSON object containing the Amazon Resource Name (ARN) of the gateway. * @return Result of the DescribeBandwidthRateLimit operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeBandwidthRateLimit * @see AWS API Documentation */ @Override public DescribeBandwidthRateLimitResult describeBandwidthRateLimit(DescribeBandwidthRateLimitRequest request) { request = beforeClientExecution(request); return executeDescribeBandwidthRateLimit(request); } @SdkInternalApi final DescribeBandwidthRateLimitResult executeDescribeBandwidthRateLimit(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 DescribeBandwidthRateLimitRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeBandwidthRateLimitRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeBandwidthRateLimit"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeBandwidthRateLimitResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns information about the bandwidth rate limit schedule of a gateway. By default, gateways do not have * bandwidth rate limit schedules, which means no bandwidth rate limiting is in effect. This operation is supported * only in the volume and tape gateway types. *

              *

              * This operation returns information about a gateway's bandwidth rate limit schedule. A bandwidth rate limit * schedule consists of one or more bandwidth rate limit intervals. A bandwidth rate limit interval defines a period * of time on one or more days of the week, during which bandwidth rate limits are specified for uploading, * downloading, or both. *

              *

              * A bandwidth rate limit interval consists of one or more days of the week, a start hour and minute, an ending hour * and minute, and bandwidth rate limits for uploading and downloading *

              *

              * If no bandwidth rate limit schedule intervals are set for the gateway, this operation returns an empty response. * To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request. *

              * * @param describeBandwidthRateLimitScheduleRequest * @return Result of the DescribeBandwidthRateLimitSchedule operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeBandwidthRateLimitSchedule * @see AWS API Documentation */ @Override public DescribeBandwidthRateLimitScheduleResult describeBandwidthRateLimitSchedule(DescribeBandwidthRateLimitScheduleRequest request) { request = beforeClientExecution(request); return executeDescribeBandwidthRateLimitSchedule(request); } @SdkInternalApi final DescribeBandwidthRateLimitScheduleResult executeDescribeBandwidthRateLimitSchedule( DescribeBandwidthRateLimitScheduleRequest describeBandwidthRateLimitScheduleRequest) { ExecutionContext executionContext = createExecutionContext(describeBandwidthRateLimitScheduleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeBandwidthRateLimitScheduleRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeBandwidthRateLimitScheduleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeBandwidthRateLimitSchedule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeBandwidthRateLimitScheduleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns information about the cache of a gateway. This operation is only supported in the cached volume, tape, * and file gateway types. *

              *

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

              * * @param describeCacheRequest * @return Result of the DescribeCache operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeCache * @see AWS * API Documentation */ @Override public DescribeCacheResult describeCache(DescribeCacheRequest request) { request = beforeClientExecution(request); return executeDescribeCache(request); } @SdkInternalApi final DescribeCacheResult executeDescribeCache(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 DescribeCacheRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeCacheRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeCache"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeCacheResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns a description of the gateway volumes specified in the request. This operation is only supported in the * cached volume gateway types. *

              *

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

              * * @param describeCachediSCSIVolumesRequest * @return Result of the DescribeCachediSCSIVolumes operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeCachediSCSIVolumes * @see AWS API Documentation */ @Override public DescribeCachediSCSIVolumesResult describeCachediSCSIVolumes(DescribeCachediSCSIVolumesRequest request) { request = beforeClientExecution(request); return executeDescribeCachediSCSIVolumes(request); } @SdkInternalApi final DescribeCachediSCSIVolumesResult executeDescribeCachediSCSIVolumes(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 DescribeCachediSCSIVolumesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeCachediSCSIVolumesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeCachediSCSIVolumes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeCachediSCSIVolumesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns an array of Challenge-Handshake Authentication Protocol (CHAP) credentials information for a specified * iSCSI target, one for each target-initiator pair. This operation is supported in the volume and tape gateway * types. *

              * * @param describeChapCredentialsRequest * A JSON object containing the Amazon Resource Name (ARN) of the iSCSI volume target. * @return Result of the DescribeChapCredentials operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeChapCredentials * @see AWS API Documentation */ @Override public DescribeChapCredentialsResult describeChapCredentials(DescribeChapCredentialsRequest request) { request = beforeClientExecution(request); return executeDescribeChapCredentials(request); } @SdkInternalApi final DescribeChapCredentialsResult executeDescribeChapCredentials(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 DescribeChapCredentialsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeChapCredentialsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeChapCredentials"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeChapCredentialsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Gets the file system association information. This operation is only supported for FSx File Gateways. *

              * * @param describeFileSystemAssociationsRequest * @return Result of the DescribeFileSystemAssociations operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeFileSystemAssociations * @see AWS API Documentation */ @Override public DescribeFileSystemAssociationsResult describeFileSystemAssociations(DescribeFileSystemAssociationsRequest request) { request = beforeClientExecution(request); return executeDescribeFileSystemAssociations(request); } @SdkInternalApi final DescribeFileSystemAssociationsResult executeDescribeFileSystemAssociations(DescribeFileSystemAssociationsRequest describeFileSystemAssociationsRequest) { ExecutionContext executionContext = createExecutionContext(describeFileSystemAssociationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeFileSystemAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeFileSystemAssociationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeFileSystemAssociations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeFileSystemAssociationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * 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 * A JSON object containing the ID of the gateway. * @return Result of the DescribeGatewayInformation operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeGatewayInformation * @see AWS API Documentation */ @Override public DescribeGatewayInformationResult describeGatewayInformation(DescribeGatewayInformationRequest request) { request = beforeClientExecution(request); return executeDescribeGatewayInformation(request); } @SdkInternalApi final DescribeGatewayInformationResult executeDescribeGatewayInformation(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 DescribeGatewayInformationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeGatewayInformationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeGatewayInformation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeGatewayInformationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * 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 * A JSON object containing the Amazon Resource Name (ARN) of the gateway. * @return Result of the DescribeMaintenanceStartTime operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeMaintenanceStartTime * @see AWS API Documentation */ @Override public DescribeMaintenanceStartTimeResult describeMaintenanceStartTime(DescribeMaintenanceStartTimeRequest request) { request = beforeClientExecution(request); return executeDescribeMaintenanceStartTime(request); } @SdkInternalApi final DescribeMaintenanceStartTimeResult executeDescribeMaintenanceStartTime(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 DescribeMaintenanceStartTimeRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeMaintenanceStartTimeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeMaintenanceStartTime"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeMaintenanceStartTimeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Gets a description for one or more Network File System (NFS) file shares from an S3 File Gateway. This operation * is only supported for S3 File Gateways. *

              * * @param describeNFSFileSharesRequest * DescribeNFSFileSharesInput * @return Result of the DescribeNFSFileShares operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeNFSFileShares * @see AWS API Documentation */ @Override public DescribeNFSFileSharesResult describeNFSFileShares(DescribeNFSFileSharesRequest request) { request = beforeClientExecution(request); return executeDescribeNFSFileShares(request); } @SdkInternalApi final DescribeNFSFileSharesResult executeDescribeNFSFileShares(DescribeNFSFileSharesRequest describeNFSFileSharesRequest) { ExecutionContext executionContext = createExecutionContext(describeNFSFileSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeNFSFileSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeNFSFileSharesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeNFSFileShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeNFSFileSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Gets a description for one or more Server Message Block (SMB) file shares from a S3 File Gateway. This operation * is only supported for S3 File Gateways. *

              * * @param describeSMBFileSharesRequest * DescribeSMBFileSharesInput * @return Result of the DescribeSMBFileShares operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeSMBFileShares * @see AWS API Documentation */ @Override public DescribeSMBFileSharesResult describeSMBFileShares(DescribeSMBFileSharesRequest request) { request = beforeClientExecution(request); return executeDescribeSMBFileShares(request); } @SdkInternalApi final DescribeSMBFileSharesResult executeDescribeSMBFileShares(DescribeSMBFileSharesRequest describeSMBFileSharesRequest) { ExecutionContext executionContext = createExecutionContext(describeSMBFileSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeSMBFileSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeSMBFileSharesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeSMBFileShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeSMBFileSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Gets a description of a Server Message Block (SMB) file share settings from a file gateway. This operation is * only supported for file gateways. *

              * * @param describeSMBSettingsRequest * @return Result of the DescribeSMBSettings operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeSMBSettings * @see AWS API Documentation */ @Override public DescribeSMBSettingsResult describeSMBSettings(DescribeSMBSettingsRequest request) { request = beforeClientExecution(request); return executeDescribeSMBSettings(request); } @SdkInternalApi final DescribeSMBSettingsResult executeDescribeSMBSettings(DescribeSMBSettingsRequest describeSMBSettingsRequest) { ExecutionContext executionContext = createExecutionContext(describeSMBSettingsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeSMBSettingsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeSMBSettingsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeSMBSettings"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeSMBSettingsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Describes the snapshot schedule for the specified gateway volume. The snapshot schedule information includes * intervals at which snapshots are automatically initiated on the volume. This operation is only supported in the * cached volume and stored volume types. *

              * * @param describeSnapshotScheduleRequest * A JSON object containing the DescribeSnapshotScheduleInput$VolumeARN of the volume. * @return Result of the DescribeSnapshotSchedule operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeSnapshotSchedule * @see AWS API Documentation */ @Override public DescribeSnapshotScheduleResult describeSnapshotSchedule(DescribeSnapshotScheduleRequest request) { request = beforeClientExecution(request); return executeDescribeSnapshotSchedule(request); } @SdkInternalApi final DescribeSnapshotScheduleResult executeDescribeSnapshotSchedule(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 DescribeSnapshotScheduleRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeSnapshotScheduleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeSnapshotSchedule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeSnapshotScheduleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns the description of the gateway volumes specified in the request. The list of gateway volumes in the * request must be from one gateway. In the response, Storage Gateway returns volume information sorted by volume * ARNs. This operation is only supported in stored volume gateway type. *

              * * @param describeStorediSCSIVolumesRequest * A JSON object containing a list of DescribeStorediSCSIVolumesInput$VolumeARNs. * @return Result of the DescribeStorediSCSIVolumes operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeStorediSCSIVolumes * @see AWS API Documentation */ @Override public DescribeStorediSCSIVolumesResult describeStorediSCSIVolumes(DescribeStorediSCSIVolumesRequest request) { request = beforeClientExecution(request); return executeDescribeStorediSCSIVolumes(request); } @SdkInternalApi final DescribeStorediSCSIVolumesResult executeDescribeStorediSCSIVolumes(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 DescribeStorediSCSIVolumesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeStorediSCSIVolumesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeStorediSCSIVolumes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeStorediSCSIVolumesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns a description of specified virtual tapes in the virtual tape shelf (VTS). This operation is only * supported in the tape gateway type. *

              *

              * If a specific TapeARN is not specified, Storage Gateway returns a description of all virtual tapes * found in the VTS associated with your account. *

              * * @param describeTapeArchivesRequest * DescribeTapeArchivesInput * @return Result of the DescribeTapeArchives operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeTapeArchives * @see AWS API Documentation */ @Override public DescribeTapeArchivesResult describeTapeArchives(DescribeTapeArchivesRequest request) { request = beforeClientExecution(request); return executeDescribeTapeArchives(request); } @SdkInternalApi final DescribeTapeArchivesResult executeDescribeTapeArchives(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 DescribeTapeArchivesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeTapeArchivesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTapeArchives"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTapeArchivesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public DescribeTapeArchivesResult describeTapeArchives() { return describeTapeArchives(new DescribeTapeArchivesRequest()); } /** *

              * Returns a list of virtual tape recovery points that are available for the specified tape gateway. *

              *

              * A recovery point is a point-in-time view of a virtual tape at which all the data on the virtual tape is * consistent. If your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. * This operation is only supported in the tape gateway type. *

              * * @param describeTapeRecoveryPointsRequest * DescribeTapeRecoveryPointsInput * @return Result of the DescribeTapeRecoveryPoints operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeTapeRecoveryPoints * @see AWS API Documentation */ @Override public DescribeTapeRecoveryPointsResult describeTapeRecoveryPoints(DescribeTapeRecoveryPointsRequest request) { request = beforeClientExecution(request); return executeDescribeTapeRecoveryPoints(request); } @SdkInternalApi final DescribeTapeRecoveryPointsResult executeDescribeTapeRecoveryPoints(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 DescribeTapeRecoveryPointsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeTapeRecoveryPointsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTapeRecoveryPoints"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTapeRecoveryPointsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns a description of the specified Amazon Resource Name (ARN) of virtual tapes. If a TapeARN is * not specified, returns a description of all virtual tapes associated with the specified gateway. This operation * is only supported in the tape gateway type. *

              * * @param describeTapesRequest * DescribeTapesInput * @return Result of the DescribeTapes operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeTapes * @see AWS * API Documentation */ @Override public DescribeTapesResult describeTapes(DescribeTapesRequest request) { request = beforeClientExecution(request); return executeDescribeTapes(request); } @SdkInternalApi final DescribeTapesResult executeDescribeTapes(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 DescribeTapesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeTapesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeTapes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeTapesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns information about the upload buffer of a gateway. This operation is supported for the stored volume, * cached volume, and tape gateway types. *

              *

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

              * * @param describeUploadBufferRequest * @return Result of the DescribeUploadBuffer operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeUploadBuffer * @see AWS API Documentation */ @Override public DescribeUploadBufferResult describeUploadBuffer(DescribeUploadBufferRequest request) { request = beforeClientExecution(request); return executeDescribeUploadBuffer(request); } @SdkInternalApi final DescribeUploadBufferResult executeDescribeUploadBuffer(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 DescribeUploadBufferRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeUploadBufferRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeUploadBuffer"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeUploadBufferResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns a description of virtual tape library (VTL) devices for the specified tape gateway. In the response, * Storage Gateway returns VTL device information. *

              *

              * This operation is only supported in the tape gateway type. *

              * * @param describeVTLDevicesRequest * DescribeVTLDevicesInput * @return Result of the DescribeVTLDevices operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeVTLDevices * @see AWS API Documentation */ @Override public DescribeVTLDevicesResult describeVTLDevices(DescribeVTLDevicesRequest request) { request = beforeClientExecution(request); return executeDescribeVTLDevices(request); } @SdkInternalApi final DescribeVTLDevicesResult executeDescribeVTLDevices(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 DescribeVTLDevicesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeVTLDevicesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeVTLDevices"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeVTLDevicesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Returns information about the working storage of a gateway. This operation is only supported in the stored * volumes gateway type. This operation is deprecated in cached volumes API version (20120630). Use * DescribeUploadBuffer instead. *

              * *

              * Working storage is also referred to as upload buffer. You can also use the DescribeUploadBuffer operation to add * upload buffer to a stored volume gateway. *

              *
              *

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

              * * @param describeWorkingStorageRequest * A JSON object containing the Amazon Resource Name (ARN) of the gateway. * @return Result of the DescribeWorkingStorage operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DescribeWorkingStorage * @see AWS API Documentation */ @Override public DescribeWorkingStorageResult describeWorkingStorage(DescribeWorkingStorageRequest request) { request = beforeClientExecution(request); return executeDescribeWorkingStorage(request); } @SdkInternalApi final DescribeWorkingStorageResult executeDescribeWorkingStorage(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 DescribeWorkingStorageRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeWorkingStorageRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeWorkingStorage"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeWorkingStorageResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Disconnects a volume from an iSCSI connection and then detaches the volume from the specified gateway. Detaching * and attaching a volume enables you to recover your data from one gateway to a different gateway without creating * a snapshot. It also makes it easier to move your volumes from an on-premises gateway to a gateway hosted on an * Amazon EC2 instance. This operation is only supported in the volume gateway type. *

              * * @param detachVolumeRequest * AttachVolumeInput * @return Result of the DetachVolume operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DetachVolume * @see AWS * API Documentation */ @Override public DetachVolumeResult detachVolume(DetachVolumeRequest request) { request = beforeClientExecution(request); return executeDetachVolume(request); } @SdkInternalApi final DetachVolumeResult executeDetachVolume(DetachVolumeRequest detachVolumeRequest) { ExecutionContext executionContext = createExecutionContext(detachVolumeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DetachVolumeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(detachVolumeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DetachVolume"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DetachVolumeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

              *

              * Use this operation for a tape gateway that is not reachable or not functioning. This operation is only supported * in the tape gateway type. *

              * *

              * After a gateway is disabled, it cannot be enabled. *

              *
              * * @param disableGatewayRequest * DisableGatewayInput * @return Result of the DisableGateway operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DisableGateway * @see AWS * API Documentation */ @Override public DisableGatewayResult disableGateway(DisableGatewayRequest request) { request = beforeClientExecution(request); return executeDisableGateway(request); } @SdkInternalApi final DisableGatewayResult executeDisableGateway(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 DisableGatewayRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disableGatewayRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisableGateway"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisableGatewayResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Disassociates an Amazon FSx file system from the specified gateway. After the disassociation process finishes, * the gateway can no longer access the Amazon FSx file system. This operation is only supported in the FSx File * Gateway type. *

              * * @param disassociateFileSystemRequest * @return Result of the DisassociateFileSystem operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.DisassociateFileSystem * @see AWS API Documentation */ @Override public DisassociateFileSystemResult disassociateFileSystem(DisassociateFileSystemRequest request) { request = beforeClientExecution(request); return executeDisassociateFileSystem(request); } @SdkInternalApi final DisassociateFileSystemResult executeDisassociateFileSystem(DisassociateFileSystemRequest disassociateFileSystemRequest) { ExecutionContext executionContext = createExecutionContext(disassociateFileSystemRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateFileSystemRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(disassociateFileSystemRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateFileSystem"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateFileSystemResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Adds a file gateway to an Active Directory domain. This operation is only supported for file gateways that * support the SMB file protocol. *

              * * @param joinDomainRequest * JoinDomainInput * @return Result of the JoinDomain operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.JoinDomain * @see AWS API * Documentation */ @Override public JoinDomainResult joinDomain(JoinDomainRequest request) { request = beforeClientExecution(request); return executeJoinDomain(request); } @SdkInternalApi final JoinDomainResult executeJoinDomain(JoinDomainRequest joinDomainRequest) { ExecutionContext executionContext = createExecutionContext(joinDomainRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new JoinDomainRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(joinDomainRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "JoinDomain"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new JoinDomainResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Lists the automatic tape creation policies for a gateway. If there are no automatic tape creation policies for * the gateway, it returns an empty list. *

              *

              * This operation is only supported for tape gateways. *

              * * @param listAutomaticTapeCreationPoliciesRequest * @return Result of the ListAutomaticTapeCreationPolicies operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListAutomaticTapeCreationPolicies * @see AWS API Documentation */ @Override public ListAutomaticTapeCreationPoliciesResult listAutomaticTapeCreationPolicies(ListAutomaticTapeCreationPoliciesRequest request) { request = beforeClientExecution(request); return executeListAutomaticTapeCreationPolicies(request); } @SdkInternalApi final ListAutomaticTapeCreationPoliciesResult executeListAutomaticTapeCreationPolicies( ListAutomaticTapeCreationPoliciesRequest listAutomaticTapeCreationPoliciesRequest) { ExecutionContext executionContext = createExecutionContext(listAutomaticTapeCreationPoliciesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListAutomaticTapeCreationPoliciesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listAutomaticTapeCreationPoliciesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListAutomaticTapeCreationPolicies"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListAutomaticTapeCreationPoliciesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Gets a list of the file shares for a specific S3 File Gateway, or the list of file shares that belong to the * calling user account. This operation is only supported for S3 File Gateways. *

              * * @param listFileSharesRequest * ListFileShareInput * @return Result of the ListFileShares operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListFileShares * @see AWS * API Documentation */ @Override public ListFileSharesResult listFileShares(ListFileSharesRequest request) { request = beforeClientExecution(request); return executeListFileShares(request); } @SdkInternalApi final ListFileSharesResult executeListFileShares(ListFileSharesRequest listFileSharesRequest) { ExecutionContext executionContext = createExecutionContext(listFileSharesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListFileSharesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listFileSharesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFileShares"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFileSharesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Gets a list of FileSystemAssociationSummary objects. Each object contains a summary of a file system * association. This operation is only supported for FSx File Gateways. *

              * * @param listFileSystemAssociationsRequest * @return Result of the ListFileSystemAssociations operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListFileSystemAssociations * @see AWS API Documentation */ @Override public ListFileSystemAssociationsResult listFileSystemAssociations(ListFileSystemAssociationsRequest request) { request = beforeClientExecution(request); return executeListFileSystemAssociations(request); } @SdkInternalApi final ListFileSystemAssociationsResult executeListFileSystemAssociations(ListFileSystemAssociationsRequest listFileSystemAssociationsRequest) { ExecutionContext executionContext = createExecutionContext(listFileSystemAssociationsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListFileSystemAssociationsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listFileSystemAssociationsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListFileSystemAssociations"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListFileSystemAssociationsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

              * Lists gateways owned by an account in an 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 * A JSON object containing zero or more of the following fields:

              *
                *
              • *

                * ListGatewaysInput$Limit *

                *
              • *
              • *

                * ListGatewaysInput$Marker *

                *
              • * @return Result of the ListGateways operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListGateways * @see AWS * API Documentation */ @Override public ListGatewaysResult listGateways(ListGatewaysRequest request) { request = beforeClientExecution(request); return executeListGateways(request); } @SdkInternalApi final ListGatewaysResult executeListGateways(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 ListGatewaysRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listGatewaysRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListGateways"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListGatewaysResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListGatewaysResult listGateways() { return listGateways(new ListGatewaysRequest()); } /** *

                * Returns a list of the gateway's local disks. To specify which gateway to describe, you use the Amazon Resource * Name (ARN) of the gateway in the body of the request. *

                *

                * The request returns a list of all disks, specifying which are configured as working storage, cache storage, or * stored volume or not configured at all. The response includes a DiskStatus field. This field can * have a value of present (the disk is available to use), missing (the disk is no longer connected to the gateway), * or mismatch (the disk node is occupied by a disk that has incorrect metadata or the disk content is corrupted). *

                * * @param listLocalDisksRequest * A JSON object containing the Amazon Resource Name (ARN) of the gateway. * @return Result of the ListLocalDisks operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListLocalDisks * @see AWS * API Documentation */ @Override public ListLocalDisksResult listLocalDisks(ListLocalDisksRequest request) { request = beforeClientExecution(request); return executeListLocalDisks(request); } @SdkInternalApi final ListLocalDisksResult executeListLocalDisks(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 ListLocalDisksRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listLocalDisksRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListLocalDisks"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListLocalDisksResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                * Lists the tags that have been added to the specified resource. This operation is supported in storage gateways of * all types. *

                * * @param listTagsForResourceRequest * ListTagsForResourceInput * @return Result of the ListTagsForResource operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListTagsForResource * @see AWS API Documentation */ @Override public ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest request) { request = beforeClientExecution(request); return executeListTagsForResource(request); } @SdkInternalApi final ListTagsForResourceResult executeListTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest) { ExecutionContext executionContext = createExecutionContext(listTagsForResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTagsForResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTagsForResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTagsForResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTagsForResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public ListTagsForResourceResult listTagsForResource() { return listTagsForResource(new ListTagsForResourceRequest()); } /** *

                * Lists custom tape pools. You specify custom tape pools to list by specifying one or more custom tape pool Amazon * Resource Names (ARNs). If you don't specify a custom tape pool ARN, the operation lists all custom tape pools. *

                *

                * This operation supports pagination. You can optionally specify the Limit parameter in the body to * limit the number of tape pools in the response. If the number of tape pools returned in the response is * truncated, the response includes a Marker element that you can use in your subsequent request to * retrieve the next set of tape pools. *

                * * @param listTapePoolsRequest * @return Result of the ListTapePools operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListTapePools * @see AWS * API Documentation */ @Override public ListTapePoolsResult listTapePools(ListTapePoolsRequest request) { request = beforeClientExecution(request); return executeListTapePools(request); } @SdkInternalApi final ListTapePoolsResult executeListTapePools(ListTapePoolsRequest listTapePoolsRequest) { ExecutionContext executionContext = createExecutionContext(listTapePoolsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTapePoolsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTapePoolsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTapePools"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTapePoolsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                * Lists virtual tapes in your virtual tape library (VTL) and your virtual tape shelf (VTS). You specify the tapes * to list by specifying one or more tape Amazon Resource Names (ARNs). If you don't specify a tape ARN, the * operation lists all virtual tapes in both your VTL and VTS. *

                *

                * This operation supports pagination. By default, the operation returns a maximum of up to 100 tapes. You can * optionally specify the Limit parameter in the body to limit the number of tapes in the response. If * the number of tapes returned in the response is truncated, the response includes a Marker element * that you can use in your subsequent request to retrieve the next set of tapes. This operation is only supported * in the tape gateway type. *

                * * @param listTapesRequest * A JSON object that contains one or more of the following fields:

                *
                  *
                • *

                  * ListTapesInput$Limit *

                  *
                • *
                • *

                  * ListTapesInput$Marker *

                  *
                • *
                • *

                  * ListTapesInput$TapeARNs *

                  *
                • * @return Result of the ListTapes operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListTapes * @see AWS API * Documentation */ @Override public ListTapesResult listTapes(ListTapesRequest request) { request = beforeClientExecution(request); return executeListTapes(request); } @SdkInternalApi final ListTapesResult executeListTapes(ListTapesRequest listTapesRequest) { ExecutionContext executionContext = createExecutionContext(listTapesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListTapesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listTapesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListTapes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListTapesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                  * Lists iSCSI initiators that are connected to a volume. You can use this operation to determine whether a volume * is being used or not. This operation is only supported in the cached volume and stored volume gateway types. *

                  * * @param listVolumeInitiatorsRequest * ListVolumeInitiatorsInput * @return Result of the ListVolumeInitiators operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListVolumeInitiators * @see AWS API Documentation */ @Override public ListVolumeInitiatorsResult listVolumeInitiators(ListVolumeInitiatorsRequest request) { request = beforeClientExecution(request); return executeListVolumeInitiators(request); } @SdkInternalApi final ListVolumeInitiatorsResult executeListVolumeInitiators(ListVolumeInitiatorsRequest listVolumeInitiatorsRequest) { ExecutionContext executionContext = createExecutionContext(listVolumeInitiatorsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListVolumeInitiatorsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listVolumeInitiatorsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListVolumeInitiators"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListVolumeInitiatorsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                  * Lists the recovery points for a specified gateway. This operation is only supported in the cached volume gateway * type. *

                  *

                  * Each cache volume has one recovery point. A volume recovery point is a point in time at which all data of the * volume is consistent and from which you can create a snapshot or clone a new cached volume from a source volume. * To create a snapshot from a volume recovery point use the CreateSnapshotFromVolumeRecoveryPoint operation. *

                  * * @param listVolumeRecoveryPointsRequest * @return Result of the ListVolumeRecoveryPoints operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListVolumeRecoveryPoints * @see AWS API Documentation */ @Override public ListVolumeRecoveryPointsResult listVolumeRecoveryPoints(ListVolumeRecoveryPointsRequest request) { request = beforeClientExecution(request); return executeListVolumeRecoveryPoints(request); } @SdkInternalApi final ListVolumeRecoveryPointsResult executeListVolumeRecoveryPoints(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 ListVolumeRecoveryPointsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listVolumeRecoveryPointsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListVolumeRecoveryPoints"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListVolumeRecoveryPointsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                  * Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN. The response includes only the * volume ARNs. If you want additional volume information, use the DescribeStorediSCSIVolumes or the * DescribeCachediSCSIVolumes API. *

                  *

                  * The operation supports pagination. By default, the operation returns a maximum of up to 100 volumes. You can * optionally specify the Limit field in the body to limit the number of volumes in the response. If * the number of volumes returned in the response is truncated, the response includes a Marker field. You can use * this Marker value in your subsequent request to retrieve the next set of volumes. This operation is only * supported in the cached volume and stored volume gateway types. *

                  * * @param listVolumesRequest * A JSON object that contains one or more of the following fields:

                  *
                    *
                  • *

                    * ListVolumesInput$Limit *

                    *
                  • *
                  • *

                    * ListVolumesInput$Marker *

                    *
                  • * @return Result of the ListVolumes operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ListVolumes * @see AWS API * Documentation */ @Override public ListVolumesResult listVolumes(ListVolumesRequest request) { request = beforeClientExecution(request); return executeListVolumes(request); } @SdkInternalApi final ListVolumesResult executeListVolumes(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 ListVolumesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listVolumesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListVolumes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListVolumesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Sends you notification through CloudWatch Events when all files written to your file share have been uploaded to * Amazon S3. *

                    *

                    * Storage Gateway can send a notification through Amazon CloudWatch Events when all files written to your file * share up to that point in time have been uploaded to Amazon S3. These files include files written to the file * share up to the time that you make a request for notification. When the upload is done, Storage Gateway sends you * notification through an Amazon CloudWatch Event. You can configure CloudWatch Events to send the notification * through event targets such as Amazon SNS or Lambda function. This operation is only supported for S3 File * Gateways. *

                    *

                    * For more information, see Getting file upload notification in the Storage Gateway User Guide. *

                    * * @param notifyWhenUploadedRequest * @return Result of the NotifyWhenUploaded operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.NotifyWhenUploaded * @see AWS API Documentation */ @Override public NotifyWhenUploadedResult notifyWhenUploaded(NotifyWhenUploadedRequest request) { request = beforeClientExecution(request); return executeNotifyWhenUploaded(request); } @SdkInternalApi final NotifyWhenUploadedResult executeNotifyWhenUploaded(NotifyWhenUploadedRequest notifyWhenUploadedRequest) { ExecutionContext executionContext = createExecutionContext(notifyWhenUploadedRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new NotifyWhenUploadedRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(notifyWhenUploadedRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "NotifyWhenUploaded"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new NotifyWhenUploadedResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Refreshes the cached inventory of objects for the specified file share. This operation finds objects in the * Amazon S3 bucket that were added, removed, or replaced since the gateway last listed the bucket's contents and * cached the results. This operation does not import files into the S3 File Gateway cache storage. It only updates * the cached inventory to reflect changes in the inventory of the objects in the S3 bucket. This operation is only * supported in the S3 File Gateway types. *

                    *

                    * You can subscribe to be notified through an Amazon CloudWatch event when your RefreshCache operation * completes. For more information, see Getting notified about file operations in the Storage Gateway User Guide. This operation is Only * supported for S3 File Gateways. *

                    *

                    * When this API is called, it only initiates the refresh operation. When the API call completes and returns a * success code, it doesn't necessarily mean that the file refresh has completed. You should use the * refresh-complete notification to determine that the operation has completed before you check for new files on the * gateway file share. You can subscribe to be notified through a CloudWatch event when your * RefreshCache operation completes. *

                    *

                    * Throttle limit: This API is asynchronous, so the gateway will accept no more than two refreshes at any time. We * recommend using the refresh-complete CloudWatch event notification before issuing additional requests. For more * information, see Getting notified about file operations in the Storage Gateway User Guide. *

                    *

                    * If you invoke the RefreshCache API when two requests are already being processed, any new request will cause an * InvalidGatewayRequestException error because too many requests were sent to the server. *

                    *

                    * For more information, see Getting notified about file operations in the Storage Gateway User Guide. *

                    * * @param refreshCacheRequest * RefreshCacheInput * @return Result of the RefreshCache operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.RefreshCache * @see AWS * API Documentation */ @Override public RefreshCacheResult refreshCache(RefreshCacheRequest request) { request = beforeClientExecution(request); return executeRefreshCache(request); } @SdkInternalApi final RefreshCacheResult executeRefreshCache(RefreshCacheRequest refreshCacheRequest) { ExecutionContext executionContext = createExecutionContext(refreshCacheRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RefreshCacheRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(refreshCacheRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RefreshCache"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RefreshCacheResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Removes one or more tags from the specified resource. This operation is supported in storage gateways of all * types. *

                    * * @param removeTagsFromResourceRequest * RemoveTagsFromResourceInput * @return Result of the RemoveTagsFromResource operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.RemoveTagsFromResource * @see AWS API Documentation */ @Override public RemoveTagsFromResourceResult removeTagsFromResource(RemoveTagsFromResourceRequest request) { request = beforeClientExecution(request); return executeRemoveTagsFromResource(request); } @SdkInternalApi final RemoveTagsFromResourceResult executeRemoveTagsFromResource(RemoveTagsFromResourceRequest removeTagsFromResourceRequest) { ExecutionContext executionContext = createExecutionContext(removeTagsFromResourceRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new RemoveTagsFromResourceRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(removeTagsFromResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RemoveTagsFromResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RemoveTagsFromResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } @Override public RemoveTagsFromResourceResult removeTagsFromResource() { return removeTagsFromResource(new RemoveTagsFromResourceRequest()); } /** *

                    * Resets all cache disks that have encountered an error and makes the disks available for reconfiguration as cache * storage. If your cache disk encounters an error, the gateway prevents read and write operations on virtual tapes * in the gateway. For example, an error can occur when a disk is corrupted or removed from the gateway. When a * cache is reset, the gateway loses its cache storage. At this point, you can reconfigure the disks as cache disks. * This operation is only supported in the cached volume and tape types. *

                    * *

                    * If the cache disk you are resetting contains data that has not been uploaded to Amazon S3 yet, that data can be * lost. After you reset cache disks, there will be no configured cache disks left in the gateway, so you must * configure at least one new cache disk for your gateway to function properly. *

                    *
                    * * @param resetCacheRequest * @return Result of the ResetCache operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ResetCache * @see AWS API * Documentation */ @Override public ResetCacheResult resetCache(ResetCacheRequest request) { request = beforeClientExecution(request); return executeResetCache(request); } @SdkInternalApi final ResetCacheResult executeResetCache(ResetCacheRequest resetCacheRequest) { ExecutionContext executionContext = createExecutionContext(resetCacheRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ResetCacheRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(resetCacheRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ResetCache"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler(new JsonOperationMetadata() .withPayloadJson(true).withHasStreamingSuccessResponse(false), new ResetCacheResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a tape gateway. Virtual tapes archived in * the VTS are not associated with any gateway. However after a tape is retrieved, it is associated with a gateway, * even though it is also listed in the VTS, that is, archive. This operation is only supported in the tape gateway * type. *

                    *

                    * Once a tape is successfully retrieved to a gateway, it cannot be retrieved again to another gateway. You must * archive the tape again before you can retrieve it to another gateway. This operation is only supported in the * tape gateway type. *

                    * * @param retrieveTapeArchiveRequest * RetrieveTapeArchiveInput * @return Result of the RetrieveTapeArchive operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.RetrieveTapeArchive * @see AWS API Documentation */ @Override public RetrieveTapeArchiveResult retrieveTapeArchive(RetrieveTapeArchiveRequest request) { request = beforeClientExecution(request); return executeRetrieveTapeArchive(request); } @SdkInternalApi final RetrieveTapeArchiveResult executeRetrieveTapeArchive(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 RetrieveTapeArchiveRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(retrieveTapeArchiveRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RetrieveTapeArchive"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RetrieveTapeArchiveResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Retrieves the recovery point for the specified virtual tape. This operation is only supported in the tape gateway * type. *

                    *

                    * A recovery point is a point in time view of a virtual tape at which all the data on the tape is consistent. If * your gateway crashes, virtual tapes that have recovery points can be recovered to a new gateway. *

                    * *

                    * The virtual tape can be retrieved to only one gateway. The retrieved tape is read-only. The virtual tape can be * retrieved to only a tape gateway. There is no charge for retrieving recovery points. *

                    *
                    * * @param retrieveTapeRecoveryPointRequest * RetrieveTapeRecoveryPointInput * @return Result of the RetrieveTapeRecoveryPoint operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.RetrieveTapeRecoveryPoint * @see AWS API Documentation */ @Override public RetrieveTapeRecoveryPointResult retrieveTapeRecoveryPoint(RetrieveTapeRecoveryPointRequest request) { request = beforeClientExecution(request); return executeRetrieveTapeRecoveryPoint(request); } @SdkInternalApi final RetrieveTapeRecoveryPointResult executeRetrieveTapeRecoveryPoint(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 RetrieveTapeRecoveryPointRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(retrieveTapeRecoveryPointRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "RetrieveTapeRecoveryPoint"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new RetrieveTapeRecoveryPointResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Sets the password for your VM local console. When you log in to the local console for the first time, you log in * to the VM with the default credentials. We recommend that you set a new password. You don't need to know the * default password to set a new password. *

                    * * @param setLocalConsolePasswordRequest * SetLocalConsolePasswordInput * @return Result of the SetLocalConsolePassword operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.SetLocalConsolePassword * @see AWS API Documentation */ @Override public SetLocalConsolePasswordResult setLocalConsolePassword(SetLocalConsolePasswordRequest request) { request = beforeClientExecution(request); return executeSetLocalConsolePassword(request); } @SdkInternalApi final SetLocalConsolePasswordResult executeSetLocalConsolePassword(SetLocalConsolePasswordRequest setLocalConsolePasswordRequest) { ExecutionContext executionContext = createExecutionContext(setLocalConsolePasswordRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetLocalConsolePasswordRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(setLocalConsolePasswordRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SetLocalConsolePassword"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SetLocalConsolePasswordResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Sets the password for the guest user smbguest. The smbguest user is the user when the * authentication method for the file share is set to GuestAccess. This operation only supported for S3 * File Gateways *

                    * * @param setSMBGuestPasswordRequest * SetSMBGuestPasswordInput * @return Result of the SetSMBGuestPassword operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.SetSMBGuestPassword * @see AWS API Documentation */ @Override public SetSMBGuestPasswordResult setSMBGuestPassword(SetSMBGuestPasswordRequest request) { request = beforeClientExecution(request); return executeSetSMBGuestPassword(request); } @SdkInternalApi final SetSMBGuestPasswordResult executeSetSMBGuestPassword(SetSMBGuestPasswordRequest setSMBGuestPasswordRequest) { ExecutionContext executionContext = createExecutionContext(setSMBGuestPasswordRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new SetSMBGuestPasswordRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(setSMBGuestPasswordRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "SetSMBGuestPassword"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new SetSMBGuestPasswordResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Shuts down a gateway. To specify which gateway to shut down, use the Amazon Resource Name (ARN) of the gateway in * the body of your request. *

                    *

                    * The operation shuts down the gateway service component running in the gateway's virtual machine (VM) and not the * host VM. *

                    * *

                    * If you want to shut down the VM, it is recommended that you first shut down the gateway component in the VM to * avoid unpredictable conditions. *

                    *
                    *

                    * After the gateway is shutdown, you cannot call any other API except StartGateway, * DescribeGatewayInformation, and ListGateways. For more information, see ActivateGateway. * Your applications cannot read from or write to the gateway's storage volumes, and there are no snapshots taken. *

                    * *

                    * When you make a shutdown request, you will get a 200 OK success response immediately. However, it * might take some time for the gateway to shut down. You can call the DescribeGatewayInformation API to * check the status. For more information, see ActivateGateway. *

                    *
                    *

                    * If do not intend to use the gateway again, you must delete the gateway (using DeleteGateway) to no longer * pay software charges associated with the gateway. *

                    * * @param shutdownGatewayRequest * A JSON object containing the Amazon Resource Name (ARN) of the gateway to shut down. * @return Result of the ShutdownGateway operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.ShutdownGateway * @see AWS * API Documentation */ @Override public ShutdownGatewayResult shutdownGateway(ShutdownGatewayRequest request) { request = beforeClientExecution(request); return executeShutdownGateway(request); } @SdkInternalApi final ShutdownGatewayResult executeShutdownGateway(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 ShutdownGatewayRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(shutdownGatewayRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ShutdownGateway"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ShutdownGatewayResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Start a test that verifies that the specified gateway is configured for High Availability monitoring in your host * environment. This request only initiates the test and that a successful response only indicates that the test was * started. It doesn't indicate that the test passed. For the status of the test, invoke the * DescribeAvailabilityMonitorTest API. *

                    * *

                    * Starting this test will cause your gateway to go offline for a brief period. *

                    *
                    * * @param startAvailabilityMonitorTestRequest * @return Result of the StartAvailabilityMonitorTest operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.StartAvailabilityMonitorTest * @see AWS API Documentation */ @Override public StartAvailabilityMonitorTestResult startAvailabilityMonitorTest(StartAvailabilityMonitorTestRequest request) { request = beforeClientExecution(request); return executeStartAvailabilityMonitorTest(request); } @SdkInternalApi final StartAvailabilityMonitorTestResult executeStartAvailabilityMonitorTest(StartAvailabilityMonitorTestRequest startAvailabilityMonitorTestRequest) { ExecutionContext executionContext = createExecutionContext(startAvailabilityMonitorTestRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new StartAvailabilityMonitorTestRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(startAvailabilityMonitorTestRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartAvailabilityMonitorTest"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartAvailabilityMonitorTestResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Starts a gateway that you previously shut down (see ShutdownGateway). After the gateway starts, you can * then make other API calls, your applications can read from or write to the gateway's storage volumes and you will * be able to take snapshot backups. *

                    * *

                    * When you make a request, you will get a 200 OK success response immediately. However, it might take some time for * the gateway to be ready. You should call DescribeGatewayInformation and check the status before making any * additional API calls. For more information, see ActivateGateway. *

                    *
                    *

                    * To specify which gateway to start, use the Amazon Resource Name (ARN) of the gateway in your request. *

                    * * @param startGatewayRequest * A JSON object containing the Amazon Resource Name (ARN) of the gateway to start. * @return Result of the StartGateway operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.StartGateway * @see AWS * API Documentation */ @Override public StartGatewayResult startGateway(StartGatewayRequest request) { request = beforeClientExecution(request); return executeStartGateway(request); } @SdkInternalApi final StartGatewayResult executeStartGateway(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 StartGatewayRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(startGatewayRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "StartGateway"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new StartGatewayResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Updates the automatic tape creation policy of a gateway. Use this to update the policy with a new set of * automatic tape creation rules. This is only supported for tape gateways. *

                    *

                    * By default, there is no automatic tape creation policy. *

                    * *

                    * A gateway can have only one automatic tape creation policy. *

                    *
                    * * @param updateAutomaticTapeCreationPolicyRequest * @return Result of the UpdateAutomaticTapeCreationPolicy operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateAutomaticTapeCreationPolicy * @see AWS API Documentation */ @Override public UpdateAutomaticTapeCreationPolicyResult updateAutomaticTapeCreationPolicy(UpdateAutomaticTapeCreationPolicyRequest request) { request = beforeClientExecution(request); return executeUpdateAutomaticTapeCreationPolicy(request); } @SdkInternalApi final UpdateAutomaticTapeCreationPolicyResult executeUpdateAutomaticTapeCreationPolicy( UpdateAutomaticTapeCreationPolicyRequest updateAutomaticTapeCreationPolicyRequest) { ExecutionContext executionContext = createExecutionContext(updateAutomaticTapeCreationPolicyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateAutomaticTapeCreationPolicyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateAutomaticTapeCreationPolicyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateAutomaticTapeCreationPolicy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateAutomaticTapeCreationPolicyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                    * Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit * or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains. This * operation is supported for the stored volume, cached volume, and tape gateway types. *

                    *

                    * 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 * A JSON object containing one or more of the following fields:

                    *
                      *
                    • *

                      * UpdateBandwidthRateLimitInput$AverageDownloadRateLimitInBitsPerSec *

                      *
                    • *
                    • *

                      * UpdateBandwidthRateLimitInput$AverageUploadRateLimitInBitsPerSec *

                      *
                    • * @return Result of the UpdateBandwidthRateLimit operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateBandwidthRateLimit * @see AWS API Documentation */ @Override public UpdateBandwidthRateLimitResult updateBandwidthRateLimit(UpdateBandwidthRateLimitRequest request) { request = beforeClientExecution(request); return executeUpdateBandwidthRateLimit(request); } @SdkInternalApi final UpdateBandwidthRateLimitResult executeUpdateBandwidthRateLimit(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 UpdateBandwidthRateLimitRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateBandwidthRateLimitRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateBandwidthRateLimit"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateBandwidthRateLimitResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                      * Updates the bandwidth rate limit schedule for a specified gateway. By default, gateways do not have bandwidth * rate limit schedules, which means no bandwidth rate limiting is in effect. Use this to initiate or update a * gateway's bandwidth rate limit schedule. This operation is supported in the volume and tape gateway types. *

                      * * @param updateBandwidthRateLimitScheduleRequest * @return Result of the UpdateBandwidthRateLimitSchedule operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateBandwidthRateLimitSchedule * @see AWS API Documentation */ @Override public UpdateBandwidthRateLimitScheduleResult updateBandwidthRateLimitSchedule(UpdateBandwidthRateLimitScheduleRequest request) { request = beforeClientExecution(request); return executeUpdateBandwidthRateLimitSchedule(request); } @SdkInternalApi final UpdateBandwidthRateLimitScheduleResult executeUpdateBandwidthRateLimitSchedule( UpdateBandwidthRateLimitScheduleRequest updateBandwidthRateLimitScheduleRequest) { ExecutionContext executionContext = createExecutionContext(updateBandwidthRateLimitScheduleRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateBandwidthRateLimitScheduleRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateBandwidthRateLimitScheduleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateBandwidthRateLimitSchedule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateBandwidthRateLimitScheduleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                      * Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target. By * default, a gateway does not have CHAP enabled; however, for added security, you might use it. This operation is * supported in the volume and tape gateway types. *

                      * *

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

                      *
                      * * @param updateChapCredentialsRequest * A JSON object containing one or more of the following fields:

                      *
                        *
                      • *

                        * UpdateChapCredentialsInput$InitiatorName *

                        *
                      • *
                      • *

                        * UpdateChapCredentialsInput$SecretToAuthenticateInitiator *

                        *
                      • *
                      • *

                        * UpdateChapCredentialsInput$SecretToAuthenticateTarget *

                        *
                      • *
                      • *

                        * UpdateChapCredentialsInput$TargetARN *

                        *
                      • * @return Result of the UpdateChapCredentials operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateChapCredentials * @see AWS API Documentation */ @Override public UpdateChapCredentialsResult updateChapCredentials(UpdateChapCredentialsRequest request) { request = beforeClientExecution(request); return executeUpdateChapCredentials(request); } @SdkInternalApi final UpdateChapCredentialsResult executeUpdateChapCredentials(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 UpdateChapCredentialsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateChapCredentialsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateChapCredentials"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateChapCredentialsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                        * Updates a file system association. This operation is only supported in the FSx File Gateways. *

                        * * @param updateFileSystemAssociationRequest * @return Result of the UpdateFileSystemAssociation operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateFileSystemAssociation * @see AWS API Documentation */ @Override public UpdateFileSystemAssociationResult updateFileSystemAssociation(UpdateFileSystemAssociationRequest request) { request = beforeClientExecution(request); return executeUpdateFileSystemAssociation(request); } @SdkInternalApi final UpdateFileSystemAssociationResult executeUpdateFileSystemAssociation(UpdateFileSystemAssociationRequest updateFileSystemAssociationRequest) { ExecutionContext executionContext = createExecutionContext(updateFileSystemAssociationRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateFileSystemAssociationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateFileSystemAssociationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateFileSystemAssociation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateFileSystemAssociationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                        * Updates a gateway's metadata, which includes the gateway's name and time zone. To specify which gateway to * update, use the Amazon Resource Name (ARN) of the gateway in your request. *

                        * *

                        * For gateways activated after September 2, 2015, the gateway's ARN contains the gateway ID rather than the gateway * name. However, changing the name of the gateway has no effect on the gateway's ARN. *

                        *
                        * * @param updateGatewayInformationRequest * @return Result of the UpdateGatewayInformation operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateGatewayInformation * @see AWS API Documentation */ @Override public UpdateGatewayInformationResult updateGatewayInformation(UpdateGatewayInformationRequest request) { request = beforeClientExecution(request); return executeUpdateGatewayInformation(request); } @SdkInternalApi final UpdateGatewayInformationResult executeUpdateGatewayInformation(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 UpdateGatewayInformationRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateGatewayInformationRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateGatewayInformation"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateGatewayInformationResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

                        * *

                        * When you make this request, you get a 200 OK success response immediately. However, it might take * some time for the update to complete. You can call DescribeGatewayInformation to verify the gateway is in * the STATE_RUNNING state. *

                        *
                        *

                        * A software update forces a system restart of your gateway. You can minimize the chance of any disruption to your * applications by increasing your iSCSI Initiators' timeouts. For more information about increasing iSCSI Initiator * timeouts for Windows and Linux, see Customizing your Windows iSCSI settings and Customizing your Linux iSCSI settings, respectively. *

                        *
                        * * @param updateGatewaySoftwareNowRequest * A JSON object containing the Amazon Resource Name (ARN) of the gateway to update. * @return Result of the UpdateGatewaySoftwareNow operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateGatewaySoftwareNow * @see AWS API Documentation */ @Override public UpdateGatewaySoftwareNowResult updateGatewaySoftwareNow(UpdateGatewaySoftwareNowRequest request) { request = beforeClientExecution(request); return executeUpdateGatewaySoftwareNow(request); } @SdkInternalApi final UpdateGatewaySoftwareNowResult executeUpdateGatewaySoftwareNow(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 UpdateGatewaySoftwareNowRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateGatewaySoftwareNowRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateGatewaySoftwareNow"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateGatewaySoftwareNowResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                        * 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 * A JSON object containing the following fields:

                        *
                          *
                        • *

                          * UpdateMaintenanceStartTimeInput$DayOfMonth *

                          *
                        • *
                        • *

                          * UpdateMaintenanceStartTimeInput$DayOfWeek *

                          *
                        • *
                        • *

                          * UpdateMaintenanceStartTimeInput$HourOfDay *

                          *
                        • *
                        • *

                          * UpdateMaintenanceStartTimeInput$MinuteOfHour *

                          *
                        • * @return Result of the UpdateMaintenanceStartTime operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateMaintenanceStartTime * @see AWS API Documentation */ @Override public UpdateMaintenanceStartTimeResult updateMaintenanceStartTime(UpdateMaintenanceStartTimeRequest request) { request = beforeClientExecution(request); return executeUpdateMaintenanceStartTime(request); } @SdkInternalApi final UpdateMaintenanceStartTimeResult executeUpdateMaintenanceStartTime(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 UpdateMaintenanceStartTimeRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateMaintenanceStartTimeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateMaintenanceStartTime"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateMaintenanceStartTimeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                          * Updates a Network File System (NFS) file share. This operation is only supported in S3 File Gateways. *

                          * *

                          * To leave a file share field unchanged, set the corresponding input field to null. *

                          *
                          *

                          * Updates the following file share settings: *

                          *
                            *
                          • *

                            * Default storage class for your S3 bucket *

                            *
                          • *
                          • *

                            * Metadata defaults for your S3 bucket *

                            *
                          • *
                          • *

                            * Allowed NFS clients for your file share *

                            *
                          • *
                          • *

                            * Squash settings *

                            *
                          • *
                          • *

                            * Write status of your file share *

                            *
                          • *
                          * * @param updateNFSFileShareRequest * UpdateNFSFileShareInput * @return Result of the UpdateNFSFileShare operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateNFSFileShare * @see AWS API Documentation */ @Override public UpdateNFSFileShareResult updateNFSFileShare(UpdateNFSFileShareRequest request) { request = beforeClientExecution(request); return executeUpdateNFSFileShare(request); } @SdkInternalApi final UpdateNFSFileShareResult executeUpdateNFSFileShare(UpdateNFSFileShareRequest updateNFSFileShareRequest) { ExecutionContext executionContext = createExecutionContext(updateNFSFileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateNFSFileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateNFSFileShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateNFSFileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateNFSFileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                          * Updates a Server Message Block (SMB) file share. This operation is only supported for S3 File Gateways. *

                          * *

                          * To leave a file share field unchanged, set the corresponding input field to null. *

                          *
                          *

                          * File gateways require Security Token Service (STS) to be activated to enable you to create a file share. Make * sure that STS is activated in the Region you are creating your file gateway in. If STS is not activated in this * Region, activate it. For information about how to activate STS, see Activating and * deactivating STS in an Region in the Identity and Access Management User Guide. *

                          *

                          * File gateways don't support creating hard or symbolic links on a file share. *

                          *
                          * * @param updateSMBFileShareRequest * UpdateSMBFileShareInput * @return Result of the UpdateSMBFileShare operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateSMBFileShare * @see AWS API Documentation */ @Override public UpdateSMBFileShareResult updateSMBFileShare(UpdateSMBFileShareRequest request) { request = beforeClientExecution(request); return executeUpdateSMBFileShare(request); } @SdkInternalApi final UpdateSMBFileShareResult executeUpdateSMBFileShare(UpdateSMBFileShareRequest updateSMBFileShareRequest) { ExecutionContext executionContext = createExecutionContext(updateSMBFileShareRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateSMBFileShareRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateSMBFileShareRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateSMBFileShare"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateSMBFileShareResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                          * Controls whether the shares on an S3 File Gateway are visible in a net view or browse list. The operation is only * supported for S3 File Gateways. *

                          * * @param updateSMBFileShareVisibilityRequest * @return Result of the UpdateSMBFileShareVisibility operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateSMBFileShareVisibility * @see AWS API Documentation */ @Override public UpdateSMBFileShareVisibilityResult updateSMBFileShareVisibility(UpdateSMBFileShareVisibilityRequest request) { request = beforeClientExecution(request); return executeUpdateSMBFileShareVisibility(request); } @SdkInternalApi final UpdateSMBFileShareVisibilityResult executeUpdateSMBFileShareVisibility(UpdateSMBFileShareVisibilityRequest updateSMBFileShareVisibilityRequest) { ExecutionContext executionContext = createExecutionContext(updateSMBFileShareVisibilityRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateSMBFileShareVisibilityRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateSMBFileShareVisibilityRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateSMBFileShareVisibility"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateSMBFileShareVisibilityResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                          * Updates the SMB security strategy on a file gateway. This action is only supported in file gateways. *

                          * *

                          * This API is called Security level in the User Guide. *

                          *

                          * A higher security level can affect performance of the gateway. *

                          *
                          * * @param updateSMBSecurityStrategyRequest * @return Result of the UpdateSMBSecurityStrategy operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateSMBSecurityStrategy * @see AWS API Documentation */ @Override public UpdateSMBSecurityStrategyResult updateSMBSecurityStrategy(UpdateSMBSecurityStrategyRequest request) { request = beforeClientExecution(request); return executeUpdateSMBSecurityStrategy(request); } @SdkInternalApi final UpdateSMBSecurityStrategyResult executeUpdateSMBSecurityStrategy(UpdateSMBSecurityStrategyRequest updateSMBSecurityStrategyRequest) { ExecutionContext executionContext = createExecutionContext(updateSMBSecurityStrategyRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateSMBSecurityStrategyRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(updateSMBSecurityStrategyRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateSMBSecurityStrategy"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateSMBSecurityStrategyResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                          * Updates a snapshot schedule configured for a gateway volume. This operation is only supported in the cached * volume and stored volume gateway types. *

                          *

                          * 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 * A JSON object containing one or more of the following fields:

                          *
                            *
                          • *

                            * UpdateSnapshotScheduleInput$Description *

                            *
                          • *
                          • *

                            * UpdateSnapshotScheduleInput$RecurrenceInHours *

                            *
                          • *
                          • *

                            * UpdateSnapshotScheduleInput$StartAt *

                            *
                          • *
                          • *

                            * UpdateSnapshotScheduleInput$VolumeARN *

                            *
                          • * @return Result of the UpdateSnapshotSchedule operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateSnapshotSchedule * @see AWS API Documentation */ @Override public UpdateSnapshotScheduleResult updateSnapshotSchedule(UpdateSnapshotScheduleRequest request) { request = beforeClientExecution(request); return executeUpdateSnapshotSchedule(request); } @SdkInternalApi final UpdateSnapshotScheduleResult executeUpdateSnapshotSchedule(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 UpdateSnapshotScheduleRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateSnapshotScheduleRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateSnapshotSchedule"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateSnapshotScheduleResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

                            * Updates the type of medium changer in a tape gateway. When you activate a tape gateway, you select a medium * changer type for the tape gateway. This operation enables you to select a different type of medium changer after * a tape gateway is activated. This operation is only supported in the tape gateway type. *

                            * * @param updateVTLDeviceTypeRequest * @return Result of the UpdateVTLDeviceType operation returned by the service. * @throws InvalidGatewayRequestException * An exception occurred because an invalid gateway request was issued to the service. For more information, * see the error and message fields. * @throws InternalServerErrorException * An internal server error has occurred during the request. For more information, see the error and message * fields. * @sample AWSStorageGateway.UpdateVTLDeviceType * @see AWS API Documentation */ @Override public UpdateVTLDeviceTypeResult updateVTLDeviceType(UpdateVTLDeviceTypeRequest request) { request = beforeClientExecution(request); return executeUpdateVTLDeviceType(request); } @SdkInternalApi final UpdateVTLDeviceTypeResult executeUpdateVTLDeviceType(UpdateVTLDeviceTypeRequest updateVTLDeviceTypeRequest) { ExecutionContext executionContext = createExecutionContext(updateVTLDeviceTypeRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new UpdateVTLDeviceTypeRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(updateVTLDeviceTypeRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Storage Gateway"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "UpdateVTLDeviceType"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new UpdateVTLDeviceTypeResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * 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); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @com.amazonaws.annotation.SdkInternalApi static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() { return protocolFactory; } @Override public void shutdown() { super.shutdown(); } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy