aws-sdk-ebs 1.6.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/aws-sdk-ebs.rb +4 -3
 - data/lib/aws-sdk-ebs/client.rb +322 -13
 - data/lib/aws-sdk-ebs/client_api.rb +162 -0
 - data/lib/aws-sdk-ebs/errors.rb +116 -0
 - data/lib/aws-sdk-ebs/types.rb +495 -1
 - metadata +4 -4
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c8bcb009a20d9debeb0d25eadc4a171ac77fbdd07f1683332f2b07fbb8fe662f
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 6c87e8514cfddc65b69cd3dcaf0c72a23ac26da0e57fd6078146fea4c78e034f
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: a431728da692ac6e4e21e3d962b20796fca06624eb198e789721d1ebd705a96326f83e3922e3ec9d034d6ffb54f9eeeacea7992341040d655d5d6f11e7d0cead
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 04e0e30ca77185cc0bbaa82cbad7b119f10460745b471a2aef4808f63827cd3cf161a6436d998b119174b8bc9838e47bff3a78790c1511b82d46c17590790762
         
     | 
    
        data/lib/aws-sdk-ebs.rb
    CHANGED
    
    | 
         @@ -7,6 +7,7 @@ 
     | 
|
| 
       7 
7 
     | 
    
         
             
            #
         
     | 
| 
       8 
8 
     | 
    
         
             
            # WARNING ABOUT GENERATED CODE
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
       10 
11 
     | 
    
         
             
            require 'aws-sdk-core'
         
     | 
| 
       11 
12 
     | 
    
         
             
            require 'aws-sigv4'
         
     | 
| 
       12 
13 
     | 
    
         | 
| 
         @@ -27,7 +28,7 @@ require_relative 'aws-sdk-ebs/customizations' 
     | 
|
| 
       27 
28 
     | 
    
         
             
            # structure.
         
     | 
| 
       28 
29 
     | 
    
         
             
            #
         
     | 
| 
       29 
30 
     | 
    
         
             
            #     ebs = Aws::EBS::Client.new
         
     | 
| 
       30 
     | 
    
         
            -
            #     resp = ebs. 
     | 
| 
      
 31 
     | 
    
         
            +
            #     resp = ebs.complete_snapshot(params)
         
     | 
| 
       31 
32 
     | 
    
         
             
            #
         
     | 
| 
       32 
33 
     | 
    
         
             
            # See {Client} for more information.
         
     | 
| 
       33 
34 
     | 
    
         
             
            #
         
     | 
| 
         @@ -44,9 +45,9 @@ require_relative 'aws-sdk-ebs/customizations' 
     | 
|
| 
       44 
45 
     | 
    
         
             
            #
         
     | 
| 
       45 
46 
     | 
    
         
             
            # See {Errors} for more information.
         
     | 
| 
       46 
47 
     | 
    
         
             
            #
         
     | 
| 
       47 
     | 
    
         
            -
            #  
     | 
| 
      
 48 
     | 
    
         
            +
            # @!group service
         
     | 
| 
       48 
49 
     | 
    
         
             
            module Aws::EBS
         
     | 
| 
       49 
50 
     | 
    
         | 
| 
       50 
     | 
    
         
            -
              GEM_VERSION = '1. 
     | 
| 
      
 51 
     | 
    
         
            +
              GEM_VERSION = '1.11.0'
         
     | 
| 
       51 
52 
     | 
    
         | 
| 
       52 
53 
     | 
    
         
             
            end
         
     | 
    
        data/lib/aws-sdk-ebs/client.rb
    CHANGED
    
    | 
         @@ -85,13 +85,28 @@ module Aws::EBS 
     | 
|
| 
       85 
85 
     | 
    
         
             
                #     * `Aws::Credentials` - Used for configuring static, non-refreshing
         
     | 
| 
       86 
86 
     | 
    
         
             
                #       credentials.
         
     | 
| 
       87 
87 
     | 
    
         
             
                #
         
     | 
| 
      
 88 
     | 
    
         
            +
                #     * `Aws::SharedCredentials` - Used for loading static credentials from a
         
     | 
| 
      
 89 
     | 
    
         
            +
                #       shared file, such as `~/.aws/config`.
         
     | 
| 
      
 90 
     | 
    
         
            +
                #
         
     | 
| 
      
 91 
     | 
    
         
            +
                #     * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
         
     | 
| 
      
 92 
     | 
    
         
            +
                #
         
     | 
| 
      
 93 
     | 
    
         
            +
                #     * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
         
     | 
| 
      
 94 
     | 
    
         
            +
                #       assume a role after providing credentials via the web.
         
     | 
| 
      
 95 
     | 
    
         
            +
                #
         
     | 
| 
      
 96 
     | 
    
         
            +
                #     * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
         
     | 
| 
      
 97 
     | 
    
         
            +
                #       access token generated from `aws login`.
         
     | 
| 
      
 98 
     | 
    
         
            +
                #
         
     | 
| 
      
 99 
     | 
    
         
            +
                #     * `Aws::ProcessCredentials` - Used for loading credentials from a
         
     | 
| 
      
 100 
     | 
    
         
            +
                #       process that outputs to stdout.
         
     | 
| 
      
 101 
     | 
    
         
            +
                #
         
     | 
| 
       88 
102 
     | 
    
         
             
                #     * `Aws::InstanceProfileCredentials` - Used for loading credentials
         
     | 
| 
       89 
103 
     | 
    
         
             
                #       from an EC2 IMDS on an EC2 instance.
         
     | 
| 
       90 
104 
     | 
    
         
             
                #
         
     | 
| 
       91 
     | 
    
         
            -
                #     * `Aws:: 
     | 
| 
       92 
     | 
    
         
            -
                #        
     | 
| 
      
 105 
     | 
    
         
            +
                #     * `Aws::ECSCredentials` - Used for loading credentials from
         
     | 
| 
      
 106 
     | 
    
         
            +
                #       instances running in ECS.
         
     | 
| 
       93 
107 
     | 
    
         
             
                #
         
     | 
| 
       94 
     | 
    
         
            -
                #     * `Aws:: 
     | 
| 
      
 108 
     | 
    
         
            +
                #     * `Aws::CognitoIdentityCredentials` - Used for loading credentials
         
     | 
| 
      
 109 
     | 
    
         
            +
                #       from the Cognito Identity service.
         
     | 
| 
       95 
110 
     | 
    
         
             
                #
         
     | 
| 
       96 
111 
     | 
    
         
             
                #     When `:credentials` are not configured directly, the following
         
     | 
| 
       97 
112 
     | 
    
         
             
                #     locations will be searched for credentials:
         
     | 
| 
         @@ -101,10 +116,10 @@ module Aws::EBS 
     | 
|
| 
       101 
116 
     | 
    
         
             
                #     * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
         
     | 
| 
       102 
117 
     | 
    
         
             
                #     * `~/.aws/credentials`
         
     | 
| 
       103 
118 
     | 
    
         
             
                #     * `~/.aws/config`
         
     | 
| 
       104 
     | 
    
         
            -
                #     * EC2 IMDS instance profile - When used by default, the timeouts 
     | 
| 
       105 
     | 
    
         
            -
                #       very aggressive. Construct and pass an instance of
         
     | 
| 
       106 
     | 
    
         
            -
                #       `Aws::InstanceProfileCredentails`  
     | 
| 
       107 
     | 
    
         
            -
                #       timeouts.
         
     | 
| 
      
 119 
     | 
    
         
            +
                #     * EC2/ECS IMDS instance profile - When used by default, the timeouts
         
     | 
| 
      
 120 
     | 
    
         
            +
                #       are very aggressive. Construct and pass an instance of
         
     | 
| 
      
 121 
     | 
    
         
            +
                #       `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
         
     | 
| 
      
 122 
     | 
    
         
            +
                #       enable retries and extended timeouts.
         
     | 
| 
       108 
123 
     | 
    
         
             
                #
         
     | 
| 
       109 
124 
     | 
    
         
             
                #   @option options [required, String] :region
         
     | 
| 
       110 
125 
     | 
    
         
             
                #     The AWS region to connect to.  The configured `:region` is
         
     | 
| 
         @@ -312,6 +327,62 @@ module Aws::EBS 
     | 
|
| 
       312 
327 
     | 
    
         | 
| 
       313 
328 
     | 
    
         
             
                # @!group API Operations
         
     | 
| 
       314 
329 
     | 
    
         | 
| 
      
 330 
     | 
    
         
            +
                # Seals and completes the snapshot after all of the required blocks of
         
     | 
| 
      
 331 
     | 
    
         
            +
                # data have been written to it. Completing the snapshot changes the
         
     | 
| 
      
 332 
     | 
    
         
            +
                # status to `completed`. You cannot write new blocks to a snapshot after
         
     | 
