aws-sdk-docdb 1.23.0 → 1.28.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: f5d719dc4f523dd9c3850caab8ed97b6e3de356ef465ce35612f726047acaa05
4
- data.tar.gz: 6418facbb94cac8c92abe036eca0cde87c98ba4df87f21dc957a39f889f611f7
3
+ metadata.gz: 9135f3129d8f85c62464e8e33c6c1c0f94913bd7ac876a7b4b8fec606199ec4e
4
+ data.tar.gz: e0a6e3b0f77e83eafe61355d95b5ac44bc739a4d20625edaf49e7672f5bba135
5
5
  SHA512:
6
- metadata.gz: 933da4fbd2af467fcbdef33f236019b1ec9f894f01cdc8155aa1342cb8560712fbbab51d7da9380f6890ed00a4ee1f39319f70e333db72c888d7d6ea7e064340
7
- data.tar.gz: bdd324b733838060d9e48d8e6be006c7d48cc43f24296869eabe6d5920f26bd77c817662e0dadaf1dda3a0483b79a7e3069cc1612400abf79cf8049f25e09c8c
6
+ metadata.gz: 9be722db8c3f714e96405be65aeabeb4ecde74ca1a0b2970dba1d0a22485754442f2fc121b83c56bbe951675b493a6dc2d68115d90622041c59cd04578ee098d
7
+ data.tar.gz: 93704e6bc402ba3dd2e5d21c097b6d358d3d51b739bd18365cb09e72ec6b8b6b4ee960930adc0ead77d952d8b41b5c1b3e546a3fc1a867920244d009a9a4b66e
data/lib/aws-sdk-docdb.rb CHANGED
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-docdb/customizations'
49
49
  # @!group service
50
50
  module Aws::DocDB
51
51
 
52
- GEM_VERSION = '1.23.0'
52
+ GEM_VERSION = '1.28.0'
53
53
 
54
54
  end
@@ -29,6 +29,7 @@ require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
29
  require 'aws-sdk-core/plugins/http_checksum.rb'
30
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
31
31
  require 'aws-sdk-core/plugins/protocols/query.rb'
32
+ require 'aws-sdk-docdb/plugins/cross_region_copying.rb'
32
33
 
33
34
  Aws::Plugins::GlobalConfiguration.add_identifier(:docdb)
34
35
 
@@ -75,6 +76,7 @@ module Aws::DocDB
75
76
  add_plugin(Aws::Plugins::HttpChecksum)
76
77
  add_plugin(Aws::Plugins::SignatureV4)
77
78
  add_plugin(Aws::Plugins::Protocols::Query)
79
+ add_plugin(Aws::DocDB::Plugins::CrossRegionCopying)
78
80
 
79
81
  # @overload initialize(options)
80
82
  # @param [Hash] options
@@ -599,6 +601,10 @@ module Aws::DocDB
599
601
  # @option params [Array<Types::Tag>] :tags
600
602
  # The tags to be assigned to the cluster snapshot.
601
603
  #
604
+ # @option params [String] :source_region
605
+ # The source region of the snapshot. This is only needed when the
606
+ # shapshot is encrypted and in a different region.
607
+ #
602
608
  # @return [Types::CopyDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
603
609
  #
604
610
  # * {Types::CopyDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
@@ -617,6 +623,7 @@ module Aws::DocDB
617
623
  # value: "String",
618
624
  # },
619
625
  # ],
626
+ # source_region: "String",
620
627
  # })
621
628
  #
622
629
  # @example Response structure
@@ -702,7 +709,10 @@ module Aws::DocDB
702
709
  # Valid values: `docdb`
703
710
  #
704
711
  # @option params [String] :engine_version
705
- # The version number of the database engine to use.
712
+ # The version number of the database engine to use. The --engine-version
713
+ # will default to the latest major engine version. For production
714
+ # workloads, we recommend explicitly declaring this parameter with the
715
+ # intended major engine version.
706
716
  #
