aws-sdk-ebs 1.25.0 → 1.27.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: 76787b57c3e30f227d540df0cd48615cf60d15160fdbe1258819c13c378bb685
4
- data.tar.gz: 10faacb671723f45e64a0eba8f6377899e8dd079bb4b603cb033755d964f85fd
3
+ metadata.gz: ef44f72d6d40d670fe66c328190d8f7e9167f96d65846c5be0a951d815c63b33
4
+ data.tar.gz: ce80d750593b4c4415ed00826a447cb4fcd77d0b2b36ec7468df64a406683ead
5
5
  SHA512:
6
- metadata.gz: bedcf78590b9de9cbc7c357cba11cd0720fff341122c2270d8dc1c9712c11f022f9e4edac52932a8e0cb4237129b3ca83c184c50c211ee84b5029377228e09a9
7
- data.tar.gz: 720edf413c0f22d61bb4087424210b5352f52a40c734304d43ffd7cf7faaec3854b796572b74b4dae70baeb07c45b8ead9e54b58d12859286bb5480c79563ae0
6
+ metadata.gz: 8a286d5982b24588169e94b1fc4c4f2248127a9831fd09cdddb726c8125bbeef4934b61728496897350dce3e9bbda13cd653a6b91d1e2cd9510779b25914f883
7
+ data.tar.gz: 8dfc9698c7a43cea70d46de838b2a1efba607c1e3359c0f64b4612959e7d0ba0eea8b9bcf940b89ada85f7cdf179c22ff291623353b2e97f584dcbd839bfafaa
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.27.0 (2022-10-25)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.26.0 (2022-03-23)
10
+ ------------------
11
+
12
+ * 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.
13
+
4
14
  1.25.0 (2022-02-24)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.25.0
1
+ 1.27.0
@@ -30,7 +30,7 @@ require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/checksum_algorithm.rb'
31
31
  require 'aws-sdk-core/plugins/defaults_mode.rb'
32
32
  require 'aws-sdk-core/plugins/recursion_detection.rb'
33
- require 'aws-sdk-core/plugins/signature_v4.rb'
33
+ require 'aws-sdk-core/plugins/sign.rb'
34
34
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
35
35
 
36
36
  Aws::Plugins::GlobalConfiguration.add_identifier(:ebs)
@@ -79,8 +79,9 @@ module Aws::EBS
79
79
  add_plugin(Aws::Plugins::ChecksumAlgorithm)
80
80
  add_plugin(Aws::Plugins::DefaultsMode)
81
81
  add_plugin(Aws::Plugins::RecursionDetection)
82
- add_plugin(Aws::Plugins::SignatureV4)
82
+ add_plugin(Aws::Plugins::Sign)
83
83
  add_plugin(Aws::Plugins::Protocols::RestJson)
84
+ add_plugin(Aws::EBS::Plugins::Endpoints)
84
85
 
85
86
  # @overload initialize(options)
86
87
  # @param [Hash] options
@@ -287,6 +288,19 @@ module Aws::EBS
287
288
  # ** Please note ** When response stubbing is enabled, no HTTP
288
289
  # requests are made, and retries are disabled.
289
290
  #
291
+ # @option options [Aws::TokenProvider] :token_provider
292
+ # A Bearer Token Provider. This can be an instance of any one of the
293
+ # following classes:
294
+ #
295
+ # * `Aws::StaticTokenProvider` - Used for configuring static, non-refreshing
296
+ # tokens.
297
+ #
298
+ # * `Aws::SSOTokenProvider` - Used for loading tokens from AWS SSO using an
299
+ # access token generated from `aws login`.
300
+ #
301
+ # When `:token_provider` is not configured directly, the `Aws::TokenProviderChain`
302
+ # will be used to search for tokens configured for your profile in shared configuration files.
303
+ #
290
304
  # @option options [Boolean] :use_dualstack_endpoint
291
305
  # When set to `true`, dualstack enabled endpoints (with `.aws` TLD)
292
306
  # will be used if available.
@@ -300,6 +314,9 @@ module Aws::EBS
300
314
  # When `true`, request parameters are validated before
301
315
  # sending the request.