| 
      
 333 
     | 
    
         
            +
                # it has been completed.
         
     | 
| 
      
 334 
     | 
    
         
            +
                #
         
     | 
| 
      
 335 
     | 
    
         
            +
                # @option params [required, String] :snapshot_id
         
     | 
| 
      
 336 
     | 
    
         
            +
                #   The ID of the snapshot.
         
     | 
| 
      
 337 
     | 
    
         
            +
                #
         
     | 
| 
      
 338 
     | 
    
         
            +
                # @option params [required, Integer] :changed_blocks_count
         
     | 
| 
      
 339 
     | 
    
         
            +
                #   The number of blocks that were written to the snapshot.
         
     | 
| 
      
 340 
     | 
    
         
            +
                #
         
     | 
| 
      
 341 
     | 
    
         
            +
                # @option params [String] :checksum
         
     | 
| 
      
 342 
     | 
    
         
            +
                #   An aggregated Base-64 SHA256 checksum based on the checksums of each
         
     | 
| 
      
 343 
     | 
    
         
            +
                #   written block.
         
     | 
| 
      
 344 
     | 
    
         
            +
                #
         
     | 
| 
      
 345 
     | 
    
         
            +
                #   To generate the aggregated checksum using the linear aggregation
         
     | 
| 
      
 346 
     | 
    
         
            +
                #   method, arrange the checksums for each written block in ascending
         
     | 
| 
      
 347 
     | 
    
         
            +
                #   order of their block index, concatenate them to form a single string,
         
     | 
| 
      
 348 
     | 
    
         
            +
                #   and then generate the checksum on the entire string using the SHA256
         
     | 
| 
      
 349 
     | 
    
         
            +
                #   algorithm.
         
     | 
| 
      
 350 
     | 
    
         
            +
                #
         
     | 
| 
      
 351 
     | 
    
         
            +
                # @option params [String] :checksum_algorithm
         
     | 
| 
      
 352 
     | 
    
         
            +
                #   The algorithm used to generate the checksum. Currently, the only
         
     | 
| 
      
 353 
     | 
    
         
            +
                #   supported algorithm is `SHA256`.
         
     | 
| 
      
 354 
     | 
    
         
            +
                #
         
     | 
| 
      
 355 
     | 
    
         
            +
                # @option params [String] :checksum_aggregation_method
         
     | 
| 
      
 356 
     | 
    
         
            +
                #   The aggregation method used to generate the checksum. Currently, the
         
     | 
| 
      
 357 
     | 
    
         
            +
                #   only supported aggregation method is `LINEAR`.
         
     | 
| 
      
 358 
     | 
    
         
            +
                #
         
     | 
| 
      
 359 
     | 
    
         
            +
                # @return [Types::CompleteSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         
     | 
| 
      
 360 
     | 
    
         
            +
                #
         
     | 
| 
      
 361 
     | 
    
         
            +
                #   * {Types::CompleteSnapshotResponse#status #status} => String
         
     | 
| 
      
 362 
     | 
    
         
            +
                #
         
     | 
| 
      
 363 
     | 
    
         
            +
                # @example Request syntax with placeholder values
         
     | 
| 
      
 364 
     | 
    
         
            +
                #
         
     | 
| 
      
 365 
     | 
    
         
            +
                #   resp = client.complete_snapshot({
         
     | 
| 
      
 366 
     | 
    
         
            +
                #     snapshot_id: "SnapshotId", # required
         
     | 
| 
      
 367 
     | 
    
         
            +
                #     changed_blocks_count: 1, # required
         
     | 
| 
      
 368 
     | 
    
         
            +
                #     checksum: "Checksum",
         
     | 
| 
      
 369 
     | 
    
         
            +
                #     checksum_algorithm: "SHA256", # accepts SHA256
         
     | 
| 
      
 370 
     | 
    
         
            +
                #     checksum_aggregation_method: "LINEAR", # accepts LINEAR
         
     | 
| 
      
 371 
     | 
    
         
            +
                #   })
         
     | 
| 
      
 372 
     | 
    
         
            +
                #
         
     | 
| 
      
 373 
     | 
    
         
            +
                # @example Response structure
         
     | 
| 
      
 374 
     | 
    
         
            +
                #
         
     | 
| 
      
 375 
     | 
    
         
            +
                #   resp.status #=> String, one of "completed", "pending", "error"
         
     | 
| 
      
 376 
     | 
    
         
            +
                #
         
     | 
| 
      
 377 
     | 
    
         
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/CompleteSnapshot AWS API Documentation
         
     | 
| 
      
 378 
     | 
    
         
            +
                #
         
     | 
| 
      
 379 
     | 
    
         
            +
                # @overload complete_snapshot(params = {})
         
     | 
| 
      
 380 
     | 
    
         
            +
                # @param [Hash] params ({})
         
     | 
| 
      
 381 
     | 
    
         
            +
                def complete_snapshot(params = {}, options = {})
         
     | 
| 
      
 382 
     | 
    
         
            +
                  req = build_request(:complete_snapshot, params)
         
     | 
| 
      
 383 
     | 
    
         
            +
                  req.send_request(options)
         
     | 
| 
      
 384 
     | 
    
         
            +
                end
         
     | 
| 
      
 385 
     | 
    
         
            +
             
     | 
| 
       315 
386 
     | 
    
         
             
                # Returns the data in a block in an Amazon Elastic Block Store snapshot.
         
     | 
| 
       316 
387 
     | 
    
         
             
                #
         
     | 
| 
       317 
388 
     | 
    
         
             
                # @option params [required, String] :snapshot_id
         
     | 
| 
         @@ -360,9 +431,9 @@ module Aws::EBS 
     | 
|
| 
       360 
431 
     | 
    
         
             
                  req.send_request(options, &block)
         
     | 
| 
       361 
432 
     | 
    
         
             
                end
         
     | 
| 
       362 
433 
     | 
    
         | 
| 
       363 
     | 
    
         
            -
                # Returns  
     | 
| 
       364 
     | 
    
         
            -
                #  
     | 
| 
       365 
     | 
    
         
            -
                #  
     | 
| 
      
 434 
     | 
    
         
            +
                # Returns information about the blocks that are different between two
         
     | 
| 
      
 435 
     | 
    
         
            +
                # Amazon Elastic Block Store snapshots of the same volume/snapshot
         
     | 
| 
      
 436 
     | 
    
         
            +
                # lineage.
         
     | 
| 
       366 
437 
     | 
    
         
             
                #
         
     | 
| 
       367 
438 
     | 
    
         
             
                # @option params [String] :first_snapshot_id
         
     | 
| 
       368 
439 
     | 
    
         
             
                #   The ID of the first snapshot to use for the comparison.
         
     | 
| 
         @@ -428,8 +499,8 @@ module Aws::EBS 
     | 
|
| 
       428 
499 
     | 
    
         
             
                  req.send_request(options)
         
     | 
| 
       429 
500 
     | 
    
         
             
                end
         
     | 
| 
       430 
501 
     | 
    
         | 
| 
       431 
     | 
    
         
            -
                # Returns  
     | 
| 
       432 
     | 
    
         
            -
                #  
     | 
| 
      
 502 
     | 
    
         
            +
                # Returns information about the blocks in an Amazon Elastic Block Store
         
     | 
| 
      
 503 
     | 
    
         
            +
                # snapshot.
         
     | 
| 
       433 
504 
     | 
    
         
             
                #
         
     | 
| 
       434 
505 
     | 
    
         
             
                # @option params [required, String] :snapshot_id
         
     | 
| 
       435 
506 
     | 
    
         
             
                #   The ID of the snapshot from which to get block indexes and block
         
     | 
| 
         @@ -484,6 +555,244 @@ module Aws::EBS 
     | 
|
| 
       484 
555 
     | 
    
         
             
                  req.send_request(options)
         
     | 
| 
       485 
556 
     | 
    
         
             
                end
         
     | 
| 
       486 
557 
     | 
    
         | 
| 
      
 558 
     | 
    
         
            +
                # Writes a block of data to a snapshot. If the specified block contains
         
     | 
| 
      
 559 
     | 
    
         
            +
                # data, the existing data is overwritten. The target snapshot must be in
         
     | 
| 
      
 560 
     | 
    
         
            +
                # the `pending` state.
         
     | 
| 
      
 561 
     | 
    
         
            +
                #
         
     | 
| 
      
 562 
     | 
    
         
            +
                # Data written to a snapshot must be aligned with 512-byte sectors.
         
     | 
| 
      
 563 
     | 
    
         
            +
                #
         
     | 
| 
      
 564 
     | 
    
         
            +
                # @option params [required, String] :snapshot_id
         
     | 
| 
      
 565 
     | 
    
         
            +
                #   The ID of the snapshot.
         
     | 
