aws-sdk-ebs 1.21.0 → 1.35.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 9867a56cb60b2462075349b149bdcd07a1d834113ac68baa0ca9ed20c776215b
4
- data.tar.gz: 1914f6aeb3f736ceb80bbbeb7e675d234670e088d281a9e544d41c5d00ae52e9
3
+ metadata.gz: 1848600190f6fa2c9a15e7228cfb540375761a2717201ad4e00e94df096b6684
4
+ data.tar.gz: 598ff3082e8f9bfe8eda3d9f6cb2d78e850be3b16637eb2507f646e3bd0c479f
5
5
  SHA512:
6
- metadata.gz: 54e62a0b933f167a47c12293027c6d6e227dcf50ecae09c044e7a28bccacc93898a5a5964e6f806f9dcf0937a75d397638db6565a85a13d234d780c5ec4b13de
7
- data.tar.gz: 8977b4d89e9b46e80dc42dca2451828ecfa012c6fe99c88b2fcbdbc2435d9e8eccc160100976dc12ea0ea44d024b386515c4f1ab49a16cd546411a87ad7e180a
6
+ metadata.gz: 3bad1e02c08d9e7f17cb0cddcc879fd7c72c2465c502546bb91f6e19a114fb3e2192e9894abc3c69f5805ed5109972e5b735c9e3a441df7cb95963c547b8ac62
7
+ data.tar.gz: 60a86acdf8223264591550994bed99ad0cca2c91a24701f2d393cce098e716a42e232d07719d15bb2d6a2bcaeb2600d64fbf8140ce98444a3a0a79a91d527143
data/CHANGELOG.md CHANGED
@@ -1,6 +1,78 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.35.0 (2023-09-27)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.34.0 (2023-07-27)
10
+ ------------------
11
+
12
+ * Feature - SDK and documentation updates for Amazon Elastic Block Store API
13
+
14
+ 1.33.0 (2023-07-11)
15
+ ------------------
16
+
17
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
18
+
19
+ 1.32.0 (2023-07-06)
20
+ ------------------
21
+
22
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
23
+
24
+ 1.31.0 (2023-06-28)
25
+ ------------------
26
+
27
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
28
+
29
+ 1.30.0 (2023-06-15)
30
+ ------------------
31
+
32
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
33
+
34
+ 1.29.0 (2023-05-31)
35
+ ------------------
36
+
37
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
38
+
39
+ 1.28.0 (2023-01-18)
40
+ ------------------
41
+
42
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
43
+
44
+ * Issue - Replace runtime endpoint resolution approach with generated ruby code.
45
+
46
+ 1.27.0 (2022-10-25)
47
+ ------------------
48
+
49
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
50
+
51
+ 1.26.0 (2022-03-23)
52
+ ------------------
53
+
54
+ * Feature - Increased the maximum supported value for the Timeout parameter of the StartSnapshot API from 60 minutes to 4320 minutes. Changed the HTTP error code for ConflictException from 503 to 409.
55
+
56
+ 1.25.0 (2022-02-24)
57
+ ------------------
58
+
59
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
60
+
61
+ 1.24.0 (2022-02-03)
62
+ ------------------
63
+
64
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
65
+
66
+ 1.23.0 (2022-01-26)
67
+ ------------------
68
+
69
+ * Feature - Documentation updates for Amazon EBS Direct APIs.
70
+
71
+ 1.22.0 (2021-12-21)
72
+ ------------------
73
+
74
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
75
+
4
76
  1.21.0 (2021-11-30)
5
77
  ------------------
6
78
 
@@ -115,4 +187,4 @@ Unreleased Changes
115
187
  1.0.0 (2019-12-04)
116
188
  ------------------
117
189
 
118
- * Feature - Initial release of `aws-sdk-ebs`.
190
+ * Feature - Initial release of `aws-sdk-ebs`.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.21.0
1
+ 1.35.0
@@ -27,7 +27,11 @@ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
27
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
28
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
- require 'aws-sdk-core/plugins/signature_v4.rb'
30
+ require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
+ require 'aws-sdk-core/plugins/request_compression.rb'
32
+ require 'aws-sdk-core/plugins/defaults_mode.rb'
33
+ require 'aws-sdk-core/plugins/recursion_detection.rb'
34
+ require 'aws-sdk-core/plugins/sign.rb'
31
35
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
32
36
 
33
37
  Aws::Plugins::GlobalConfiguration.add_identifier(:ebs)
@@ -73,8 +77,13 @@ module Aws::EBS
73
77
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
74
78
  add_plugin(Aws::Plugins::TransferEncoding)
75
79
  add_plugin(Aws::Plugins::HttpChecksum)
76
- add_plugin(Aws::Plugins::SignatureV4)
80
+ add_plugin(Aws::Plugins::ChecksumAlgorithm)
81
+ add_plugin(Aws::Plugins::RequestCompression)
82
+ add_plugin(Aws::Plugins::DefaultsMode)
83
+ add_plugin(Aws::Plugins::RecursionDetection)
84
+ add_plugin(Aws::Plugins::Sign)
77
85
  add_plugin(Aws::Plugins::Protocols::RestJson)
86
+ add_plugin(Aws::EBS::Plugins::Endpoints)
78
87
 
79
88
  # @overload initialize(options)
80
89
  # @param [Hash] options
@@ -175,10 +184,18 @@ module Aws::EBS
175
184
  # Used only in `standard` and adaptive retry modes. Specifies whether to apply
176
185
  # a clock skew correction and retry requests with skewed client clocks.
177
186
  #
187
+ # @option options [String] :defaults_mode ("legacy")
188
+ # See {Aws::DefaultsModeConfiguration} for a list of the
189
+ # accepted modes and the configuration defaults that are included.
190
+ #
178
191
  # @option options [Boolean] :disable_host_prefix_injection (false)
179
192
  # Set to true to disable SDK automatically adding host prefix
180
193
  # to default service endpoint when available.
181
194
  #
195
+ # @option options [Boolean] :disable_request_compression (false)
196
+ # When set to 'true' the request body will not be compressed
197
+ # for supported operations.
198
+ #
182
199
  # @option options [String] :endpoint
183
200
  # The client endpoint is normally constructed from the `:region`
184
201
  # option. You should only configure an `:endpoint` when connecting
@@ -199,6 +216,10 @@ module Aws::EBS
199
216
  # @option options [Boolean] :endpoint_discovery (false)
200
217
  # When set to `true`, endpoint discovery will be enabled for operations when available.
201
218
  #
219
+ # @option options [Boolean] :ignore_configured_endpoint_urls
220
+ # Setting to true disables use of endpoint URLs provided via environment
221
+ # variables and the shared configuration file.
222
+ #
202
223
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
203
224
  # The log formatter.
204
225
  #