302
316
  #
317
+ # @option options [Aws::EBS::EndpointProvider] :endpoint_provider
318
+ # 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`
319
+ #
303
320
  # @option options [URI::HTTP,String] :http_proxy A proxy to send
304
321
  # requests through. Formatted like 'http://proxy.com:123'.
305
322
  #
@@ -412,16 +429,25 @@ module Aws::EBS
412
429
  # @option params [required, String] :snapshot_id
413
430
  # The ID of the snapshot containing the block from which to get data.
414
431
  #
415
- # @option params [required, Integer] :block_index
416
- # The block index of the block from which to get data.
432
+ # If the specified snapshot is encrypted, you must have permission to
433
+ # use the KMS key that was used to encrypt the snapshot. For more
434
+ # information, see [ Using encryption][1] in the *Amazon Elastic Compute
435
+ # Cloud User Guide*.
417
436
  #
418
- # Obtain the `BlockIndex` by running the `ListChangedBlocks` or
419
- # `ListSnapshotBlocks` operations.
420
437
  #
421
- # @option params [required, String] :block_token
422
- # The block token of the block from which to get data.
423
438
  #
424
- # Obtain the `BlockToken` by running the `ListChangedBlocks` or
439
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
440
+ #
441
+ # @option params [required, Integer] :block_index
442
+ # The block index of the block in which to read the data. A block index
443
+ # is a logical index in units of `512` KiB blocks. To identify the block
444
+ # index, divide the logical offset of the data in the logical volume by
445
+ # the block size (logical offset of data/`524288`). The logical offset
446
+ # of the data must be `512` KiB aligned.
447
+ #
448
+ # @option params [required, String] :block_token
449
+ # The block token of the block from which to get data. You can obtain
450
+ # the `BlockToken` by running the `ListChangedBlocks` or
425
451
  # `ListSnapshotBlocks` operations.
426
452
  #
427
453
  # @return [Types::GetSnapshotBlockResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
@@ -612,6 +638,15 @@ module Aws::EBS
612
638
  # @option params [required, String] :snapshot_id
613
639
  # The ID of the snapshot.
614
640
  #
641
+ # If the specified snapshot is encrypted, you must have permission to
642
+ # use the KMS key that was used to encrypt the snapshot. For more
643
+ # information, see [ Using encryption][1] in the *Amazon Elastic Compute
644
+ # Cloud User Guide*..
645
+ #
646
+ #
647
+ #
648
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
649
+ #
615
650
  # @option params [required, Integer] :block_index
616
651
  # The block index of the block in which to write the data. A block index
617
652
  # is a logical index in units of `512` KiB blocks. To identify the block
@@ -705,13 +740,26 @@ module Aws::EBS
705
740
  # you are creating the first snapshot for an on-premises volume, omit
706
741
  # this parameter.
707
742
  #
708
- # If your account is enabled for encryption by default, you cannot use
709
- # an unencrypted snapshot as a parent snapshot. You must first create an
710
- # encrypted copy of the parent snapshot using [CopySnapshot][1].
743
+ # You can't specify **ParentSnapshotId** and **Encrypted** in the same
744
+ # request. If you specify both parameters, the request fails with
745
+ # `ValidationException`.
746
+ #
747
+ # The encryption status of the snapshot depends on the values that you
748
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
749
+ # and whether your Amazon Web Services account is enabled for [
750
+ # encryption by default][1]. For more information, see [ Using
751
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
711
752
  #
753
+ # If you specify an encrypted parent snapshot, you must have permission
754
+ # to use the KMS key that was used to encrypt the parent snapshot. For
755
+ # more information, see [ Permissions to use Key Management Service
756
+ # keys][3] in the *Amazon Elastic Compute Cloud User Guide*.
712
757
  #
713
758
  #
714
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html
759
+ #
760
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
761
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
762
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
715
763
  #
716
764
  # @option params [Array<Types::Tag>] :tags
717
765
  # The tags to apply to the snapshot.
@@ -741,40 +789,47 @@ module Aws::EBS
741
789
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-direct-api-idempotency.html
742
790
  #
743
791
  # @option params [Boolean] :encrypted