707
717
  # @option params [Integer] :port
708
718
  # The port number on which the instances in the cluster accept
@@ -775,24 +785,15 @@ module Aws::DocDB
775
785
  #
776
786
  # If an encryption key is not specified in `KmsKeyId`\:
777
787
  #
778
- # * If `ReplicationSourceIdentifier` identifies an encrypted source,
779
- # then Amazon DocumentDB uses the encryption key that is used to
780
- # encrypt the source. Otherwise, Amazon DocumentDB uses your default
781
- # encryption key.
782
- #
783
- # * If the `StorageEncrypted` parameter is `true` and
784
- # `ReplicationSourceIdentifier` is not specified, Amazon DocumentDB
788
+ # * If the `StorageEncrypted` parameter is `true`, Amazon DocumentDB
785
789
  # uses your default encryption key.
786
790
  #
791
+ # ^
792
+ #
787
793
  # AWS KMS creates the default encryption key for your AWS account. Your
788
794
  # AWS account has a different default encryption key for each AWS
789
795
  # Region.
790
796
  #
791
- # If you create a replica of an encrypted cluster in another AWS Region,
792
- # you must set `KmsKeyId` to a KMS key ID that is valid in the
793
- # destination AWS Region. This key is used to encrypt the replica in
794
- # that AWS Region.
795
- #
796
797
  # @option params [String] :pre_signed_url
797
798
  # Not currently supported.
798
799
  #
@@ -813,6 +814,10 @@ module Aws::DocDB
813
814
  # `DeletionProtection` is disabled. `DeletionProtection` protects
814
815
  # clusters from being accidentally deleted.
815
816
  #
817
+ # @option params [String] :source_region
818
+ # The source region of the snapshot. This is only needed when the
819
+ # shapshot is encrypted and in a different region.
820
+ #
816
821
  # @return [Types::CreateDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
817
822
  #
818
823
  # * {Types::CreateDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
@@ -844,6 +849,7 @@ module Aws::DocDB
844
849
  # pre_signed_url: "String",
845
850
  # enable_cloudwatch_logs_exports: ["String"],
846
851
  # deletion_protection: false,
852
+ # source_region: "String",
847
853
  # })
848
854
  #
849
855
  # @example Response structure
@@ -4276,7 +4282,7 @@ module Aws::DocDB
4276
4282
  params: params,
4277
4283
  config: config)
4278
4284
  context[:gem_name] = 'aws-sdk-docdb'
4279
- context[:gem_version] = '1.23.0'
4285
+ context[:gem_version] = '1.28.0'
4280
4286
  Seahorse::Client::Request.new(handlers, context)
4281
4287
  end
4282
4288
 
@@ -263,6 +263,7 @@ module Aws::DocDB
263
263
  CopyDBClusterSnapshotMessage.add_member(:pre_signed_url, Shapes::ShapeRef.new(shape: String, location_name: "PreSignedUrl"))
264
264
  CopyDBClusterSnapshotMessage.add_member(:copy_tags, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "CopyTags"))
265
265
  CopyDBClusterSnapshotMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
266
+ CopyDBClusterSnapshotMessage.add_member(:source_region, Shapes::ShapeRef.new(shape: String, location_name: "SourceRegion"))
266
267
  CopyDBClusterSnapshotMessage.struct_class = Types::CopyDBClusterSnapshotMessage
267
268
 
268
269
  CopyDBClusterSnapshotResult.add_member(:db_cluster_snapshot, Shapes::ShapeRef.new(shape: DBClusterSnapshot, location_name: "DBClusterSnapshot"))
@@ -287,6 +288,7 @@ module Aws::DocDB
287
288
  CreateDBClusterMessage.add_member(:pre_signed_url, Shapes::ShapeRef.new(shape: String, location_name: "PreSignedUrl"))