@@ -219,6 +240,11 @@ module Aws::EBS
219
240
  # Used when loading credentials from the shared credentials file
220
241
  # at HOME/.aws/credentials. When not specified, 'default' is used.
221
242
  #
243
+ # @option options [Integer] :request_min_compression_size_bytes (10240)
244
+ # The minimum size in bytes that triggers compression for request
245
+ # bodies. The value must be non-negative integer value between 0
246
+ # and 10485780 bytes inclusive.
247
+ #
222
248
  # @option options [Proc] :retry_backoff
223
249
  # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
224
250
  # This option is only used in the `legacy` retry mode.
@@ -264,6 +290,11 @@ module Aws::EBS
264
290
  # in the future.
265
291
  #
266
292
  #
293
+ # @option options [String] :sdk_ua_app_id
294
+ # A unique and opaque application ID that is appended to the
295
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
296
+ # maximum length of 50.
297
+ #
267
298
  # @option options [String] :secret_access_key
268
299
  #
269
300
  # @option options [String] :session_token
@@ -277,6 +308,19 @@ module Aws::EBS
277
308
  # ** Please note ** When response stubbing is enabled, no HTTP
278
309
  # requests are made, and retries are disabled.
279
310
  #
311
+ # @option options [Aws::TokenProvider] :token_provider
312
+ # A Bearer Token Provider. This can be an instance of any one of the
313
+ # following classes:
314
+ #
315
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
316
+ # tokens.
317
+ #
318
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
319
+ # access token generated from `aws login`.
320
+ #
321
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
322
+ # will be used to search for tokens configured for your profile in shared configuration files.
323
+ #
280
324
  # @option options [Boolean] :use_dualstack_endpoint
281
325
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
282
326
  # will be used if available.
@@ -290,6 +334,9 @@ module Aws::EBS
290
334
  # When `true`, request parameters are validated before
291
335
  # sending the request.
292
336
  #
337
+ # @option options [Aws::EBS::EndpointProvider] :endpoint_provider
338
+ # The endpoint provider used to resolve endpoints. Any object that responds to `#resolve_endpoint(parameters)` where `parameters` is a Struct similar to `Aws::EBS::EndpointParameters`
339
+ #
293
340
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
294
341
  # requests through. Formatted like 'http://proxy.com:123'.
295
342
  #
@@ -297,7 +344,7 @@ module Aws::EBS
297
344
  # seconds to wait when opening a HTTP session before raising a
298
345
  # `Timeout::Error`.
299
346
  #
300
- # @option options [Integer] :http_read_timeout (60) The default
347
+ # @option options [Float] :http_read_timeout (60) The default
301
348
  # number of seconds to wait for response data. This value can
302
349
  # safely be set per-request on the session.
303
350
  #
@@ -313,6 +360,9 @@ module Aws::EBS
313
360
  # disables this behaviour. This value can safely be set per
314
361
  # request on the session.
315
362
  #
363
+ # @option options [Float] :ssl_timeout (nil) Sets the SSL timeout
364
+ # in seconds.
365
+ #
316
366
  # @option options [Boolean] :http_wire_trace (false) When `true`,
317
367
  # HTTP debug output will be sent to the `:logger`.
318
368
  #
@@ -343,6 +393,17 @@ module Aws::EBS
343
393
  # status to `completed`. You cannot write new blocks to a snapshot after
344
394
  # it has been completed.
345
395
  #
396
+ # <note markdown="1"> You should always retry requests that receive server (`5xx`) error
397
+ # responses, and `ThrottlingException` and `RequestThrottledException`
398
+ # client error responses. For more information see [Error retries][1] in
399
+ # the *Amazon Elastic Compute Cloud User Guide*.
400
+ #
401
+ # </note>
402
+ #
403
+ #
404
+ #
405
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
406
+ #
346
407
  # @option params [required, String] :snapshot_id
347
408
  # The ID of the snapshot.
348
409
  #
@@ -396,19 +457,39 @@ module Aws::EBS
396
457
 
397
458
  # Returns the data in a block in an Amazon Elastic Block Store snapshot.
398
459
  #
460
+ # <note markdown="1"> You should always retry requests that receive server (`5xx`) error
461
+ # responses, and `ThrottlingException` and `RequestThrottledException`
462
+ # client error responses. For more information see [Error retries][1] in
463
+ # the *Amazon Elastic Compute Cloud User Guide*.
464
+ #
465
+ # </note>
466
+ #
467
+ #
468
+ #
469
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
470
+ #
399
471
  # @option params [required, String] :snapshot_id
400
472
  # The ID of the snapshot containing the block from which to get data.
401
473
  #
402
- # @option params [required, Integer] :block_index
403
- # The block index of the block from which to get data.
474
+ # If the specified snapshot is encrypted, you must have permission to
475
+ # use the KMS key that was used to encrypt the snapshot. For more
476
+ # information, see [ Using encryption][1] in the *Amazon Elastic Compute
477
+ # Cloud User Guide*.
404
478
  #
405
- # Obtain the `BlockIndex` by running the `ListChangedBlocks` or
406
- # `ListSnapshotBlocks` operations.
407
479
  #
408
- # @option params [required, String] :block_token
409
- # The block token of the block from which to get data.
410
480
  #
411
- # Obtain the `BlockToken` by running the `ListChangedBlocks` or
481
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
482
+ #
483
+ # @option params [required, Integer] :block_index
484
+ # The block index of the block in which to read the data. A block index
485
+ # is a logical index in units of `512` KiB blocks. To identify the block
486
+ # index, divide the logical offset of the data in the logical volume by
487
+ # the block size (logical offset of data/`524288`). The logical offset
488
+ # of the data must be `512` KiB aligned.
489
+ #
490
+ # @option params [required, String] :block_token
491
+ # The block token of the block from which to get data. You can obtain
492
+ # the `BlockToken` by running the `ListChangedBlocks` or
412
493
  # `ListSnapshotBlocks` operations.
413
494
  #
414
495
  # @return [Types::GetSnapshotBlockResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -446,6 +527,17 @@ module Aws::EBS
446
527
  # Amazon Elastic Block Store snapshots of the same volume/snapshot
447
528
  # lineage.
448
529
  #
530
+ # <note markdown="1"> You should always retry requests that receive server (`5xx`) error
531
+ # responses, and `ThrottlingException` and `RequestThrottledException`
532
+ # client error responses. For more information see [Error retries][1] in
533
+ # the *Amazon Elastic Compute Cloud User Guide*.
534
+ #
535
+ # </note>
536
+ #
537
+ #
538
+ #
539
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
540
+ #
449
541
  # @option params [String] :first_snapshot_id
450
542
  # The ID of the first snapshot to use for the comparison.
451
543
  #
@@ -461,8 +553,18 @@ module Aws::EBS
461
553
  # @option params [String] :next_token