744
- # Indicates whether to encrypt the snapshot. To create an encrypted
745
- # snapshot, specify `true`. To create an unencrypted snapshot, omit this
746
- # parameter.
747
- #
748
- # If you specify a value for **ParentSnapshotId**, omit this parameter.
792
+ # Indicates whether to encrypt the snapshot.
749
793
  #
750
- # If you specify `true`, the snapshot is encrypted using the KMS key
751
- # specified using the **KmsKeyArn** parameter. If no value is specified
752
- # for **KmsKeyArn**, the default KMS key for your account is used. If no
753
- # default KMS key has been specified for your account, the Amazon Web
754
- # Services managed KMS key is used. To set a default KMS key for your
755
- # account, use [ ModifyEbsDefaultKmsKeyId][1].
794
+ # You can't specify **Encrypted** and <b> ParentSnapshotId</b> in the
795
+ # same request. If you specify both parameters, the request fails with
796
+ # `ValidationException`.
756
797
  #
757
- # If your account is enabled for encryption by default, you cannot set
758
- # this parameter to `false`. In this case, you can omit this parameter.
798
+ # The encryption status of the snapshot depends on the values that you
799
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
800
+ # and whether your Amazon Web Services account is enabled for [
801
+ # encryption by default][1]. For more information, see [ Using
802
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
759
803
  #
760
- # For more information, see [ Using encryption][2] in the *Amazon
761
- # Elastic Compute Cloud User Guide*.
804
+ # To create an encrypted snapshot, you must have permission to use the
805
+ # KMS key. For more information, see [ Permissions to use Key Management
806
+ # Service keys][3] in the *Amazon Elastic Compute Cloud User Guide*.
762
807
  #
763
808
  #
764
809
  #
765
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html
766
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption
810
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
811
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
812
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
767
813
  #
768
814
  # @option params [String] :kms_key_arn
769
815
  # The Amazon Resource Name (ARN) of the Key Management Service (KMS) key
770
- # to be used to encrypt the snapshot. If you do not specify a KMS key,
771
- # the default Amazon Web Services managed KMS key is used.
816
+ # to be used to encrypt the snapshot.
817
+ #
818
+ # The encryption status of the snapshot depends on the values that you
819
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
820
+ # and whether your Amazon Web Services account is enabled for [
821
+ # encryption by default][1]. For more information, see [ Using
822
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
823
+ #
824
+ # To create an encrypted snapshot, you must have permission to use the
825
+ # KMS key. For more information, see [ Permissions to use Key Management
826
+ # Service keys][3] in the *Amazon Elastic Compute Cloud User Guide*.
827
+ #
772
828
  #
773
- # If you specify a **ParentSnapshotId**, omit this parameter; the
774
- # snapshot will be encrypted using the same KMS key that was used to
775
- # encrypt the parent snapshot.
776
829
  #
777
- # If **Encrypted** is set to `true`, you must specify a KMS key ARN.
830
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
831
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
832
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
778
833
  #
779
834
  # @option params [Integer] :timeout
780
835
  # The amount of time (in minutes) after which the snapshot is
@@ -854,7 +909,7 @@ module Aws::EBS
854
909
  params: params,
855
910
  config: config)
856
911
  context[:gem_name] = 'aws-sdk-ebs'
857
- context[:gem_version] = '1.25.0'
912
+ context[:gem_version] = '1.27.0'
858
913
  Seahorse::Client::Request.new(handlers, context)
859
914
  end
860
915
 