288
289
  CreateDBClusterMessage.add_member(:enable_cloudwatch_logs_exports, Shapes::ShapeRef.new(shape: LogTypeList, location_name: "EnableCloudwatchLogsExports"))
289
290
  CreateDBClusterMessage.add_member(:deletion_protection, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "DeletionProtection"))
291
+ CreateDBClusterMessage.add_member(:source_region, Shapes::ShapeRef.new(shape: String, location_name: "SourceRegion"))
290
292
  CreateDBClusterMessage.struct_class = Types::CreateDBClusterMessage
291
293
 
292
294
  CreateDBClusterParameterGroupMessage.add_member(:db_cluster_parameter_group_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "DBClusterParameterGroupName"))
@@ -0,0 +1,67 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'aws-sigv4'
4
+
5
+ module Aws
6
+ module DocDB
7
+ module Plugins
8
+ # This plugin populates the `:pre_signed_url` request param for APIs
9
+ # that support cross region copying.
10
+ #
11
+ # This parameter is required by RDS when copying an encrypted snapshot
12
+ # across regions. This plugin will be skipped if the `:pre_signed_url`
13
+ # parameter is provided by the user.
14
+ class CrossRegionCopying < Seahorse::Client::Plugin
15
+ # @api private
16
+ class Handler < Seahorse::Client::Handler
17
+ def call(context)
18
+ params = context.params
19
+ if params.is_a?(Hash) &&
20
+ params[:source_region] && !params[:pre_signed_url]
21
+ params[:pre_signed_url] = presigned_url(context, params)
22
+ end
23
+ @handler.call(context)
24
+ end
25
+
26
+ private
27
+
28
+ def presigned_url(context, params)
29
+ # :source_region is not modeled in the api
30
+ source_region = params.delete(:source_region)
31
+ param_list = Aws::Query::ParamList.new
32
+ param_list.set('Action', context.operation.name)
33
+ param_list.set('DestinationRegion', context.config.region)
34
+ param_list.set('Version', context.config.api.version)
35
+ Aws::Query::ParamBuilder.new(param_list).apply(
36
+ context.operation.input,
37
+ params
38
+ )
39
+ signer = Aws::Sigv4::Signer.new(
40
+ service: 'rds',
41
+ region: source_region,
42
+ credentials_provider: context.config.credentials
43
+ )
44
+ url = Aws::Partitions::EndpointProvider.resolve(
45
+ signer.region, 'rds'
46
+ )
47
+ url += "?#{param_list}"
48
+ signer.presign_url(
49
+ http_method: 'GET',
50
+ url: url,
51
+ expires_in: 3600
52
+ ).to_s
53
+ end
54
+ end
55
+
56
+ handler(
57
+ Handler,
58
+ step: :initialize,
59
+ operations: [
60
+ :copy_db_cluster_snapshot,
61
+ :create_db_cluster
62
+ ]
63
+ )
64
+ end
65
+ end
66
+ end
67
+ end
@@ -334,6 +334,7 @@ module Aws::DocDB
334
334
  # value: "String",
335
335
  # },
336
336
  # ],
337
+ # source_region: "String",
337
338
  # }
338
339
  #
339
340
  # @!attribute [rw] source_db_cluster_snapshot_identifier
@@ -438,6 +439,11 @@ module Aws::DocDB
438
439
  # The tags to be assigned to the cluster snapshot.
439
440
  # @return [Array<Types::Tag>]
440
441
  #
442
+ # @!attribute [rw] source_region
443
+ # The source region of the snapshot. This is only needed when the
444
+ # shapshot is encrypted and in a different region.
445
+ # @return [String]
446
+ #
441
447
  # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CopyDBClusterSnapshotMessage AWS API Documentation
442
448
  #
443
449
  class CopyDBClusterSnapshotMessage < Struct.new(
@@ -446,7 +452,8 @@ module Aws::DocDB
446
452
  :kms_key_id,
447
453
  :pre_signed_url,
448
454
  :copy_tags,
449
- :tags)
455
+ :tags,
456
+ :source_region)
450
457
  SENSITIVE = []