462
554
  # The token to request the next page of results.
463
555
  #
556
+ # If you specify **NextToken**, then **StartingBlockIndex** is ignored.
557
+ #
464
558
  # @option params [Integer] :max_results
465
- # The number of results to return.
559
+ # The maximum number of blocks to be returned by the request.
560
+ #
561
+ # Even if additional blocks can be retrieved from the snapshot, the
562
+ # request can return less blocks than **MaxResults** or an empty array
563
+ # of blocks.
564
+ #
565
+ # To retrieve the next set of blocks from the snapshot, make another
566
+ # request with the returned **NextToken** value. The value of
567
+ # **NextToken** is `null` when there are no more blocks to return.
466
568
  #
467
569
  # @option params [Integer] :starting_block_index
468
570
  # The block index from which the comparison should start.
@@ -470,6 +572,8 @@ module Aws::EBS
470
572
  # The list in the response will start from this block index or the next
471
573
  # valid block index in the snapshots.
472
574
  #
575
+ # If you specify **NextToken**, then **StartingBlockIndex** is ignored.
576
+ #
473
577
  # @return [Types::ListChangedBlocksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
474
578
  #
475
579
  # * {Types::ListChangedBlocksResponse#changed_blocks #changed_blocks} => Array&lt;Types::ChangedBlock&gt;
@@ -513,6 +617,17 @@ module Aws::EBS
513
617
  # Returns information about the blocks in an Amazon Elastic Block Store
514
618
  # snapshot.
515
619
  #
620
+ # <note markdown="1"> You should always retry requests that receive server (`5xx`) error
621
+ # responses, and `ThrottlingException` and `RequestThrottledException`
622
+ # client error responses. For more information see [Error retries][1] in
623
+ # the *Amazon Elastic Compute Cloud User Guide*.
624
+ #
625
+ # </note>
626
+ #
627
+ #
628
+ #
629
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
630
+ #
516
631
  # @option params [required, String] :snapshot_id
517
632
  # The ID of the snapshot from which to get block indexes and block
518
633
  # tokens.
@@ -520,14 +635,26 @@ module Aws::EBS
520
635
  # @option params [String] :next_token
521
636
  # The token to request the next page of results.
522
637
  #
638
+ # If you specify **NextToken**, then **StartingBlockIndex** is ignored.
639
+ #
523
640
  # @option params [Integer] :max_results
524
- # The number of results to return.
641
+ # The maximum number of blocks to be returned by the request.
642
+ #
643
+ # Even if additional blocks can be retrieved from the snapshot, the
644
+ # request can return less blocks than **MaxResults** or an empty array
645
+ # of blocks.
646
+ #
647
+ # To retrieve the next set of blocks from the snapshot, make another
648
+ # request with the returned **NextToken** value. The value of
649
+ # **NextToken** is `null` when there are no more blocks to return.
525
650
  #
526
651
  # @option params [Integer] :starting_block_index
527
652
  # The block index from which the list should start. The list in the
528
653
  # response will start from this block index or the next valid block
529
654
  # index in the snapshot.
530
655
  #
656
+ # If you specify **NextToken**, then **StartingBlockIndex** is ignored.
657
+ #
531
658
  # @return [Types::ListSnapshotBlocksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
532
659
  #
533
660
  # * {Types::ListSnapshotBlocksResponse#blocks #blocks} => Array&lt;Types::Block&gt;
@@ -572,9 +699,29 @@ module Aws::EBS
572
699
  #
573
700
  # Data written to a snapshot must be aligned with 512-KiB sectors.
574
701
  #
702
+ # <note markdown="1"> You should always retry requests that receive server (`5xx`) error
703
+ # responses, and `ThrottlingException` and `RequestThrottledException`
704
+ # client error responses. For more information see [Error retries][1] in
705
+ # the *Amazon Elastic Compute Cloud User Guide*.
706
+ #
707
+ # </note>
708
+ #
709
+ #
710
+ #
711
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
712
+ #
575
713
  # @option params [required, String] :snapshot_id
576
714
  # The ID of the snapshot.
577
715
  #
716
+ # If the specified snapshot is encrypted, you must have permission to
717
+ # use the KMS key that was used to encrypt the snapshot. For more
718
+ # information, see [ Using encryption][1] in the *Amazon Elastic Compute
719
+ # Cloud User Guide*..
720
+ #
721
+ #
722
+ #
723
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
724
+ #
578
725
  # @option params [required, Integer] :block_index
579
726
  # The block index of the block in which to write the data. A block index
580
727
  # is a logical index in units of `512` KiB blocks. To identify the block
@@ -655,9 +802,17 @@ module Aws::EBS
655
802
  # After creating the snapshot, use [ PutSnapshotBlock][1] to write
656
803
  # blocks of data to the snapshot.
657
804
  #
805
+ # <note markdown="1"> You should always retry requests that receive server (`5xx`) error
806
+ # responses, and `ThrottlingException` and `RequestThrottledException`
807
+ # client error responses. For more information see [Error retries][2] in
808
+ # the *Amazon Elastic Compute Cloud User Guide*.
809
+ #
810
+ # </note>
811
+ #
658
812
  #
659
813
  #
660
814
  # [1]: https://docs.aws.amazon.com/ebs/latest/APIReference/API_PutSnapshotBlock.html
815
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
661
816
  #
662
817
  # @option params [required, Integer] :volume_size
663
818
  # The size of the volume, in GiB. The maximum size is `65536` GiB (64
@@ -668,13 +823,26 @@ module Aws::EBS
668
823
  # you are creating the first snapshot for an on-premises volume, omit
669
824
  # this parameter.
670
825
  #
671
- # If your account is enabled for encryption by default, you cannot use
672
- # an unencrypted snapshot as a parent snapshot. You must first create an
673
- # encrypted copy of the parent snapshot using [CopySnapshot][1].
826
+ # You can't specify **ParentSnapshotId** and **Encrypted** in the same
827
+ # request. If you specify both parameters, the request fails with
828
+ # `ValidationException`.
829
+ #
830
+ # The encryption status of the snapshot depends on the values that you
831
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
832
+ # and whether your Amazon Web Services account is enabled for [
833
+ # encryption by default][1]. For more information, see [ Using
834
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
835
+ #
836
+ # If you specify an encrypted parent snapshot, you must have permission
837
+ # to use the KMS key that was used to encrypt the parent snapshot. For
838
+ # more information, see [ Permissions to use Key Management Service
839
+ # keys][3] in the *Amazon Elastic Compute Cloud User Guide*.
674
840
  #
675
841
  #
676
842
  #
677
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html
843
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
844
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
845
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
678
846
  #
679
847
  # @option params [Array<Types::Tag>] :tags
680
848
  # The tags to apply to the snapshot.