@@ -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,111 @@
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 initialize(rule_set = nil)
13
+ @@rule_set ||= begin
14
+ endpoint_rules = Aws::Json.load(Base64.decode64(RULES))
15
+ Aws::Endpoints::RuleSet.new(
16
+ version: endpoint_rules['version'],
17
+ service_id: endpoint_rules['serviceId'],
18
+ parameters: endpoint_rules['parameters'],
19
+ rules: endpoint_rules['rules']
20
+ )
21
+ end
22
+ @provider = Aws::Endpoints::RulesProvider.new(rule_set || @@rule_set)
23
+ end
24
+
25
+ def resolve_endpoint(parameters)
26
+ @provider.resolve_endpoint(parameters)
27
+ end
28
+
29
+ # @api private
30
+ RULES = <<-JSON
31
+ eyJ2ZXJzaW9uIjoiMS4wIiwicGFyYW1ldGVycyI6eyJSZWdpb24iOnsiYnVp
32
+ bHRJbiI6IkFXUzo6UmVnaW9uIiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1bWVu
33
+ dGF0aW9uIjoiVGhlIEFXUyByZWdpb24gdXNlZCB0byBkaXNwYXRjaCB0aGUg
34
+ cmVxdWVzdC4iLCJ0eXBlIjoiU3RyaW5nIn0sIlVzZUR1YWxTdGFjayI6eyJi
35
+ dWlsdEluIjoiQVdTOjpVc2VEdWFsU3RhY2siLCJyZXF1aXJlZCI6dHJ1ZSwi
36
+ ZGVmYXVsdCI6ZmFsc2UsImRvY3VtZW50YXRpb24iOiJXaGVuIHRydWUsIHVz
37
+ ZSB0aGUgZHVhbC1zdGFjayBlbmRwb2ludC4gSWYgdGhlIGNvbmZpZ3VyZWQg
38
+ ZW5kcG9pbnQgZG9lcyBub3Qgc3VwcG9ydCBkdWFsLXN0YWNrLCBkaXNwYXRj
39
+ aGluZyB0aGUgcmVxdWVzdCBNQVkgcmV0dXJuIGFuIGVycm9yLiIsInR5cGUi
40
+ OiJCb29sZWFuIn0sIlVzZUZJUFMiOnsiYnVpbHRJbiI6IkFXUzo6VXNlRklQ
41
+ UyIsInJlcXVpcmVkIjp0cnVlLCJkZWZhdWx0IjpmYWxzZSwiZG9jdW1lbnRh
42
+ dGlvbiI6IldoZW4gdHJ1ZSwgc2VuZCB0aGlzIHJlcXVlc3QgdG8gdGhlIEZJ
43
+ UFMtY29tcGxpYW50IHJlZ2lvbmFsIGVuZHBvaW50LiBJZiB0aGUgY29uZmln
44
+ dXJlZCBlbmRwb2ludCBkb2VzIG5vdCBoYXZlIGEgRklQUyBjb21wbGlhbnQg
45
+ ZW5kcG9pbnQsIGRpc3BhdGNoaW5nIHRoZSByZXF1ZXN0IHdpbGwgcmV0dXJu
46
+ IGFuIGVycm9yLiIsInR5cGUiOiJCb29sZWFuIn0sIkVuZHBvaW50Ijp7ImJ1
47
+ aWx0SW4iOiJTREs6OkVuZHBvaW50IiwicmVxdWlyZWQiOmZhbHNlLCJkb2N1
48
+ bWVudGF0aW9uIjoiT3ZlcnJpZGUgdGhlIGVuZHBvaW50IHVzZWQgdG8gc2Vu
49
+ ZCB0aGlzIHJlcXVlc3QiLCJ0eXBlIjoiU3RyaW5nIn19LCJydWxlcyI6W3si
50
+ Y29uZGl0aW9ucyI6W3siZm4iOiJhd3MucGFydGl0aW9uIiwiYXJndiI6W3si
51
+ cmVmIjoiUmVnaW9uIn1dLCJhc3NpZ24iOiJQYXJ0aXRpb25SZXN1bHQifV0s
52
+ InR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOlt7ImZuIjoi
53
+ aXNTZXQiLCJhcmd2IjpbeyJyZWYiOiJFbmRwb2ludCJ9XX0seyJmbiI6InBh
54
+ cnNlVVJMIiwiYXJndiI6W3sicmVmIjoiRW5kcG9pbnQifV0sImFzc2lnbiI6
55
+ InVybCJ9XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
56
+ W3siZm4iOiJib29sZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQ
57
+ UyJ9LHRydWVdfV0sImVycm9yIjoiSW52YWxpZCBDb25maWd1cmF0aW9uOiBG
58
+ SVBTIGFuZCBjdXN0b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0
59
+ eXBlIjoiZXJyb3IifSx7ImNvbmRpdGlvbnMiOltdLCJ0eXBlIjoidHJlZSIs
60
+ InJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
61
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJlcnJv
62
+ ciI6IkludmFsaWQgQ29uZmlndXJhdGlvbjogRHVhbHN0YWNrIGFuZCBjdXN0
63
+ b20gZW5kcG9pbnQgYXJlIG5vdCBzdXBwb3J0ZWQiLCJ0eXBlIjoiZXJyb3Ii
64
+ fSx7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2ludCI6eyJ1cmwiOnsicmVmIjoi
65
+ RW5kcG9pbnQifSwicHJvcGVydGllcyI6e30sImhlYWRlcnMiOnt9fSwidHlw
66
+ ZSI6ImVuZHBvaW50In1dfV19LHsiY29uZGl0aW9ucyI6W3siZm4iOiJib29s
67
+ ZWFuRXF1YWxzIiwiYXJndiI6W3sicmVmIjoiVXNlRklQUyJ9LHRydWVdfSx7
68
+ ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUR1YWxT
69
+ dGFjayJ9LHRydWVdfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
70
+ dGlvbnMiOlt7ImZuIjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt0cnVlLHsi
71
+ Zm4iOiJnZXRBdHRyIiwiYXJndiI6W3sicmVmIjoiUGFydGl0aW9uUmVzdWx0
72
+ In0sInN1cHBvcnRzRklQUyJdfV19LHsiZm4iOiJib29sZWFuRXF1YWxzIiwi
73
+ YXJndiI6W3RydWUseyJmbiI6ImdldEF0dHIiLCJhcmd2IjpbeyJyZWYiOiJQ
74
+ YXJ0aXRpb25SZXN1bHQifSwic3VwcG9ydHNEdWFsU3RhY2siXX1dfV0sInR5
75
+ cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRpdGlvbnMiOltdLCJlbmRwb2lu
76
+ dCI6eyJ1cmwiOiJodHRwczovL2Vicy1maXBzLntSZWdpb259LntQYXJ0aXRp
77
+ b25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9
78
+ LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJjb25kaXRp
79
+ b25zIjpbXSwiZXJyb3IiOiJGSVBTIGFuZCBEdWFsU3RhY2sgYXJlIGVuYWJs
80
+ ZWQsIGJ1dCB0aGlzIHBhcnRpdGlvbiBkb2VzIG5vdCBzdXBwb3J0IG9uZSBv
81
+ ciBib3RoIiwidHlwZSI6ImVycm9yIn1dfSx7ImNvbmRpdGlvbnMiOlt7ImZu
82
+ IjoiYm9vbGVhbkVxdWFscyIsImFyZ3YiOlt7InJlZiI6IlVzZUZJUFMifSx0
83
+ cnVlXX1dLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpb
84
+ eyJmbiI6ImJvb2xlYW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0
85
+ QXR0ciIsImFyZ3YiOlt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBw
86
+ b3J0c0ZJUFMiXX1dfV0sInR5cGUiOiJ0cmVlIiwicnVsZXMiOlt7ImNvbmRp
87
+ dGlvbnMiOltdLCJ0eXBlIjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25z
88
+ IjpbXSwiZW5kcG9pbnQiOnsidXJsIjoiaHR0cHM6Ly9lYnMtZmlwcy57UmVn
89
+ aW9ufS57UGFydGl0aW9uUmVzdWx0I2Ruc1N1ZmZpeH0iLCJwcm9wZXJ0aWVz
90
+ Ijp7fSwiaGVhZGVycyI6e319LCJ0eXBlIjoiZW5kcG9pbnQifV19XX0seyJj
91
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJGSVBTIGlzIGVuYWJsZWQgYnV0IHRo
92
+ aXMgcGFydGl0aW9uIGRvZXMgbm90IHN1cHBvcnQgRklQUyIsInR5cGUiOiJl
93
+ cnJvciJ9XX0seyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xlYW5FcXVhbHMi
94
+ LCJhcmd2IjpbeyJyZWYiOiJVc2VEdWFsU3RhY2sifSx0cnVlXX1dLCJ0eXBl
95
+ IjoidHJlZSIsInJ1bGVzIjpbeyJjb25kaXRpb25zIjpbeyJmbiI6ImJvb2xl
96
+ YW5FcXVhbHMiLCJhcmd2IjpbdHJ1ZSx7ImZuIjoiZ2V0QXR0ciIsImFyZ3Yi
97
+ Olt7InJlZiI6IlBhcnRpdGlvblJlc3VsdCJ9LCJzdXBwb3J0c0R1YWxTdGFj
98
+ ayJdfV19XSwidHlwZSI6InRyZWUiLCJydWxlcyI6W3siY29uZGl0aW9ucyI6
99
+ W10sImVuZHBvaW50Ijp7InVybCI6Imh0dHBzOi8vZWJzLntSZWdpb259LntQ
100
+ YXJ0aXRpb25SZXN1bHQjZHVhbFN0YWNrRG5zU3VmZml4fSIsInByb3BlcnRp
101
+ ZXMiOnt9LCJoZWFkZXJzIjp7fX0sInR5cGUiOiJlbmRwb2ludCJ9XX0seyJj
102
+ b25kaXRpb25zIjpbXSwiZXJyb3IiOiJEdWFsU3RhY2sgaXMgZW5hYmxlZCBi
103
+ dXQgdGhpcyBwYXJ0aXRpb24gZG9lcyBub3Qgc3VwcG9ydCBEdWFsU3RhY2si
104
+ LCJ0eXBlIjoiZXJyb3IifV19LHsiY29uZGl0aW9ucyI6W10sImVuZHBvaW50
105
+ Ijp7InVybCI6Imh0dHBzOi8vZWJzLntSZWdpb259LntQYXJ0aXRpb25SZXN1
106
+ bHQjZG5zU3VmZml4fSIsInByb3BlcnRpZXMiOnt9LCJoZWFkZXJzIjp7fX0s
107
+ InR5cGUiOiJlbmRwb2ludCJ9XX1dfQ==
108
+
109
+ JSON
110
+ end
111
+ end
@@ -0,0 +1,99 @@
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 Endpoints
13
+
14
+ class CompleteSnapshot
15
+ def self.build(context)
16
+ unless context.config.regional_endpoint
17
+ endpoint = context.config.endpoint.to_s
18
+ end
19
+ Aws::EBS::EndpointParameters.new(
20
+ region: context.config.region,
21
+ use_dual_stack: context.config.use_dualstack_endpoint,
22
+ use_fips: context.config.use_fips_endpoint,
23
+ endpoint: endpoint,
24
+ )
25
+ end
26
+ end
27
+
28
+ class GetSnapshotBlock
29
+ def self.build(context)
30
+ unless context.config.regional_endpoint
31
+ endpoint = context.config.endpoint.to_s
32
+ end
33
+ Aws::EBS::EndpointParameters.new(
34
+ region: context.config.region,
35
+ use_dual_stack: context.config.use_dualstack_endpoint,
36
+ use_fips: context.config.use_fips_endpoint,
37
+ endpoint: endpoint,
38
+ )
39
+ end
40
+ end
41
+
42
+ class ListChangedBlocks
43
+ def self.build(context)
44
+ unless context.config.regional_endpoint
45
+ endpoint = context.config.endpoint.to_s
46
+ end
47
+ Aws::EBS::EndpointParameters.new(
48
+ region: context.config.region,
49
+ use_dual_stack: context.config.use_dualstack_endpoint,
50
+ use_fips: context.config.use_fips_endpoint,
51
+ endpoint: endpoint,
52
+ )
53
+ end
54
+ end
55
+
56
+ class ListSnapshotBlocks
57
+ def self.build(context)
58
+ unless context.config.regional_endpoint
59
+ endpoint = context.config.endpoint.to_s
60
+ end
61
+ Aws::EBS::EndpointParameters.new(
62
+ region: context.config.region,
63
+ use_dual_stack: context.config.use_dualstack_endpoint,
64
+ use_fips: context.config.use_fips_endpoint,
65
+ endpoint: endpoint,
66
+ )
67
+ end
68
+ end
69
+
70
+ class PutSnapshotBlock
71
+ def self.build(context)
72
+ unless context.config.regional_endpoint
73
+ endpoint = context.config.endpoint.to_s
74
+ end
75
+ Aws::EBS::EndpointParameters.new(
76
+ region: context.config.region,
77
+ use_dual_stack: context.config.use_dualstack_endpoint,
78
+ use_fips: context.config.use_fips_endpoint,
79
+ endpoint: endpoint,
80
+ )
81
+ end
82
+ end
83
+
84
+ class StartSnapshot
85
+ def self.build(context)
86
+ unless context.config.regional_endpoint
87
+ endpoint = context.config.endpoint.to_s
88
+ end
89
+ Aws::EBS::EndpointParameters.new(
90
+ region: context.config.region,
91
+ use_dual_stack: context.config.use_dualstack_endpoint,
92
+ use_fips: context.config.use_fips_endpoint,
93
+ endpoint: endpoint,
94
+ )
95
+ end
96
+ end
97
+
98
+ end
99
+ 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
@@ -184,19 +184,28 @@ module Aws::EBS
184
184
  #