| 
      
 566 
     | 
    
         
            +
                #
         
     | 
| 
      
 567 
     | 
    
         
            +
                # @option params [required, Integer] :block_index
         
     | 
| 
      
 568 
     | 
    
         
            +
                #   The block index of the block in which to write the data. A block index
         
     | 
| 
      
 569 
     | 
    
         
            +
                #   is a logical index in units of `512` KiB blocks. To identify the block
         
     | 
| 
      
 570 
     | 
    
         
            +
                #   index, divide the logical offset of the data in the logical volume by
         
     | 
| 
      
 571 
     | 
    
         
            +
                #   the block size (logical offset of data/`524288`). The logical offset
         
     | 
| 
      
 572 
     | 
    
         
            +
                #   of the data must be `512` KiB aligned.
         
     | 
| 
      
 573 
     | 
    
         
            +
                #
         
     | 
| 
      
 574 
     | 
    
         
            +
                # @option params [required, String, IO] :block_data
         
     | 
| 
      
 575 
     | 
    
         
            +
                #   The data to write to the block.
         
     | 
| 
      
 576 
     | 
    
         
            +
                #
         
     | 
| 
      
 577 
     | 
    
         
            +
                #   The block data is not signed as part of the Signature Version 4
         
     | 
| 
      
 578 
     | 
    
         
            +
                #   signing process. As a result, you must generate and provide a
         
     | 
| 
      
 579 
     | 
    
         
            +
                #   Base64-encoded SHA256 checksum for the block data using the
         
     | 
| 
      
 580 
     | 
    
         
            +
                #   **x-amz-Checksum** header. Also, you must specify the checksum
         
     | 
| 
      
 581 
     | 
    
         
            +
                #   algorithm using the **x-amz-Checksum-Algorithm** header. The checksum
         
     | 
| 
      
 582 
     | 
    
         
            +
                #   that you provide is part of the Signature Version 4 signing process.
         
     | 
| 
      
 583 
     | 
    
         
            +
                #   It is validated against a checksum generated by Amazon EBS to ensure
         
     | 
| 
      
 584 
     | 
    
         
            +
                #   the validity and authenticity of the data. If the checksums do not
         
     | 
| 
      
 585 
     | 
    
         
            +
                #   correspond, the request fails. For more information, see [ Using
         
     | 
| 
      
 586 
     | 
    
         
            +
                #   checksums with the EBS direct APIs][1] in the *Amazon Elastic Compute
         
     | 
| 
      
 587 
     | 
    
         
            +
                #   Cloud User Guide*.
         
     | 
| 
      
 588 
     | 
    
         
            +
                #
         
     | 
| 
      
 589 
     | 
    
         
            +
                #
         
     | 
| 
      
 590 
     | 
    
         
            +
                #
         
     | 
| 
      
 591 
     | 
    
         
            +
                #   [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-checksums
         
     | 
| 
      
 592 
     | 
    
         
            +
                #
         
     | 
| 
      
 593 
     | 
    
         
            +
                # @option params [required, Integer] :data_length
         
     | 
| 
      
 594 
     | 
    
         
            +
                #   The size of the data to write to the block, in bytes. Currently, the
         
     | 
| 
      
 595 
     | 
    
         
            +
                #   only supported size is `524288`.
         
     | 
| 
      
 596 
     | 
    
         
            +
                #
         
     | 
| 
      
 597 
     | 
    
         
            +
                #   Valid values: `524288`
         
     | 
| 
      
 598 
     | 
    
         
            +
                #
         
     | 
| 
      
 599 
     | 
    
         
            +
                # @option params [Integer] :progress
         
     | 
| 
      
 600 
     | 
    
         
            +
                #   The progress of the write process, as a percentage.
         
     | 
| 
      
 601 
     | 
    
         
            +
                #
         
     | 
| 
      
 602 
     | 
    
         
            +
                # @option params [required, String] :checksum
         
     | 
| 
      
 603 
     | 
    
         
            +
                #   A Base64-encoded SHA256 checksum of the data. Only SHA256 checksums
         
     | 
| 
      
 604 
     | 
    
         
            +
                #   are supported.
         
     | 
| 
      
 605 
     | 
    
         
            +
                #
         
     | 
| 
      
 606 
     | 
    
         
            +
                # @option params [required, String] :checksum_algorithm
         
     | 
| 
      
 607 
     | 
    
         
            +
                #   The algorithm used to generate the checksum. Currently, the only
         
     | 
| 
      
 608 
     | 
    
         
            +
                #   supported algorithm is `SHA256`.
         
     | 
| 
      
 609 
     | 
    
         
            +
                #
         
     | 
| 
      
 610 
     | 
    
         
            +
                # @return [Types::PutSnapshotBlockResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         
     | 
| 
      
 611 
     | 
    
         
            +
                #
         
     | 
| 
      
 612 
     | 
    
         
            +
                #   * {Types::PutSnapshotBlockResponse#checksum #checksum} => String
         
     | 
| 
      
 613 
     | 
    
         
            +
                #   * {Types::PutSnapshotBlockResponse#checksum_algorithm #checksum_algorithm} => String
         
     | 
| 
      
 614 
     | 
    
         
            +
                #
         
     | 
| 
      
 615 
     | 
    
         
            +
                # @example Request syntax with placeholder values
         
     | 
| 
      
 616 
     | 
    
         
            +
                #
         
     | 
| 
      
 617 
     | 
    
         
            +
                #   resp = client.put_snapshot_block({
         
     | 
| 
      
 618 
     | 
    
         
            +
                #     snapshot_id: "SnapshotId", # required
         
     | 
| 
      
 619 
     | 
    
         
            +
                #     block_index: 1, # required
         
     | 
| 
      
 620 
     | 
    
         
            +
                #     block_data: "data", # required
         
     | 
| 
      
 621 
     | 
    
         
            +
                #     data_length: 1, # required
         
     | 
| 
      
 622 
     | 
    
         
            +
                #     progress: 1,
         
     | 
| 
      
 623 
     | 
    
         
            +
                #     checksum: "Checksum", # required
         
     | 
| 
      
 624 
     | 
    
         
            +
                #     checksum_algorithm: "SHA256", # required, accepts SHA256
         
     | 
| 
      
 625 
     | 
    
         
            +
                #   })
         
     | 
| 
      
 626 
     | 
    
         
            +
                #
         
     | 
| 
      
 627 
     | 
    
         
            +
                # @example Response structure
         
     | 
| 
      
 628 
     | 
    
         
            +
                #
         
     | 
| 
      
 629 
     | 
    
         
            +
                #   resp.checksum #=> String
         
     | 
| 
      
 630 
     | 
    
         
            +
                #   resp.checksum_algorithm #=> String, one of "SHA256"
         
     | 
| 
      
 631 
     | 
    
         
            +
                #
         
     | 
| 
      
 632 
     | 
    
         
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/PutSnapshotBlock AWS API Documentation
         
     | 
| 
      
 633 
     | 
    
         
            +
                #
         
     | 
| 
      
 634 
     | 
    
         
            +
                # @overload put_snapshot_block(params = {})
         
     | 
| 
      
 635 
     | 
    
         
            +
                # @param [Hash] params ({})
         
     | 
| 
      
 636 
     | 
    
         
            +
                def put_snapshot_block(params = {}, options = {})
         
     | 
| 
      
 637 
     | 
    
         
            +
                  req = build_request(:put_snapshot_block, params)
         
     | 
| 
      
 638 
     | 
    
         
            +
                  req.send_request(options)
         
     | 
| 
      
 639 
     | 
    
         
            +
                end
         
     | 
| 
      
 640 
     | 
    
         
            +
             
     | 
| 
      
 641 
     | 
    
         
            +
                # Creates a new Amazon EBS snapshot. The new snapshot enters the
         
     | 
| 
      
 642 
     | 
    
         
            +
                # `pending` state after the request completes.
         
     | 
| 
      
 643 
     | 
    
         
            +
                #
         
     | 
| 
      
 644 
     | 
    
         
            +
                # After creating the snapshot, use [ PutSnapshotBlock][1] to write
         
     | 
| 
      
 645 
     | 
    
         
            +
                # blocks of data to the snapshot.
         
     | 
| 
      
 646 
     | 
    
         
            +
                #
         
     | 
| 
      
 647 
     | 
    
         
            +
                #
         
     | 
| 
      
 648 
     | 
    
         
            +
                #
         
     | 
| 
      
 649 
     | 
    
         
            +
                # [1]: https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html
         
     | 
| 
      
 650 
     | 
    
         
            +
                #
         
     | 
| 
      
 651 
     | 
    
         
            +
                # @option params [required, Integer] :volume_size
         
     | 