@@ -704,40 +872,47 @@ module Aws::EBS
704
872
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-direct-api-idempotency.html
705
873
  #
706
874
  # @option params [Boolean] :encrypted
707
- # Indicates whether to encrypt the snapshot. To create an encrypted
708
- # snapshot, specify `true`. To create an unencrypted snapshot, omit this
709
- # parameter.
875
+ # Indicates whether to encrypt the snapshot.
710
876
  #
711
- # If you specify a value for **ParentSnapshotId**, omit this parameter.
877
+ # You can't specify **Encrypted** and <b> ParentSnapshotId</b> in the
878
+ # same request. If you specify both parameters, the request fails with
879
+ # `ValidationException`.
712
880
  #
713
- # If you specify `true`, the snapshot is encrypted using the KMS key
714
- # specified using the **KmsKeyArn** parameter. If no value is specified
715
- # for **KmsKeyArn**, the default KMS key for your account is used. If no
716
- # default KMS key has been specified for your account, the Amazon Web
717
- # Services managed KMS key is used. To set a default KMS key for your
718
- # account, use [ ModifyEbsDefaultKmsKeyId][1].
881
+ # The encryption status of the snapshot depends on the values that you
882
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
883
+ # and whether your Amazon Web Services account is enabled for [
884
+ # encryption by default][1]. For more information, see [ Using
885
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
719
886
  #
720
- # If your account is enabled for encryption by default, you cannot set
721
- # this parameter to `false`. In this case, you can omit this parameter.
887
+ # To create an encrypted snapshot, you must have permission to use the
888
+ # KMS key. For more information, see [ Permissions to use Key Management
889
+ # Service keys][3] in the *Amazon Elastic Compute Cloud User Guide*.
722
890
  #
723
- # For more information, see [ Using encryption][2] in the *Amazon
724
- # Elastic Compute Cloud User Guide*.
725
891
  #
726
892
  #
727
- #
728
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html
729
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption
893
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
894
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
895
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
730
896
  #
731
897
  # @option params [String] :kms_key_arn
732
898
  # The Amazon Resource Name (ARN) of the Key Management Service (KMS) key
733
- # to be used to encrypt the snapshot. If you do not specify a KMS key,
734
- # the default Amazon Web Services managed KMS key is used.
899
+ # to be used to encrypt the snapshot.
900
+ #
901
+ # The encryption status of the snapshot depends on the values that you
902
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
903
+ # and whether your Amazon Web Services account is enabled for [
904
+ # encryption by default][1]. For more information, see [ Using
905
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
906
+ #
907
+ # To create an encrypted snapshot, you must have permission to use the
908
+ # KMS key. For more information, see [ Permissions to use Key Management
909
+ # Service keys][3] in the *Amazon Elastic Compute Cloud User Guide*.
910
+ #
735
911
  #
736
- # If you specify a **ParentSnapshotId**, omit this parameter; the
737
- # snapshot will be encrypted using the same KMS key that was used to
738
- # encrypt the parent snapshot.
739
912
  #
740
- # If **Encrypted** is set to `true`, you must specify a KMS key ARN.
913
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
914
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
915
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
741
916
  #
742
917
  # @option params [Integer] :timeout
743
918
  # The amount of time (in minutes) after which the snapshot is
@@ -761,6 +936,7 @@ module Aws::EBS
761
936
  # * {Types::StartSnapshotResponse#tags #tags} => Array&lt;Types::Tag&gt;
762
937
  # * {Types::StartSnapshotResponse#parent_snapshot_id #parent_snapshot_id} => String
763
938
  # * {Types::StartSnapshotResponse#kms_key_arn #kms_key_arn} => String
939
+ # * {Types::StartSnapshotResponse#sse_type #sse_type} => String
764
940
  #
765
941
  # @example Request syntax with placeholder values
766
942
  #
@@ -794,6 +970,7 @@ module Aws::EBS
794
970
  # resp.tags[0].value #=> String
795
971
  # resp.parent_snapshot_id #=> String
796
972
  # resp.kms_key_arn #=> String
973
+ # resp.sse_type #=> String, one of "sse-ebs", "sse-kms", "none"
797
974
  #
798
975
  # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshot AWS API Documentation
799
976
  #
@@ -817,7 +994,7 @@ module Aws::EBS
817
994
  params: params,
818
995
  config: config)
819
996
  context[:gem_name] = 'aws-sdk-ebs'
820
- context[:gem_version] = '1.21.0'
997
+ context[:gem_version] = '1.35.0'
821
998
  Seahorse::Client::Request.new(handlers, context)
822
999
  end
823
1000
 
@@ -54,6 +54,7 @@ module Aws::EBS
54
54
  RequestThrottledExceptionReason = Shapes::StringShape.new(name: 'RequestThrottledExceptionReason')
55
55
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
56
56
  ResourceNotFoundExceptionReason = Shapes::StringShape.new(name: 'ResourceNotFoundExceptionReason')
57
+ SSEType = Shapes::StringShape.new(name: 'SSEType')
57
58
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
58
59
  ServiceQuotaExceededExceptionReason = Shapes::StringShape.new(name: 'ServiceQuotaExceededExceptionReason')
59
60
  SnapshotId = Shapes::StringShape.new(name: 'SnapshotId')
@@ -193,6 +194,7 @@ module Aws::EBS
193
194
  StartSnapshotResponse.add_member(:tags, Shapes::ShapeRef.new(shape: Tags, location_name: "Tags"))
194
195
  StartSnapshotResponse.add_member(:parent_snapshot_id, Shapes::ShapeRef.new(shape: SnapshotId, location_name: "ParentSnapshotId"))
195
196
  StartSnapshotResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "KmsKeyArn"))
197
+ StartSnapshotResponse.add_member(:sse_type, Shapes::ShapeRef.new(shape: SSEType, location_name: "SseType"))
196
198
  StartSnapshotResponse.struct_class = Types::StartSnapshotResponse
197
199
 