185
185
  # @!attribute [rw] snapshot_id
186
186
  # The ID of the snapshot containing the block from which to get data.
187
+ #
188
+ # If the specified snapshot is encrypted, you must have permission to
189
+ # use the KMS key that was used to encrypt the snapshot. For more
190
+ # information, see [ Using encryption][1] in the *Amazon Elastic
191
+ # Compute Cloud User Guide*.
192
+ #
193
+ #
194
+ #
195
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
187
196
  # @return [String]
188
197
  #
189
198
  # @!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.
199
+ # The block index of the block in which to read the data. A block
200
+ # index is a logical index in units of `512` KiB blocks. To identify
201
+ # the block index, divide the logical offset of the data in the
202
+ # logical volume by the block size (logical offset of data/`524288`).
203
+ # The logical offset of the data must be `512` KiB aligned.
194
204
  # @return [Integer]
195
205
  #
196
206
  # @!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
207
+ # The block token of the block from which to get data. You can obtain
208
+ # the `BlockToken` by running the `ListChangedBlocks` or
200
209
  # `ListSnapshotBlocks` operations.
201
210
  # @return [String]
202
211
  #
@@ -452,6 +461,15 @@ module Aws::EBS
452
461
  #
453
462
  # @!attribute [rw] snapshot_id