451
458
  include Aws::Structure
452
459
  end
@@ -493,6 +500,7 @@ module Aws::DocDB
493
500
  # pre_signed_url: "String",
494
501
  # enable_cloudwatch_logs_exports: ["String"],
495
502
  # deletion_protection: false,
503
+ # source_region: "String",
496
504
  # }
497
505
  #
498
506
  # @!attribute [rw] availability_zones
@@ -553,7 +561,10 @@ module Aws::DocDB
553
561
  # @return [String]
554
562
  #
555
563
  # @!attribute [rw] engine_version
556
- # The version number of the database engine to use.
564
+ # The version number of the database engine to use. The
565
+ # --engine-version will default to the latest major engine version.
566
+ # For production workloads, we recommend explicitly declaring this
567
+ # parameter with the intended major engine version.
557
568
  # @return [String]
558
569
  #
559
570
  # @!attribute [rw] port
@@ -634,23 +645,14 @@ module Aws::DocDB
634
645
  #
635
646
  # If an encryption key is not specified in `KmsKeyId`\:
636
647
  #
637
- # * If `ReplicationSourceIdentifier` identifies an encrypted source,
638
- # then Amazon DocumentDB uses the encryption key that is used to
639
- # encrypt the source. Otherwise, Amazon DocumentDB uses your default
640
- # encryption key.
641
- #
642
- # * If the `StorageEncrypted` parameter is `true` and
643
- # `ReplicationSourceIdentifier` is not specified, Amazon DocumentDB
648
+ # * If the `StorageEncrypted` parameter is `true`, Amazon DocumentDB
644
649
  # uses your default encryption key.
645
650
  #
651
+ # ^
652
+ #
646
653
  # AWS KMS creates the default encryption key for your AWS account.
647
654
  # Your AWS account has a different default encryption key for each AWS
648
655
  # Region.
649
- #
650
- # If you create a replica of an encrypted cluster in another AWS
651
- # Region, you must set `KmsKeyId` to a KMS key ID that is valid in the
652
- # destination AWS Region. This key is used to encrypt the replica in
653
- # that AWS Region.
654
656
  # @return [String]
655
657
  #
656
658
  # @!attribute [rw] pre_signed_url
@@ -677,6 +679,11 @@ module Aws::DocDB
677
679
  # deleted.
678
680
  # @return [Boolean]
679
681
  #
682
+ # @!attribute [rw] source_region
683
+ # The source region of the snapshot. This is only needed when the
684
+ # shapshot is encrypted and in a different region.
685
+ # @return [String]
686
+ #
680
687
  # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterMessage AWS API Documentation
681
688
  #
682
689
  class CreateDBClusterMessage < Struct.new(
@@ -698,7 +705,8 @@ module Aws::DocDB
698
705
  :kms_key_id,
699
706
  :pre_signed_url,
700
707
  :enable_cloudwatch_logs_exports,
701
- :deletion_protection)
708
+ :deletion_protection,
709
+ :source_region)
702
710
  SENSITIVE = []
703
711
  include Aws::Structure
704
712
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-docdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.23.0
4
+ version: 1.28.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: 2020-09-15 00:00:00.000000000 Z
11
+ date: 2021-02-02 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.99.0
22
+ version: 3.112.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.99.0
32
+ version: 3.112.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -57,6 +57,7 @@ files:
57
57
  - lib/aws-sdk-docdb/client_api.rb
58
58
  - lib/aws-sdk-docdb/customizations.rb
59
59
  - lib/aws-sdk-docdb/errors.rb
60
+ - lib/aws-sdk-docdb/plugins/cross_region_copying.rb
60
61
  - lib/aws-sdk-docdb/resource.rb
61
62
  - lib/aws-sdk-docdb/types.rb
62
63
  - lib/aws-sdk-docdb/waiters.rb