| 
      
 652 
     | 
    
         
            +
                #   The size of the volume, in GiB. The maximum size is `16384` GiB (16
         
     | 
| 
      
 653 
     | 
    
         
            +
                #   TiB).
         
     | 
| 
      
 654 
     | 
    
         
            +
                #
         
     | 
| 
      
 655 
     | 
    
         
            +
                # @option params [String] :parent_snapshot_id
         
     | 
| 
      
 656 
     | 
    
         
            +
                #   The ID of the parent snapshot. If there is no parent snapshot, or if
         
     | 
| 
      
 657 
     | 
    
         
            +
                #   you are creating the first snapshot for an on-premises volume, omit
         
     | 
| 
      
 658 
     | 
    
         
            +
                #   this parameter.
         
     | 
| 
      
 659 
     | 
    
         
            +
                #
         
     | 
| 
      
 660 
     | 
    
         
            +
                #   If your account is enabled for encryption by default, you cannot use
         
     | 
| 
      
 661 
     | 
    
         
            +
                #   an unencrypted snapshot as a parent snapshot. You must first create an
         
     | 
| 
      
 662 
     | 
    
         
            +
                #   encrypted copy of the parent snapshot using [CopySnapshot][1].
         
     | 
| 
      
 663 
     | 
    
         
            +
                #
         
     | 
| 
      
 664 
     | 
    
         
            +
                #
         
     | 
| 
      
 665 
     | 
    
         
            +
                #
         
     | 
| 
      
 666 
     | 
    
         
            +
                #   [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html
         
     | 
| 
      
 667 
     | 
    
         
            +
                #
         
     | 
| 
      
 668 
     | 
    
         
            +
                # @option params [Array<Types::Tag>] :tags
         
     | 
| 
      
 669 
     | 
    
         
            +
                #   The tags to apply to the snapshot.
         
     | 
| 
      
 670 
     | 
    
         
            +
                #
         
     | 
| 
      
 671 
     | 
    
         
            +
                # @option params [String] :description
         
     | 
| 
      
 672 
     | 
    
         
            +
                #   A description for the snapshot.
         
     | 
| 
      
 673 
     | 
    
         
            +
                #
         
     | 
| 
      
 674 
     | 
    
         
            +
                # @option params [String] :client_token
         
     | 
| 
      
 675 
     | 
    
         
            +
                #   A unique, case-sensitive identifier that you provide to ensure the
         
     | 
| 
      
 676 
     | 
    
         
            +
                #   idempotency of the request. Idempotency ensures that an API request
         
     | 
| 
      
 677 
     | 
    
         
            +
                #   completes only once. With an idempotent request, if the original
         
     | 
| 
      
 678 
     | 
    
         
            +
                #   request completes successfully. The subsequent retries with the same
         
     | 
| 
      
 679 
     | 
    
         
            +
                #   client token return the result from the original successful request
         
     | 
| 
      
 680 
     | 
    
         
            +
                #   and they have no additional effect.
         
     | 
| 
      
 681 
     | 
    
         
            +
                #
         
     | 
| 
      
 682 
     | 
    
         
            +
                #   If you do not specify a client token, one is automatically generated
         
     | 
| 
      
 683 
     | 
    
         
            +
                #   by the AWS SDK.
         
     | 
| 
      
 684 
     | 
    
         
            +
                #
         
     | 
| 
      
 685 
     | 
    
         
            +
                #   For more information, see [ Idempotency for StartSnapshot API][1] in
         
     | 
| 
      
 686 
     | 
    
         
            +
                #   the *Amazon Elastic Compute Cloud User Guide*.
         
     | 
| 
      
 687 
     | 
    
         
            +
                #
         
     | 
| 
      
 688 
     | 
    
         
            +
                #   **A suitable default value is auto-generated.** You should normally
         
     | 
| 
      
 689 
     | 
    
         
            +
                #   not need to pass this option.**
         
     | 
| 
      
 690 
     | 
    
         
            +
                #
         
     | 
| 
      
 691 
     | 
    
         
            +
                #
         
     | 
| 
      
 692 
     | 
    
         
            +
                #
         
     | 
| 
      
 693 
     | 
    
         
            +
                #   [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-direct-api-idempotency.html
         
     | 
| 
      
 694 
     | 
    
         
            +
                #
         
     | 
| 
      
 695 
     | 
    
         
            +
                # @option params [Boolean] :encrypted
         
     | 
| 
      
 696 
     | 
    
         
            +
                #   Indicates whether to encrypt the snapshot. To create an encrypted
         
     | 
| 
      
 697 
     | 
    
         
            +
                #   snapshot, specify `true`. To create an unencrypted snapshot, omit this
         
     | 
| 
      
 698 
     | 
    
         
            +
                #   parameter.
         
     | 
| 
      
 699 
     | 
    
         
            +
                #
         
     | 
| 
      
 700 
     | 
    
         
            +
                #   If you specify a value for **ParentSnapshotId**, omit this parameter.
         
     | 
| 
      
 701 
     | 
    
         
            +
                #
         
     | 
| 
      
 702 
     | 
    
         
            +
                #   If you specify `true`, the snapshot is encrypted using the CMK
         
     | 
| 
      
 703 
     | 
    
         
            +
                #   specified using the **KmsKeyArn** parameter. If no value is specified
         
     | 
| 
      
 704 
     | 
    
         
            +
                #   for **KmsKeyArn**, the default CMK for your account is used. If no
         
     | 
| 
      
 705 
     | 
    
         
            +
                #   default CMK has been specified for your account, the AWS managed CMK
         
     | 
| 
      
 706 
     | 
    
         
            +
                #   is used. To set a default CMK for your account, use [
         
     | 
| 
      
 707 
     | 
    
         
            +
                #   ModifyEbsDefaultKmsKeyId][1].
         
     | 
| 
      
 708 
     | 
    
         
            +
                #
         
     | 
| 
      
 709 
     | 
    
         
            +
                #   If your account is enabled for encryption by default, you cannot set
         
     | 
| 
      
 710 
     | 
    
         
            +
                #   this parameter to `false`. In this case, you can omit this parameter.
         
     | 
| 
      
 711 
     | 
    
         
            +
                #
         
     | 
| 
      
 712 
     | 
    
         
            +
                #   For more information, see [ Using encryption][2] in the *Amazon
         
     | 
| 
      
 713 
     | 
    
         
            +
                #   Elastic Compute Cloud User Guide*.
         
     | 
| 
      
 714 
     | 
    
         
            +
                #
         
     | 
| 
      
 715 
     | 
    
         
            +
                #
         
     | 
| 
      
 716 
     | 
    
         
            +
                #
         
     | 
| 
      
 717 
     | 
    
         
            +
                #   [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html
         
     | 
| 
      
 718 
     | 
    
         
            +
                #   [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption
         
     | 
| 
      
 719 
     | 
    
         
            +
                #
         
     | 
| 
      
 720 
     | 
    
         
            +
                # @option params [String] :kms_key_arn
         
     | 
| 
      
 721 
     | 
    
         
            +
                #   The Amazon Resource Name (ARN) of the AWS Key Management Service (AWS
         
     | 
| 
      
 722 
     | 
    
         
            +
                #   KMS) customer master key (CMK) to be used to encrypt the snapshot. If
         
     | 
| 
      
 723 
     | 
    
         
            +
                #   you do not specify a CMK, the default AWS managed CMK is used.
         
     | 
| 
      
 724 
     | 
    
         
            +
                #
         
     | 
| 
      
 725 
     | 
    
         
            +
                #   If you specify a **ParentSnapshotId**, omit this parameter; the
         
     | 
| 
      
 726 
     | 
    
         
            +
                #   snapshot will be encrypted using the same CMK that was used to encrypt
         
     | 
| 
      
 727 
     | 
    
         
            +
                #   the parent snapshot.
         
     | 
| 
      
 728 
     | 
    
         
            +
                #
         
     | 
| 
      
 729 
     | 
    
         
            +
                #   If **Encrypted** is set to `true`, you must specify a CMK ARN.
         
     | 
| 
      
 730 
     | 
    
         
            +
                #
         
     | 
| 
      
 731 
     | 
    
         
            +
                # @option params [Integer] :timeout
         
     | 
| 
      
 732 
     | 
    
         
            +
                #   The amount of time (in minutes) after which the snapshot is
         
     | 
| 
      
 733 
     | 
    
         
            +
                #   automatically cancelled if:
         
     | 
| 
      
 734 
     | 
    
         
            +
                #
         
     | 
| 
      
 735 
     | 
    
         
            +
                #   * No blocks are written to the snapshot.
         
     | 
| 
      
 736 
     | 
    
         
            +
                #
         
     | 
| 
      
 737 
     | 
    
         
            +
                #   * The snapshot is not completed after writing the last block of data.
         
     | 
