You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.

Class: Aws::StorageGateway::Client

Inherits:
Seahorse::Client::Base show all
Defined in:
(unknown)

Overview

An API client for AWS Storage Gateway. To construct a client, you need to configure a :region and :credentials.

storagegateway = Aws::StorageGateway::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

See #initialize for a full list of supported configuration options.

Region

You can configure a default region in the following locations:

  • ENV['AWS_REGION']
  • Aws.config[:region]

Go here for a list of supported regions.

Credentials

Default credentials are loaded automatically from the following locations:

  • ENV['AWS_ACCESS_KEY_ID'] and ENV['AWS_SECRET_ACCESS_KEY']
  • Aws.config[:credentials]
  • The shared credentials ini file at ~/.aws/credentials (more information)
  • From an instance profile when running on EC2

You can also construct a credentials object from one of the following classes:

Alternatively, you configure credentials with :access_key_id and :secret_access_key:

# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))

Aws::StorageGateway::Client.new(
  access_key_id: creds['access_key_id'],
  secret_access_key: creds['secret_access_key']
)

Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

Constructor collapse

API Operations collapse

Instance Method Summary collapse

Methods inherited from Seahorse::Client::Base

add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options = {}) ⇒ Aws::StorageGateway::Client

Constructs an API client.

Options Hash (options):

  • :access_key_id (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types. See Plugins::ParamConverter for more details.

  • :credentials (required, Credentials)

    Your AWS credentials. The following locations will be searched in order for credentials:

    • :access_key_id, :secret_access_key, and :session_token options
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • HOME/.aws/credentials shared credentials file
    • EC2 instance profile credentials See Plugins::RequestSigner for more details.
  • :endpoint (String)

    A default endpoint is constructed from the :region. See Plugins::RegionalEndpoint for more details.

  • :http_continue_timeout (Float) — default: 1

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_idle_timeout (Integer) — default: 5

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_open_timeout (Integer) — default: 15

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_proxy (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_read_timeout (Integer) — default: 60

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :http_wire_trace (Boolean) — default: false

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the logger at. See Plugins::Logging for more details.

  • :log_formatter (Logging::LogFormatter)

    The log formatter. Defaults to Seahorse::Client::Logging::Formatter.default. See Plugins::Logging for more details.

  • :logger (Logger) — default: nil

    The Logger instance to send log messages to. If this option is not set, logging will be disabled. See Plugins::Logging for more details.

  • :profile (String)

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used. See Plugins::RequestSigner for more details.

  • :raise_response_errors (Boolean) — default: true

    When true, response errors are raised. See Seahorse::Client::Plugins::RaiseResponseErrors for more details.

  • :region (required, String)

    The AWS region to connect to. The region is used to construct the client endpoint. Defaults to ENV['AWS_REGION']. Also checks AMAZON_REGION and AWS_DEFAULT_REGION. See Plugins::RegionalEndpoint for more details.

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors and auth errors from expired credentials. See Plugins::RetryErrors for more details.

  • :secret_access_key (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :session_token (String)

    Used to set credentials statically. See Plugins::RequestSigner for more details.

  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects. See Plugins::Protocols::JsonRpc for more details.

  • :ssl_ca_bundle (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_directory (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_ca_store (String)

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :ssl_verify_peer (Boolean) — default: true

    See Seahorse::Client::Plugins::NetHttp for more details.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled. See Plugins::StubResponses for more details.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request. See Plugins::ParamValidator for more details.

Instance Method Details

#activate_gateway(options = {}) ⇒ Types::ActivateGatewayOutput

Activates the gateway you previously deployed on your host. For more information, see Activate the AWS Storage Gateway. In the activation process, you specify information such as the region 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.

Examples:

Example: To activate the gateway


# Activates the gateway you previously deployed on your host.

resp = client.activate_gateway({
  activation_key: "29AV1-3OFV9-VVIUB-NKT0I-LRO6V", 
  gateway_name: "My_Gateway", 
  gateway_region: "us-east-1", 
  gateway_timezone: "GMT-12:00", 
  gateway_type: "STORED", 
  medium_changer_type: "AWS-Gateway-VTL", 
  tape_drive_type: "IBM-ULT3580-TD5", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
}

Request syntax with placeholder values


resp = client.activate_gateway({
  activation_key: "ActivationKey", # required
  gateway_name: "GatewayName", # required
  gateway_timezone: "GatewayTimezone", # required
  gateway_region: "RegionId", # required
  gateway_type: "GatewayType",
  tape_drive_type: "TapeDriveType",
  medium_changer_type: "MediumChangerType",
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :activation_key (required, String)

    Your gateway activation key. You can obtain the activation key by sending an HTTP GET request with redirects enabled to the gateway IP address (port 80). The redirect URL returned in the response provides you the activation key for your gateway in the query string parameter activationKey. It may also include other activation-related parameters, however, these are merely defaults -- the arguments you pass to the ActivateGateway API call determine the actual configuration of your gateway.

  • :gateway_name (required, String)

    The name you configured for your gateway.

  • :gateway_timezone (required, String)

    A value that indicates the time zone you want to set for the gateway. The time zone is of the format \"GMT-hr:mm\" or \"GMT+hr:mm\". For example, GMT-4:00 indicates the time is 4 hours behind GMT. GMT+2:00 indicates the time is 2 hours ahead of GMT. The time zone is used, for example, for scheduling snapshots and your gateway\'s maintenance schedule.

  • :gateway_region (required, String)

    A value that indicates the region where you want to store your data. The gateway region specified must be the same region as the region in your Host header in the request. For more information about available regions and endpoints for AWS Storage Gateway, see Regions and Endpoints in the Amazon Web Services Glossary.

    Valid Values: \"us-east-1\", \"us-east-2\", \"us-west-1\", \"us-west-2\", \"ca-central-1\", \"eu-west-1\", \"eu-central-1\", \"eu-west-2\", \"ap-northeast-1\", \"ap-northeast-2\", \"ap-southeast-1\", \"ap-southeast-2\", \"ap-south-1\", \"sa-east-1\"

  • :gateway_type (String)

    A value that defines the type of gateway to activate. The type specified is critical to all later functions of the gateway and cannot be changed after activation. The default value is STORED.

    Valid Values: \"STORED\", \"CACHED\", \"VTL\", \"FILE_S3\"

  • :tape_drive_type (String)

    The value that indicates the type of tape drive to use for tape gateway. This field is optional.

    Valid Values: \"IBM-ULT3580-TD5\"

  • :medium_changer_type (String)

    The value that indicates the type of medium changer to use for tape gateway. This field is optional.

    Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

Returns:

See Also:

#add_cache(options = {}) ⇒ Types::AddCacheOutput

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 Storage Gateway Concepts).

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

Examples:

Example: To add a cache


# The following example shows a request that activates a gateway-stored volume.

resp = client.add_cache({
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:03:00.0-scsi-0:0:1:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.add_cache({
  gateway_arn: "GatewayARN", # required
  disk_ids: ["DiskId"], # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :disk_ids (required, Array<String>)

Returns:

See Also:

#add_tags_to_resource(options = {}) ⇒ Types::AddTagsToResourceOutput

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 AWS Storage Gateway resources:

  • Storage gateways of all types

  • Storage Volumes

  • Virtual Tapes

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

Examples:

Example: To add tags to resource


# Adds one or more tags to the specified resource.

resp = client.add_tags_to_resource({
  resource_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
  tags: [
    {
      key: "Dev Gatgeway Region", 
      value: "East Coast", 
    }, 
  ], 
})

# resp.to_h outputs the following:
{
  resource_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
}

Request syntax with placeholder values


resp = client.add_tags_to_resource({
  resource_arn: "ResourceARN", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Response structure


resp.resource_arn #=> String

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource you want to add tags to.

  • :tags (required, Array<Types::Tag>)

    The key-value pair that represents the tag you want to add to the resource. The value can be an empty string.

    Valid characters for key and value are letters, spaces, and numbers representable in UTF-8 format, and the following special characters: + - = . _ : / @.

Returns:

See Also:

#add_upload_buffer(options = {}) ⇒ Types::AddUploadBufferOutput

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.

Examples:

Example: To add upload buffer on local disk


# Configures one or more gateway local disks as upload buffer for a specified gateway.

resp = client.add_upload_buffer({
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:03:00.0-scsi-0:0:1:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.add_upload_buffer({
  gateway_arn: "GatewayARN", # required
  disk_ids: ["DiskId"], # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :disk_ids (required, Array<String>)

Returns:

See Also:

#add_working_storage(options = {}) ⇒ Types::AddWorkingStorageOutput

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.

Examples:

Example: To add storage on local disk


# Configures one or more gateway local disks as working storage for a gateway. (Working storage is also referred to as upload buffer.)

resp = client.add_working_storage({
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:03:00.0-scsi-0:0:1:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.add_working_storage({
  gateway_arn: "GatewayARN", # required
  disk_ids: ["DiskId"], # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :disk_ids (required, Array<String>)

    An array of strings that identify disks that are to be configured as working storage. Each string have a minimum length of 1 and maximum length of 300. You can get the disk IDs from the ListLocalDisks API.

Returns:

See Also:

#cancel_archival(options = {}) ⇒ Types::CancelArchivalOutput

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.

Examples:

Example: To cancel virtual tape archiving


# Cancels archiving of a virtual tape to the virtual tape shelf (VTS) after the archiving process is initiated.

resp = client.cancel_archival({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4", 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4", 
}

Request syntax with placeholder values


resp = client.cancel_archival({
  gateway_arn: "GatewayARN", # required
  tape_arn: "TapeARN", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :tape_arn (required, String)

    The Amazon Resource Name (ARN) of the virtual tape you want to cancel archiving for.

Returns:

See Also:

#cancel_retrieval(options = {}) ⇒ Types::CancelRetrievalOutput

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.

Examples:

Example: To cancel virtual tape retrieval


# Cancels retrieval of a virtual tape from the virtual tape shelf (VTS) to a gateway after the retrieval process is initiated.

resp = client.cancel_retrieval({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4", 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4", 
}

Request syntax with placeholder values


resp = client.cancel_retrieval({
  gateway_arn: "GatewayARN", # required
  tape_arn: "TapeARN", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :tape_arn (required, String)

    The Amazon Resource Name (ARN) of the virtual tape you want to cancel retrieval for.

Returns:

See Also:

#create_cached_iscsi_volume(options = {}) ⇒ Types::CreateCachediSCSIVolumeOutput

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.

Examples:

Example: To create a cached iSCSI volume


# Creates a cached volume on a specified cached gateway.

resp = client.create_cached_iscsi_volume({
  client_token: "cachedvol112233", 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  network_interface_id: "10.1.1.1", 
  snapshot_id: "snap-f47b7b94", 
  target_name: "my-volume", 
  volume_size_in_bytes: 536870912000, 
})

# resp.to_h outputs the following:
{
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
}

Request syntax with placeholder values


resp = client.create_cached_iscsi_volume({
  gateway_arn: "GatewayARN", # required
  volume_size_in_bytes: 1, # required
  snapshot_id: "SnapshotId",
  target_name: "TargetName", # required
  source_volume_arn: "VolumeARN",
  network_interface_id: "NetworkInterfaceId", # required
  client_token: "ClientToken", # required
})

Response structure


resp.volume_arn #=> String
resp.target_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :volume_size_in_bytes (required, Integer)
  • :snapshot_id (String)
  • :target_name (required, String)
  • :source_volume_arn (String)

    The ARN for an existing volume. Specifying this ARN makes the new volume into an exact copy of the specified existing volume\'s latest recovery point. The VolumeSizeInBytes value for this new volume must be equal to or larger than the size of the existing volume, in bytes.

  • :network_interface_id (required, String)
  • :client_token (required, String)

Returns:

See Also:

#create_nfs_file_share(options = {}) ⇒ Types::CreateNFSFileShareOutput

Creates a file share on an existing 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 a Network File System (NFS) interface. This operation is only supported in the file gateway type.

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

File gateway does not support creating hard or symbolic links on a file share.

Examples:

Request syntax with placeholder values


resp = client.create_nfs_file_share({
  client_token: "ClientToken", # required
  nfs_file_share_defaults: {
    file_mode: "PermissionMode",
    directory_mode: "PermissionMode",
    group_id: 1,
    owner_id: 1,
  },
  gateway_arn: "GatewayARN", # required
  kms_encrypted: false,
  kms_key: "KMSKey",
  role: "Role", # required
  location_arn: "LocationARN", # required
  default_storage_class: "StorageClass",
  client_list: ["IPV4AddressCIDR"],
  squash: "Squash",
  read_only: false,
  guess_mime_type_enabled: false,
})

Response structure


resp.file_share_arn #=> String

Options Hash (options):

  • :client_token (required, String)

    A unique string value that you supply that is used by file gateway to ensure idempotent file share creation.

  • :nfs_file_share_defaults (Types::NFSFileShareDefaults)

    File share default values. Optional.

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the file gateway on which you want to create a file share.

  • :kms_encrypted (Boolean)

    True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

  • :kms_key (String)

    The KMS key used for Amazon S3 server side encryption. This value can only be set when KmsEncrypted is true. Optional.

  • :role (required, String)

    The ARN of the AWS Identity and Access Management (IAM) role that a file gateway assumes when it accesses the underlying storage.

  • :location_arn (required, String)

    The ARN of the backed storage used for storing file data.

  • :default_storage_class (String)

    The default storage class for objects put into an Amazon S3 bucket by file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

  • :client_list (Array<String>)

    The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

  • :squash (String)

    Maps a user to anonymous user. Valid options are the following:

    • \"RootSquash\" - Only root is mapped to anonymous user.

    • \"NoSquash\" - No one is mapped to anonymous user.

    • \"AllSquash\" - Everyone is mapped to anonymous user.

  • :read_only (Boolean)

    Sets the write status of a file share: \"true\" if the write status is read-only, and otherwise \"false\".

  • :guess_mime_type_enabled (Boolean)

    Enables guessing of the MIME type for uploaded objects based on file extensions: \"true\" to enable MIME type guessing, and otherwise \"false\".

Returns:

See Also:

#create_snapshot(options = {}) ⇒ Types::CreateSnapshotOutput

Initiates a snapshot of a volume.

AWS Storage Gateway provides the ability to back up point-in-time snapshots of your data to Amazon Simple Storage (S3) for durable off-site recovery, as well as import the data to an Amazon Elastic Block Store (EBS) volume in Amazon Elastic Compute Cloud (EC2). You can take snapshots of your gateway volume on a scheduled or ad-hoc basis. This API enables you to take ad-hoc snapshot. For more information, see 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 AWS Storage Gateway takes the snapshot of specified volume, the snapshot and description appears in the AWS Storage Gateway Console. In response, AWS Storage Gateway returns you a snapshot ID. You can use this snapshot ID to check the snapshot progress or later use it when you want to create a volume from a snapshot. 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 EC2 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.

Examples:

Example: To create a snapshot of a gateway volume


# Initiates an ad-hoc snapshot of a gateway volume.

resp = client.create_snapshot({
  snapshot_description: "My root volume snapshot as of 10/03/2017", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
})

# resp.to_h outputs the following:
{
  snapshot_id: "snap-78e22663", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
}

Request syntax with placeholder values


resp = client.create_snapshot({
  volume_arn: "VolumeARN", # required
  snapshot_description: "SnapshotDescription", # required
})

Response structure


resp.volume_arn #=> String
resp.snapshot_id #=> String

Options Hash (options):

  • :volume_arn (required, String)

    The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

  • :snapshot_description (required, String)

    Textual description of the snapshot that appears in the Amazon EC2 console, Elastic Block Store snapshots panel in the Description field, and in the AWS Storage Gateway snapshot Details pane, Description field

Returns:

See Also:

#create_snapshot_from_volume_recovery_point(options = {}) ⇒ Types::CreateSnapshotFromVolumeRecoveryPointOutput

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 AWS 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, in Amazon Elastic Compute Cloud API Reference.

Examples:

Example: To create a snapshot of a gateway volume


# Initiates a snapshot of a gateway from a volume recovery point.

resp = client.create_snapshot_from_volume_recovery_point({
  snapshot_description: "My root volume snapshot as of 2017-06-30T10:10:10.000Z", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
})

# resp.to_h outputs the following:
{
  snapshot_id: "snap-78e22663", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
  volume_recovery_point_time: "2017-06-30T10:10:10.000Z", 
}

Request syntax with placeholder values


resp = client.create_snapshot_from_volume_recovery_point({
  volume_arn: "VolumeARN", # required
  snapshot_description: "SnapshotDescription", # required
})

Response structure


resp.snapshot_id #=> String
resp.volume_arn #=> String
resp.volume_recovery_point_time #=> String

Options Hash (options):

  • :volume_arn (required, String)
  • :snapshot_description (required, String)

Returns:

See Also:

#create_stored_iscsi_volume(options = {}) ⇒ Types::CreateStorediSCSIVolumeOutput

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.

Examples:

Example: To create a stored iSCSI volume


# Creates a stored volume on a specified stored gateway.

resp = client.create_stored_iscsi_volume({
  disk_id: "pci-0000:03:00.0-scsi-0:0:0:0", 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  network_interface_id: "10.1.1.1", 
  preserve_existing_data: true, 
  snapshot_id: "snap-f47b7b94", 
  target_name: "my-volume", 
})

# resp.to_h outputs the following:
{
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
  volume_size_in_bytes: 1099511627776, 
}

Request syntax with placeholder values


resp = client.create_stored_iscsi_volume({
  gateway_arn: "GatewayARN", # required
  disk_id: "DiskId", # required
  snapshot_id: "SnapshotId",
  preserve_existing_data: false, # required
  target_name: "TargetName", # required
  network_interface_id: "NetworkInterfaceId", # required
})

Response structure


resp.volume_arn #=> String
resp.volume_size_in_bytes #=> Integer
resp.target_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :disk_id (required, String)

    The unique identifier for the gateway local disk that is configured as a stored volume. Use ListLocalDisks to list disk IDs for a gateway.

  • :snapshot_id (String)

    The snapshot ID (e.g. \"snap-1122aabb\") of the snapshot to restore as the new stored volume. Specify this field if you want to create the iSCSI storage volume from a snapshot otherwise do not include this field. To list snapshots for your account use DescribeSnapshots in the Amazon Elastic Compute Cloud API Reference.

  • :preserve_existing_data (required, Boolean)

    Specify this field as true if you want to preserve the data on the local disk. Otherwise, specifying this field as false creates an empty volume.

    Valid Values: true, false

  • :target_name (required, String)

    The name of the iSCSI target used by initiators to connect to the target and as a suffix for the target ARN. For example, specifying TargetName as myvolume results in the target ARN of arn:aws:storagegateway:us-east-2:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume. The target name must be unique across all volumes of a gateway.

  • :network_interface_id (required, String)

    The network interface of the gateway on which to expose the iSCSI target. Only IPv4 addresses are accepted. Use DescribeGatewayInformation to get a list of the network interfaces available on a gateway.

    Valid Values: A valid IP address.

Returns:

See Also:

#create_tape_with_barcode(options = {}) ⇒ Types::CreateTapeWithBarcodeOutput

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 can not 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.

Examples:

Example: To create a virtual tape using a barcode


# Creates a virtual tape by using your own barcode.

resp = client.create_tape_with_barcode({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  tape_barcode: "TEST12345", 
  tape_size_in_bytes: 107374182400, 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST12345", 
}

Request syntax with placeholder values


resp = client.create_tape_with_barcode({
  gateway_arn: "GatewayARN", # required
  tape_size_in_bytes: 1, # required
  tape_barcode: "TapeBarcode", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tape with. Use the ListGateways operation to return a list of gateways for your account and region.

  • :tape_size_in_bytes (required, Integer)

    The size, in bytes, of the virtual tape that you want to create.

    The size must be aligned by gigabyte (1024*1024*1024 byte).

  • :tape_barcode (required, String)

    The barcode that you want to assign to the tape.

    Barcodes cannot be reused. This includes barcodes used for tapes that have been deleted.

Returns:

See Also:

#create_tapes(options = {}) ⇒ Types::CreateTapesOutput

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.

Examples:

Example: To create a virtual tape


# Creates one or more virtual tapes.

resp = client.create_tapes({
  client_token: "77777", 
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  num_tapes_to_create: 3, 
  tape_barcode_prefix: "TEST", 
  tape_size_in_bytes: 107374182400, 
})

# resp.to_h outputs the following:
{
  tape_arns: [
    "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST38A29D", 
    "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST3AA29F", 
    "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST3BA29E", 
  ], 
}

Request syntax with placeholder values


resp = client.create_tapes({
  gateway_arn: "GatewayARN", # required
  tape_size_in_bytes: 1, # required
  client_token: "ClientToken", # required
  num_tapes_to_create: 1, # required
  tape_barcode_prefix: "TapeBarcodePrefix", # required
})

Response structure


resp.tape_arns #=> Array
resp.tape_arns[0] #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The unique Amazon Resource Name (ARN) that represents the gateway to associate the virtual tapes with. Use the ListGateways operation to return a list of gateways for your account and region.

  • :tape_size_in_bytes (required, Integer)

    The size, in bytes, of the virtual tapes that you want to create.

    The size must be aligned by gigabyte (1024*1024*1024 byte).

  • :client_token (required, String)

    A unique identifier that you use to retry a request. If you retry a request, use the same ClientToken you specified in the initial request.

    Using the same ClientToken prevents creating the tape multiple times.

  • :num_tapes_to_create (required, Integer)

    The number of virtual tapes that you want to create.

  • :tape_barcode_prefix (required, String)

    A prefix that you append to the barcode of the virtual tape you are creating. This prefix makes the barcode unique.

    The prefix must be 1 to 4 characters in length and must be one of the uppercase letters from A to Z.

Returns:

See Also:

#delete_bandwidth_rate_limit(options = {}) ⇒ Types::DeleteBandwidthRateLimitOutput

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.

Examples:

Example: To delete bandwidth rate limits of gateway


# Deletes the bandwidth rate limits of a gateway; either the upload or download limit, or both.

resp = client.delete_bandwidth_rate_limit({
  bandwidth_type: "All", 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.delete_bandwidth_rate_limit({
  gateway_arn: "GatewayARN", # required
  bandwidth_type: "BandwidthType", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :bandwidth_type (required, String)

    One of the BandwidthType values that indicates the gateway bandwidth rate limit to delete.

    Valid Values: Upload, Download, All.

Returns:

See Also:

#delete_chap_credentials(options = {}) ⇒ Types::DeleteChapCredentialsOutput

Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.

Examples:

Example: To delete CHAP credentials


# Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target and initiator pair.

resp = client.delete_chap_credentials({
  initiator_name: "iqn.1991-05.com.microsoft:computername.domain.example.com", 
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
})

# resp.to_h outputs the following:
{
  initiator_name: "iqn.1991-05.com.microsoft:computername.domain.example.com", 
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
}

Request syntax with placeholder values


resp = client.delete_chap_credentials({
  target_arn: "TargetARN", # required
  initiator_name: "IqnName", # required
})

Response structure


resp.target_arn #=> String
resp.initiator_name #=> String

Options Hash (options):

  • :target_arn (required, String)

    The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

  • :initiator_name (required, String)

    The iSCSI initiator that connects to the target.

Returns:

See Also:

#delete_file_share(options = {}) ⇒ Types::DeleteFileShareOutput

Deletes a file share from a file gateway. This operation is only supported in the file gateway type.

Examples:

Request syntax with placeholder values


resp = client.delete_file_share({
  file_share_arn: "FileShareARN", # required
  force_delete: false,
})

Response structure


resp.file_share_arn #=> String

Options Hash (options):

  • :file_share_arn (required, String)

    The Amazon Resource Name (ARN) of the file share to be deleted.

  • :force_delete (Boolean)

    If this value is set to true, the operation deletes a file share immediately and aborts all data uploads to AWS. Otherwise, the file share is not deleted until all data is uploaded to AWS. This process aborts the data upload process, and the file share enters the FORCE_DELETING status.

Returns:

See Also:

#delete_gateway(options = {}) ⇒ Types::DeleteGatewayOutput

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

Examples:

Example: To delete a gatgeway


# This operation deletes the gateway, but not the gateway's VM from the host computer.

resp = client.delete_gateway({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.delete_gateway({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#delete_snapshot_schedule(options = {}) ⇒ Types::DeleteSnapshotScheduleOutput

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 Working with Snapshots. 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. in Amazon Elastic Compute Cloud API Reference.

Examples:

Example: To delete a snapshot of a volume


# This action enables you to delete a snapshot schedule for a volume.

resp = client.delete_snapshot_schedule({
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
})

# resp.to_h outputs the following:
{
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
}

Request syntax with placeholder values


resp = client.delete_snapshot_schedule({
  volume_arn: "VolumeARN", # required
})

Response structure


resp.volume_arn #=> String

Options Hash (options):

  • :volume_arn (required, String)

Returns:

See Also:

#delete_tape(options = {}) ⇒ Types::DeleteTapeOutput

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

Examples:

Example: To delete a virtual tape


# This example deletes the specified virtual tape.

resp = client.delete_tape({
  gateway_arn: "arn:aws:storagegateway:us-east-1:204469490176:gateway/sgw-12A3456B", 
  tape_arn: "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0", 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0", 
}

Request syntax with placeholder values


resp = client.delete_tape({
  gateway_arn: "GatewayARN", # required
  tape_arn: "TapeARN", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The unique Amazon Resource Name (ARN) of the gateway that the virtual tape to delete is associated with. Use the ListGateways operation to return a list of gateways for your account and region.

  • :tape_arn (required, String)

    The Amazon Resource Name (ARN) of the virtual tape to delete.

Returns:

See Also:

#delete_tape_archive(options = {}) ⇒ Types::DeleteTapeArchiveOutput

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

Examples:

Example: To delete a virtual tape from the shelf (VTS)


# Deletes the specified virtual tape from the virtual tape shelf (VTS).

resp = client.delete_tape_archive({
  tape_arn: "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0", 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:204469490176:tape/TEST05A2A0", 
}

Request syntax with placeholder values


resp = client.delete_tape_archive({
  tape_arn: "TapeARN", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :tape_arn (required, String)

    The Amazon Resource Name (ARN) of the virtual tape to delete from the virtual tape shelf (VTS).

Returns:

See Also:

#delete_volume(options = {}) ⇒ Types::DeleteVolumeOutput

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.

Examples:

Example: To delete a gateway volume


# Deletes the specified gateway volume that you previously created using the CreateCachediSCSIVolume or CreateStorediSCSIVolume API.

resp = client.delete_volume({
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
})

# resp.to_h outputs the following:
{
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
}

Request syntax with placeholder values


resp = client.delete_volume({
  volume_arn: "VolumeARN", # required
})

Response structure


resp.volume_arn #=> String

Options Hash (options):

  • :volume_arn (required, String)

    The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

Returns:

See Also:

#describe_bandwidth_rate_limit(options = {}) ⇒ Types::DescribeBandwidthRateLimitOutput

Returns the bandwidth rate limits of a gateway. By default, these limits are not set, which means no bandwidth rate limiting is in effect.

This operation only returns a value for a bandwidth rate limit only if the limit is set. If no limits are set for the gateway, then this operation returns only the gateway ARN in the response body. To specify which gateway to describe, use the Amazon Resource Name (ARN) of the gateway in your request.

Examples:

Example: To describe the bandwidth rate limits of a gateway


# Returns a value for a bandwidth rate limit if set. If not set, then only the gateway ARN is returned.

resp = client.describe_bandwidth_rate_limit({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  average_download_rate_limit_in_bits_per_sec: 204800, 
  average_upload_rate_limit_in_bits_per_sec: 102400, 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.describe_bandwidth_rate_limit({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.average_upload_rate_limit_in_bits_per_sec #=> Integer
resp.average_download_rate_limit_in_bits_per_sec #=> Integer

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#describe_cache(options = {}) ⇒ Types::DescribeCacheOutput

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.

Examples:

Example: To describe cache information


# Returns information about the cache of a gateway.

resp = client.describe_cache({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  cache_allocated_in_bytes: 2199023255552, 
  cache_dirty_percentage: 0.07, 
  cache_hit_percentage: 99.68, 
  cache_miss_percentage: 0.32, 
  cache_used_percentage: 0.07, 
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:04:00.0-scsi-0:1:0:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.describe_cache({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.disk_ids #=> Array
resp.disk_ids[0] #=> String
resp.cache_allocated_in_bytes #=> Integer
resp.cache_used_percentage #=> Float
resp.cache_dirty_percentage #=> Float
resp.cache_hit_percentage #=> Float
resp.cache_miss_percentage #=> Float

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#describe_cached_iscsi_volumes(options = {}) ⇒ Types::DescribeCachediSCSIVolumesOutput

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 Amazon Storage Gateway returns volume information sorted by volume Amazon Resource Name (ARN).

Examples:

Example: To describe gateway cached iSCSI volumes


# Returns a description of the gateway cached iSCSI volumes specified in the request.

resp = client.describe_cached_iscsi_volumes({
  volume_arns: [
    "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
  ], 
})

# resp.to_h outputs the following:
{
  cached_iscsi_volumes: [
    {
      volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
      volume_id: "vol-1122AABB", 
      volume_size_in_bytes: 1099511627776, 
      volume_status: "AVAILABLE", 
      volume_type: "CACHED iSCSI", 
      volume_iscsi_attributes: {
        chap_enabled: true, 
        lun_number: 1, 
        network_interface_id: "10.243.43.207", 
        network_interface_port: 3260, 
        target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
      }, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_cached_iscsi_volumes({
  volume_arns: ["VolumeARN"], # required
})

Response structure


resp.cached_iscsi_volumes #=> Array
resp.cached_iscsi_volumes[0].volume_arn #=> String
resp.cached_iscsi_volumes[0].volume_id #=> String
resp.cached_iscsi_volumes[0].volume_type #=> String
resp.cached_iscsi_volumes[0].volume_status #=> String
resp.cached_iscsi_volumes[0].volume_size_in_bytes #=> Integer
resp.cached_iscsi_volumes[0].volume_progress #=> Float
resp.cached_iscsi_volumes[0].source_snapshot_id #=> String
resp.cached_iscsi_volumes[0].volume_iscsi_attributes.target_arn #=> String
resp.cached_iscsi_volumes[0].volume_iscsi_attributes.network_interface_id #=> String
resp.cached_iscsi_volumes[0].volume_iscsi_attributes.network_interface_port #=> Integer
resp.cached_iscsi_volumes[0].volume_iscsi_attributes.lun_number #=> Integer
resp.cached_iscsi_volumes[0].volume_iscsi_attributes.chap_enabled #=> true/false
resp.cached_iscsi_volumes[0].created_date #=> Time
resp.cached_iscsi_volumes[0].volume_used_in_bytes #=> Integer

Options Hash (options):

  • :volume_arns (required, Array<String>)

Returns:

See Also:

#describe_chap_credentials(options = {}) ⇒ Types::DescribeChapCredentialsOutput

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

Examples:

Example: To describe CHAP credetnitals for an iSCSI


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

resp = client.describe_chap_credentials({
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
})

# resp.to_h outputs the following:
{
  chap_credentials: [
    {
      initiator_name: "iqn.1991-05.com.microsoft:computername.domain.example.com", 
      secret_to_authenticate_initiator: "111111111111", 
      secret_to_authenticate_target: "222222222222", 
      target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_chap_credentials({
  target_arn: "TargetARN", # required
})

Response structure


resp.chap_credentials #=> Array
resp.chap_credentials[0].target_arn #=> String
resp.chap_credentials[0].secret_to_authenticate_initiator #=> String
resp.chap_credentials[0].initiator_name #=> String
resp.chap_credentials[0].secret_to_authenticate_target #=> String

Options Hash (options):

  • :target_arn (required, String)

    The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return to retrieve the TargetARN for specified VolumeARN.

Returns:

See Also:

#describe_gateway_information(options = {}) ⇒ Types::DescribeGatewayInformationOutput

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.

Examples:

Example: To describe metadata about the gateway


# Returns metadata about a gateway such as its name, network interfaces, configured time zone, and the state (whether the gateway is running or not).

resp = client.describe_gateway_information({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  gateway_id: "sgw-AABB1122", 
  gateway_name: "My_Gateway", 
  gateway_network_interfaces: [
    {
      ipv_4_address: "10.35.69.216", 
    }, 
  ], 
  gateway_state: "STATE_RUNNING", 
  gateway_timezone: "GMT-8:00", 
  gateway_type: "STORED", 
  last_software_update: "2016-01-02T16:00:00", 
  next_update_availability_date: "2017-01-02T16:00:00", 
}

Request syntax with placeholder values


resp = client.describe_gateway_information({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.gateway_id #=> String
resp.gateway_name #=> String
resp.gateway_timezone #=> String
resp.gateway_state #=> String
resp.gateway_network_interfaces #=> Array
resp.gateway_network_interfaces[0].ipv_4_address #=> String
resp.gateway_network_interfaces[0].mac_address #=> String
resp.gateway_network_interfaces[0].ipv_6_address #=> String
resp.gateway_type #=> String
resp.next_update_availability_date #=> String
resp.last_software_update #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#describe_maintenance_start_time(options = {}) ⇒ Types::DescribeMaintenanceStartTimeOutput

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.

Examples:

Example: To describe gateway's maintenance start time


# Returns your gateway's weekly maintenance start time including the day and time of the week.

resp = client.describe_maintenance_start_time({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  day_of_week: 2, 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  hour_of_day: 15, 
  minute_of_hour: 35, 
  timezone: "GMT+7:00", 
}

Request syntax with placeholder values


resp = client.describe_maintenance_start_time({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.hour_of_day #=> Integer
resp.minute_of_hour #=> Integer
resp.day_of_week #=> Integer
resp.timezone #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#describe_nfs_file_shares(options = {}) ⇒ Types::DescribeNFSFileSharesOutput

Gets a description for one or more file shares from a file gateway. This operation is only supported in the file gateway type.

Examples:

Request syntax with placeholder values


resp = client.describe_nfs_file_shares({
  file_share_arn_list: ["FileShareARN"], # required
})

Response structure


resp.nfs_file_share_info_list #=> Array
resp.nfs_file_share_info_list[0].nfs_file_share_defaults.file_mode #=> String
resp.nfs_file_share_info_list[0].nfs_file_share_defaults.directory_mode #=> String
resp.nfs_file_share_info_list[0].nfs_file_share_defaults.group_id #=> Integer
resp.nfs_file_share_info_list[0].nfs_file_share_defaults.owner_id #=> Integer
resp.nfs_file_share_info_list[0].file_share_arn #=> String
resp.nfs_file_share_info_list[0].file_share_id #=> String
resp.nfs_file_share_info_list[0].file_share_status #=> String
resp.nfs_file_share_info_list[0].gateway_arn #=> String
resp.nfs_file_share_info_list[0].kms_encrypted #=> true/false
resp.nfs_file_share_info_list[0].kms_key #=> String
resp.nfs_file_share_info_list[0].path #=> String
resp.nfs_file_share_info_list[0].role #=> String
resp.nfs_file_share_info_list[0].location_arn #=> String
resp.nfs_file_share_info_list[0].default_storage_class #=> String
resp.nfs_file_share_info_list[0].client_list #=> Array
resp.nfs_file_share_info_list[0].client_list[0] #=> String
resp.nfs_file_share_info_list[0].squash #=> String
resp.nfs_file_share_info_list[0].read_only #=> true/false
resp.nfs_file_share_info_list[0].guess_mime_type_enabled #=> true/false

Options Hash (options):

  • :file_share_arn_list (required, Array<String>)

    An array containing the Amazon Resource Name (ARN) of each file share to be described.

Returns:

See Also:

#describe_snapshot_schedule(options = {}) ⇒ Types::DescribeSnapshotScheduleOutput

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.

Examples:

Example: To describe snapshot schedule for gateway volume


# Describes the snapshot schedule for the specified gateway volume including intervals at which snapshots are automatically initiated.

resp = client.describe_snapshot_schedule({
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
})

# resp.to_h outputs the following:
{
  description: "sgw-AABB1122:vol-AABB1122:Schedule", 
  recurrence_in_hours: 24, 
  start_at: 6, 
  timezone: "GMT+7:00", 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
}

Request syntax with placeholder values


resp = client.describe_snapshot_schedule({
  volume_arn: "VolumeARN", # required
})

Response structure


resp.volume_arn #=> String
resp.start_at #=> Integer
resp.recurrence_in_hours #=> Integer
resp.description #=> String
resp.timezone #=> String

Options Hash (options):

  • :volume_arn (required, String)

    The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

Returns:

See Also:

#describe_stored_iscsi_volumes(options = {}) ⇒ Types::DescribeStorediSCSIVolumesOutput

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 Amazon Storage Gateway returns volume information sorted by volume ARNs. This operation is only supported in stored volume gateway type.

Examples:

Example: To describe the volumes of a gateway


# Returns the description of the gateway volumes specified in the request belonging to the same gateway.

resp = client.describe_stored_iscsi_volumes({
  volume_arns: [
    "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
  ], 
})

# resp.to_h outputs the following:
{
  stored_iscsi_volumes: [
    {
      preserved_existing_data: false, 
      volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
      volume_disk_id: "pci-0000:03:00.0-scsi-0:0:0:0", 
      volume_id: "vol-1122AABB", 
      volume_progress: 23.7, 
      volume_size_in_bytes: 1099511627776, 
      volume_status: "BOOTSTRAPPING", 
      volume_iscsi_attributes: {
        chap_enabled: true, 
        network_interface_id: "10.243.43.207", 
        network_interface_port: 3260, 
        target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
      }, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_stored_iscsi_volumes({
  volume_arns: ["VolumeARN"], # required
})

Response structure


resp.stored_iscsi_volumes #=> Array
resp.stored_iscsi_volumes[0].volume_arn #=> String
resp.stored_iscsi_volumes[0].volume_id #=> String
resp.stored_iscsi_volumes[0].volume_type #=> String
resp.stored_iscsi_volumes[0].volume_status #=> String
resp.stored_iscsi_volumes[0].volume_size_in_bytes #=> Integer
resp.stored_iscsi_volumes[0].volume_progress #=> Float
resp.stored_iscsi_volumes[0].volume_disk_id #=> String
resp.stored_iscsi_volumes[0].source_snapshot_id #=> String
resp.stored_iscsi_volumes[0].preserved_existing_data #=> true/false
resp.stored_iscsi_volumes[0].volume_iscsi_attributes.target_arn #=> String
resp.stored_iscsi_volumes[0].volume_iscsi_attributes.network_interface_id #=> String
resp.stored_iscsi_volumes[0].volume_iscsi_attributes.network_interface_port #=> Integer
resp.stored_iscsi_volumes[0].volume_iscsi_attributes.lun_number #=> Integer
resp.stored_iscsi_volumes[0].volume_iscsi_attributes.chap_enabled #=> true/false
resp.stored_iscsi_volumes[0].created_date #=> Time
resp.stored_iscsi_volumes[0].volume_used_in_bytes #=> Integer

Options Hash (options):

  • :volume_arns (required, Array<String>)

    An array of strings where each string represents the Amazon Resource Name (ARN) of a stored volume. All of the specified stored volumes must from the same gateway. Use ListVolumes to get volume ARNs for a gateway.

Returns:

See Also:

#describe_tape_archives(options = {}) ⇒ Types::DescribeTapeArchivesOutput

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, AWS Storage Gateway returns a description of all virtual tapes found in the VTS associated with your account.

Examples:

Example: To describe virtual tapes in the VTS


# Returns a description of specified virtual tapes in the virtual tape shelf (VTS).

resp = client.describe_tape_archives({
  limit: 123, 
  marker: "1", 
  tape_arns: [
    "arn:aws:storagegateway:us-east-1:999999999999:tape/AM08A1AD", 
    "arn:aws:storagegateway:us-east-1:999999999999:tape/AMZN01A2A4", 
  ], 
})

# resp.to_h outputs the following:
{
  marker: "1", 
  tape_archives: [
    {
      completion_time: Time.parse("2016-12-16T13:50Z"), 
      tape_arn: "arn:aws:storagegateway:us-east-1:999999999:tape/AM08A1AD", 
      tape_barcode: "AM08A1AD", 
      tape_size_in_bytes: 107374182400, 
      tape_status: "ARCHIVED", 
    }, 
    {
      completion_time: Time.parse("2016-12-16T13:59Z"), 
      tape_arn: "arn:aws:storagegateway:us-east-1:999999999:tape/AMZN01A2A4", 
      tape_barcode: "AMZN01A2A4", 
      tape_size_in_bytes: 429496729600, 
      tape_status: "ARCHIVED", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_tape_archives({
  tape_arns: ["TapeARN"],
  marker: "Marker",
  limit: 1,
})

Response structure


resp.tape_archives #=> Array
resp.tape_archives[0].tape_arn #=> String
resp.tape_archives[0].tape_barcode #=> String
resp.tape_archives[0].tape_created_date #=> Time
resp.tape_archives[0].tape_size_in_bytes #=> Integer
resp.tape_archives[0].completion_time #=> Time
resp.tape_archives[0].retrieved_to #=> String
resp.tape_archives[0].tape_status #=> String
resp.tape_archives[0].tape_used_in_bytes #=> Integer
resp.marker #=> String

Options Hash (options):

  • :tape_arns (Array<String>)

    Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe.

  • :marker (String)

    An opaque string that indicates the position at which to begin describing virtual tapes.

  • :limit (Integer)

    Specifies that the number of virtual tapes descried be limited to the specified number.

Returns:

See Also:

#describe_tape_recovery_points(options = {}) ⇒ Types::DescribeTapeRecoveryPointsOutput

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.

Examples:

Example: To describe virtual tape recovery points


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

resp = client.describe_tape_recovery_points({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  limit: 1, 
  marker: "1", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  marker: "1", 
  tape_recovery_point_infos: [
    {
      tape_arn: "arn:aws:storagegateway:us-east-1:999999999:tape/AMZN01A2A4", 
      tape_recovery_point_time: Time.parse("2016-12-16T13:50Z"), 
      tape_size_in_bytes: 1471550497, 
      tape_status: "AVAILABLE", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_tape_recovery_points({
  gateway_arn: "GatewayARN", # required
  marker: "Marker",
  limit: 1,
})

Response structure


resp.gateway_arn #=> String
resp.tape_recovery_point_infos #=> Array
resp.tape_recovery_point_infos[0].tape_arn #=> String
resp.tape_recovery_point_infos[0].tape_recovery_point_time #=> Time
resp.tape_recovery_point_infos[0].tape_size_in_bytes #=> Integer
resp.tape_recovery_point_infos[0].tape_status #=> String
resp.marker #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :marker (String)

    An opaque string that indicates the position at which to begin describing the virtual tape recovery points.

  • :limit (Integer)

    Specifies that the number of virtual tape recovery points that are described be limited to the specified number.

Returns:

See Also:

#describe_tapes(options = {}) ⇒ Types::DescribeTapesOutput

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.

Examples:

Example: To describe virtual tape(s) associated with gateway


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

resp = client.describe_tapes({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  limit: 2, 
  marker: "1", 
  tape_arns: [
    "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST04A2A1", 
    "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST05A2A0", 
  ], 
})

# resp.to_h outputs the following:
{
  marker: "1", 
  tapes: [
    {
      tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST04A2A1", 
      tape_barcode: "TEST04A2A1", 
      tape_size_in_bytes: 107374182400, 
      tape_status: "AVAILABLE", 
    }, 
    {
      tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST05A2A0", 
      tape_barcode: "TEST05A2A0", 
      tape_size_in_bytes: 107374182400, 
      tape_status: "AVAILABLE", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_tapes({
  gateway_arn: "GatewayARN", # required
  tape_arns: ["TapeARN"],
  marker: "Marker",
  limit: 1,
})

Response structure


resp.tapes #=> Array
resp.tapes[0].tape_arn #=> String
resp.tapes[0].tape_barcode #=> String
resp.tapes[0].tape_created_date #=> Time
resp.tapes[0].tape_size_in_bytes #=> Integer
resp.tapes[0].tape_status #=> String
resp.tapes[0].vtl_device #=> String
resp.tapes[0].progress #=> Float
resp.tapes[0].tape_used_in_bytes #=> Integer
resp.marker #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :tape_arns (Array<String>)

    Specifies one or more unique Amazon Resource Names (ARNs) that represent the virtual tapes you want to describe. If this parameter is not specified, Tape gateway returns a description of all virtual tapes associated with the specified gateway.

  • :marker (String)

    A marker value, obtained in a previous call to DescribeTapes. This marker indicates which page of results to retrieve.

    If not specified, the first page of results is retrieved.

  • :limit (Integer)

    Specifies that the number of virtual tapes described be limited to the specified number.

    Amazon Web Services may impose its own limit, if this field is not set.

Returns:

See Also:

#describe_upload_buffer(options = {}) ⇒ Types::DescribeUploadBufferOutput

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.

Examples:

Example: To describe upload buffer of gateway


# Returns information about the upload buffer of a gateway including disk IDs and the amount of upload buffer space allocated/used.

resp = client.describe_upload_buffer({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:04:00.0-scsi-0:1:0:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  upload_buffer_allocated_in_bytes: 0, 
  upload_buffer_used_in_bytes: 161061273600, 
}

Example: To describe upload buffer of a gateway


# Returns information about the upload buffer of a gateway including disk IDs and the amount of upload buffer space allocated and used.

resp = client.describe_upload_buffer({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:04:00.0-scsi-0:1:0:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  upload_buffer_allocated_in_bytes: 161061273600, 
  upload_buffer_used_in_bytes: 0, 
}

Request syntax with placeholder values


resp = client.describe_upload_buffer({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.disk_ids #=> Array
resp.disk_ids[0] #=> String
resp.upload_buffer_used_in_bytes #=> Integer
resp.upload_buffer_allocated_in_bytes #=> Integer

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#describe_vtl_devices(options = {}) ⇒ Types::DescribeVTLDevicesOutput

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

This operation is only supported in the tape gateway type.

Examples:

Example: To describe virtual tape library (VTL) devices of a single gateway


# Returns a description of virtual tape library (VTL) devices for the specified gateway.

resp = client.describe_vtl_devices({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  limit: 123, 
  marker: "1", 
  vtl_device_arns: [
  ], 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  marker: "1", 
  vtl_devices: [
    {
      device_iscsi_attributes: {
        chap_enabled: false, 
        network_interface_id: "10.243.43.207", 
        network_interface_port: 3260, 
        target_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-mediachanger", 
      }, 
      vtl_device_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001", 
      vtl_device_product_identifier: "L700", 
      vtl_device_type: "Medium Changer", 
      vtl_device_vendor: "STK", 
    }, 
    {
      device_iscsi_attributes: {
        chap_enabled: false, 
        network_interface_id: "10.243.43.209", 
        network_interface_port: 3260, 
        target_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-tapedrive-01", 
      }, 
      vtl_device_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_TAPEDRIVE_00001", 
      vtl_device_product_identifier: "ULT3580-TD5", 
      vtl_device_type: "Tape Drive", 
      vtl_device_vendor: "IBM", 
    }, 
    {
      device_iscsi_attributes: {
        chap_enabled: false, 
        network_interface_id: "10.243.43.209", 
        network_interface_port: 3260, 
        target_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:sgw-1fad4876-tapedrive-02", 
      }, 
      vtl_device_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_TAPEDRIVE_00002", 
      vtl_device_product_identifier: "ULT3580-TD5", 
      vtl_device_type: "Tape Drive", 
      vtl_device_vendor: "IBM", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.describe_vtl_devices({
  gateway_arn: "GatewayARN", # required
  vtl_device_arns: ["VTLDeviceARN"],
  marker: "Marker",
  limit: 1,
})

Response structure


resp.gateway_arn #=> String
resp.vtl_devices #=> Array
resp.vtl_devices[0].vtl_device_arn #=> String
resp.vtl_devices[0].vtl_device_type #=> String
resp.vtl_devices[0].vtl_device_vendor #=> String
resp.vtl_devices[0].vtl_device_product_identifier #=> String
resp.vtl_devices[0].device_iscsi_attributes.target_arn #=> String
resp.vtl_devices[0].device_iscsi_attributes.network_interface_id #=> String
resp.vtl_devices[0].device_iscsi_attributes.network_interface_port #=> Integer
resp.vtl_devices[0].device_iscsi_attributes.chap_enabled #=> true/false
resp.marker #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :vtl_device_arns (Array<String>)

    An array of strings, where each string represents the Amazon Resource Name (ARN) of a VTL device.

    All of the specified VTL devices must be from the same gateway. If no VTL devices are specified, the result will contain all devices on the specified gateway.

  • :marker (String)

    An opaque string that indicates the position at which to begin describing the VTL devices.

  • :limit (Integer)

    Specifies that the number of VTL devices described be limited to the specified number.

Returns:

See Also:

#describe_working_storage(options = {}) ⇒ Types::DescribeWorkingStorageOutput

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.

Examples:

Example: To describe the working storage of a gateway [Depreciated]


# This operation is supported only for the gateway-stored volume architecture. This operation is deprecated in cached-volumes API version (20120630). Use DescribeUploadBuffer instead.

resp = client.describe_working_storage({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  disk_ids: [
    "pci-0000:03:00.0-scsi-0:0:0:0", 
    "pci-0000:03:00.0-scsi-0:0:1:0", 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  working_storage_allocated_in_bytes: 2199023255552, 
  working_storage_used_in_bytes: 789207040, 
}

Request syntax with placeholder values


resp = client.describe_working_storage({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.disk_ids #=> Array
resp.disk_ids[0] #=> String
resp.working_storage_used_in_bytes #=> Integer
resp.working_storage_allocated_in_bytes #=> Integer

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#disable_gateway(options = {}) ⇒ Types::DisableGatewayOutput

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.

Once a gateway is disabled it cannot be enabled.

Examples:

Example: To disable a gateway when it is no longer functioning


# Disables a gateway when the gateway is no longer functioning. Use this operation for a gateway-VTL that is not reachable or not functioning.

resp = client.disable_gateway({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.disable_gateway({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#list_file_shares(options = {}) ⇒ Types::ListFileSharesOutput

Gets a list of the file shares for a specific file gateway, or the list of file shares that belong to the calling user account. This operation is only supported in the file gateway type.

Examples:

Request syntax with placeholder values


resp = client.list_file_shares({
  gateway_arn: "GatewayARN",
  limit: 1,
  marker: "Marker",
})

Response structure


resp.marker #=> String
resp.next_marker #=> String
resp.file_share_info_list #=> Array
resp.file_share_info_list[0].file_share_arn #=> String
resp.file_share_info_list[0].file_share_id #=> String
resp.file_share_info_list[0].file_share_status #=> String
resp.file_share_info_list[0].gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (String)

    The Amazon resource Name (ARN) of the gateway whose file shares you want to list. If this field is not present, all file shares under your account are listed.

  • :limit (Integer)

    The maximum number of file shares to return in the response. The value must be an integer with a value greater than zero. Optional.

  • :marker (String)

    Opaque pagination token returned from a previous ListFileShares operation. If present, Marker specifies where to continue the list from after a previous call to ListFileShares. Optional.

Returns:

See Also:

#list_gateways(options = {}) ⇒ Types::ListGatewaysOutput

Lists gateways owned by an AWS account in a region specified in the request. The returned list is ordered by gateway Amazon Resource Name (ARN).

By default, the operation returns a maximum of 100 gateways. This operation supports pagination that allows you to optionally reduce the number of gateways returned in a response.

If you have more gateways than are returned in a response (that is, the response returns only a truncated list of your gateways), the response contains a marker that you can specify in your next request to fetch the next page of gateways.

Examples:

Example: To lists region specific gateways per AWS account


# Lists gateways owned by an AWS account in a specified region as requested. Results are sorted by gateway ARN up to a maximum of 100 gateways.

resp = client.list_gateways({
  limit: 2, 
  marker: "1", 
})

# resp.to_h outputs the following:
{
  gateways: [
    {
      gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
    }, 
    {
      gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-23A4567C", 
    }, 
  ], 
  marker: "1", 
}

Request syntax with placeholder values


resp = client.list_gateways({
  marker: "Marker",
  limit: 1,
})

Response structure


resp.gateways #=> Array
resp.gateways[0].gateway_id #=> String
resp.gateways[0].gateway_arn #=> String
resp.gateways[0].gateway_type #=> String
resp.gateways[0].gateway_operational_state #=> String
resp.gateways[0].gateway_name #=> String
resp.marker #=> String

Options Hash (options):

  • :marker (String)

    An opaque string that indicates the position at which to begin the returned list of gateways.

  • :limit (Integer)

    Specifies that the list of gateways returned be limited to the specified number of items.

Returns:

See Also:

#list_local_disks(options = {}) ⇒ Types::ListLocalDisksOutput

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

Examples:

Example: To list the gateway's local disks


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

resp = client.list_local_disks({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  disks: [
    {
      disk_allocation_type: "CACHE_STORAGE", 
      disk_id: "pci-0000:03:00.0-scsi-0:0:0:0", 
      disk_node: "SCSI(0:0)", 
      disk_path: "/dev/sda", 
      disk_size_in_bytes: 1099511627776, 
      disk_status: "missing", 
    }, 
    {
      disk_allocation_resource: "", 
      disk_allocation_type: "UPLOAD_BUFFER", 
      disk_id: "pci-0000:03:00.0-scsi-0:0:1:0", 
      disk_node: "SCSI(0:1)", 
      disk_path: "/dev/sdb", 
      disk_size_in_bytes: 1099511627776, 
      disk_status: "present", 
    }, 
  ], 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.list_local_disks({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.disks #=> Array
resp.disks[0].disk_id #=> String
resp.disks[0].disk_path #=> String
resp.disks[0].disk_node #=> String
resp.disks[0].disk_status #=> String
resp.disks[0].disk_size_in_bytes #=> Integer
resp.disks[0].disk_allocation_type #=> String
resp.disks[0].disk_allocation_resource #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceOutput

Lists the tags that have been added to the specified resource. This operation is only supported in the cached volume, stored volume and tape gateway type.

Examples:

Example: To list tags that have been added to a resource


# Lists the tags that have been added to the specified resource.

resp = client.list_tags_for_resource({
  limit: 1, 
  marker: "1", 
  resource_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
})

# resp.to_h outputs the following:
{
  marker: "1", 
  resource_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
  tags: [
    {
      key: "Dev Gatgeway Region", 
      value: "East Coast", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "ResourceARN", # required
  marker: "Marker",
  limit: 1,
})

Response structure


resp.resource_arn #=> String
resp.marker #=> String
resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource for which you want to list tags.

  • :marker (String)

    An opaque string that indicates the position at which to begin returning the list of tags.

  • :limit (Integer)

    Specifies that the list of tags returned be limited to the specified number of items.

Returns:

See Also:

#list_tapes(options = {}) ⇒ Types::ListTapesOutput

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.

Examples:

Request syntax with placeholder values


resp = client.list_tapes({
  tape_arns: ["TapeARN"],
  marker: "Marker",
  limit: 1,
})

Response structure


resp.tape_infos #=> Array
resp.tape_infos[0].tape_arn #=> String
resp.tape_infos[0].tape_barcode #=> String
resp.tape_infos[0].tape_size_in_bytes #=> Integer
resp.tape_infos[0].tape_status #=> String
resp.tape_infos[0].gateway_arn #=> String
resp.marker #=> String

Options Hash (options):

  • :tape_arns (Array<String>)

    The Amazon Resource Name (ARN) of each of the tapes you want to list. If you don't specify a tape ARN, the response lists all tapes in both your VTL and VTS.

  • :marker (String)

    A string that indicates the position at which to begin the returned list of tapes.

  • :limit (Integer)

    An optional number limit for the tapes in the list returned by this call.

Returns:

See Also:

#list_volume_initiators(options = {}) ⇒ Types::ListVolumeInitiatorsOutput

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.

Examples:

Request syntax with placeholder values


resp = client.list_volume_initiators({
  volume_arn: "VolumeARN", # required
})

Response structure


resp.initiators #=> Array
resp.initiators[0] #=> String

Options Hash (options):

  • :volume_arn (required, String)

    The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes for the gateway.

Returns:

See Also:

#list_volume_recovery_points(options = {}) ⇒ Types::ListVolumeRecoveryPointsOutput

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.

Examples:

Example: To list recovery points for a gateway


# Lists the recovery points for a specified gateway in which all data of the volume is consistent and can be used to create a snapshot.

resp = client.list_volume_recovery_points({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  volume_recovery_point_infos: [
    {
      volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
      volume_recovery_point_time: "2012-09-04T21:08:44.627Z", 
      volume_size_in_bytes: 536870912000, 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_volume_recovery_points({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String
resp.volume_recovery_point_infos #=> Array
resp.volume_recovery_point_infos[0].volume_arn #=> String
resp.volume_recovery_point_infos[0].volume_size_in_bytes #=> Integer
resp.volume_recovery_point_infos[0].volume_usage_in_bytes #=> Integer
resp.volume_recovery_point_infos[0].volume_recovery_point_time #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#list_volumes(options = {}) ⇒ Types::ListVolumesOutput

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.

Examples:

Example: To list the iSCSI stored volumes of a gateway


# Lists the iSCSI stored volumes of a gateway. Results are sorted by volume ARN up to a maximum of 100 volumes.

resp = client.list_volumes({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  limit: 2, 
  marker: "1", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  marker: "1", 
  volume_infos: [
    {
      gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
      gateway_id: "sgw-12A3456B", 
      volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
      volume_id: "vol-1122AABB", 
      volume_size_in_bytes: 107374182400, 
      volume_type: "STORED", 
    }, 
    {
      gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C", 
      gateway_id: "sgw-gw-13B4567C", 
      volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C/volume/vol-3344CCDD", 
      volume_id: "vol-1122AABB", 
      volume_size_in_bytes: 107374182400, 
      volume_type: "STORED", 
    }, 
  ], 
}

Request syntax with placeholder values


resp = client.list_volumes({
  gateway_arn: "GatewayARN",
  marker: "Marker",
  limit: 1,
})

Response structure


resp.gateway_arn #=> String
resp.marker #=> String
resp.volume_infos #=> Array
resp.volume_infos[0].volume_arn #=> String
resp.volume_infos[0].volume_id #=> String
resp.volume_infos[0].gateway_arn #=> String
resp.volume_infos[0].gateway_id #=> String
resp.volume_infos[0].volume_type #=> String
resp.volume_infos[0].volume_size_in_bytes #=> Integer

Options Hash (options):

  • :gateway_arn (String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :marker (String)

    A string that indicates the position at which to begin the returned list of volumes. Obtain the marker from the response of a previous List iSCSI Volumes request.

  • :limit (Integer)

    Specifies that the list of volumes returned be limited to the specified number of items.

Returns:

See Also:

#notify_when_uploaded(options = {}) ⇒ Types::NotifyWhenUploadedOutput

Sends you notification when all file data written to the NFS file share has been uploaded to Amazon S3.

AWS 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 NFS 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 sent the notification through event targets such as email, SNS or a Lambda function. text or Lambda functions. This operation is only supported in the file gateway type.

Examples:

Request syntax with placeholder values


resp = client.notify_when_uploaded({
  file_share_arn: "FileShareARN", # required
})

Response structure


resp.file_share_arn #=> String
resp.notification_id #=> String

Options Hash (options):

  • :file_share_arn (required, String)

    The Amazon Resource Name (ARN) of the file share.

Returns:

See Also:

#refresh_cache(options = {}) ⇒ Types::RefreshCacheOutput

Refreshes the cache 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 is only supported in the file gateway type.

Examples:

Request syntax with placeholder values


resp = client.refresh_cache({
  file_share_arn: "FileShareARN", # required
})

Response structure


resp.file_share_arn #=> String

Options Hash (options):

  • :file_share_arn (required, String)

    The Amazon Resource Name (ARN) of the file share.

Returns:

See Also:

#remove_tags_from_resource(options = {}) ⇒ Types::RemoveTagsFromResourceOutput

Removes one or more tags from the specified resource. This operation is only supported in the cached volume, stored volume and tape gateway types.

Examples:

Example: To remove tags from a resource


# Lists the iSCSI stored volumes of a gateway. Removes one or more tags from the specified resource.

resp = client.remove_tags_from_resource({
  resource_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
  tag_keys: [
    "Dev Gatgeway Region", 
    "East Coast", 
  ], 
})

# resp.to_h outputs the following:
{
  resource_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-11A2222B", 
}

Request syntax with placeholder values


resp = client.remove_tags_from_resource({
  resource_arn: "ResourceARN", # required
  tag_keys: ["TagKey"], # required
})

Response structure


resp.resource_arn #=> String

Options Hash (options):

  • :resource_arn (required, String)

    The Amazon Resource Name (ARN) of the resource you want to remove the tags from.

  • :tag_keys (required, Array<String>)

    The keys of the tags you want to remove from the specified resource. A tag is composed of a key/value pair.

Returns:

See Also:

#reset_cache(options = {}) ⇒ Types::ResetCacheOutput

Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage. If your cache disk encounters a 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, tape and file gateway 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.

Examples:

Example: To reset cache disks in error status


# Resets all cache disks that have encountered a error and makes the disks available for reconfiguration as cache storage.

resp = client.reset_cache({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-13B4567C", 
}

Request syntax with placeholder values


resp = client.reset_cache({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#retrieve_tape_archive(options = {}) ⇒ Types::RetrieveTapeArchiveOutput

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.

Examples:

Example: To retrieve an archived tape from the VTS


# Retrieves an archived virtual tape from the virtual tape shelf (VTS) to a gateway-VTL. Virtual tapes archived in the VTS are not associated with any gateway.

resp = client.retrieve_tape_archive({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF", 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF", 
}

Request syntax with placeholder values


resp = client.retrieve_tape_archive({
  tape_arn: "TapeARN", # required
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :tape_arn (required, String)

    The Amazon Resource Name (ARN) of the virtual tape you want to retrieve from the virtual tape shelf (VTS).

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway you want to retrieve the virtual tape to. Use the ListGateways operation to return a list of gateways for your account and region.

    You retrieve archived virtual tapes to only one gateway and the gateway must be a tape gateway.

Returns:

See Also:

#retrieve_tape_recovery_point(options = {}) ⇒ Types::RetrieveTapeRecoveryPointOutput

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.

Examples:

Example: To retrieve the recovery point of a virtual tape


# Retrieves the recovery point for the specified virtual tape.

resp = client.retrieve_tape_recovery_point({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF", 
})

# resp.to_h outputs the following:
{
  tape_arn: "arn:aws:storagegateway:us-east-1:999999999999:tape/TEST0AA2AF", 
}

Request syntax with placeholder values


resp = client.retrieve_tape_recovery_point({
  tape_arn: "TapeARN", # required
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.tape_arn #=> String

Options Hash (options):

  • :tape_arn (required, String)

    The Amazon Resource Name (ARN) of the virtual tape for which you want to retrieve the recovery point.

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#set_local_console_password(options = {}) ⇒ Types::SetLocalConsolePasswordOutput

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.

Examples:

Example: To set a password for your VM


# Sets the password for your VM local console.

resp = client.set_local_console_password({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
  local_console_password: "PassWordMustBeAtLeast6Chars.", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.set_local_console_password({
  gateway_arn: "GatewayARN", # required
  local_console_password: "LocalConsolePassword", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :local_console_password (required, String)

    The password you want to set for your VM local console.

Returns:

See Also:

#shutdown_gateway(options = {}) ⇒ Types::ShutdownGatewayOutput

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.

Examples:

Example: To shut down a gateway service


# This operation shuts down the gateway service component running in the storage gateway's virtual machine (VM) and not the VM.

resp = client.shutdown_gateway({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.shutdown_gateway({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#start_gateway(options = {}) ⇒ Types::StartGatewayOutput

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.

Examples:

Example: To start a gateway service


# Starts a gateway service that was previously shut down.

resp = client.start_gateway({
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.start_gateway({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#update_bandwidth_rate_limit(options = {}) ⇒ Types::UpdateBandwidthRateLimitOutput

Updates the bandwidth rate limits of a gateway. You can update both the upload and download bandwidth rate limit or specify only one of the two. If you don't set a bandwidth rate limit, the existing rate limit remains.

By default, a gateway's bandwidth rate limits are not set. If you don't set any limit, the gateway does not have any limitations on its bandwidth usage and could potentially use the maximum available bandwidth.

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

Examples:

Example: To update the bandwidth rate limits of a gateway


# Updates the bandwidth rate limits of a gateway. Both the upload and download bandwidth rate limit can be set, or either one of the two. If a new limit is not set, the existing rate limit remains.

resp = client.update_bandwidth_rate_limit({
  average_download_rate_limit_in_bits_per_sec: 102400, 
  average_upload_rate_limit_in_bits_per_sec: 51200, 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.update_bandwidth_rate_limit({
  gateway_arn: "GatewayARN", # required
  average_upload_rate_limit_in_bits_per_sec: 1,
  average_download_rate_limit_in_bits_per_sec: 1,
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :average_upload_rate_limit_in_bits_per_sec (Integer)

    The average upload bandwidth rate limit in bits per second.

  • :average_download_rate_limit_in_bits_per_sec (Integer)

    The average download bandwidth rate limit in bits per second.

Returns:

See Also:

#update_chap_credentials(options = {}) ⇒ Types::UpdateChapCredentialsOutput

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.

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

Examples:

Example: To update CHAP credentials for an iSCSI target


# Updates the Challenge-Handshake Authentication Protocol (CHAP) credentials for a specified iSCSI target.

resp = client.update_chap_credentials({
  initiator_name: "iqn.1991-05.com.microsoft:computername.domain.example.com", 
  secret_to_authenticate_initiator: "111111111111", 
  secret_to_authenticate_target: "222222222222", 
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
})

# resp.to_h outputs the following:
{
  initiator_name: "iqn.1991-05.com.microsoft:computername.domain.example.com", 
  target_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/target/iqn.1997-05.com.amazon:myvolume", 
}

Request syntax with placeholder values


resp = client.update_chap_credentials({
  target_arn: "TargetARN", # required
  secret_to_authenticate_initiator: "ChapSecret", # required
  initiator_name: "IqnName", # required
  secret_to_authenticate_target: "ChapSecret",
})

Response structure


resp.target_arn #=> String
resp.initiator_name #=> String

Options Hash (options):

  • :target_arn (required, String)

    The Amazon Resource Name (ARN) of the iSCSI volume target. Use the DescribeStorediSCSIVolumes operation to return the TargetARN for specified VolumeARN.

  • :secret_to_authenticate_initiator (required, String)

    The secret key that the initiator (for example, the Windows client) must provide to participate in mutual CHAP with the target.

    The secret key must be between 12 and 16 bytes when encoded in UTF-8.

  • :initiator_name (required, String)

    The iSCSI initiator that connects to the target.

  • :secret_to_authenticate_target (String)

    The secret key that the target must provide to participate in mutual CHAP with the initiator (e.g. Windows client).

    Byte constraints: Minimum bytes of 12. Maximum bytes of 16.

    The secret key must be between 12 and 16 bytes when encoded in UTF-8.

Returns:

See Also:

#update_gateway_information(options = {}) ⇒ Types::UpdateGatewayInformationOutput

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.

Examples:

Example: To update a gateway's metadata


# Updates a gateway's metadata, which includes the gateway's name and time zone.

resp = client.update_gateway_information({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  gateway_name: "MyGateway2", 
  gateway_timezone: "GMT-12:00", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  gateway_name: "", 
}

Request syntax with placeholder values


resp = client.update_gateway_information({
  gateway_arn: "GatewayARN", # required
  gateway_name: "GatewayName",
  gateway_timezone: "GatewayTimezone",
})

Response structure


resp.gateway_arn #=> String
resp.gateway_name #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :gateway_name (String)

    The name you configured for your gateway.

  • :gateway_timezone (String)

Returns:

See Also:

#update_gateway_software_now(options = {}) ⇒ Types::UpdateGatewaySoftwareNowOutput

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.

Examples:

Example: To update a gateway's VM software


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

resp = client.update_gateway_software_now({
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.update_gateway_software_now({
  gateway_arn: "GatewayARN", # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

Returns:

See Also:

#update_maintenance_start_time(options = {}) ⇒ Types::UpdateMaintenanceStartTimeOutput

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.

Examples:

Example: To update a gateway's maintenance start time


# Updates a gateway's weekly maintenance start time information, including day and time of the week. The maintenance time is in your gateway's time zone.

resp = client.update_maintenance_start_time({
  day_of_week: 2, 
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
  hour_of_day: 0, 
  minute_of_hour: 30, 
})

# resp.to_h outputs the following:
{
  gateway_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B", 
}

Request syntax with placeholder values


resp = client.update_maintenance_start_time({
  gateway_arn: "GatewayARN", # required
  hour_of_day: 1, # required
  minute_of_hour: 1, # required
  day_of_week: 1, # required
})

Response structure


resp.gateway_arn #=> String

Options Hash (options):

  • :gateway_arn (required, String)

    The Amazon Resource Name (ARN) of the gateway. Use the ListGateways operation to return a list of gateways for your account and region.

  • :hour_of_day (required, Integer)

    The hour component of the maintenance start time represented as hh, where hh is the hour (00 to 23). The hour of the day is in the time zone of the gateway.

  • :minute_of_hour (required, Integer)

    The minute component of the maintenance start time represented as mm, where mm is the minute (00 to 59). The minute of the hour is in the time zone of the gateway.

  • :day_of_week (required, Integer)

    The maintenance start time day of the week represented as an ordinal number from 0 to 6, where 0 represents Sunday and 6 Saturday.

Returns:

See Also:

#update_nfs_file_share(options = {}) ⇒ Types::UpdateNFSFileShareOutput

Updates a file share. This operation is only supported in the file gateway type.

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

Updates the following file share setting:

  • 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

To leave a file share field unchanged, set the corresponding input field to null. This operation is only supported in file gateways.

Examples:

Request syntax with placeholder values


resp = client.update_nfs_file_share({
  file_share_arn: "FileShareARN", # required
  kms_encrypted: false,
  kms_key: "KMSKey",
  nfs_file_share_defaults: {
    file_mode: "PermissionMode",
    directory_mode: "PermissionMode",
    group_id: 1,
    owner_id: 1,
  },
  default_storage_class: "StorageClass",
  client_list: ["IPV4AddressCIDR"],
  squash: "Squash",
  read_only: false,
  guess_mime_type_enabled: false,
})

Response structure


resp.file_share_arn #=> String

Options Hash (options):

  • :file_share_arn (required, String)

    The Amazon Resource Name (ARN) of the file share to be updated.

  • :kms_encrypted (Boolean)

    True to use Amazon S3 server side encryption with your own AWS KMS key, or false to use a key managed by Amazon S3. Optional.

  • :kms_key (String)

    The KMS key used for Amazon S3 server side encryption. This value can only be set when KmsEncrypted is true. Optional.

  • :nfs_file_share_defaults (Types::NFSFileShareDefaults)

    The default values for the file share. Optional.

  • :default_storage_class (String)

    The default storage class for objects put into an Amazon S3 bucket by a file gateway. Possible values are S3_STANDARD or S3_STANDARD_IA. If this field is not populated, the default value S3_STANDARD is used. Optional.

  • :client_list (Array<String>)

    The list of clients that are allowed to access the file gateway. The list must contain either valid IP addresses or valid CIDR blocks.

  • :squash (String)

    The user mapped to anonymous user. Valid options are the following:

    • \"RootSquash\" - Only root is mapped to anonymous user.

    • \"NoSquash\" - No one is mapped to anonymous user

    • \"AllSquash\" - Everyone is mapped to anonymous user.

  • :read_only (Boolean)

    Sets the write status of a file share: \"true\" if the write status is read-only, otherwise \"false\".

  • :guess_mime_type_enabled (Boolean)

    Enables guessing of the MIME type for uploaded objects based on file extensions: \"true\" to enable MIME type guessing, and otherwise \"false\".

Returns:

See Also:

#update_snapshot_schedule(options = {}) ⇒ Types::UpdateSnapshotScheduleOutput

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.

Examples:

Example: To update a volume snapshot schedule


# Updates a snapshot schedule configured for a gateway volume.

resp = client.update_snapshot_schedule({
  description: "Hourly snapshot", 
  recurrence_in_hours: 1, 
  start_at: 0, 
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
})

# resp.to_h outputs the following:
{
  volume_arn: "arn:aws:storagegateway:us-east-1:111122223333:gateway/sgw-12A3456B/volume/vol-1122AABB", 
}

Request syntax with placeholder values


resp = client.update_snapshot_schedule({
  volume_arn: "VolumeARN", # required
  start_at: 1, # required
  recurrence_in_hours: 1, # required
  description: "Description",
})

Response structure


resp.volume_arn #=> String

Options Hash (options):

  • :volume_arn (required, String)

    The Amazon Resource Name (ARN) of the volume. Use the ListVolumes operation to return a list of gateway volumes.

  • :start_at (required, Integer)

    The hour of the day at which the snapshot schedule begins represented as hh, where hh is the hour (0 to 23). The hour of the day is in the time zone of the gateway.

  • :recurrence_in_hours (required, Integer)

    Frequency of snapshots. Specify the number of hours between snapshots.

  • :description (String)

    Optional description of the snapshot that overwrites the existing description.

Returns:

See Also:

#update_vtl_device_type(options = {}) ⇒ Types::UpdateVTLDeviceTypeOutput

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.

Examples:

Example: To update a VTL device type


# Updates the type of medium changer in a gateway-VTL after a gateway-VTL is activated.

resp = client.update_vtl_device_type({
  device_type: "Medium Changer", 
  vtl_device_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001", 
})

# resp.to_h outputs the following:
{
  vtl_device_arn: "arn:aws:storagegateway:us-east-1:999999999999:gateway/sgw-12A3456B/device/AMZN_SGW-1FAD4876_MEDIACHANGER_00001", 
}

Request syntax with placeholder values


resp = client.update_vtl_device_type({
  vtl_device_arn: "VTLDeviceARN", # required
  device_type: "DeviceType", # required
})

Response structure


resp.vtl_device_arn #=> String

Options Hash (options):

  • :vtl_device_arn (required, String)

    The Amazon Resource Name (ARN) of the medium changer you want to select.

  • :device_type (required, String)

    The type of medium changer you want to select.

    Valid Values: \"STK-L700\", \"AWS-Gateway-VTL\"

Returns:

See Also:

#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean

Waiters polls an API operation until a resource enters a desired state.

Basic Usage

Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.

# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)

Configuration

You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:

# poll for ~25 seconds
client.wait_until(...) do |w|
  w.max_attempts = 5
  w.delay = 5
end

Callbacks

You can be notified before each polling attempt and before each delay. If you throw :success or :failure from these callbacks, it will terminate the waiter.

started_at = Time.now
client.wait_until(...) do |w|

  # disable max attempts
  w.max_attempts = nil

  # poll for 1 hour, instead of a number of attempts
  w.before_wait do |attempts, response|
    throw :failure if Time.now - started_at > 3600
  end

end

Handling Errors

When a waiter is successful, it returns true. When a waiter fails, it raises an error. All errors raised extend from Waiters::Errors::WaiterFailed.

begin
  client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
  # resource did not enter the desired state in time
end

Parameters:

  • waiter_name (Symbol)

    The name of the waiter. See #waiter_names for a full list of supported waiters.

  • params (Hash) (defaults to: {})

    Additional request parameters. See the #waiter_names for a list of supported waiters and what request they call. The called request determines the list of accepted parameters.

Yield Parameters:

Returns:

  • (Boolean)

    Returns true if the waiter was successful.

Raises:

  • (Errors::FailureStateError)

    Raised when the waiter terminates because the waiter has entered a state that it will not transition out of, preventing success.

  • (Errors::TooManyAttemptsError)

    Raised when the configured maximum number of attempts have been made, and the waiter is not yet successful.

  • (Errors::UnexpectedError)

    Raised when an error is encounted while polling for a resource that is not expected.

  • (Errors::NoSuchWaiterError)

    Raised when you request to wait for an unknown state.

#waiter_namesArray<Symbol>

Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:

Waiter NameClient MethodDefault Delay:Default Max Attempts:

Returns:

  • (Array<Symbol>)

    the list of supported waiters.