# WARNING ABOUT GENERATED CODE # # This file is generated. See the contributing guide for more information: # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md # # WARNING ABOUT GENERATED CODE require 'seahorse/client/plugins/content_length.rb' require 'aws-sdk-core/plugins/credentials_configuration.rb' require 'aws-sdk-core/plugins/logging.rb' require 'aws-sdk-core/plugins/param_converter.rb' require 'aws-sdk-core/plugins/param_validator.rb' require 'aws-sdk-core/plugins/user_agent.rb' require 'aws-sdk-core/plugins/helpful_socket_errors.rb' require 'aws-sdk-core/plugins/retry_errors.rb' require 'aws-sdk-core/plugins/global_configuration.rb' require 'aws-sdk-core/plugins/regional_endpoint.rb' require 'aws-sdk-core/plugins/endpoint_discovery.rb' require 'aws-sdk-core/plugins/endpoint_pattern.rb' require 'aws-sdk-core/plugins/response_paging.rb' require 'aws-sdk-core/plugins/stub_responses.rb' require 'aws-sdk-core/plugins/idempotency_token.rb' require 'aws-sdk-core/plugins/jsonvalue_converter.rb' require 'aws-sdk-core/plugins/client_metrics_plugin.rb' require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb' require 'aws-sdk-core/plugins/signature_v4.rb' require 'aws-sdk-core/plugins/protocols/json_rpc.rb' Aws::Plugins::GlobalConfiguration.add_identifier(:storagegateway) module Aws::StorageGateway class Client < Seahorse::Client::Base include Aws::ClientStubs @identifier = :storagegateway set_api(ClientApi::API) add_plugin(Seahorse::Client::Plugins::ContentLength) add_plugin(Aws::Plugins::CredentialsConfiguration) add_plugin(Aws::Plugins::Logging) add_plugin(Aws::Plugins::ParamConverter) add_plugin(Aws::Plugins::ParamValidator) add_plugin(Aws::Plugins::UserAgent) add_plugin(Aws::Plugins::HelpfulSocketErrors) add_plugin(Aws::Plugins::RetryErrors) add_plugin(Aws::Plugins::GlobalConfiguration) add_plugin(Aws::Plugins::RegionalEndpoint) add_plugin(Aws::Plugins::EndpointDiscovery) add_plugin(Aws::Plugins::EndpointPattern) add_plugin(Aws::Plugins::ResponsePaging) add_plugin(Aws::Plugins::StubResponses) add_plugin(Aws::Plugins::IdempotencyToken) add_plugin(Aws::Plugins::JsonvalueConverter) add_plugin(Aws::Plugins::ClientMetricsPlugin) add_plugin(Aws::Plugins::ClientMetricsSendPlugin) add_plugin(Aws::Plugins::SignatureV4) add_plugin(Aws::Plugins::Protocols::JsonRpc) # @overload initialize(options) # @param [Hash] options # @option options [required, Aws::CredentialProvider] :credentials # Your AWS credentials. This can be an instance of any one of the # following classes: # # * `Aws::Credentials` - Used for configuring static, non-refreshing # credentials. # # * `Aws::InstanceProfileCredentials` - Used for loading credentials # from an EC2 IMDS on an EC2 instance. # # * `Aws::SharedCredentials` - Used for loading credentials from a # shared file, such as `~/.aws/config`. # # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role. # # When `:credentials` are not configured directly, the following # locations will be searched for credentials: # # * `Aws.config[:credentials]` # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options. # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY'] # * `~/.aws/credentials` # * `~/.aws/config` # * EC2 IMDS instance profile - When used by default, the timeouts are # very aggressive. Construct and pass an instance of # `Aws::InstanceProfileCredentails` to enable retries and extended # timeouts. # # @option options [required, String] :region # The AWS region to connect to. The configured `:region` is # used to determine the service `:endpoint`. When not passed, # a default `:region` is search for in the following locations: # # * `Aws.config[:region]` # * `ENV['AWS_REGION']` # * `ENV['AMAZON_REGION']` # * `ENV['AWS_DEFAULT_REGION']` # * `~/.aws/credentials` # * `~/.aws/config` # # @option options [String] :access_key_id # # @option options [Boolean] :active_endpoint_cache (false) # When set to `true`, a thread polling for endpoints will be running in # the background every 60 secs (default). Defaults to `false`. # # @option options [Boolean] :client_side_monitoring (false) # When `true`, client-side metrics will be collected for all API requests from # this client. # # @option options [String] :client_side_monitoring_client_id ("") # Allows you to provide an identifier for this client which will be attached to # all generated client side metrics. Defaults to an empty string. # # @option options [Integer] :client_side_monitoring_port (31000) # Required for publishing client metrics. The port that the client side monitoring # agent is running on, where client metrics will be published via UDP. # # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) # Allows you to provide a custom client-side monitoring publisher class. By default, # will use the Client Side Monitoring Agent Publisher. # # @option options [Boolean] :convert_params (true) # When `true`, an attempt is made to coerce request parameters into # the required types. # # @option options [Boolean] :disable_host_prefix_injection (false) # Set to true to disable SDK automatically adding host prefix # to default service endpoint when available. # # @option options [String] :endpoint # The client endpoint is normally constructed from the `:region` # option. You should only configure an `:endpoint` when connecting # to test endpoints. This should be avalid HTTP(S) URI. # # @option options [Integer] :endpoint_cache_max_entries (1000) # Used for the maximum size limit of the LRU cache storing endpoints data # for endpoint discovery enabled operations. Defaults to 1000. # # @option options [Integer] :endpoint_cache_max_threads (10) # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10. # # @option options [Integer] :endpoint_cache_poll_interval (60) # When :endpoint_discovery and :active_endpoint_cache is enabled, # Use this option to config the time interval in seconds for making # requests fetching endpoints information. Defaults to 60 sec. # # @option options [Boolean] :endpoint_discovery (false) # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`. # # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default) # The log formatter. # # @option options [Symbol] :log_level (:info) # The log level to send messages to the `:logger` at. # # @option options [Logger] :logger # The Logger instance to send log messages to. If this option # is not set, logging will be disabled. # # @option options [String] :profile ("default") # Used when loading credentials from the shared credentials file # at HOME/.aws/credentials. When not specified, 'default' is used. # # @option options [Float] :retry_base_delay (0.3) # The base delay in seconds used by the default backoff function. # # @option options [Symbol] :retry_jitter (:none) # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. # # @see https://www.awsarchitectureblog.com/2015/03/backoff.html # # @option options [Integer] :retry_limit (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. # # @option options [Integer] :retry_max_delay (0) # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. # # @option options [String] :secret_access_key # # @option options [String] :session_token # # @option options [Boolean] :simple_json (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. # # @option options [Boolean] :stub_responses (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. # # @option options [Boolean] :validate_params (true) # When `true`, request parameters are validated before # sending the request. # # @option options [URI::HTTP,String] :http_proxy A proxy to send # requests through. Formatted like 'http://proxy.com:123'. # # @option options [Float] :http_open_timeout (15) The number of # seconds to wait when opening a HTTP session before rasing a # `Timeout::Error`. # # @option options [Integer] :http_read_timeout (60) The default # number of seconds to wait for response data. This value can # safely be set # per-request on the session yeidled by {#session_for}. # # @option options [Float] :http_idle_timeout (5) The number of # seconds a connection is allowed to sit idble before it is # considered stale. Stale connections are closed and removed # from the pool before making a request. # # @option options [Float] :http_continue_timeout (1) The number of # seconds to wait for a 100-continue response before sending the # request body. This option has no effect unless the request has # "Expect" header set to "100-continue". Defaults to `nil` which # disables this behaviour. This value can safely be set per # request on the session yeidled by {#session_for}. # # @option options [Boolean] :http_wire_trace (false) When `true`, # HTTP debug output will be sent to the `:logger`. # # @option options [Boolean] :ssl_verify_peer (true) When `true`, # SSL peer certificates are verified when establishing a # connection. # # @option options [String] :ssl_ca_bundle Full path to the SSL # certificate authority bundle file that should be used when # verifying peer certificates. If you do not pass # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default # will be used if available. # # @option options [String] :ssl_ca_directory Full path of the # directory that contains the unbundled SSL certificate # authority files for verifying peer certificates. If you do # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the # system default will be used if available. # def initialize(*args) super end # @!group API Operations # Activates the gateway you previously deployed on your host. 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. # # # # @option params [required, String] :activation_key # 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. # # For more information, see # https://docs.aws.amazon.com/storagegateway/latest/userguide/get-activation-key.html # in the Storage Gateway User Guide. # # @option params [required, String] :gateway_name # The name you configured for your gateway. # # @option params [required, String] :gateway_timezone # 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. # # @option params [required, String] :gateway_region # 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][1] in the *Amazon Web Services Glossary*. # # Valid Values: See [AWS Storage Gateway Regions and Endpoints][1] in # the AWS General Reference. # # # # [1]: https://docs.aws.amazon.com/general/latest/gr/rande.html#sg_region # # @option params [String] :gateway_type # 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 `CACHED`. # # Valid Values: "STORED", "CACHED", "VTL", "FILE\_S3" # # @option params [String] :tape_drive_type # The value that indicates the type of tape drive to use for tape # gateway. This field is optional. # # Valid Values: "IBM-ULT3580-TD5" # # @option params [String] :medium_changer_type # 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" # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to the gateway. Each tag # is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::ActivateGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ActivateGatewayOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example 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", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ActivateGateway AWS API Documentation # # @overload activate_gateway(params = {}) # @param [Hash] params ({}) def activate_gateway(params = {}, options = {}) req = build_request(:activate_gateway, params) req.send_request(options) end # 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][1]). # # 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. # # # # [1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/StorageGatewayConcepts.html # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, Array] :disk_ids # 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. # # @return [Types::AddCacheOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::AddCacheOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.add_cache({ # gateway_arn: "GatewayARN", # required # disk_ids: ["DiskId"], # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddCache AWS API Documentation # # @overload add_cache(params = {}) # @param [Hash] params ({}) def add_cache(params = {}, options = {}) req = build_request(:add_cache, params) req.send_request(options) end # 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 # # * NFS and SMB file shares # # You can create a maximum of 50 tags for each resource. Virtual tapes # and storage volumes that are recovered to a new gateway maintain their # tags. # # @option params [required, String] :resource_arn # The Amazon Resource Name (ARN) of the resource you want to add tags # to. # # @option params [required, Array] :tags # 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: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::AddTagsToResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::AddTagsToResourceOutput#resource_arn #resource_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.add_tags_to_resource({ # resource_arn: "ResourceARN", # required # tags: [ # required # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.resource_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddTagsToResource AWS API Documentation # # @overload add_tags_to_resource(params = {}) # @param [Hash] params ({}) def add_tags_to_resource(params = {}, options = {}) req = build_request(:add_tags_to_resource, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, Array] :disk_ids # 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. # # @return [Types::AddUploadBufferOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::AddUploadBufferOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.add_upload_buffer({ # gateway_arn: "GatewayARN", # required # disk_ids: ["DiskId"], # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddUploadBuffer AWS API Documentation # # @overload add_upload_buffer(params = {}) # @param [Hash] params ({}) def add_upload_buffer(params = {}, options = {}) req = build_request(:add_upload_buffer, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, Array] :disk_ids # 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. # # @return [Types::AddWorkingStorageOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::AddWorkingStorageOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.add_working_storage({ # gateway_arn: "GatewayARN", # required # disk_ids: ["DiskId"], # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AddWorkingStorage AWS API Documentation # # @overload add_working_storage(params = {}) # @param [Hash] params ({}) def add_working_storage(params = {}, options = {}) req = build_request(:add_working_storage, params) req.send_request(options) end # Connects a volume to an iSCSI connection and then attaches the volume # to the specified gateway. Detaching and attaching a volume enables you # to recover your data from one gateway to a different gateway without # creating a snapshot. It also makes it easier to move your volumes from # an on-premises gateway to a gateway hosted on an Amazon EC2 instance. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway that you want to attach # the volume to. # # @option params [String] :target_name # The name of the iSCSI target used by an initiator to connect to a # volume and used 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 on a gateway. # # If you don't specify a value, Storage Gateway uses the value that was # previously used for this volume as the new target name. # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume to attach to the # specified gateway. # # @option params [required, String] :network_interface_id # 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. # # @option params [String] :disk_id # The unique device ID or other distinguishing data that identifies the # local disk used to create the volume. This value is only required when # you are attaching a stored volume. # # @return [Types::AttachVolumeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::AttachVolumeOutput#volume_arn #volume_arn} => String # * {Types::AttachVolumeOutput#target_arn #target_arn} => String # # @example Request syntax with placeholder values # # resp = client.attach_volume({ # gateway_arn: "GatewayARN", # required # target_name: "TargetName", # volume_arn: "VolumeARN", # required # network_interface_id: "NetworkInterfaceId", # required # disk_id: "DiskId", # }) # # @example Response structure # # resp.volume_arn #=> String # resp.target_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/AttachVolume AWS API Documentation # # @overload attach_volume(params = {}) # @param [Hash] params ({}) def attach_volume(params = {}, options = {}) req = build_request(:attach_volume, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, String] :tape_arn # The Amazon Resource Name (ARN) of the virtual tape you want to cancel # archiving for. # # @return [Types::CancelArchivalOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CancelArchivalOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.cancel_archival({ # gateway_arn: "GatewayARN", # required # tape_arn: "TapeARN", # required # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CancelArchival AWS API Documentation # # @overload cancel_archival(params = {}) # @param [Hash] params ({}) def cancel_archival(params = {}, options = {}) req = build_request(:cancel_archival, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, String] :tape_arn # The Amazon Resource Name (ARN) of the virtual tape you want to cancel # retrieval for. # # @return [Types::CancelRetrievalOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CancelRetrievalOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.cancel_retrieval({ # gateway_arn: "GatewayARN", # required # tape_arn: "TapeARN", # required # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CancelRetrieval AWS API Documentation # # @overload cancel_retrieval(params = {}) # @param [Hash] params ({}) def cancel_retrieval(params = {}, options = {}) req = build_request(:cancel_retrieval, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, Integer] :volume_size_in_bytes # The size of the volume in bytes. # # @option params [String] :snapshot_id # The snapshot ID (e.g. "snap-1122aabb") of the snapshot to restore as # the new cached 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][1] # in the *Amazon Elastic Compute Cloud API Reference*. # # # # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html # # @option params [required, String] :target_name # The name of the iSCSI target used by an initiator to connect to a # volume and used 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 on a gateway. # # If you don't specify a value, Storage Gateway uses the value that was # previously used for this volume as the new target name. # # @option params [String] :source_volume_arn # 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. # # @option params [required, String] :network_interface_id # 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. # # @option params [required, String] :client_token # 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. # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to a cached volume. Each # tag is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::CreateCachediSCSIVolumeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateCachediSCSIVolumeOutput#volume_arn #volume_arn} => String # * {Types::CreateCachediSCSIVolumeOutput#target_arn #target_arn} => String # # # @example 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", # } # # @example 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 # kms_encrypted: false, # kms_key: "KMSKey", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.volume_arn #=> String # resp.target_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateCachediSCSIVolume AWS API Documentation # # @overload create_cached_iscsi_volume(params = {}) # @param [Hash] params ({}) def create_cached_iscsi_volume(params = {}, options = {}) req = build_request(:create_cached_iscsi_volume, params) req.send_request(options) end # Creates a Network File System (NFS) 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 NFS interface. This operation is only supported for file # gateways. # # 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. # # @option params [required, String] :client_token # A unique string value that you supply that is used by file gateway to # ensure idempotent file share creation. # # @option params [Types::NFSFileShareDefaults] :nfs_file_share_defaults # File share default values. Optional. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the file gateway on which you want # to create a file share. # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) AWS KMS key used for Amazon S3 server # side encryption. This value can only be set when KMSEncrypted is true. # Optional. # # @option params [required, String] :role # The ARN of the AWS Identity and Access Management (IAM) role that a # file gateway assumes when it accesses the underlying storage. # # @option params [required, String] :location_arn # The ARN of the backed storage used for storing file data. # # @option params [String] :default_storage_class # The default storage class for objects put into an Amazon S3 bucket by # the file gateway. Possible values are `S3_STANDARD`, `S3_STANDARD_IA`, # or `S3_ONEZONE_IA`. If this field is not populated, the default value # `S3_STANDARD` is used. Optional. # # @option params [String] :object_acl # A value that sets the access control list permission for objects in # the S3 bucket that a file gateway puts objects into. The default value # is "private". # # @option params [Array] :client_list # The list of clients that are allowed to access the file gateway. The # list must contain either valid IP addresses or valid CIDR blocks. # # @option params [String] :squash # A value that 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. # # @option params [Boolean] :read_only # A value that sets the write status of a file share. This value is true # if the write status is read-only, and otherwise false. # # @option params [Boolean] :guess_mime_type_enabled # A value that enables guessing of the MIME type for uploaded objects # based on file extensions. Set this value to true to enable MIME type # guessing, and otherwise to false. The default value is true. # # @option params [Boolean] :requester_pays # A value that sets who pays the cost of the request and the cost # associated with data download from the S3 bucket. If this value is set # to true, the requester pays the costs. Otherwise the S3 bucket owner # pays. However, the S3 bucket owner always pays the cost of storing # data. # # `RequesterPays` is a configuration for the S3 bucket that backs the # file share, so make sure that the configuration on the file share is # the same as the S3 bucket configuration. # # # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to the NFS file share. # Each tag is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::CreateNFSFileShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateNFSFileShareOutput#file_share_arn #file_share_arn} => String # # @example 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", # object_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control, aws-exec-read # client_list: ["IPV4AddressCIDR"], # squash: "Squash", # read_only: false, # guess_mime_type_enabled: false, # requester_pays: false, # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.file_share_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateNFSFileShare AWS API Documentation # # @overload create_nfs_file_share(params = {}) # @param [Hash] params ({}) def create_nfs_file_share(params = {}, options = {}) req = build_request(:create_nfs_file_share, params) req.send_request(options) end # Creates a Server Message Block (SMB) 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 expose file shares # using a SMB interface. This operation is only supported for file # gateways. # # File gateways require AWS Security Token Service (AWS STS) to be # activated to enable you to create a file share. Make sure that AWS STS # is activated in the AWS Region you are creating your file gateway in. # If AWS STS is not activated in this AWS Region, activate it. For # information about how to activate AWS STS, see [Activating and # Deactivating AWS STS in an AWS Region][1] in the *AWS Identity and # Access Management User Guide.* # # File gateways don't support creating hard or symbolic links on a # file # share. # # # # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html # # @option params [required, String] :client_token # A unique string value that you supply that is used by file gateway to # ensure idempotent file share creation. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the file gateway on which you want # to create a file share. # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [required, String] :role # The ARN of the AWS Identity and Access Management (IAM) role that a # file gateway assumes when it accesses the underlying storage. # # @option params [required, String] :location_arn # The ARN of the backed storage used for storing file data. # # @option params [String] :default_storage_class # The default storage class for objects put into an Amazon S3 bucket by # the file gateway. Possible values are `S3_STANDARD`, `S3_STANDARD_IA`, # or `S3_ONEZONE_IA`. If this field is not populated, the default value # `S3_STANDARD` is used. Optional. # # @option params [String] :object_acl # A value that sets the access control list permission for objects in # the S3 bucket that a file gateway puts objects into. The default value # is "private". # # @option params [Boolean] :read_only # A value that sets the write status of a file share. This value is true # if the write status is read-only, and otherwise false. # # @option params [Boolean] :guess_mime_type_enabled # A value that enables guessing of the MIME type for uploaded objects # based on file extensions. Set this value to true to enable MIME type # guessing, and otherwise to false. The default value is true. # # @option params [Boolean] :requester_pays # A value that sets who pays the cost of the request and the cost # associated with data download from the S3 bucket. If this value is set # to true, the requester pays the costs. Otherwise the S3 bucket owner # pays. However, the S3 bucket owner always pays the cost of storing # data. # # `RequesterPays` is a configuration for the S3 bucket that backs the # file share, so make sure that the configuration on the file share is # the same as the S3 bucket configuration. # # # # @option params [Boolean] :smbacl_enabled # Set this value to "true to enable ACL (access control list) on the # SMB file share. Set it to "false" to map file and directory # permissions to the POSIX permissions. # # @option params [Array] :valid_user_list # A list of users or groups in the Active Directory that are allowed to # access the file share. A group must be prefixed with the @ character. # For example `@group1`. Can only be set if Authentication is set to # `ActiveDirectory`. # # @option params [Array] :invalid_user_list # A list of users or groups in the Active Directory that are not allowed # to access the file share. A group must be prefixed with the @ # character. For example `@group1`. Can only be set if Authentication is # set to `ActiveDirectory`. # # @option params [String] :authentication # The authentication method that users use to access the file share. # # Valid values are `ActiveDirectory` or `GuestAccess`. The default is # `ActiveDirectory`. # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to the NFS file share. # Each tag is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::CreateSMBFileShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateSMBFileShareOutput#file_share_arn #file_share_arn} => String # # @example Request syntax with placeholder values # # resp = client.create_smb_file_share({ # client_token: "ClientToken", # required # gateway_arn: "GatewayARN", # required # kms_encrypted: false, # kms_key: "KMSKey", # role: "Role", # required # location_arn: "LocationARN", # required # default_storage_class: "StorageClass", # object_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control, aws-exec-read # read_only: false, # guess_mime_type_enabled: false, # requester_pays: false, # smbacl_enabled: false, # valid_user_list: ["FileShareUser"], # invalid_user_list: ["FileShareUser"], # authentication: "Authentication", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.file_share_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSMBFileShare AWS API Documentation # # @overload create_smb_file_share(params = {}) # @param [Hash] params ({}) def create_smb_file_share(params = {}, options = {}) req = build_request(:create_smb_file_share, params) req.send_request(options) end # 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][1]. # # 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][2]. # # # # Volume and snapshot IDs are changing to a longer length ID format. For # more information, see the important note on the [Welcome][3] page. # # # # [1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/managing-volumes.html#SchedulingSnapshot # [2]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Operations.html # [3]: https://docs.aws.amazon.com/storagegateway/latest/APIReference/Welcome.html # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume. Use the ListVolumes # operation to return a list of gateway volumes. # # @option params [required, String] :snapshot_description # 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 # # @return [Types::CreateSnapshotOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateSnapshotOutput#volume_arn #volume_arn} => String # * {Types::CreateSnapshotOutput#snapshot_id #snapshot_id} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.create_snapshot({ # volume_arn: "VolumeARN", # required # snapshot_description: "SnapshotDescription", # required # }) # # @example Response structure # # resp.volume_arn #=> String # resp.snapshot_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSnapshot AWS API Documentation # # @overload create_snapshot(params = {}) # @param [Hash] params ({}) def create_snapshot(params = {}, options = {}) req = build_request(:create_snapshot, params) req.send_request(options) end # 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*. # # # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the iSCSI volume target. Use the # DescribeStorediSCSIVolumes operation to return to retrieve the # TargetARN for specified VolumeARN. # # @option params [required, String] :snapshot_description # 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 # # @return [Types::CreateSnapshotFromVolumeRecoveryPointOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateSnapshotFromVolumeRecoveryPointOutput#snapshot_id #snapshot_id} => String # * {Types::CreateSnapshotFromVolumeRecoveryPointOutput#volume_arn #volume_arn} => String # * {Types::CreateSnapshotFromVolumeRecoveryPointOutput#volume_recovery_point_time #volume_recovery_point_time} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.create_snapshot_from_volume_recovery_point({ # volume_arn: "VolumeARN", # required # snapshot_description: "SnapshotDescription", # required # }) # # @example Response structure # # resp.snapshot_id #=> String # resp.volume_arn #=> String # resp.volume_recovery_point_time #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateSnapshotFromVolumeRecoveryPoint AWS API Documentation # # @overload create_snapshot_from_volume_recovery_point(params = {}) # @param [Hash] params ({}) def create_snapshot_from_volume_recovery_point(params = {}, options = {}) req = build_request(:create_snapshot_from_volume_recovery_point, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, String] :disk_id # The unique identifier for the gateway local disk that is configured as # a stored volume. Use [ListLocalDisks][1] to list disk IDs for a # gateway. # # # # [1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/API_ListLocalDisks.html # # @option params [String] :snapshot_id # 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][1] # in the *Amazon Elastic Compute Cloud API Reference*. # # # # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html # # @option params [required, Boolean] :preserve_existing_data # 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 # # @option params [required, String] :target_name # The name of the iSCSI target used by an initiator to connect to a # volume and used 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 on a gateway. # # If you don't specify a value, Storage Gateway uses the value that was # previously used for this volume as the new target name. # # @option params [required, String] :network_interface_id # 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. # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the KMS key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to a stored volume. Each # tag is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::CreateStorediSCSIVolumeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateStorediSCSIVolumeOutput#volume_arn #volume_arn} => String # * {Types::CreateStorediSCSIVolumeOutput#volume_size_in_bytes #volume_size_in_bytes} => Integer # * {Types::CreateStorediSCSIVolumeOutput#target_arn #target_arn} => String # # # @example 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, # } # # @example 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 # kms_encrypted: false, # kms_key: "KMSKey", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.volume_arn #=> String # resp.volume_size_in_bytes #=> Integer # resp.target_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateStorediSCSIVolume AWS API Documentation # # @overload create_stored_iscsi_volume(params = {}) # @param [Hash] params ({}) def create_stored_iscsi_volume(params = {}, options = {}) req = build_request(:create_stored_iscsi_volume, params) req.send_request(options) end # 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. # # # # @option params [required, String] :gateway_arn # 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. # # @option params [required, Integer] :tape_size_in_bytes # The size, in bytes, of the virtual tape that you want to create. # # The size must be aligned by gigabyte (1024*1024*1024 byte). # # # # @option params [required, String] :tape_barcode # The barcode that you want to assign to the tape. # # Barcodes cannot be reused. This includes barcodes used for tapes that # have been deleted. # # # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the AWS KMS Key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [String] :pool_id # The ID of the pool that you want to add your tape to for archiving. # The tape in this pool is archived in the S3 storage class that is # associated with the pool. When you use your backup application to # eject the tape, the tape is archived directly into the storage class # (Glacier or Deep Archive) that corresponds to the pool. # # Valid values: "GLACIER", "DEEP\_ARCHIVE" # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to a virtual tape that # has a barcode. Each tag is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::CreateTapeWithBarcodeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateTapeWithBarcodeOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example 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 # kms_encrypted: false, # kms_key: "KMSKey", # pool_id: "PoolId", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapeWithBarcode AWS API Documentation # # @overload create_tape_with_barcode(params = {}) # @param [Hash] params ({}) def create_tape_with_barcode(params = {}, options = {}) req = build_request(:create_tape_with_barcode, params) req.send_request(options) end # 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. # # # # @option params [required, String] :gateway_arn # 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. # # @option params [required, Integer] :tape_size_in_bytes # The size, in bytes, of the virtual tapes that you want to create. # # The size must be aligned by gigabyte (1024*1024*1024 byte). # # # # @option params [required, String] :client_token # 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. # # # # @option params [required, Integer] :num_tapes_to_create # The number of virtual tapes that you want to create. # # @option params [required, String] :tape_barcode_prefix # 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. # # # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [String] :pool_id # The ID of the pool that you want to add your tape to for archiving. # The tape in this pool is archived in the S3 storage class that is # associated with the pool. When you use your backup application to # eject the tape, the tape is archived directly into the storage class # (Glacier or Deep Archive) that corresponds to the pool. # # Valid values: "GLACIER", "DEEP\_ARCHIVE" # # @option params [Array] :tags # A list of up to 50 tags that can be assigned to a virtual tape. Each # tag is a key-value pair. # # Valid characters for key and value are letters, spaces, and numbers # representable in UTF-8 format, and the following special characters: + # - = . \_ : / @. The maximum length of a tag's key is 128 characters, # and the maximum length for a tag's value is 256. # # # # @return [Types::CreateTapesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::CreateTapesOutput#tape_arns #tape_arns} => Array<String> # # # @example 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", # ], # } # # @example 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 # kms_encrypted: false, # kms_key: "KMSKey", # pool_id: "PoolId", # tags: [ # { # key: "TagKey", # required # value: "TagValue", # required # }, # ], # }) # # @example Response structure # # resp.tape_arns #=> Array # resp.tape_arns[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/CreateTapes AWS API Documentation # # @overload create_tapes(params = {}) # @param [Hash] params ({}) def create_tapes(params = {}, options = {}) req = build_request(:create_tapes, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, String] :bandwidth_type # One of the BandwidthType values that indicates the gateway bandwidth # rate limit to delete. # # Valid Values: `Upload`, `Download`, `All`. # # @return [Types::DeleteBandwidthRateLimitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteBandwidthRateLimitOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_bandwidth_rate_limit({ # gateway_arn: "GatewayARN", # required # bandwidth_type: "BandwidthType", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteBandwidthRateLimit AWS API Documentation # # @overload delete_bandwidth_rate_limit(params = {}) # @param [Hash] params ({}) def delete_bandwidth_rate_limit(params = {}, options = {}) req = build_request(:delete_bandwidth_rate_limit, params) req.send_request(options) end # Deletes Challenge-Handshake Authentication Protocol (CHAP) credentials # for a specified iSCSI target and initiator pair. # # @option params [required, String] :target_arn # The Amazon Resource Name (ARN) of the iSCSI volume target. Use the # DescribeStorediSCSIVolumes operation to return to retrieve the # TargetARN for specified VolumeARN. # # @option params [required, String] :initiator_name # The iSCSI initiator that connects to the target. # # @return [Types::DeleteChapCredentialsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteChapCredentialsOutput#target_arn #target_arn} => String # * {Types::DeleteChapCredentialsOutput#initiator_name #initiator_name} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_chap_credentials({ # target_arn: "TargetARN", # required # initiator_name: "IqnName", # required # }) # # @example Response structure # # resp.target_arn #=> String # resp.initiator_name #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteChapCredentials AWS API Documentation # # @overload delete_chap_credentials(params = {}) # @param [Hash] params ({}) def delete_chap_credentials(params = {}, options = {}) req = build_request(:delete_chap_credentials, params) req.send_request(options) end # Deletes a file share from a file gateway. This operation is only # supported for file gateways. # # @option params [required, String] :file_share_arn # The Amazon Resource Name (ARN) of the file share to be deleted. # # @option params [Boolean] :force_delete # 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. # # @return [Types::DeleteFileShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteFileShareOutput#file_share_arn #file_share_arn} => String # # @example Request syntax with placeholder values # # resp = client.delete_file_share({ # file_share_arn: "FileShareARN", # required # force_delete: false, # }) # # @example Response structure # # resp.file_share_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteFileShare AWS API Documentation # # @overload delete_file_share(params = {}) # @param [Hash] params ({}) def delete_file_share(params = {}, options = {}) req = build_request(:delete_file_share, params) req.send_request(options) end # 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][1]. # # # # [1]: http://aws.amazon.com/storagegateway # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DeleteGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteGatewayOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_gateway({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteGateway AWS API Documentation # # @overload delete_gateway(params = {}) # @param [Hash] params ({}) def delete_gateway(params = {}, options = {}) req = build_request(:delete_gateway, params) req.send_request(options) end # 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][1]. # 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*. # # # # # # [1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/WorkingWithSnapshots.html # # @option params [required, String] :volume_arn # The volume which snapshot schedule to delete. # # @return [Types::DeleteSnapshotScheduleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteSnapshotScheduleOutput#volume_arn #volume_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_snapshot_schedule({ # volume_arn: "VolumeARN", # required # }) # # @example Response structure # # resp.volume_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteSnapshotSchedule AWS API Documentation # # @overload delete_snapshot_schedule(params = {}) # @param [Hash] params ({}) def delete_snapshot_schedule(params = {}, options = {}) req = build_request(:delete_snapshot_schedule, params) req.send_request(options) end # Deletes the specified virtual tape. This operation is only supported # in the tape gateway type. # # @option params [required, String] :gateway_arn # 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. # # @option params [required, String] :tape_arn # The Amazon Resource Name (ARN) of the virtual tape to delete. # # @return [Types::DeleteTapeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteTapeOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_tape({ # gateway_arn: "GatewayARN", # required # tape_arn: "TapeARN", # required # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTape AWS API Documentation # # @overload delete_tape(params = {}) # @param [Hash] params ({}) def delete_tape(params = {}, options = {}) req = build_request(:delete_tape, params) req.send_request(options) end # Deletes the specified virtual tape from the virtual tape shelf (VTS). # This operation is only supported in the tape gateway type. # # @option params [required, String] :tape_arn # The Amazon Resource Name (ARN) of the virtual tape to delete from the # virtual tape shelf (VTS). # # @return [Types::DeleteTapeArchiveOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteTapeArchiveOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_tape_archive({ # tape_arn: "TapeARN", # required # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteTapeArchive AWS API Documentation # # @overload delete_tape_archive(params = {}) # @param [Hash] params ({}) def delete_tape_archive(params = {}, options = {}) req = build_request(:delete_tape_archive, params) req.send_request(options) end # 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][1] 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. # # # # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeSnapshots.html # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume. Use the ListVolumes # operation to return a list of gateway volumes. # # @return [Types::DeleteVolumeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DeleteVolumeOutput#volume_arn #volume_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.delete_volume({ # volume_arn: "VolumeARN", # required # }) # # @example Response structure # # resp.volume_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DeleteVolume AWS API Documentation # # @overload delete_volume(params = {}) # @param [Hash] params ({}) def delete_volume(params = {}, options = {}) req = build_request(:delete_volume, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeBandwidthRateLimitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeBandwidthRateLimitOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeBandwidthRateLimitOutput#average_upload_rate_limit_in_bits_per_sec #average_upload_rate_limit_in_bits_per_sec} => Integer # * {Types::DescribeBandwidthRateLimitOutput#average_download_rate_limit_in_bits_per_sec #average_download_rate_limit_in_bits_per_sec} => Integer # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.describe_bandwidth_rate_limit({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeBandwidthRateLimit AWS API Documentation # # @overload describe_bandwidth_rate_limit(params = {}) # @param [Hash] params ({}) def describe_bandwidth_rate_limit(params = {}, options = {}) req = build_request(:describe_bandwidth_rate_limit, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeCacheOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeCacheOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeCacheOutput#disk_ids #disk_ids} => Array<String> # * {Types::DescribeCacheOutput#cache_allocated_in_bytes #cache_allocated_in_bytes} => Integer # * {Types::DescribeCacheOutput#cache_used_percentage #cache_used_percentage} => Float # * {Types::DescribeCacheOutput#cache_dirty_percentage #cache_dirty_percentage} => Float # * {Types::DescribeCacheOutput#cache_hit_percentage #cache_hit_percentage} => Float # * {Types::DescribeCacheOutput#cache_miss_percentage #cache_miss_percentage} => Float # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.describe_cache({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeCache AWS API Documentation # # @overload describe_cache(params = {}) # @param [Hash] params ({}) def describe_cache(params = {}, options = {}) req = build_request(:describe_cache, params) req.send_request(options) end # 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). # # @option params [required, Array] :volume_arns # An array of strings where each string represents the Amazon Resource # Name (ARN) of a cached volume. All of the specified cached volumes # must from the same gateway. Use ListVolumes to get volume ARNs for a # gateway. # # @return [Types::DescribeCachediSCSIVolumesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeCachediSCSIVolumesOutput#cached_iscsi_volumes #cached_iscsi_volumes} => Array<Types::CachediSCSIVolume> # # # @example 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", # }, # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_cached_iscsi_volumes({ # volume_arns: ["VolumeARN"], # required # }) # # @example 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_attachment_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 #=> Boolean # resp.cached_iscsi_volumes[0].created_date #=> Time # resp.cached_iscsi_volumes[0].volume_used_in_bytes #=> Integer # resp.cached_iscsi_volumes[0].kms_key #=> String # resp.cached_iscsi_volumes[0].target_name #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeCachediSCSIVolumes AWS API Documentation # # @overload describe_cached_iscsi_volumes(params = {}) # @param [Hash] params ({}) def describe_cached_iscsi_volumes(params = {}, options = {}) req = build_request(:describe_cached_iscsi_volumes, params) req.send_request(options) end # Returns an array of Challenge-Handshake Authentication Protocol (CHAP) # credentials information for a specified iSCSI target, one for each # target-initiator pair. # # @option params [required, String] :target_arn # The Amazon Resource Name (ARN) of the iSCSI volume target. Use the # DescribeStorediSCSIVolumes operation to return to retrieve the # TargetARN for specified VolumeARN. # # @return [Types::DescribeChapCredentialsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeChapCredentialsOutput#chap_credentials #chap_credentials} => Array<Types::ChapInfo> # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_chap_credentials({ # target_arn: "TargetARN", # required # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeChapCredentials AWS API Documentation # # @overload describe_chap_credentials(params = {}) # @param [Hash] params ({}) def describe_chap_credentials(params = {}, options = {}) req = build_request(:describe_chap_credentials, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeGatewayInformationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeGatewayInformationOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeGatewayInformationOutput#gateway_id #gateway_id} => String # * {Types::DescribeGatewayInformationOutput#gateway_name #gateway_name} => String # * {Types::DescribeGatewayInformationOutput#gateway_timezone #gateway_timezone} => String # * {Types::DescribeGatewayInformationOutput#gateway_state #gateway_state} => String # * {Types::DescribeGatewayInformationOutput#gateway_network_interfaces #gateway_network_interfaces} => Array<Types::NetworkInterface> # * {Types::DescribeGatewayInformationOutput#gateway_type #gateway_type} => String # * {Types::DescribeGatewayInformationOutput#next_update_availability_date #next_update_availability_date} => String # * {Types::DescribeGatewayInformationOutput#last_software_update #last_software_update} => String # * {Types::DescribeGatewayInformationOutput#ec2_instance_id #ec2_instance_id} => String # * {Types::DescribeGatewayInformationOutput#ec2_instance_region #ec2_instance_region} => String # * {Types::DescribeGatewayInformationOutput#tags #tags} => Array<Types::Tag> # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.describe_gateway_information({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # resp.ec2_instance_id #=> String # resp.ec2_instance_region #=> String # resp.tags #=> Array # resp.tags[0].key #=> String # resp.tags[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeGatewayInformation AWS API Documentation # # @overload describe_gateway_information(params = {}) # @param [Hash] params ({}) def describe_gateway_information(params = {}, options = {}) req = build_request(:describe_gateway_information, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeMaintenanceStartTimeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeMaintenanceStartTimeOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeMaintenanceStartTimeOutput#hour_of_day #hour_of_day} => Integer # * {Types::DescribeMaintenanceStartTimeOutput#minute_of_hour #minute_of_hour} => Integer # * {Types::DescribeMaintenanceStartTimeOutput#day_of_week #day_of_week} => Integer # * {Types::DescribeMaintenanceStartTimeOutput#day_of_month #day_of_month} => Integer # * {Types::DescribeMaintenanceStartTimeOutput#timezone #timezone} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.describe_maintenance_start_time({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # resp.hour_of_day #=> Integer # resp.minute_of_hour #=> Integer # resp.day_of_week #=> Integer # resp.day_of_month #=> Integer # resp.timezone #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeMaintenanceStartTime AWS API Documentation # # @overload describe_maintenance_start_time(params = {}) # @param [Hash] params ({}) def describe_maintenance_start_time(params = {}, options = {}) req = build_request(:describe_maintenance_start_time, params) req.send_request(options) end # Gets a description for one or more Network File System (NFS) file # shares from a file gateway. This operation is only supported for file # gateways. # # @option params [required, Array] :file_share_arn_list # An array containing the Amazon Resource Name (ARN) of each file share # to be described. # # @return [Types::DescribeNFSFileSharesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeNFSFileSharesOutput#nfs_file_share_info_list #nfs_file_share_info_list} => Array<Types::NFSFileShareInfo> # # @example Request syntax with placeholder values # # resp = client.describe_nfs_file_shares({ # file_share_arn_list: ["FileShareARN"], # required # }) # # @example 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 #=> Boolean # 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].object_acl #=> String, one of "private", "public-read", "public-read-write", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control", "aws-exec-read" # 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 #=> Boolean # resp.nfs_file_share_info_list[0].guess_mime_type_enabled #=> Boolean # resp.nfs_file_share_info_list[0].requester_pays #=> Boolean # resp.nfs_file_share_info_list[0].tags #=> Array # resp.nfs_file_share_info_list[0].tags[0].key #=> String # resp.nfs_file_share_info_list[0].tags[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeNFSFileShares AWS API Documentation # # @overload describe_nfs_file_shares(params = {}) # @param [Hash] params ({}) def describe_nfs_file_shares(params = {}, options = {}) req = build_request(:describe_nfs_file_shares, params) req.send_request(options) end # Gets a description for one or more Server Message Block (SMB) file # shares from a file gateway. This operation is only supported for file # gateways. # # @option params [required, Array] :file_share_arn_list # An array containing the Amazon Resource Name (ARN) of each file share # to be described. # # @return [Types::DescribeSMBFileSharesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeSMBFileSharesOutput#smb_file_share_info_list #smb_file_share_info_list} => Array<Types::SMBFileShareInfo> # # @example Request syntax with placeholder values # # resp = client.describe_smb_file_shares({ # file_share_arn_list: ["FileShareARN"], # required # }) # # @example Response structure # # resp.smb_file_share_info_list #=> Array # resp.smb_file_share_info_list[0].file_share_arn #=> String # resp.smb_file_share_info_list[0].file_share_id #=> String # resp.smb_file_share_info_list[0].file_share_status #=> String # resp.smb_file_share_info_list[0].gateway_arn #=> String # resp.smb_file_share_info_list[0].kms_encrypted #=> Boolean # resp.smb_file_share_info_list[0].kms_key #=> String # resp.smb_file_share_info_list[0].path #=> String # resp.smb_file_share_info_list[0].role #=> String # resp.smb_file_share_info_list[0].location_arn #=> String # resp.smb_file_share_info_list[0].default_storage_class #=> String # resp.smb_file_share_info_list[0].object_acl #=> String, one of "private", "public-read", "public-read-write", "authenticated-read", "bucket-owner-read", "bucket-owner-full-control", "aws-exec-read" # resp.smb_file_share_info_list[0].read_only #=> Boolean # resp.smb_file_share_info_list[0].guess_mime_type_enabled #=> Boolean # resp.smb_file_share_info_list[0].requester_pays #=> Boolean # resp.smb_file_share_info_list[0].smbacl_enabled #=> Boolean # resp.smb_file_share_info_list[0].valid_user_list #=> Array # resp.smb_file_share_info_list[0].valid_user_list[0] #=> String # resp.smb_file_share_info_list[0].invalid_user_list #=> Array # resp.smb_file_share_info_list[0].invalid_user_list[0] #=> String # resp.smb_file_share_info_list[0].authentication #=> String # resp.smb_file_share_info_list[0].tags #=> Array # resp.smb_file_share_info_list[0].tags[0].key #=> String # resp.smb_file_share_info_list[0].tags[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSMBFileShares AWS API Documentation # # @overload describe_smb_file_shares(params = {}) # @param [Hash] params ({}) def describe_smb_file_shares(params = {}, options = {}) req = build_request(:describe_smb_file_shares, params) req.send_request(options) end # Gets a description of a Server Message Block (SMB) file share settings # from a file gateway. This operation is only supported for file # gateways. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeSMBSettingsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeSMBSettingsOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeSMBSettingsOutput#domain_name #domain_name} => String # * {Types::DescribeSMBSettingsOutput#smb_guest_password_set #smb_guest_password_set} => Boolean # # @example Request syntax with placeholder values # # resp = client.describe_smb_settings({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # resp.domain_name #=> String # resp.smb_guest_password_set #=> Boolean # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSMBSettings AWS API Documentation # # @overload describe_smb_settings(params = {}) # @param [Hash] params ({}) def describe_smb_settings(params = {}, options = {}) req = build_request(:describe_smb_settings, params) req.send_request(options) end # 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. # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume. Use the ListVolumes # operation to return a list of gateway volumes. # # @return [Types::DescribeSnapshotScheduleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeSnapshotScheduleOutput#volume_arn #volume_arn} => String # * {Types::DescribeSnapshotScheduleOutput#start_at #start_at} => Integer # * {Types::DescribeSnapshotScheduleOutput#recurrence_in_hours #recurrence_in_hours} => Integer # * {Types::DescribeSnapshotScheduleOutput#description #description} => String # * {Types::DescribeSnapshotScheduleOutput#timezone #timezone} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.describe_snapshot_schedule({ # volume_arn: "VolumeARN", # required # }) # # @example Response structure # # resp.volume_arn #=> String # resp.start_at #=> Integer # resp.recurrence_in_hours #=> Integer # resp.description #=> String # resp.timezone #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeSnapshotSchedule AWS API Documentation # # @overload describe_snapshot_schedule(params = {}) # @param [Hash] params ({}) def describe_snapshot_schedule(params = {}, options = {}) req = build_request(:describe_snapshot_schedule, params) req.send_request(options) end # 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. # # @option params [required, Array] :volume_arns # 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. # # @return [Types::DescribeStorediSCSIVolumesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeStorediSCSIVolumesOutput#stored_iscsi_volumes #stored_iscsi_volumes} => Array<Types::StorediSCSIVolume> # # # @example 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", # }, # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_stored_iscsi_volumes({ # volume_arns: ["VolumeARN"], # required # }) # # @example 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_attachment_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 #=> Boolean # 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 #=> Boolean # resp.stored_iscsi_volumes[0].created_date #=> Time # resp.stored_iscsi_volumes[0].volume_used_in_bytes #=> Integer # resp.stored_iscsi_volumes[0].kms_key #=> String # resp.stored_iscsi_volumes[0].target_name #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeStorediSCSIVolumes AWS API Documentation # # @overload describe_stored_iscsi_volumes(params = {}) # @param [Hash] params ({}) def describe_stored_iscsi_volumes(params = {}, options = {}) req = build_request(:describe_stored_iscsi_volumes, params) req.send_request(options) end # 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. # # @option params [Array] :tape_arns # Specifies one or more unique Amazon Resource Names (ARNs) that # represent the virtual tapes you want to describe. # # @option params [String] :marker # An opaque string that indicates the position at which to begin # describing virtual tapes. # # @option params [Integer] :limit # Specifies that the number of virtual tapes descried be limited to the # specified number. # # @return [Types::DescribeTapeArchivesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeTapeArchivesOutput#tape_archives #tape_archives} => Array<Types::TapeArchive> # * {Types::DescribeTapeArchivesOutput#marker #marker} => String # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_tape_archives({ # tape_arns: ["TapeARN"], # marker: "Marker", # limit: 1, # }) # # @example 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.tape_archives[0].kms_key #=> String # resp.tape_archives[0].pool_id #=> String # resp.marker #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapeArchives AWS API Documentation # # @overload describe_tape_archives(params = {}) # @param [Hash] params ({}) def describe_tape_archives(params = {}, options = {}) req = build_request(:describe_tape_archives, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [String] :marker # An opaque string that indicates the position at which to begin # describing the virtual tape recovery points. # # @option params [Integer] :limit # Specifies that the number of virtual tape recovery points that are # described be limited to the specified number. # # @return [Types::DescribeTapeRecoveryPointsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeTapeRecoveryPointsOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeTapeRecoveryPointsOutput#tape_recovery_point_infos #tape_recovery_point_infos} => Array<Types::TapeRecoveryPointInfo> # * {Types::DescribeTapeRecoveryPointsOutput#marker #marker} => String # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_tape_recovery_points({ # gateway_arn: "GatewayARN", # required # marker: "Marker", # limit: 1, # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapeRecoveryPoints AWS API Documentation # # @overload describe_tape_recovery_points(params = {}) # @param [Hash] params ({}) def describe_tape_recovery_points(params = {}, options = {}) req = build_request(:describe_tape_recovery_points, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [Array] :tape_arns # 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. # # @option params [String] :marker # 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. # # @option params [Integer] :limit # 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. # # # # @return [Types::DescribeTapesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeTapesOutput#tapes #tapes} => Array<Types::Tape> # * {Types::DescribeTapesOutput#marker #marker} => String # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_tapes({ # gateway_arn: "GatewayARN", # required # tape_arns: ["TapeARN"], # marker: "Marker", # limit: 1, # }) # # @example 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.tapes[0].kms_key #=> String # resp.tapes[0].pool_id #=> String # resp.marker #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeTapes AWS API Documentation # # @overload describe_tapes(params = {}) # @param [Hash] params ({}) def describe_tapes(params = {}, options = {}) req = build_request(:describe_tapes, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeUploadBufferOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeUploadBufferOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeUploadBufferOutput#disk_ids #disk_ids} => Array<String> # * {Types::DescribeUploadBufferOutput#upload_buffer_used_in_bytes #upload_buffer_used_in_bytes} => Integer # * {Types::DescribeUploadBufferOutput#upload_buffer_allocated_in_bytes #upload_buffer_allocated_in_bytes} => Integer # # # @example 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 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, # } # # @example Request syntax with placeholder values # # resp = client.describe_upload_buffer({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeUploadBuffer AWS API Documentation # # @overload describe_upload_buffer(params = {}) # @param [Hash] params ({}) def describe_upload_buffer(params = {}, options = {}) req = build_request(:describe_upload_buffer, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [Array] :vtl_device_arns # 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. # # # # @option params [String] :marker # An opaque string that indicates the position at which to begin # describing the VTL devices. # # @option params [Integer] :limit # Specifies that the number of VTL devices described be limited to the # specified number. # # @return [Types::DescribeVTLDevicesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeVTLDevicesOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeVTLDevicesOutput#vtl_devices #vtl_devices} => Array<Types::VTLDevice> # * {Types::DescribeVTLDevicesOutput#marker #marker} => String # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.describe_vtl_devices({ # gateway_arn: "GatewayARN", # required # vtl_device_arns: ["VTLDeviceARN"], # marker: "Marker", # limit: 1, # }) # # @example 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 #=> Boolean # resp.marker #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeVTLDevices AWS API Documentation # # @overload describe_vtl_devices(params = {}) # @param [Hash] params ({}) def describe_vtl_devices(params = {}, options = {}) req = build_request(:describe_vtl_devices, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DescribeWorkingStorageOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DescribeWorkingStorageOutput#gateway_arn #gateway_arn} => String # * {Types::DescribeWorkingStorageOutput#disk_ids #disk_ids} => Array<String> # * {Types::DescribeWorkingStorageOutput#working_storage_used_in_bytes #working_storage_used_in_bytes} => Integer # * {Types::DescribeWorkingStorageOutput#working_storage_allocated_in_bytes #working_storage_allocated_in_bytes} => Integer # # # @example 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, # } # # @example Request syntax with placeholder values # # resp = client.describe_working_storage({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DescribeWorkingStorage AWS API Documentation # # @overload describe_working_storage(params = {}) # @param [Hash] params ({}) def describe_working_storage(params = {}, options = {}) req = build_request(:describe_working_storage, params) req.send_request(options) end # Disconnects a volume from an iSCSI connection and then detaches the # volume from the specified gateway. Detaching and attaching a volume # enables you to recover your data from one gateway to a different # gateway without creating a snapshot. It also makes it easier to move # your volumes from an on-premises gateway to a gateway hosted on an # Amazon EC2 instance. # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume to detach from the # gateway. # # @option params [Boolean] :force_detach # Set to `true` to forcibly remove the iSCSI connection of the target # volume and detach the volume. The default is `false`. If this value is # set to `false`, you must manually disconnect the iSCSI connection from # the target volume. # # @return [Types::DetachVolumeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DetachVolumeOutput#volume_arn #volume_arn} => String # # @example Request syntax with placeholder values # # resp = client.detach_volume({ # volume_arn: "VolumeARN", # required # force_detach: false, # }) # # @example Response structure # # resp.volume_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DetachVolume AWS API Documentation # # @overload detach_volume(params = {}) # @param [Hash] params ({}) def detach_volume(params = {}, options = {}) req = build_request(:detach_volume, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::DisableGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::DisableGatewayOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.disable_gateway({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/DisableGateway AWS API Documentation # # @overload disable_gateway(params = {}) # @param [Hash] params ({}) def disable_gateway(params = {}, options = {}) req = build_request(:disable_gateway, params) req.send_request(options) end # Adds a file gateway to an Active Directory domain. This operation is # only supported for file gateways that support the SMB file protocol. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the `ListGateways` # operation to return a list of gateways for your account and region. # # @option params [required, String] :domain_name # The name of the domain that you want the gateway to join. # # @option params [String] :organizational_unit # The organizational unit (OU) is a container with an Active Directory # that can hold users, groups, computers, and other OUs and this # parameter specifies the OU that the gateway will join within the AD # domain. # # @option params [Array] :domain_controllers # List of IPv4 addresses, NetBIOS names, or host names of your domain # server. If you need to specify the port number include it after the # colon (“:”). For example, `mydc.mydomain.com:389`. # # @option params [required, String] :user_name # Sets the user name of user who has permission to add the gateway to # the Active Directory domain. # # @option params [required, String] :password # Sets the password of the user who has permission to add the gateway to # the Active Directory domain. # # @return [Types::JoinDomainOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::JoinDomainOutput#gateway_arn #gateway_arn} => String # # @example Request syntax with placeholder values # # resp = client.join_domain({ # gateway_arn: "GatewayARN", # required # domain_name: "DomainName", # required # organizational_unit: "OrganizationalUnit", # domain_controllers: ["Host"], # user_name: "DomainUserName", # required # password: "DomainUserPassword", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/JoinDomain AWS API Documentation # # @overload join_domain(params = {}) # @param [Hash] params ({}) def join_domain(params = {}, options = {}) req = build_request(:join_domain, params) req.send_request(options) end # 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 for file gateways. # # @option params [String] :gateway_arn # 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. # # @option params [Integer] :limit # The maximum number of file shares to return in the response. The value # must be an integer with a value greater than zero. Optional. # # @option params [String] :marker # 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. # # @return [Types::ListFileSharesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListFileSharesOutput#marker #marker} => String # * {Types::ListFileSharesOutput#next_marker #next_marker} => String # * {Types::ListFileSharesOutput#file_share_info_list #file_share_info_list} => Array<Types::FileShareInfo> # # @example Request syntax with placeholder values # # resp = client.list_file_shares({ # gateway_arn: "GatewayARN", # limit: 1, # marker: "Marker", # }) # # @example Response structure # # resp.marker #=> String # resp.next_marker #=> String # resp.file_share_info_list #=> Array # resp.file_share_info_list[0].file_share_type #=> String, one of "NFS", "SMB" # 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListFileShares AWS API Documentation # # @overload list_file_shares(params = {}) # @param [Hash] params ({}) def list_file_shares(params = {}, options = {}) req = build_request(:list_file_shares, params) req.send_request(options) end # 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. # # @option params [String] :marker # An opaque string that indicates the position at which to begin the # returned list of gateways. # # @option params [Integer] :limit # Specifies that the list of gateways returned be limited to the # specified number of items. # # @return [Types::ListGatewaysOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListGatewaysOutput#gateways #gateways} => Array<Types::GatewayInfo> # * {Types::ListGatewaysOutput#marker #marker} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.list_gateways({ # marker: "Marker", # limit: 1, # }) # # @example 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.gateways[0].ec2_instance_id #=> String # resp.gateways[0].ec2_instance_region #=> String # resp.marker #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListGateways AWS API Documentation # # @overload list_gateways(params = {}) # @param [Hash] params ({}) def list_gateways(params = {}, options = {}) req = build_request(:list_gateways, params) req.send_request(options) end # 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). # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::ListLocalDisksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListLocalDisksOutput#gateway_arn #gateway_arn} => String # * {Types::ListLocalDisksOutput#disks #disks} => Array<Types::Disk> # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.list_local_disks({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # resp.disks[0].disk_attribute_list #=> Array # resp.disks[0].disk_attribute_list[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListLocalDisks AWS API Documentation # # @overload list_local_disks(params = {}) # @param [Hash] params ({}) def list_local_disks(params = {}, options = {}) req = build_request(:list_local_disks, params) req.send_request(options) end # 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. # # @option params [required, String] :resource_arn # The Amazon Resource Name (ARN) of the resource for which you want to # list tags. # # @option params [String] :marker # An opaque string that indicates the position at which to begin # returning the list of tags. # # @option params [Integer] :limit # Specifies that the list of tags returned be limited to the specified # number of items. # # @return [Types::ListTagsForResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListTagsForResourceOutput#resource_arn #resource_arn} => String # * {Types::ListTagsForResourceOutput#marker #marker} => String # * {Types::ListTagsForResourceOutput#tags #tags} => Array<Types::Tag> # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.list_tags_for_resource({ # resource_arn: "ResourceARN", # required # marker: "Marker", # limit: 1, # }) # # @example Response structure # # resp.resource_arn #=> String # resp.marker #=> String # resp.tags #=> Array # resp.tags[0].key #=> String # resp.tags[0].value #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTagsForResource AWS API Documentation # # @overload list_tags_for_resource(params = {}) # @param [Hash] params ({}) def list_tags_for_resource(params = {}, options = {}) req = build_request(:list_tags_for_resource, params) req.send_request(options) end # 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. # # @option params [Array] :tape_arns # 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. # # @option params [String] :marker # A string that indicates the position at which to begin the returned # list of tapes. # # @option params [Integer] :limit # An optional number limit for the tapes in the list returned by this # call. # # @return [Types::ListTapesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListTapesOutput#tape_infos #tape_infos} => Array<Types::TapeInfo> # * {Types::ListTapesOutput#marker #marker} => String # # @example Request syntax with placeholder values # # resp = client.list_tapes({ # tape_arns: ["TapeARN"], # marker: "Marker", # limit: 1, # }) # # @example 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.tape_infos[0].pool_id #=> String # resp.marker #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListTapes AWS API Documentation # # @overload list_tapes(params = {}) # @param [Hash] params ({}) def list_tapes(params = {}, options = {}) req = build_request(:list_tapes, params) req.send_request(options) end # 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. # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume. Use the ListVolumes # operation to return a list of gateway volumes for the gateway. # # @return [Types::ListVolumeInitiatorsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListVolumeInitiatorsOutput#initiators #initiators} => Array<String> # # @example Request syntax with placeholder values # # resp = client.list_volume_initiators({ # volume_arn: "VolumeARN", # required # }) # # @example Response structure # # resp.initiators #=> Array # resp.initiators[0] #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeInitiators AWS API Documentation # # @overload list_volume_initiators(params = {}) # @param [Hash] params ({}) def list_volume_initiators(params = {}, options = {}) req = build_request(:list_volume_initiators, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::ListVolumeRecoveryPointsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListVolumeRecoveryPointsOutput#gateway_arn #gateway_arn} => String # * {Types::ListVolumeRecoveryPointsOutput#volume_recovery_point_infos #volume_recovery_point_infos} => Array<Types::VolumeRecoveryPointInfo> # # # @example 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, # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.list_volume_recovery_points({ # gateway_arn: "GatewayARN", # required # }) # # @example 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 # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumeRecoveryPoints AWS API Documentation # # @overload list_volume_recovery_points(params = {}) # @param [Hash] params ({}) def list_volume_recovery_points(params = {}, options = {}) req = build_request(:list_volume_recovery_points, params) req.send_request(options) end # 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. # # @option params [String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [String] :marker # 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. # # @option params [Integer] :limit # Specifies that the list of volumes returned be limited to the # specified number of items. # # @return [Types::ListVolumesOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ListVolumesOutput#gateway_arn #gateway_arn} => String # * {Types::ListVolumesOutput#marker #marker} => String # * {Types::ListVolumesOutput#volume_infos #volume_infos} => Array<Types::VolumeInfo> # # # @example 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", # }, # ], # } # # @example Request syntax with placeholder values # # resp = client.list_volumes({ # gateway_arn: "GatewayARN", # marker: "Marker", # limit: 1, # }) # # @example 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 # resp.volume_infos[0].volume_attachment_status #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ListVolumes AWS API Documentation # # @overload list_volumes(params = {}) # @param [Hash] params ({}) def list_volumes(params = {}, options = {}) req = build_request(:list_volumes, params) req.send_request(options) end # Sends you notification through CloudWatch Events when all files # written to your NFS file share have 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 send the notification through event targets such # as Amazon SNS or AWS Lambda function. This operation is only supported # for file gateways. # # For more information, see Getting File Upload Notification in the # Storage Gateway User Guide # (https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-upload-notification). # # @option params [required, String] :file_share_arn # The Amazon Resource Name (ARN) of the file share. # # @return [Types::NotifyWhenUploadedOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::NotifyWhenUploadedOutput#file_share_arn #file_share_arn} => String # * {Types::NotifyWhenUploadedOutput#notification_id #notification_id} => String # # @example Request syntax with placeholder values # # resp = client.notify_when_uploaded({ # file_share_arn: "FileShareARN", # required # }) # # @example Response structure # # resp.file_share_arn #=> String # resp.notification_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/NotifyWhenUploaded AWS API Documentation # # @overload notify_when_uploaded(params = {}) # @param [Hash] params ({}) def notify_when_uploaded(params = {}, options = {}) req = build_request(:notify_when_uploaded, params) req.send_request(options) end # 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. # You can subscribe to be notified through an Amazon CloudWatch event # when your RefreshCache operation completes. For more information, see # [Getting Notified About File Operations][1]. # # When this API is called, it only initiates the refresh operation. When # the API call completes and returns a success code, it doesn't # necessarily mean that the file refresh has completed. You should use # the refresh-complete notification to determine that the operation has # completed before you check for new files on the gateway file share. # You can subscribe to be notified through an CloudWatch event when your # `RefreshCache` operation completes. # # # # [1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/monitoring-file-gateway.html#get-notification # # @option params [required, String] :file_share_arn # The Amazon Resource Name (ARN) of the file share you want to refresh. # # @option params [Array] :folder_list # A comma-separated list of the paths of folders to refresh in the # cache. The default is \[`"/"`\]. The default refreshes objects and # folders at the root of the Amazon S3 bucket. If `Recursive` is set to # "true", the entire S3 bucket that the file share has access to is # refreshed. # # @option params [Boolean] :recursive # A value that specifies whether to recursively refresh folders in the # cache. The refresh includes folders that were in the cache the last # time the gateway listed the folder's contents. If this value set to # "true", each folder that is listed in `FolderList` is recursively # updated. Otherwise, subfolders listed in `FolderList` are not # refreshed. Only objects that are in folders listed directly under # `FolderList` are found and used for the update. The default is # "true". # # @return [Types::RefreshCacheOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RefreshCacheOutput#file_share_arn #file_share_arn} => String # * {Types::RefreshCacheOutput#notification_id #notification_id} => String # # @example Request syntax with placeholder values # # resp = client.refresh_cache({ # file_share_arn: "FileShareARN", # required # folder_list: ["Folder"], # recursive: false, # }) # # @example Response structure # # resp.file_share_arn #=> String # resp.notification_id #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RefreshCache AWS API Documentation # # @overload refresh_cache(params = {}) # @param [Hash] params ({}) def refresh_cache(params = {}, options = {}) req = build_request(:refresh_cache, params) req.send_request(options) end # Removes one or more tags from the specified resource. This operation # is only supported in the cached volume, stored volume and tape gateway # types. # # @option params [required, String] :resource_arn # The Amazon Resource Name (ARN) of the resource you want to remove the # tags from. # # @option params [required, Array] :tag_keys # The keys of the tags you want to remove from the specified resource. A # tag is composed of a key/value pair. # # @return [Types::RemoveTagsFromResourceOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RemoveTagsFromResourceOutput#resource_arn #resource_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.remove_tags_from_resource({ # resource_arn: "ResourceARN", # required # tag_keys: ["TagKey"], # required # }) # # @example Response structure # # resp.resource_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RemoveTagsFromResource AWS API Documentation # # @overload remove_tags_from_resource(params = {}) # @param [Hash] params ({}) def remove_tags_from_resource(params = {}, options = {}) req = build_request(:remove_tags_from_resource, params) req.send_request(options) end # 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 and tape types. # # If the cache disk you are resetting contains data that has not been # uploaded to Amazon S3 yet, that data can be lost. After you reset # cache disks, there will be no configured cache disks left in the # gateway, so you must configure at least one new cache disk for your # gateway to function properly. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::ResetCacheOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ResetCacheOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.reset_cache({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ResetCache AWS API Documentation # # @overload reset_cache(params = {}) # @param [Hash] params ({}) def reset_cache(params = {}, options = {}) req = build_request(:reset_cache, params) req.send_request(options) end # 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. # # @option params [required, String] :tape_arn # The Amazon Resource Name (ARN) of the virtual tape you want to # retrieve from the virtual tape shelf (VTS). # # @option params [required, String] :gateway_arn # 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. # # @return [Types::RetrieveTapeArchiveOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RetrieveTapeArchiveOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.retrieve_tape_archive({ # tape_arn: "TapeARN", # required # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RetrieveTapeArchive AWS API Documentation # # @overload retrieve_tape_archive(params = {}) # @param [Hash] params ({}) def retrieve_tape_archive(params = {}, options = {}) req = build_request(:retrieve_tape_archive, params) req.send_request(options) end # 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. # # # # @option params [required, String] :tape_arn # The Amazon Resource Name (ARN) of the virtual tape for which you want # to retrieve the recovery point. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::RetrieveTapeRecoveryPointOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::RetrieveTapeRecoveryPointOutput#tape_arn #tape_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.retrieve_tape_recovery_point({ # tape_arn: "TapeARN", # required # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.tape_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/RetrieveTapeRecoveryPoint AWS API Documentation # # @overload retrieve_tape_recovery_point(params = {}) # @param [Hash] params ({}) def retrieve_tape_recovery_point(params = {}, options = {}) req = build_request(:retrieve_tape_recovery_point, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, String] :local_console_password # The password you want to set for your VM local console. # # @return [Types::SetLocalConsolePasswordOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::SetLocalConsolePasswordOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.set_local_console_password({ # gateway_arn: "GatewayARN", # required # local_console_password: "LocalConsolePassword", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/SetLocalConsolePassword AWS API Documentation # # @overload set_local_console_password(params = {}) # @param [Hash] params ({}) def set_local_console_password(params = {}, options = {}) req = build_request(:set_local_console_password, params) req.send_request(options) end # Sets the password for the guest user `smbguest`. The `smbguest` user # is the user when the authentication method for the file share is set # to `GuestAccess`. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the file gateway the SMB file share # is associated with. # # @option params [required, String] :password # The password that you want to set for your SMB Server. # # @return [Types::SetSMBGuestPasswordOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::SetSMBGuestPasswordOutput#gateway_arn #gateway_arn} => String # # @example Request syntax with placeholder values # # resp = client.set_smb_guest_password({ # gateway_arn: "GatewayARN", # required # password: "SMBGuestPassword", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/SetSMBGuestPassword AWS API Documentation # # @overload set_smb_guest_password(params = {}) # @param [Hash] params ({}) def set_smb_guest_password(params = {}, options = {}) req = build_request(:set_smb_guest_password, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::ShutdownGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::ShutdownGatewayOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.shutdown_gateway({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/ShutdownGateway AWS API Documentation # # @overload shutdown_gateway(params = {}) # @param [Hash] params ({}) def shutdown_gateway(params = {}, options = {}) req = build_request(:shutdown_gateway, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::StartGatewayOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::StartGatewayOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.start_gateway({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/StartGateway AWS API Documentation # # @overload start_gateway(params = {}) # @param [Hash] params ({}) def start_gateway(params = {}, options = {}) req = build_request(:start_gateway, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [Integer] :average_upload_rate_limit_in_bits_per_sec # The average upload bandwidth rate limit in bits per second. # # @option params [Integer] :average_download_rate_limit_in_bits_per_sec # The average download bandwidth rate limit in bits per second. # # @return [Types::UpdateBandwidthRateLimitOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateBandwidthRateLimitOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example 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, # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateBandwidthRateLimit AWS API Documentation # # @overload update_bandwidth_rate_limit(params = {}) # @param [Hash] params ({}) def update_bandwidth_rate_limit(params = {}, options = {}) req = build_request(:update_bandwidth_rate_limit, params) req.send_request(options) end # 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. # # @option params [required, String] :target_arn # The Amazon Resource Name (ARN) of the iSCSI volume target. Use the # DescribeStorediSCSIVolumes operation to return the TargetARN for # specified VolumeARN. # # @option params [required, String] :secret_to_authenticate_initiator # 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. # # # # @option params [required, String] :initiator_name # The iSCSI initiator that connects to the target. # # @option params [String] :secret_to_authenticate_target # 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. # # # # @return [Types::UpdateChapCredentialsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateChapCredentialsOutput#target_arn #target_arn} => String # * {Types::UpdateChapCredentialsOutput#initiator_name #initiator_name} => String # # # @example 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", # } # # @example 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", # }) # # @example Response structure # # resp.target_arn #=> String # resp.initiator_name #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateChapCredentials AWS API Documentation # # @overload update_chap_credentials(params = {}) # @param [Hash] params ({}) def update_chap_credentials(params = {}, options = {}) req = build_request(:update_chap_credentials, params) req.send_request(options) end # 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. # # # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [String] :gateway_name # The name you configured for your gateway. # # @option params [String] :gateway_timezone # A value that indicates the time zone of the gateway. # # @return [Types::UpdateGatewayInformationOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateGatewayInformationOutput#gateway_arn #gateway_arn} => String # * {Types::UpdateGatewayInformationOutput#gateway_name #gateway_name} => String # # # @example 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: "", # } # # @example Request syntax with placeholder values # # resp = client.update_gateway_information({ # gateway_arn: "GatewayARN", # required # gateway_name: "GatewayName", # gateway_timezone: "GatewayTimezone", # }) # # @example Response structure # # resp.gateway_arn #=> String # resp.gateway_name #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateGatewayInformation AWS API Documentation # # @overload update_gateway_information(params = {}) # @param [Hash] params ({}) def update_gateway_information(params = {}, options = {}) req = build_request(:update_gateway_information, params) req.send_request(options) end # 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][1] and [Customizing Your # Linux iSCSI Settings][2], respectively. # # # # [1]: https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorWindowsClient.html#CustomizeWindowsiSCSISettings # [2]: https://docs.aws.amazon.com/storagegateway/latest/userguide/ConfiguringiSCSIClientInitiatorRedHatClient.html#CustomizeLinuxiSCSISettings # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @return [Types::UpdateGatewaySoftwareNowOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateGatewaySoftwareNowOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.update_gateway_software_now({ # gateway_arn: "GatewayARN", # required # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateGatewaySoftwareNow AWS API Documentation # # @overload update_gateway_software_now(params = {}) # @param [Hash] params ({}) def update_gateway_software_now(params = {}, options = {}) req = build_request(:update_gateway_software_now, params) req.send_request(options) end # 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. # # @option params [required, String] :gateway_arn # The Amazon Resource Name (ARN) of the gateway. Use the ListGateways # operation to return a list of gateways for your account and region. # # @option params [required, Integer] :hour_of_day # 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. # # @option params [required, Integer] :minute_of_hour # 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. # # @option params [Integer] :day_of_week # The day of the week component of the maintenance start time week # represented as an ordinal number from 0 to 6, where 0 represents # Sunday and 6 Saturday. # # @option params [Integer] :day_of_month # The day of the month component of the maintenance start time # represented as an ordinal number from 1 to 28, where 1 represents the # first day of the month and 28 represents the last day of the month. # # This value is only available for tape and volume gateways. # # # # @return [Types::UpdateMaintenanceStartTimeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateMaintenanceStartTimeOutput#gateway_arn #gateway_arn} => String # # # @example 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", # } # # @example 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, # day_of_month: 1, # }) # # @example Response structure # # resp.gateway_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateMaintenanceStartTime AWS API Documentation # # @overload update_maintenance_start_time(params = {}) # @param [Hash] params ({}) def update_maintenance_start_time(params = {}, options = {}) req = build_request(:update_maintenance_start_time, params) req.send_request(options) end # Updates a Network File System (NFS) 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. # # # # @option params [required, String] :file_share_arn # The Amazon Resource Name (ARN) of the file share to be updated. # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [Types::NFSFileShareDefaults] :nfs_file_share_defaults # The default values for the file share. Optional. # # @option params [String] :default_storage_class # The default storage class for objects put into an Amazon S3 bucket by # the file gateway. Possible values are `S3_STANDARD`, `S3_STANDARD_IA`, # or `S3_ONEZONE_IA`. If this field is not populated, the default value # `S3_STANDARD` is used. Optional. # # @option params [String] :object_acl # A value that sets the access control list permission for objects in # the S3 bucket that a file gateway puts objects into. The default value # is "private". # # @option params [Array] :client_list # The list of clients that are allowed to access the file gateway. The # list must contain either valid IP addresses or valid CIDR blocks. # # @option params [String] :squash # 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. # # @option params [Boolean] :read_only # A value that sets the write status of a file share. This value is true # if the write status is read-only, and otherwise false. # # @option params [Boolean] :guess_mime_type_enabled # A value that enables guessing of the MIME type for uploaded objects # based on file extensions. Set this value to true to enable MIME type # guessing, and otherwise to false. The default value is true. # # @option params [Boolean] :requester_pays # A value that sets who pays the cost of the request and the cost # associated with data download from the S3 bucket. If this value is set # to true, the requester pays the costs. Otherwise the S3 bucket owner # pays. However, the S3 bucket owner always pays the cost of storing # data. # # `RequesterPays` is a configuration for the S3 bucket that backs the # file share, so make sure that the configuration on the file share is # the same as the S3 bucket configuration. # # # # @return [Types::UpdateNFSFileShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateNFSFileShareOutput#file_share_arn #file_share_arn} => String # # @example 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", # object_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control, aws-exec-read # client_list: ["IPV4AddressCIDR"], # squash: "Squash", # read_only: false, # guess_mime_type_enabled: false, # requester_pays: false, # }) # # @example Response structure # # resp.file_share_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateNFSFileShare AWS API Documentation # # @overload update_nfs_file_share(params = {}) # @param [Hash] params ({}) def update_nfs_file_share(params = {}, options = {}) req = build_request(:update_nfs_file_share, params) req.send_request(options) end # Updates a Server Message Block (SMB) file share. # # To leave a file share field unchanged, set the corresponding input # field to null. This operation is only supported for file gateways. # # # # File gateways require AWS Security Token Service (AWS STS) to be # activated to enable you to create a file share. Make sure that AWS STS # is activated in the AWS Region you are creating your file gateway in. # If AWS STS is not activated in this AWS Region, activate it. For # information about how to activate AWS STS, see [Activating and # Deactivating AWS STS in an AWS Region][1] in the *AWS Identity and # Access Management User Guide.* # # File gateways don't support creating hard or symbolic links on a # file # share. # # # # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html # # @option params [required, String] :file_share_arn # The Amazon Resource Name (ARN) of the SMB file share that you want to # update. # # @option params [Boolean] :kms_encrypted # 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. # # @option params [String] :kms_key # The Amazon Resource Name (ARN) of the AWS KMS key used for Amazon S3 # server side encryption. This value can only be set when KMSEncrypted # is true. Optional. # # @option params [String] :default_storage_class # The default storage class for objects put into an Amazon S3 bucket by # the file gateway. Possible values are `S3_STANDARD`, `S3_STANDARD_IA`, # or `S3_ONEZONE_IA`. If this field is not populated, the default value # `S3_STANDARD` is used. Optional. # # @option params [String] :object_acl # A value that sets the access control list permission for objects in # the S3 bucket that a file gateway puts objects into. The default value # is "private". # # @option params [Boolean] :read_only # A value that sets the write status of a file share. This value is true # if the write status is read-only, and otherwise false. # # @option params [Boolean] :guess_mime_type_enabled # A value that enables guessing of the MIME type for uploaded objects # based on file extensions. Set this value to true to enable MIME type # guessing, and otherwise to false. The default value is true. # # @option params [Boolean] :requester_pays # A value that sets who pays the cost of the request and the cost # associated with data download from the S3 bucket. If this value is set # to true, the requester pays the costs. Otherwise the S3 bucket owner # pays. However, the S3 bucket owner always pays the cost of storing # data. # # `RequesterPays` is a configuration for the S3 bucket that backs the # file share, so make sure that the configuration on the file share is # the same as the S3 bucket configuration. # # # # @option params [Boolean] :smbacl_enabled # Set this value to "true to enable ACL (access control list) on the # SMB file share. Set it to "false" to map file and directory # permissions to the POSIX permissions. # # @option params [Array] :valid_user_list # A list of users or groups in the Active Directory that are allowed to # access the file share. A group must be prefixed with the @ character. # For example `@group1`. Can only be set if Authentication is set to # `ActiveDirectory`. # # @option params [Array] :invalid_user_list # A list of users or groups in the Active Directory that are not allowed # to access the file share. A group must be prefixed with the @ # character. For example `@group1`. Can only be set if Authentication is # set to `ActiveDirectory`. # # @return [Types::UpdateSMBFileShareOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateSMBFileShareOutput#file_share_arn #file_share_arn} => String # # @example Request syntax with placeholder values # # resp = client.update_smb_file_share({ # file_share_arn: "FileShareARN", # required # kms_encrypted: false, # kms_key: "KMSKey", # default_storage_class: "StorageClass", # object_acl: "private", # accepts private, public-read, public-read-write, authenticated-read, bucket-owner-read, bucket-owner-full-control, aws-exec-read # read_only: false, # guess_mime_type_enabled: false, # requester_pays: false, # smbacl_enabled: false, # valid_user_list: ["FileShareUser"], # invalid_user_list: ["FileShareUser"], # }) # # @example Response structure # # resp.file_share_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSMBFileShare AWS API Documentation # # @overload update_smb_file_share(params = {}) # @param [Hash] params ({}) def update_smb_file_share(params = {}, options = {}) req = build_request(:update_smb_file_share, params) req.send_request(options) end # 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. # # @option params [required, String] :volume_arn # The Amazon Resource Name (ARN) of the volume. Use the ListVolumes # operation to return a list of gateway volumes. # # @option params [required, Integer] :start_at # 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. # # @option params [required, Integer] :recurrence_in_hours # Frequency of snapshots. Specify the number of hours between snapshots. # # @option params [String] :description # Optional description of the snapshot that overwrites the existing # description. # # @return [Types::UpdateSnapshotScheduleOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateSnapshotScheduleOutput#volume_arn #volume_arn} => String # # # @example 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", # } # # @example 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", # }) # # @example Response structure # # resp.volume_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateSnapshotSchedule AWS API Documentation # # @overload update_snapshot_schedule(params = {}) # @param [Hash] params ({}) def update_snapshot_schedule(params = {}, options = {}) req = build_request(:update_snapshot_schedule, params) req.send_request(options) end # 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. # # @option params [required, String] :vtl_device_arn # The Amazon Resource Name (ARN) of the medium changer you want to # select. # # @option params [required, String] :device_type # The type of medium changer you want to select. # # Valid Values: "STK-L700", "AWS-Gateway-VTL" # # @return [Types::UpdateVTLDeviceTypeOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods: # # * {Types::UpdateVTLDeviceTypeOutput#vtl_device_arn #vtl_device_arn} => String # # # @example 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", # } # # @example Request syntax with placeholder values # # resp = client.update_vtl_device_type({ # vtl_device_arn: "VTLDeviceARN", # required # device_type: "DeviceType", # required # }) # # @example Response structure # # resp.vtl_device_arn #=> String # # @see http://docs.aws.amazon.com/goto/WebAPI/storagegateway-2013-06-30/UpdateVTLDeviceType AWS API Documentation # # @overload update_vtl_device_type(params = {}) # @param [Hash] params ({}) def update_vtl_device_type(params = {}, options = {}) req = build_request(:update_vtl_device_type, params) req.send_request(options) end # @!endgroup # @param params ({}) # @api private def build_request(operation_name, params = {}) handlers = @handlers.for(operation_name) context = Seahorse::Client::RequestContext.new( operation_name: operation_name, operation: config.api.operation(operation_name), client: self, params: params, config: config) context[:gem_name] = 'aws-sdk-storagegateway' context[:gem_version] = '1.21.0' Seahorse::Client::Request.new(handlers, context) end # @api private # @deprecated def waiter_names [] end class << self # @api private attr_reader :identifier # @api private def errors_module Errors end end end end