454
463
  # The ID of the snapshot.
464
+ #
465
+ # If the specified snapshot is encrypted, you must have permission to
466
+ # use the KMS key that was used to encrypt the snapshot. For more
467
+ # information, see [ Using encryption][1] in the *Amazon Elastic
468
+ # Compute Cloud User Guide*..
469
+ #
470
+ #
471
+ #
472
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
455
473
  # @return [String]
456
474
  #
457
475
  # @!attribute [rw] block_index
@@ -618,13 +636,27 @@ module Aws::EBS
618
636
  # you are creating the first snapshot for an on-premises volume, omit
619
637
  # this parameter.
620
638
  #
621
- # If your account is enabled for encryption by default, you cannot use
622
- # an unencrypted snapshot as a parent snapshot. You must first create
623
- # an encrypted copy of the parent snapshot using [CopySnapshot][1].
639
+ # You can't specify **ParentSnapshotId** and **Encrypted** in the
640
+ # same request. If you specify both parameters, the request fails with
641
+ # `ValidationException`.
642
+ #
643
+ # The encryption status of the snapshot depends on the values that you
644
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
645
+ # and whether your Amazon Web Services account is enabled for [
646
+ # encryption by default][1]. For more information, see [ Using
647
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
648
+ #
649
+ # If you specify an encrypted parent snapshot, you must have
650
+ # permission to use the KMS key that was used to encrypt the parent
651
+ # snapshot. For more information, see [ Permissions to use Key
652
+ # Management Service keys][3] in the *Amazon Elastic Compute Cloud
653
+ # User Guide*.
624
654
  #