198
200
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, location_name: "Key"))
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::EBS
11
+ # Endpoint parameters used to influence endpoints per request.
12
+ #
13
+ # @!attribute region
14
+ # The AWS region used to dispatch the request.
15
+ #
16
+ # @return [String]
17
+ #
18
+ # @!attribute use_dual_stack
19
+ # When true, use the dual-stack endpoint. If the configured endpoint does not support dual-stack, dispatching the request MAY return an error.
20
+ #
21
+ # @return [Boolean]
22
+ #
23
+ # @!attribute use_fips
24
+ # When true, send this request to the FIPS-compliant regional endpoint. If the configured endpoint does not have a FIPS compliant endpoint, dispatching the request will return an error.
25
+ #
26
+ # @return [Boolean]
27
+ #
28
+ # @!attribute endpoint
29
+ # Override the endpoint used to send this request
30
+ #
31
+ # @return [String]
32
+ #
33
+ EndpointParameters = Struct.new(
34
+ :region,
35
+ :use_dual_stack,
36
+ :use_fips,
37
+ :endpoint,
38
+ ) do
39
+ include Aws::Structure
40
+
41
+ # @api private
42
+ class << self
43
+ PARAM_MAP = {
44
+ 'Region' => :region,
45
+ 'UseDualStack' => :use_dual_stack,
46
+ 'UseFIPS' => :use_fips,
47
+ 'Endpoint' => :endpoint,
48
+ }.freeze
49
+ end
50
+
51
+ def initialize(options = {})
52
+ self[:region] = options[:region]
53
+ self[:use_dual_stack] = options[:use_dual_stack]
54
+ self[:use_dual_stack] = false if self[:use_dual_stack].nil?
55
+ if self[:use_dual_stack].nil?
56
+ raise ArgumentError, "Missing required EndpointParameter: :use_dual_stack"
57
+ end
58
+ self[:use_fips] = options[:use_fips]
59
+ self[:use_fips] = false if self[:use_fips].nil?
60
+ if self[:use_fips].nil?
61
+ raise ArgumentError, "Missing required EndpointParameter: :use_fips"
62
+ end
63
+ self[:endpoint] = options[:endpoint]
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,54 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::EBS
11
+ class EndpointProvider
12
+ def resolve_endpoint(parameters)
13
+ region = parameters.region
14
+ use_dual_stack = parameters.use_dual_stack
15
+ use_fips = parameters.use_fips
16
+ endpoint = parameters.endpoint
17
+ if Aws::Endpoints::Matchers.set?(endpoint)
18
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
19
+ raise ArgumentError, "Invalid Configuration: FIPS and custom endpoint are not supported"
20
+ end
21
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
22
+ raise ArgumentError, "Invalid Configuration: Dualstack and custom endpoint are not supported"
23
+ end
24
+ return Aws::Endpoints::Endpoint.new(url: endpoint, headers: {}, properties: {})
25
+ end
26
+ if Aws::Endpoints::Matchers.set?(region)
27
+ if (partition_result = Aws::Endpoints::Matchers.aws_partition(region))
28
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true) && Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
29
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS")) && Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
30
+ return Aws::Endpoints::Endpoint.new(url: "https://ebs-fips.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
31
+ end
32
+ raise ArgumentError, "FIPS and DualStack are enabled, but this partition does not support one or both"
33
+ end
34
+ if Aws::Endpoints::Matchers.boolean_equals?(use_fips, true)
35
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsFIPS"))
36
+ return Aws::Endpoints::Endpoint.new(url: "https://ebs-fips.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
37
+ end
38
+ raise ArgumentError, "FIPS is enabled but this partition does not support FIPS"
39
+ end
40
+ if Aws::Endpoints::Matchers.boolean_equals?(use_dual_stack, true)
41
+ if Aws::Endpoints::Matchers.boolean_equals?(true, Aws::Endpoints::Matchers.attr(partition_result, "supportsDualStack"))
42
+ return Aws::Endpoints::Endpoint.new(url: "https://ebs.#{region}.#{partition_result['dualStackDnsSuffix']}", headers: {}, properties: {})
43
+ end
44
+ raise ArgumentError, "DualStack is enabled but this partition does not support DualStack"
45
+ end
46
+ return Aws::Endpoints::Endpoint.new(url: "https://ebs.#{region}.#{partition_result['dnsSuffix']}", headers: {}, properties: {})
47
+ end
48
+ end
49
+ raise ArgumentError, "Invalid Configuration: Missing Region"
50
+ raise ArgumentError, 'No endpoint could be resolved'
51
+
52
+ end
53
+ end
54
+ end
@@ -0,0 +1,100 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::EBS
12
+ # @api private
13
+ module Endpoints
14
+
15
+ class CompleteSnapshot
16
+ def self.build(context)
17
+ unless context.config.regional_endpoint
18
+ endpoint = context.config.endpoint.to_s
19
+ end
20
+ Aws::EBS::EndpointParameters.new(
21
+ region: context.config.region,
22
+ use_dual_stack: context.config.use_dualstack_endpoint,
23
+ use_fips: context.config.use_fips_endpoint,
24
+ endpoint: endpoint,
25
+ )
26
+ end
27
+ end
28
+
29
+ class GetSnapshotBlock
30
+ def self.build(context)
31
+ unless context.config.regional_endpoint
32
+ endpoint = context.config.endpoint.to_s
33
+ end
34
+ Aws::EBS::EndpointParameters.new(
35
+ region: context.config.region,
36
+ use_dual_stack: context.config.use_dualstack_endpoint,
37
+ use_fips: context.config.use_fips_endpoint,
38
+ endpoint: endpoint,
39
+ )
40
+ end
41
+ end
42
+
43
+ class ListChangedBlocks
44
+ def self.build(context)
45
+ unless context.config.regional_endpoint
46
+ endpoint = context.config.endpoint.to_s
47
+ end
48
+ Aws::EBS::EndpointParameters.new(
49
+ region: context.config.region,
50
+ use_dual_stack: context.config.use_dualstack_endpoint,
51
+ use_fips: context.config.use_fips_endpoint,
52
+ endpoint: endpoint,
53
+ )
54
+ end
55
+ end
56
+
57
+ class ListSnapshotBlocks
58
+ def self.build(context)
59
+ unless context.config.regional_endpoint
60
+ endpoint = context.config.endpoint.to_s
61
+ end
62
+ Aws::EBS::EndpointParameters.new(
63
+ region: context.config.region,
64
+ use_dual_stack: context.config.use_dualstack_endpoint,
65
+ use_fips: context.config.use_fips_endpoint,
66
+ endpoint: endpoint,
67
+ )
68
+ end
69
+ end
70
+
71
+ class PutSnapshotBlock
72
+ def self.build(context)
73
+ unless context.config.regional_endpoint
74
+ endpoint = context.config.endpoint.to_s
75
+ end
76
+ Aws::EBS::EndpointParameters.new(
77
+ region: context.config.region,
78
+ use_dual_stack: context.config.use_dualstack_endpoint,
79
+ use_fips: context.config.use_fips_endpoint,
80
+ endpoint: endpoint,
81
+ )
82
+ end
83
+ end
84
+
85
+ class StartSnapshot
86
+ def self.build(context)
87
+ unless context.config.regional_endpoint
88
+ endpoint = context.config.endpoint.to_s
89
+ end
90
+ Aws::EBS::EndpointParameters.new(
91
+ region: context.config.region,
92
+ use_dual_stack: context.config.use_dualstack_endpoint,
93
+ use_fips: context.config.use_fips_endpoint,
94
+ endpoint: endpoint,
95
+ )
96
+ end
97
+ end
98
+
99
+ end
100
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+
11
+ module Aws::EBS
12
+ module Plugins
13
+ class Endpoints < Seahorse::Client::Plugin
14
+ option(
15
+ :endpoint_provider,
16
+ doc_type: 'Aws::EBS::EndpointProvider',
17
+ docstring: 'The endpoint provider used to resolve endpoints. Any '\
18
+ 'object that responds to `#resolve_endpoint(parameters)` '\
19
+ 'where `parameters` is a Struct similar to '\
20
+ '`Aws::EBS::EndpointParameters`'
21
+ ) do |cfg|
22
+ Aws::EBS::EndpointProvider.new
23
+ end
24
+
25
+ # @api private
26
+ class Handler < Seahorse::Client::Handler
27
+ def call(context)
28
+ # If endpoint was discovered, do not resolve or apply the endpoint.
29
+ unless context[:discovered_endpoint]
30
+ params = parameters_for_operation(context)
31
+ endpoint = context.config.endpoint_provider.resolve_endpoint(params)
32
+
33
+ context.http_request.endpoint = endpoint.url
34
+ apply_endpoint_headers(context, endpoint.headers)
35
+ end
36
+
37
+ context[:endpoint_params] = params
38
+ context[:auth_scheme] =
39
+ Aws::Endpoints.resolve_auth_scheme(context, endpoint)
40
+
41
+ @handler.call(context)
42
+ end
43
+
44
+ private
45
+
46
+ def apply_endpoint_headers(context, headers)
47
+ headers.each do |key, values|
48
+ value = values
49
+ .compact
50
+ .map { |s| Seahorse::Util.escape_header_list_string(s.to_s) }
51
+ .join(',')
52
+
53
+ context.http_request.headers[key] = value
54
+ end
55
+ end
56
+
57
+ def parameters_for_operation(context)
58
+ case context.operation_name
59
+ when :complete_snapshot
60
+ Aws::EBS::Endpoints::CompleteSnapshot.build(context)
61
+ when :get_snapshot_block
62
+ Aws::EBS::Endpoints::GetSnapshotBlock.build(context)
63
+ when :list_changed_blocks
64
+ Aws::EBS::Endpoints::ListChangedBlocks.build(context)
65
+ when :list_snapshot_blocks
66
+ Aws::EBS::Endpoints::ListSnapshotBlocks.build(context)
67
+ when :put_snapshot_block
68
+ Aws::EBS::Endpoints::PutSnapshotBlock.build(context)
69
+ when :start_snapshot
70
+ Aws::EBS::Endpoints::StartSnapshot.build(context)
71
+ end
72
+ end
73
+ end
74
+
75
+ def add_handlers(handlers, _config)
76
+ handlers.add(Handler, step: :build, priority: 75)
77
+ end
78
+ end
79
+ end
80
+ end
@@ -76,17 +76,6 @@ module Aws::EBS
76
76
  include Aws::Structure
77
77
  end
78
78
 
79
- # @note When making an API call, you may pass CompleteSnapshotRequest
80
- # data as a hash:
81
- #
82
- # {
83
- # snapshot_id: "SnapshotId", # required
84
- # changed_blocks_count: 1, # required
85
- # checksum: "Checksum",
86
- # checksum_algorithm: "SHA256", # accepts SHA256
87
- # checksum_aggregation_method: "LINEAR", # accepts LINEAR
88
- # }
89
- #
90
79
  # @!attribute [rw] snapshot_id
91
80
  # The ID of the snapshot.
92
81
  # @return [String]
@@ -173,30 +162,30 @@ module Aws::EBS
173
162
  include Aws::Structure
174
163
  end
175
164
 
176
- # @note When making an API call, you may pass GetSnapshotBlockRequest
177
- # data as a hash:
178
- #
179
- # {
180
- # snapshot_id: "SnapshotId", # required
181
- # block_index: 1, # required
182
- # block_token: "BlockToken", # required
183
- # }
184
- #
185
165
  # @!attribute [rw] snapshot_id
186
166
  # The ID of the snapshot containing the block from which to get data.
167
+ #
168
+ # If the specified snapshot is encrypted, you must have permission to
169
+ # use the KMS key that was used to encrypt the snapshot. For more
170
+ # information, see [ Using encryption][1] in the *Amazon Elastic
171
+ # Compute Cloud User Guide*.
172
+ #
173
+ #
174
+ #
175
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
187
176
  # @return [String]
188
177
  #
189
178
  # @!attribute [rw] block_index
190
- # The block index of the block from which to get data.
191
- #
192
- # Obtain the `BlockIndex` by running the `ListChangedBlocks` or
193
- # `ListSnapshotBlocks` operations.
179
+ # The block index of the block in which to read the data. A block
180
+ # index is a logical index in units of `512` KiB blocks. To identify
181
+ # the block index, divide the logical offset of the data in the
182
+ # logical volume by the block size (logical offset of data/`524288`).
183
+ # The logical offset of the data must be `512` KiB aligned.
194
184
  # @return [Integer]
195
185
  #
196
186
  # @!attribute [rw] block_token
197
- # The block token of the block from which to get data.
198
- #
199
- # Obtain the `BlockToken` by running the `ListChangedBlocks` or
187
+ # The block token of the block from which to get data. You can obtain
188
+ # the `BlockToken` by running the `ListChangedBlocks` or
200
189
  # `ListSnapshotBlocks` operations.
201
190
  # @return [String]
202
191
  #
@@ -238,7 +227,12 @@ module Aws::EBS
238
227
  include Aws::Structure
239
228
  end
240
229
 
241
- # An internal error has occurred.
230
+ # An internal error has occurred. For more information see [Error
231
+ # retries][1].
232
+ #
233
+ #
234
+ #
235
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
242
236
  #
243
237
  # @!attribute [rw] message
244
238
  # @return [String]
@@ -251,17 +245,6 @@ module Aws::EBS
251
245
  include Aws::Structure
252
246
  end
253
247
 
254
- # @note When making an API call, you may pass ListChangedBlocksRequest
255
- # data as a hash:
256
- #
257
- # {
258
- # first_snapshot_id: "SnapshotId",
259
- # second_snapshot_id: "SnapshotId", # required
260
- # next_token: "PageToken",
261
- # max_results: 1,
262
- # starting_block_index: 1,
263
- # }
264
- #
265
248
  # @!attribute [rw] first_snapshot_id
266
249
  # The ID of the first snapshot to use for the comparison.
267
250
  #
@@ -278,10 +261,21 @@ module Aws::EBS
278
261
  #
279
262
  # @!attribute [rw] next_token
280
263
  # The token to request the next page of results.
264
+ #
265
+ # If you specify **NextToken**, then **StartingBlockIndex** is
266
+ # ignored.
281
267
  # @return [String]
282
268
  #
283
269
  # @!attribute [rw] max_results
284
- # The number of results to return.
270
+ # The maximum number of blocks to be returned by the request.
271
+ #
272
+ # Even if additional blocks can be retrieved from the snapshot, the
273
+ # request can return less blocks than **MaxResults** or an empty array
274
+ # of blocks.
275
+ #
276
+ # To retrieve the next set of blocks from the snapshot, make another
277
+ # request with the returned **NextToken** value. The value of
278
+ # **NextToken** is `null` when there are no more blocks to return.
285
279
  # @return [Integer]
286
280
  #
287
281
  # @!attribute [rw] starting_block_index
@@ -289,6 +283,9 @@ module Aws::EBS
289
283
  #
290
284
  # The list in the response will start from this block index or the
291
285
  # next valid block index in the snapshots.
286
+ #
287
+ # If you specify **NextToken**, then **StartingBlockIndex** is
288
+ # ignored.
292
289
  # @return [Integer]
293
290
  #
294
291
  # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ListChangedBlocksRequest AWS API Documentation
@@ -336,16 +333,6 @@ module Aws::EBS
336
333
  include Aws::Structure
337
334
  end
338
335
 
339
- # @note When making an API call, you may pass ListSnapshotBlocksRequest
340
- # data as a hash:
341
- #
342
- # {
343
- # snapshot_id: "SnapshotId", # required
344
- # next_token: "PageToken",
345
- # max_results: 1,
346
- # starting_block_index: 1,
347
- # }
348
- #
349
336
  # @!attribute [rw] snapshot_id
350
337
  # The ID of the snapshot from which to get block indexes and block
351
338
  # tokens.
@@ -353,16 +340,30 @@ module Aws::EBS
353
340
  #
354
341
  # @!attribute [rw] next_token
355
342
  # The token to request the next page of results.
343
+ #
344
+ # If you specify **NextToken**, then **StartingBlockIndex** is
345
+ # ignored.
356
346
  # @return [String]
357
347
  #
358
348
  # @!attribute [rw] max_results
359
- # The number of results to return.
349
+ # The maximum number of blocks to be returned by the request.
350
+ #
351
+ # Even if additional blocks can be retrieved from the snapshot, the
352
+ # request can return less blocks than **MaxResults** or an empty array
353
+ # of blocks.
354
+ #
355
+ # To retrieve the next set of blocks from the snapshot, make another
356
+ # request with the returned **NextToken** value. The value of
357
+ # **NextToken** is `null` when there are no more blocks to return.
360
358
  # @return [Integer]
361
359
  #
362
360
  # @!attribute [rw] starting_block_index
363
361
  # The block index from which the list should start. The list in the
364
362
  # response will start from this block index or the next valid block
365
363
  # index in the snapshot.
364
+ #
365
+ # If you specify **NextToken**, then **StartingBlockIndex** is
366
+ # ignored.
366
367
  # @return [Integer]
367
368
  #
368
369
  # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/ListSnapshotBlocksRequest AWS API Documentation
@@ -409,21 +410,17 @@ module Aws::EBS
409
410
  include Aws::Structure
410
411
  end
411
412
 
412
- # @note When making an API call, you may pass PutSnapshotBlockRequest
413
- # data as a hash:
414
- #
415
- # {
416
- # snapshot_id: "SnapshotId", # required
417
- # block_index: 1, # required
418
- # block_data: "data", # required
419
- # data_length: 1, # required
420
- # progress: 1,
421
- # checksum: "Checksum", # required
422
- # checksum_algorithm: "SHA256", # required, accepts SHA256
423
- # }
424
- #
425
413
  # @!attribute [rw] snapshot_id
426
414
  # The ID of the snapshot.
415
+ #
416
+ # If the specified snapshot is encrypted, you must have permission to
417
+ # use the KMS key that was used to encrypt the snapshot. For more
418
+ # information, see [ Using encryption][1] in the *Amazon Elastic
419
+ # Compute Cloud User Guide*..
420
+ #
421
+ #
422
+ #
423
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
427
424
  # @return [String]
428
425
  #
429
426
  # @!attribute [rw] block_index
@@ -506,8 +503,13 @@ module Aws::EBS
506
503
  include Aws::Structure
507
504
  end
508
505
 
509
- # The number of API requests has exceed the maximum allowed API request
510
- # throttling limit.
506
+ # The number of API requests has exceeded the maximum allowed API
507
+ # request throttling limit for the snapshot. For more information see
508
+ # [Error retries][1].
509
+ #
510
+ #
511
+ #
512
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/error-retries.html
511
513
  #
512
514
  # @!attribute [rw] message
513
515
  # @return [String]
@@ -561,25 +563,6 @@ module Aws::EBS
561
563
  include Aws::Structure
562
564
  end
563
565
 
564
- # @note When making an API call, you may pass StartSnapshotRequest
565
- # data as a hash:
566
- #
567
- # {
568
- # volume_size: 1, # required
569
- # parent_snapshot_id: "SnapshotId",
570
- # tags: [
571
- # {
572
- # key: "TagKey",
573
- # value: "TagValue",
574
- # },
575
- # ],
576
- # description: "Description",
577
- # client_token: "IdempotencyToken",
578
- # encrypted: false,
579
- # kms_key_arn: "KmsKeyArn",
580
- # timeout: 1,
581
- # }
582
- #
583
566
  # @!attribute [rw] volume_size
584
567
  # The size of the volume, in GiB. The maximum size is `65536` GiB (64
585
568
  # TiB).
@@ -590,13 +573,27 @@ module Aws::EBS
590
573
  # you are creating the first snapshot for an on-premises volume, omit
591
574
  # this parameter.
592
575
  #
593
- # If your account is enabled for encryption by default, you cannot use
594
- # an unencrypted snapshot as a parent snapshot. You must first create
595
- # an encrypted copy of the parent snapshot using [CopySnapshot][1].
576
+ # You can't specify **ParentSnapshotId** and **Encrypted** in the
577
+ # same request. If you specify both parameters, the request fails with
578
+ # `ValidationException`.
596
579
  #
580
+ # The encryption status of the snapshot depends on the values that you
581
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
582
+ # and whether your Amazon Web Services account is enabled for [
583
+ # encryption by default][1]. For more information, see [ Using
584
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
597
585
  #
586
+ # If you specify an encrypted parent snapshot, you must have
587
+ # permission to use the KMS key that was used to encrypt the parent
588
+ # snapshot. For more information, see [ Permissions to use Key
589
+ # Management Service keys][3] in the *Amazon Elastic Compute Cloud
590
+ # User Guide*.
598
591
  #
599
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html
592
+ #
593
+ #
594
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
595
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
596
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
600
597
  # @return [String]
601
598
  #
602
599
  # @!attribute [rw] tags
@@ -630,43 +627,50 @@ module Aws::EBS
630
627
  # @return [String]
631
628
  #
632
629
  # @!attribute [rw] encrypted
633
- # Indicates whether to encrypt the snapshot. To create an encrypted
634
- # snapshot, specify `true`. To create an unencrypted snapshot, omit
635
- # this parameter.
630
+ # Indicates whether to encrypt the snapshot.
636
631
  #
637
- # If you specify a value for **ParentSnapshotId**, omit this
638
- # parameter.
632
+ # You can't specify **Encrypted** and <b> ParentSnapshotId</b> in the
633
+ # same request. If you specify both parameters, the request fails with
634
+ # `ValidationException`.
639
635
  #
640
- # If you specify `true`, the snapshot is encrypted using the KMS key
641
- # specified using the **KmsKeyArn** parameter. If no value is
642
- # specified for **KmsKeyArn**, the default KMS key for your account is
643
- # used. If no default KMS key has been specified for your account, the
644
- # Amazon Web Services managed KMS key is used. To set a default KMS
645
- # key for your account, use [ ModifyEbsDefaultKmsKeyId][1].
636
+ # The encryption status of the snapshot depends on the values that you
637
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
638
+ # and whether your Amazon Web Services account is enabled for [
639
+ # encryption by default][1]. For more information, see [ Using
640
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
646
641
  #
647
- # If your account is enabled for encryption by default, you cannot set
648
- # this parameter to `false`. In this case, you can omit this
649
- # parameter.
642
+ # To create an encrypted snapshot, you must have permission to use the
643
+ # KMS key. For more information, see [ Permissions to use Key
644
+ # Management Service keys][3] in the *Amazon Elastic Compute Cloud
645
+ # User Guide*.
650
646
  #
651
- # For more information, see [ Using encryption][2] in the *Amazon
652
- # Elastic Compute Cloud User Guide*.
653
647
  #
654
648
  #
655
- #
656
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html
657
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption
649
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
650
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
651
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
658
652
  # @return [Boolean]
659
653
  #
660
654
  # @!attribute [rw] kms_key_arn
661
655
  # The Amazon Resource Name (ARN) of the Key Management Service (KMS)
662
- # key to be used to encrypt the snapshot. If you do not specify a KMS
663
- # key, the default Amazon Web Services managed KMS key is used.
656
+ # key to be used to encrypt the snapshot.
657
+ #
658
+ # The encryption status of the snapshot depends on the values that you
659
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
660
+ # and whether your Amazon Web Services account is enabled for [
661
+ # encryption by default][1]. For more information, see [ Using
662
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
663
+ #
664
+ # To create an encrypted snapshot, you must have permission to use the
665
+ # KMS key. For more information, see [ Permissions to use Key
666
+ # Management Service keys][3] in the *Amazon Elastic Compute Cloud
667
+ # User Guide*.
664
668
  #
665
- # If you specify a **ParentSnapshotId**, omit this parameter; the
666
- # snapshot will be encrypted using the same KMS key that was used to
667
- # encrypt the parent snapshot.
668
669
  #
669
- # If **Encrypted** is set to `true`, you must specify a KMS key ARN.
670
+ #
671
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
672
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
673
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
670
674
  # @return [String]
671
675
  #
672
676
  # @!attribute [rw] timeout
@@ -743,6 +747,10 @@ module Aws::EBS
743
747
  # key used to encrypt the snapshot.
744
748
  # @return [String]
745
749
  #
750
+ # @!attribute [rw] sse_type
751
+ # Reserved for future use.
752
+ # @return [String]
753
+ #
746
754
  # @see http://docs.aws.amazon.com/goto/WebAPI/ebs-2019-11-02/StartSnapshotResponse AWS API Documentation
747
755
  #
748
756
  class StartSnapshotResponse < Struct.new(
@@ -755,21 +763,14 @@ module Aws::EBS
755
763
  :block_size,
756
764
  :tags,
757
765
  :parent_snapshot_id,
758
- :kms_key_arn)
766
+ :kms_key_arn,
767
+ :sse_type)
759
768
  SENSITIVE = [:kms_key_arn]
760
769
  include Aws::Structure
761
770
  end
762
771
 
763
772
  # Describes a tag.
764
773
  #
765
- # @note When making an API call, you may pass Tag
766
- # data as a hash:
767
- #
768
- # {
769
- # key: "TagKey",
770
- # value: "TagValue",
771
- # }
772
- #
773
774
  # @!attribute [rw] key
774
775
  # The key of the tag.
775
776
  # @return [String]
data/lib/aws-sdk-ebs.rb CHANGED
@@ -13,9 +13,13 @@ require 'aws-sigv4'
13
13
 
14
14
  require_relative 'aws-sdk-ebs/types'
15
15
  require_relative 'aws-sdk-ebs/client_api'
16
+ require_relative 'aws-sdk-ebs/plugins/endpoints.rb'
16
17
  require_relative 'aws-sdk-ebs/client'
17
18
  require_relative 'aws-sdk-ebs/errors'
18
19
  require_relative 'aws-sdk-ebs/resource'
20
+ require_relative 'aws-sdk-ebs/endpoint_parameters'
21
+ require_relative 'aws-sdk-ebs/endpoint_provider'
22
+ require_relative 'aws-sdk-ebs/endpoints'
19
23
  require_relative 'aws-sdk-ebs/customizations'
20
24
 
21
25
  # This module provides support for Amazon Elastic Block Store. This module is available in the
@@ -48,6 +52,6 @@ require_relative 'aws-sdk-ebs/customizations'
48
52
  # @!group service
49
53
  module Aws::EBS
50
54
 
51
- GEM_VERSION = '1.21.0'
55
+ GEM_VERSION = '1.35.0'
52
56
 
53
57
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-ebs
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.21.0
4
+ version: 1.35.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-11-30 00:00:00.000000000 Z
11
+ date: 2023-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.122.0
22
+ version: 3.184.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.122.0
32
+ version: 3.184.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -59,7 +59,11 @@ files:
59
59
  - lib/aws-sdk-ebs/client.rb
60
60
  - lib/aws-sdk-ebs/client_api.rb
61
61
  - lib/aws-sdk-ebs/customizations.rb
62
+ - lib/aws-sdk-ebs/endpoint_parameters.rb
63
+ - lib/aws-sdk-ebs/endpoint_provider.rb
64
+ - lib/aws-sdk-ebs/endpoints.rb
62
65
  - lib/aws-sdk-ebs/errors.rb
66
+ - lib/aws-sdk-ebs/plugins/endpoints.rb
63
67
  - lib/aws-sdk-ebs/resource.rb
64
68
  - lib/aws-sdk-ebs/types.rb
65
69
  homepage: https://github.com/aws/aws-sdk-ruby