| 
      
 738 
     | 
    
         
            +
                #
         
     | 
| 
      
 739 
     | 
    
         
            +
                #   If no value is specified, the timeout defaults to `60` minutes.
         
     | 
| 
      
 740 
     | 
    
         
            +
                #
         
     | 
| 
      
 741 
     | 
    
         
            +
                # @return [Types::StartSnapshotResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
         
     | 
| 
      
 742 
     | 
    
         
            +
                #
         
     | 
| 
      
 743 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#description #description} => String
         
     | 
| 
      
 744 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#snapshot_id #snapshot_id} => String
         
     | 
| 
      
 745 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#owner_id #owner_id} => String
         
     | 
| 
      
 746 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#status #status} => String
         
     | 
| 
      
 747 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#start_time #start_time} => Time
         
     | 
| 
      
 748 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#volume_size #volume_size} => Integer
         
     | 
| 
      
 749 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#block_size #block_size} => Integer
         
     | 
| 
      
 750 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#tags #tags} => Array<Types::Tag>
         
     | 
| 
      
 751 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#parent_snapshot_id #parent_snapshot_id} => String
         
     | 
| 
      
 752 
     | 
    
         
            +
                #   * {Types::StartSnapshotResponse#kms_key_arn #kms_key_arn} => String
         
     | 
| 
      
 753 
     | 
    
         
            +
                #
         
     | 
| 
      
 754 
     | 
    
         
            +
                # @example Request syntax with placeholder values
         
     | 
| 
      
 755 
     | 
    
         
            +
                #
         
     | 
| 
      
 756 
     | 
    
         
            +
                #   resp = client.start_snapshot({
         
     | 
| 
      
 757 
     | 
    
         
            +
                #     volume_size: 1, # required
         
     | 
| 
      
 758 
     | 
    
         
            +
                #     parent_snapshot_id: "SnapshotId",
         
     | 
| 
      
 759 
     | 
    
         
            +
                #     tags: [
         
     | 
| 
      
 760 
     | 
    
         
            +
                #       {
         
     | 
| 
      
 761 
     | 
    
         
            +
                #         key: "TagKey",
         
     | 
| 
      
 762 
     | 
    
         
            +
                #         value: "TagValue",
         
     | 
| 
      
 763 
     | 
    
         
            +
                #       },
         
     | 
| 
      
 764 
     | 
    
         
            +
                #     ],
         
     | 
| 
      
 765 
     | 
    
         
            +
                #     description: "Description",
         
     | 
| 
      
 766 
     | 
    
         
            +
                #     client_token: "IdempotencyToken",
         
     | 
| 
      
 767 
     | 
    
         
            +
                #     encrypted: false,
         
     | 
| 
      
 768 
     | 
    
         
            +
                #     kms_key_arn: "KmsKeyArn",
         
     | 
| 
      
 769 
     | 
    
         
            +
                #     timeout: 1,
         
     | 
| 
      
 770 
     | 
    
         
            +
                #   })
         
     | 
| 
      
 771 
     | 
    
         
            +
                #
         
     | 
| 
      
 772 
     | 
    
         
            +
                # @example Response structure
         
     | 
| 
      
 773 
     | 
    
         
            +
                #
         
     | 
| 
      
 774 
     | 
    
         
            +
                #   resp.description #=> String
         
     | 
| 
      
 775 
     | 
    
         
            +
                #   resp.snapshot_id #=> String
         
     | 
| 
      
 776 
     | 
    
         
            +
                #   resp.owner_id #=> String
         
     | 
| 
      
 777 
     | 
    
         
            +
                #   resp.status #=> String, one of "completed", "pending", "error"
         
     | 
| 
      
 778 
     | 
    
         
            +
                #   resp.start_time #=> Time
         
     | 
| 
      
 779 
     | 
    
         
            +
                #   resp.volume_size #=> Integer
         
     | 
| 
      
 780 
     | 
    
         
            +
                #   resp.block_size #=> Integer
         
     | 
| 
      
 781 
     | 
    
         
            +
                #   resp.tags #=> Array
         
     | 
| 
      
 782 
     | 
    
         
            +
                #   resp.tags[0].key #=> String
         
     | 
| 
      
 783 
     | 
    
         
            +
                #   resp.tags[0].value #=> String
         
     | 
| 
      
 784 
     | 
    
         
            +
                #   resp.parent_snapshot_id #=> String
         
     | 
| 
      
 785 
     | 
    
         
            +
                #   resp.kms_key_arn #=> String
         
     | 
| 
      
 786 
     | 
    
         
            +
                #
         
     | 
| 
      
 787 
     | 
    
         
            +
                # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot AWS API Documentation
         
     | 
| 
      
 788 
     | 
    
         
            +
                #
         
     | 
| 
      
 789 
     | 
    
         
            +
                # @overload start_snapshot(params = {})
         
     | 
| 
      
 790 
     | 
    
         
            +
                # @param [Hash] params ({})
         
     | 
| 
      
 791 
     | 
    
         
            +
                def start_snapshot(params = {}, options = {})
         
     | 
| 
      
 792 
     | 
    
         
            +
                  req = build_request(:start_snapshot, params)
         
     | 
| 
      
 793 
     | 
    
         
            +
                  req.send_request(options)
         
     | 
| 
      
 794 
     | 
    
         
            +
                end
         
     | 
| 
      
 795 
     | 
    
         
            +
             
     | 
| 
       487 
796 
     | 
    
         
             
                # @!endgroup
         
     | 
| 
       488 
797 
     | 
    
         | 
| 
       489 
798 
     | 
    
         
             
                # @param params ({})
         
     | 
| 
         @@ -497,7 +806,7 @@ module Aws::EBS 
     | 
|
| 
       497 
806 
     | 
    
         
             
                    params: params,
         
     | 
| 
       498 
807 
     | 
    
         
             
                    config: config)
         
     | 
| 
       499 
808 
     | 
    
         
             
                  context[:gem_name] = 'aws-sdk-ebs'
         
     | 
| 
       500 
     | 
    
         
            -
                  context[:gem_version] = '1. 
     | 
| 
      
 809 
     | 
    
         
            +
                  context[:gem_version] = '1.11.0'
         
     | 
| 
       501 
810 
     | 
    
         
             
                  Seahorse::Client::Request.new(handlers, context)
         
     | 
| 
       502 
811 
     | 
    
         
             
                end
         
     | 
| 
       503 
812 
     | 
    
         | 
| 
         @@ -13,33 +13,67 @@ module Aws::EBS 
     | 
|
| 
       13 
13 
     | 
    
         | 
| 
       14 
14 
     | 
    
         
             
                include Seahorse::Model
         
     | 
| 
       15 
15 
     | 
    
         | 
| 
      
 16 
     | 
    
         
            +
                AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
         
     | 
| 
      
 17 
     | 
    
         
            +
                AccessDeniedExceptionReason = Shapes::StringShape.new(name: 'AccessDeniedExceptionReason')
         
     | 
| 
       16 
18 
     | 
    
         
             
                Block = Shapes::StructureShape.new(name: 'Block')
         
     | 
| 
       17 
19 
     | 
    
         
             
                BlockData = Shapes::BlobShape.new(name: 'BlockData', streaming: true)
         
     | 
| 
       18 
20 
     | 
    
         
             
                BlockIndex = Shapes::IntegerShape.new(name: 'BlockIndex')
         
     | 
| 
       19 
21 
     | 
    
         
             
                BlockSize = Shapes::IntegerShape.new(name: 'BlockSize')
         
     | 
| 
       20 
22 
     | 
    
         
             
                BlockToken = Shapes::StringShape.new(name: 'BlockToken')
         
     | 
| 
       21 
23 
     | 
    
         
             
                Blocks = Shapes::ListShape.new(name: 'Blocks')
         
     | 
| 
      
 24 
     | 
    
         
            +
                Boolean = Shapes::BooleanShape.new(name: 'Boolean')
         
     | 
| 
       22 
25 
     | 
    
         
             
                ChangedBlock = Shapes::StructureShape.new(name: 'ChangedBlock')
         
     | 
| 
       23 
26 
     | 
    
         
             
                ChangedBlocks = Shapes::ListShape.new(name: 'ChangedBlocks')
         
     | 
| 
      
 27 
     | 
    
         
            +
                ChangedBlocksCount = Shapes::IntegerShape.new(name: 'ChangedBlocksCount')
         
     | 
| 
       24 
28 
     | 
    
         
             
                Checksum = Shapes::StringShape.new(name: 'Checksum')
         
     | 
| 
      
 29 
     | 
    
         
            +
                ChecksumAggregationMethod = Shapes::StringShape.new(name: 'ChecksumAggregationMethod')
         
     | 