625
655
  #
626
656
  #
627
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CopySnapshot.html
657
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
658
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
659
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
628
660
  # @return [String]
629
661
  #
630
662
  # @!attribute [rw] tags
@@ -658,43 +690,50 @@ module Aws::EBS
658
690
  # @return [String]
659
691
  #
660
692
  # @!attribute [rw] encrypted
661
- # Indicates whether to encrypt the snapshot. To create an encrypted
662
- # snapshot, specify `true`. To create an unencrypted snapshot, omit
663
- # this parameter.
664
- #
665
- # If you specify a value for **ParentSnapshotId**, omit this
666
- # parameter.
693
+ # Indicates whether to encrypt the snapshot.
667
694
  #
668
- # If you specify `true`, the snapshot is encrypted using the KMS key
669
- # specified using the **KmsKeyArn** parameter. If no value is
670
- # specified for **KmsKeyArn**, the default KMS key for your account is
671
- # used. If no default KMS key has been specified for your account, the
672
- # Amazon Web Services managed KMS key is used. To set a default KMS
673
- # key for your account, use [ ModifyEbsDefaultKmsKeyId][1].
695
+ # You can't specify **Encrypted** and <b> ParentSnapshotId</b> in the
696
+ # same request. If you specify both parameters, the request fails with
697
+ # `ValidationException`.
674
698
  #