| 
       25 
30 
     | 
    
         
             
                ChecksumAlgorithm = Shapes::StringShape.new(name: 'ChecksumAlgorithm')
         
     | 
| 
      
 31 
     | 
    
         
            +
                CompleteSnapshotRequest = Shapes::StructureShape.new(name: 'CompleteSnapshotRequest')
         
     | 
| 
      
 32 
     | 
    
         
            +
                CompleteSnapshotResponse = Shapes::StructureShape.new(name: 'CompleteSnapshotResponse')
         
     | 
| 
      
 33 
     | 
    
         
            +
                ConcurrentLimitExceededException = Shapes::StructureShape.new(name: 'ConcurrentLimitExceededException')
         
     | 
| 
      
 34 
     | 
    
         
            +
                ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
         
     | 
| 
       26 
35 
     | 
    
         
             
                DataLength = Shapes::IntegerShape.new(name: 'DataLength')
         
     | 
| 
      
 36 
     | 
    
         
            +
                Description = Shapes::StringShape.new(name: 'Description')
         
     | 
| 
       27 
37 
     | 
    
         
             
                ErrorMessage = Shapes::StringShape.new(name: 'ErrorMessage')
         
     | 
| 
       28 
38 
     | 
    
         
             
                GetSnapshotBlockRequest = Shapes::StructureShape.new(name: 'GetSnapshotBlockRequest')
         
     | 
| 
       29 
39 
     | 
    
         
             
                GetSnapshotBlockResponse = Shapes::StructureShape.new(name: 'GetSnapshotBlockResponse')
         
     | 
| 
      
 40 
     | 
    
         
            +
                IdempotencyToken = Shapes::StringShape.new(name: 'IdempotencyToken')
         
     | 
| 
      
 41 
     | 
    
         
            +
                InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
         
     | 
| 
      
 42 
     | 
    
         
            +
                KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
         
     | 
| 
       30 
43 
     | 
    
         
             
                ListChangedBlocksRequest = Shapes::StructureShape.new(name: 'ListChangedBlocksRequest')
         
     | 
| 
       31 
44 
     | 
    
         
             
                ListChangedBlocksResponse = Shapes::StructureShape.new(name: 'ListChangedBlocksResponse')
         
     | 
| 
       32 
45 
     | 
    
         
             
                ListSnapshotBlocksRequest = Shapes::StructureShape.new(name: 'ListSnapshotBlocksRequest')
         
     | 
| 
       33 
46 
     | 
    
         
             
                ListSnapshotBlocksResponse = Shapes::StructureShape.new(name: 'ListSnapshotBlocksResponse')
         
     | 
| 
       34 
47 
     | 
    
         
             
                MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
         
     | 
| 
      
 48 
     | 
    
         
            +
                OwnerId = Shapes::StringShape.new(name: 'OwnerId')
         
     | 
| 
       35 
49 
     | 
    
         
             
                PageToken = Shapes::StringShape.new(name: 'PageToken')
         
     | 
| 
      
 50 
     | 
    
         
            +
                Progress = Shapes::IntegerShape.new(name: 'Progress')
         
     | 
| 
      
 51 
     | 
    
         
            +
                PutSnapshotBlockRequest = Shapes::StructureShape.new(name: 'PutSnapshotBlockRequest')
         
     | 
| 
      
 52 
     | 
    
         
            +
                PutSnapshotBlockResponse = Shapes::StructureShape.new(name: 'PutSnapshotBlockResponse')
         
     | 
| 
      
 53 
     | 
    
         
            +
                RequestThrottledException = Shapes::StructureShape.new(name: 'RequestThrottledException')
         
     | 
| 
      
 54 
     | 
    
         
            +
                RequestThrottledExceptionReason = Shapes::StringShape.new(name: 'RequestThrottledExceptionReason')
         
     | 
| 
       36 
55 
     | 
    
         
             
                ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
         
     | 
| 
      
 56 
     | 
    
         
            +
                ResourceNotFoundExceptionReason = Shapes::StringShape.new(name: 'ResourceNotFoundExceptionReason')
         
     | 
| 
      
 57 
     | 
    
         
            +
                ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
         
     | 
| 
      
 58 
     | 
    
         
            +
                ServiceQuotaExceededExceptionReason = Shapes::StringShape.new(name: 'ServiceQuotaExceededExceptionReason')
         
     | 
| 
       37 
59 
     | 
    
         
             
                SnapshotId = Shapes::StringShape.new(name: 'SnapshotId')
         
     | 
| 
      
 60 
     | 
    
         
            +
                StartSnapshotRequest = Shapes::StructureShape.new(name: 'StartSnapshotRequest')
         
     | 
| 
      
 61 
     | 
    
         
            +
                StartSnapshotResponse = Shapes::StructureShape.new(name: 'StartSnapshotResponse')
         
     | 
| 
      
 62 
     | 
    
         
            +
                Status = Shapes::StringShape.new(name: 'Status')
         
     | 
| 
      
 63 
     | 
    
         
            +
                Tag = Shapes::StructureShape.new(name: 'Tag')
         
     | 
| 
      
 64 
     | 
    
         
            +
                TagKey = Shapes::StringShape.new(name: 'TagKey')
         
     | 
| 
      
 65 
     | 
    
         
            +
                TagValue = Shapes::StringShape.new(name: 'TagValue')
         
     | 
| 
      
 66 
     | 
    
         
            +
                Tags = Shapes::ListShape.new(name: 'Tags')
         
     | 
| 
       38 
67 
     | 
    
         
             
                TimeStamp = Shapes::TimestampShape.new(name: 'TimeStamp')
         
     | 
| 
      
 68 
     | 
    
         
            +
                Timeout = Shapes::IntegerShape.new(name: 'Timeout')
         
     | 
| 
       39 
69 
     | 
    
         
             
                ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
         
     | 
| 
       40 
70 
     | 
    
         
             
                ValidationExceptionReason = Shapes::StringShape.new(name: 'ValidationExceptionReason')
         
     | 
| 
       41 
71 
     | 
    
         
             
                VolumeSize = Shapes::IntegerShape.new(name: 'VolumeSize')
         
     | 
| 
       42 
72 
     | 
    
         | 
| 
      
 73 
     | 
    
         
            +
                AccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 74 
     | 
    
         
            +
                AccessDeniedException.add_member(:reason, Shapes::ShapeRef.new(shape: AccessDeniedExceptionReason, required: true, location_name: "Reason"))
         
     | 
| 
      
 75 
     | 
    
         
            +
                AccessDeniedException.struct_class = Types::AccessDeniedException
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
       43 
77 
     | 
    
         
             
                Block.add_member(:block_index, Shapes::ShapeRef.new(shape: BlockIndex, location_name: "BlockIndex"))
         
     | 
| 
       44 
78 
     | 
    
         
             
                Block.add_member(:block_token, Shapes::ShapeRef.new(shape: BlockToken, location_name: "BlockToken"))
         
     | 
| 
       45 
79 
     | 
    
         
             
                Block.struct_class = Types::Block
         
     | 
| 
         @@ -53,6 +87,22 @@ module Aws::EBS 
     | 
|
| 
       53 
87 
     | 
    
         | 
| 
       54 
88 
     | 
    
         
             
                ChangedBlocks.member = Shapes::ShapeRef.new(shape: ChangedBlock)
         
     | 
| 
       55 
89 
     | 
    
         | 
| 
      
 90 
     | 
    
         
            +
                CompleteSnapshotRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "snapshotId"))
         
     | 
| 
      
 91 
     | 
    
         
            +
                CompleteSnapshotRequest.add_member(:changed_blocks_count, Shapes::ShapeRef.new(shape: ChangedBlocksCount, required: true, location: "header", location_name: "x-amz-ChangedBlocksCount"))
         
     | 
| 
      
 92 
     | 
    
         
            +
                CompleteSnapshotRequest.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location: "header", location_name: "x-amz-Checksum"))
         
     | 
| 
      
 93 
     | 
    
         
            +
                CompleteSnapshotRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-Checksum-Algorithm"))
         
     | 
| 
      
 94 
     | 
    
         
            +
                CompleteSnapshotRequest.add_member(:checksum_aggregation_method, Shapes::ShapeRef.new(shape: ChecksumAggregationMethod, location: "header", location_name: "x-amz-Checksum-Aggregation-Method"))
         
     | 
| 
      
 95 
     | 
    
         
            +
                CompleteSnapshotRequest.struct_class = Types::CompleteSnapshotRequest
         
     | 
| 
      
 96 
     | 
    
         
            +
             
     | 
| 
      
 97 
     | 
    
         
            +
                CompleteSnapshotResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
         
     | 
| 
      
 98 
     | 
    
         
            +
                CompleteSnapshotResponse.struct_class = Types::CompleteSnapshotResponse
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
                ConcurrentLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 101 
     | 
    
         
            +
                ConcurrentLimitExceededException.struct_class = Types::ConcurrentLimitExceededException
         
     | 
| 
      
 102 
     | 
    
         
            +
             
     | 
| 
      
 103 
     | 
    
         
            +
                ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 104 
     | 
    
         
            +
                ConflictException.struct_class = Types::ConflictException
         
     | 
| 
      
 105 
     | 
    
         
            +
             
     | 
| 
       56 
106 
     | 
    
         
             
                GetSnapshotBlockRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "snapshotId"))
         
     | 
| 
       57 
107 
     | 
    
         
             
                GetSnapshotBlockRequest.add_member(:block_index, Shapes::ShapeRef.new(shape: BlockIndex, required: true, location: "uri", location_name: "blockIndex"))
         
     | 
| 
       58 
108 
     | 
    
         
             
                GetSnapshotBlockRequest.add_member(:block_token, Shapes::ShapeRef.new(shape: BlockToken, required: true, location: "querystring", location_name: "blockToken"))
         
     | 
| 
         @@ -66,6 +116,9 @@ module Aws::EBS 
     | 
|
| 
       66 
116 
     | 
    
         
             
                GetSnapshotBlockResponse[:payload] = :block_data
         
     | 
| 
       67 
117 
     | 
    
         
             
                GetSnapshotBlockResponse[:payload_member] = GetSnapshotBlockResponse.member(:block_data)
         
     | 
| 
       68 
118 
     | 
    
         | 
| 
      
 119 
     | 
    
         
            +
                InternalServerException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 120 
     | 
    
         
            +
                InternalServerException.struct_class = Types::InternalServerException
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
       69 
122 
     | 
    
         
             
                ListChangedBlocksRequest.add_member(:first_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location: "querystring", location_name: "firstSnapshotId"))
         
     | 
| 
       70 
123 
     | 
    
         
             
                ListChangedBlocksRequest.add_member(:second_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "secondSnapshotId"))
         
     | 
| 
       71 
124 
     | 
    
         
             
                ListChangedBlocksRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location: "querystring", location_name: "pageToken"))
         
     | 
| 
         @@ -93,9 +146,61 @@ module Aws::EBS 
     | 
|
| 
       93 
146 
     | 
    
         
             
                ListSnapshotBlocksResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: PageToken, location_name: "NextToken"))
         
     | 
| 
       94 
147 
     | 
    
         
             
                ListSnapshotBlocksResponse.struct_class = Types::ListSnapshotBlocksResponse
         
     | 
| 
       95 
148 
     | 
    
         | 
| 
      
 149 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, required: true, location: "uri", location_name: "snapshotId"))
         
     | 
| 
      
 150 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:block_index, Shapes::ShapeRef.new(shape: BlockIndex, required: true, location: "uri", location_name: "blockIndex"))
         
     | 
| 
      
 151 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:block_data, Shapes::ShapeRef.new(shape: BlockData, required: true, location_name: "BlockData"))
         
     | 
| 
      
 152 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:data_length, Shapes::ShapeRef.new(shape: DataLength, required: true, location: "header", location_name: "x-amz-Data-Length"))
         
     | 
| 
      
 153 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:progress, Shapes::ShapeRef.new(shape: Progress, location: "header", location_name: "x-amz-Progress"))
         
     | 
| 
      
 154 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, required: true, location: "header", location_name: "x-amz-Checksum"))
         
     | 
| 
      
 155 
     | 
    
         
            +
                PutSnapshotBlockRequest.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, required: true, location: "header", location_name: "x-amz-Checksum-Algorithm"))
         
     | 
| 
      
 156 
     | 
    
         
            +
                PutSnapshotBlockRequest.struct_class = Types::PutSnapshotBlockRequest
         
     | 
| 
      
 157 
     | 
    
         
            +
                PutSnapshotBlockRequest[:payload] = :block_data
         
     | 
| 
      
 158 
     | 
    
         
            +
                PutSnapshotBlockRequest[:payload_member] = PutSnapshotBlockRequest.member(:block_data)
         
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
      
 160 
     | 
    
         
            +
                PutSnapshotBlockResponse.add_member(:checksum, Shapes::ShapeRef.new(shape: Checksum, location: "header", location_name: "x-amz-Checksum"))
         
     | 
| 
      
 161 
     | 
    
         
            +
                PutSnapshotBlockResponse.add_member(:checksum_algorithm, Shapes::ShapeRef.new(shape: ChecksumAlgorithm, location: "header", location_name: "x-amz-Checksum-Algorithm"))
         
     | 
| 
      
 162 
     | 
    
         
            +
                PutSnapshotBlockResponse.struct_class = Types::PutSnapshotBlockResponse
         
     | 
| 
      
 163 
     | 
    
         
            +
             
     | 
| 
      
 164 
     | 
    
         
            +
                RequestThrottledException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 165 
     | 
    
         
            +
                RequestThrottledException.add_member(:reason, Shapes::ShapeRef.new(shape: RequestThrottledExceptionReason, location_name: "Reason"))
         
     | 
| 
      
 166 
     | 
    
         
            +
                RequestThrottledException.struct_class = Types::RequestThrottledException
         
     | 
| 
      
 167 
     | 
    
         
            +
             
     | 
| 
       96 
168 
     | 
    
         
             
                ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 169 
     | 
    
         
            +
                ResourceNotFoundException.add_member(:reason, Shapes::ShapeRef.new(shape: ResourceNotFoundExceptionReason, location_name: "Reason"))
         
     | 
| 
       97 
170 
     | 
    
         
             
                ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
         
     | 
| 
       98 
171 
     | 
    
         | 
| 
      
 172 
     | 
    
         
            +
                ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
      
 173 
     | 
    
         
            +
                ServiceQuotaExceededException.add_member(:reason, Shapes::ShapeRef.new(shape: ServiceQuotaExceededExceptionReason, location_name: "Reason"))
         
     | 
| 
      
 174 
     | 
    
         
            +
                ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, required: true, location_name: "VolumeSize"))
         
     | 
| 
      
 177 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:parent_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "ParentSnapshotId"))
         
     | 
| 
      
 178 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
         
     | 
| 
      
 179 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
         
     | 
| 
      
 180 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:client_token, Shapes::ShapeRef.new(shape: IdempotencyToken, location_name: "ClientToken", metadata: {"idempotencyToken"=>true}))
         
     | 
| 
      
 181 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:encrypted, Shapes::ShapeRef.new(shape: Boolean, location_name: "Encrypted"))
         
     | 
| 
      
 182 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
         
     | 
| 
      
 183 
     | 
    
         
            +
                StartSnapshotRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: Timeout, location_name: "Timeout"))
         
     | 
| 
      
 184 
     | 
    
         
            +
                StartSnapshotRequest.struct_class = Types::StartSnapshotRequest
         
     | 
| 
      
 185 
     | 
    
         
            +
             
     | 
| 
      
 186 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:description, Shapes::ShapeRef.new(shape: Description, location_name: "Description"))
         
     | 
| 
      
 187 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "SnapshotId"))
         
     | 
| 
      
 188 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:owner_id, Shapes::ShapeRef.new(shape: OwnerId, location_name: "OwnerId"))
         
     | 
| 
      
 189 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:status, Shapes::ShapeRef.new(shape: Status, location_name: "Status"))
         
     | 
| 
      
 190 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:start_time, Shapes::ShapeRef.new(shape: TimeStamp, location_name: "StartTime"))
         
     | 
| 
      
 191 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:volume_size, Shapes::ShapeRef.new(shape: VolumeSize, location_name: "VolumeSize"))
         
     | 
| 
      
 192 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:block_size, Shapes::ShapeRef.new(shape: BlockSize, location_name: "BlockSize"))
         
     | 
| 
      
 193 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
         
     | 
| 
      
 194 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:parent_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "ParentSnapshotId"))
         
     | 
| 
      
 195 
     | 
    
         
            +
                StartSnapshotResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
         
     | 
| 
      
 196 
     | 
    
         
            +
                StartSnapshotResponse.struct_class = Types::StartSnapshotResponse
         
     | 
| 
      
 197 
     | 
    
         
            +
             
     | 
| 
      
 198 
     | 
    
         
            +
                Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
         
     | 
| 
      
 199 
     | 
    
         
            +
                Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
         
     | 
| 
      
 200 
     | 
    
         
            +
                Tag.struct_class = Types::Tag
         
     | 
| 
      
 201 
     | 
    
         
            +
             
     | 
| 
      
 202 
     | 
    
         
            +
                Tags.member = Shapes::ShapeRef.new(shape: Tag)
         
     | 
| 
      
 203 
     | 
    
         
            +
             
     | 
| 
       99 