675
- # If your account is enabled for encryption by default, you cannot set
676
- # this parameter to `false`. In this case, you can omit this
677
- # parameter.
699
+ # The encryption status of the snapshot depends on the values that you
700
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
701
+ # and whether your Amazon Web Services account is enabled for [
702
+ # encryption by default][1]. For more information, see [ Using
703
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
678
704
  #
679
- # For more information, see [ Using encryption][2] in the *Amazon
680
- # Elastic Compute Cloud User Guide*.
705
+ # To create an encrypted snapshot, you must have permission to use the
706
+ # KMS key. For more information, see [ Permissions to use Key
707
+ # Management Service keys][3] in the *Amazon Elastic Compute Cloud
708
+ # User Guide*.
681
709
  #
682
710
  #
683
711
  #
684
- # [1]: https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyEbsDefaultKmsKeyId.html
685
- # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-accessing-snapshot.html#ebsapis-using-encryption
712
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
713
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
714
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
686
715
  # @return [Boolean]
687
716
  #
688
717
  # @!attribute [rw] kms_key_arn
689
718
  # The Amazon Resource Name (ARN) of the Key Management Service (KMS)
690
- # key to be used to encrypt the snapshot. If you do not specify a KMS
691
- # key, the default Amazon Web Services managed KMS key is used.
719
+ # key to be used to encrypt the snapshot.
720
+ #
721
+ # The encryption status of the snapshot depends on the values that you
722
+ # specify for **Encrypted**, **KmsKeyArn**, and **ParentSnapshotId**,
723
+ # and whether your Amazon Web Services account is enabled for [
724
+ # encryption by default][1]. For more information, see [ Using
725
+ # encryption][2] in the *Amazon Elastic Compute Cloud User Guide*.
726
+ #
727
+ # To create an encrypted snapshot, you must have permission to use the
728
+ # KMS key. For more information, see [ Permissions to use Key
729
+ # Management Service keys][3] in the *Amazon Elastic Compute Cloud
730
+ # User Guide*.
731
+ #
692
732
  #
693
- # If you specify a **ParentSnapshotId**, omit this parameter; the
694
- # snapshot will be encrypted using the same KMS key that was used to
695
- # encrypt the parent snapshot.
696
733
  #
697
- # If **Encrypted** is set to `true`, you must specify a KMS key ARN.
734
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#encryption-by-default
735
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapis-using-encryption.html
736
+ # [3]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebsapi-permissions.html#ebsapi-kms-permissions
698
737
  # @return [String]
699
738
  #
700
739
  # @!attribute [rw] timeout
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.25.0'
55
+ GEM_VERSION = '1.27.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.25.0
4
+ version: 1.27.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: 2022-02-24 00:00:00.000000000 Z
11
+ date: 2022-10-25 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.127.0
22
+ version: 3.165.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.127.0
32
+ version: 3.165.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