204 
     | 
    
         
             
                ValidationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, location_name: "Message"))
         
     | 
| 
       100 
205 
     | 
    
         
             
                ValidationException.add_member(:reason, Shapes::ShapeRef.new(shape: ValidationExceptionReason, location_name: "Reason"))
         
     | 
| 
       101 
206 
     | 
    
         
             
                ValidationException.struct_class = Types::ValidationException
         
     | 
| 
         @@ -118,14 +223,32 @@ module Aws::EBS 
     | 
|
| 
       118 
223 
     | 
    
         
             
                    "uid" => "ebs-2019-11-02",
         
     | 
| 
       119 
224 
     | 
    
         
             
                  }
         
     | 
| 
       120 
225 
     | 
    
         | 
| 
      
 226 
     | 
    
         
            +
                  api.add_operation(:complete_snapshot, Seahorse::Model::Operation.new.tap do |o|
         
     | 
| 
      
 227 
     | 
    
         
            +
                    o.name = "CompleteSnapshot"
         
     | 
| 
      
 228 
     | 
    
         
            +
                    o.http_method = "POST"
         
     | 
| 
      
 229 
     | 
    
         
            +
                    o.http_request_uri = "/snapshots/completion/{snapshotId}"
         
     | 
| 
      
 230 
     | 
    
         
            +
                    o.input = Shapes::ShapeRef.new(shape: CompleteSnapshotRequest)
         
     | 
| 
      
 231 
     | 
    
         
            +
                    o.output = Shapes::ShapeRef.new(shape: CompleteSnapshotResponse)
         
     | 
| 
      
 232 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         
     | 
| 
      
 233 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         
     | 
| 
      
 234 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         
     | 
| 
      
 235 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
         
     | 
| 
      
 236 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         
     | 
| 
      
 237 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         
     | 
| 
      
 238 
     | 
    
         
            +
                  end)
         
     | 
| 
      
 239 
     | 
    
         
            +
             
     | 
| 
       121 
240 
     | 
    
         
             
                  api.add_operation(:get_snapshot_block, Seahorse::Model::Operation.new.tap do |o|
         
     | 
| 
       122 
241 
     | 
    
         
             
                    o.name = "GetSnapshotBlock"
         
     | 
| 
       123 
242 
     | 
    
         
             
                    o.http_method = "GET"
         
     | 
| 
       124 
243 
     | 
    
         
             
                    o.http_request_uri = "/snapshots/{snapshotId}/blocks/{blockIndex}"
         
     | 
| 
       125 
244 
     | 
    
         
             
                    o.input = Shapes::ShapeRef.new(shape: GetSnapshotBlockRequest)
         
     | 
| 
       126 
245 
     | 
    
         
             
                    o.output = Shapes::ShapeRef.new(shape: GetSnapshotBlockResponse)
         
     | 
| 
      
 246 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         
     | 
| 
       127 
247 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         
     | 
| 
       128 
248 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         
     | 
| 
      
 249 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
         
     | 
| 
      
 250 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         
     | 
| 
      
 251 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         
     | 
| 
       129 
252 
     | 
    
         
             
                  end)
         
     | 
| 
       130 
253 
     | 
    
         | 
| 
       131 
254 
     | 
    
         
             
                  api.add_operation(:list_changed_blocks, Seahorse::Model::Operation.new.tap do |o|
         
     | 
| 
         @@ -134,8 +257,12 @@ module Aws::EBS 
     | 
|
| 
       134 
257 
     | 
    
         
             
                    o.http_request_uri = "/snapshots/{secondSnapshotId}/changedblocks"
         
     | 
| 
       135 
258 
     | 
    
         
             
                    o.input = Shapes::ShapeRef.new(shape: ListChangedBlocksRequest)
         
     | 
| 
       136 
259 
     | 
    
         
             
                    o.output = Shapes::ShapeRef.new(shape: ListChangedBlocksResponse)
         
     | 
| 
      
 260 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         
     | 
| 
       137 
261 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         
     | 
| 
       138 
262 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         
     | 
| 
      
 263 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
         
     | 
| 
      
 264 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         
     | 
| 
      
 265 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         
     | 
| 
       139 
266 
     | 
    
         
             
                    o[:pager] = Aws::Pager.new(
         
     | 
| 
       140 
267 
     | 
    
         
             
                      limit_key: "max_results",
         
     | 
| 
       141 
268 
     | 
    
         
             
                      tokens: {
         
     | 
| 
         @@ -150,8 +277,12 @@ module Aws::EBS 
     | 
|
| 
       150 
277 
     | 
    
         
             
                    o.http_request_uri = "/snapshots/{snapshotId}/blocks"
         
     | 
| 
       151 
278 
     | 
    
         
             
                    o.input = Shapes::ShapeRef.new(shape: ListSnapshotBlocksRequest)
         
     | 
| 
       152 
279 
     | 
    
         
             
                    o.output = Shapes::ShapeRef.new(shape: ListSnapshotBlocksResponse)
         
     | 
| 
      
 280 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         
     | 
| 
       153 
281 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         
     | 
| 
       154 
282 
     | 
    
         
             
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         
     | 
| 
      
 283 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
         
     | 
| 
      
 284 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         
     | 
| 
      
 285 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         
     | 
| 
       155 
286 
     | 
    
         
             
                    o[:pager] = Aws::Pager.new(
         
     | 
| 
       156 
287 
     | 
    
         
             
                      limit_key: "max_results",
         
     | 
| 
       157 
288 
     | 
    
         
             
                      tokens: {
         
     | 
| 
         @@ -159,6 +290,37 @@ module Aws::EBS 
     | 
|
| 
       159 
290 
     | 
    
         
             
                      }
         
     | 
| 
       160 
291 
     | 
    
         
             
                    )
         
     | 
| 
       161 
292 
     | 
    
         
             
                  end)
         
     | 
| 
      
 293 
     | 
    
         
            +
             
     | 
| 
      
 294 
     | 
    
         
            +
                  api.add_operation(:put_snapshot_block, Seahorse::Model::Operation.new.tap do |o|
         
     | 
| 
      
 295 
     | 
    
         
            +
                    o.name = "PutSnapshotBlock"
         
     | 
| 
      
 296 
     | 
    
         
            +
                    o.http_method = "PUT"
         
     | 
| 
      
 297 
     | 
    
         
            +
                    o.http_request_uri = "/snapshots/{snapshotId}/blocks/{blockIndex}"
         
     | 
| 
      
 298 
     | 
    
         
            +
                    o['authtype'] = "v4-unsigned-body"
         
     | 
| 
      
 299 
     | 
    
         
            +
                    o.input = Shapes::ShapeRef.new(shape: PutSnapshotBlockRequest)
         
     | 
| 
      
 300 
     | 
    
         
            +
                    o.output = Shapes::ShapeRef.new(shape: PutSnapshotBlockResponse)
         
     | 
| 
      
 301 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         
     | 
| 
      
 302 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         
     | 
| 
      
 303 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         
     | 
| 
      
 304 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
         
     | 
| 
      
 305 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         
     | 
| 
      
 306 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         
     | 
| 
      
 307 
     | 
    
         
            +
                  end)
         
     | 
| 
      
 308 
     | 
    
         
            +
             
     | 
| 
      
 309 
     | 
    
         
            +
                  api.add_operation(:start_snapshot, Seahorse::Model::Operation.new.tap do |o|
         
     | 
| 
      
 310 
     | 
    
         
            +
                    o.name = "StartSnapshot"
         
     | 
| 
      
 311 
     | 
    
         
            +
                    o.http_method = "POST"
         
     | 
| 
      
 312 
     | 
    
         
            +
                    o.http_request_uri = "/snapshots"
         
     | 
| 
      
 313 
     | 
    
         
            +
                    o.input = Shapes::ShapeRef.new(shape: StartSnapshotRequest)
         
     | 
| 
      
 314 
     | 
    
         
            +
                    o.output = Shapes::ShapeRef.new(shape: StartSnapshotResponse)
         
     | 
| 
      
 315 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
         
     | 
| 
      
 316 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ValidationException)
         
     | 
| 
      
 317 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: RequestThrottledException)
         
     | 
| 
      
 318 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
         
     | 
| 
      
 319 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
         
     | 
| 
      
 320 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
         
     | 
| 
      
 321 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ConcurrentLimitExceededException)
         
     | 
| 
      
 322 
     | 
    
         
            +
                    o.errors << Shapes::ShapeRef.new(shape: ConflictException)
         
     | 
| 
      
 323 
     | 
    
         
            +
                  end)
         
     | 
| 
       162 
324 
     | 
    
         
             
                end
         
     | 
| 
       163 
325 
     | 
    
         | 
| 
       164 
326 
     | 
    
         
             
              end
         
     |