aws-sdk-docdb 1.21.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: b2294ff131428a60a2a2fe34c66cb4e5917559fdabe882f166fd323b6ad386c4
4
- data.tar.gz: 7a1c7ed233ccb81887612f4c65446de3c12a94f4f47bc5f437de8e7ef882042e
3
+ metadata.gz: 935d4281c9928da301f3335928b984c21d61bfc0c5e87576687d5c5e358a2828
4
+ data.tar.gz: a1032acf3a2572abfe970c5e37fa4cbd40633fae4d1983638207098be9434fb8
5
5
  SHA512:
6
- metadata.gz: ea938b4e43deab8e86bbc8440c31dbf2cf5e229f21612bb03e1de6fbd56f2f2872cbb436f3e702c5301c9383d03970a00be1c584c7d9b3e3e96a510dfc6a5e90
7
- data.tar.gz: 1f95556d7939e9f26b7c4efd1c59f8685f8766b30212b9a2fdbb04fd7deda052e3377998445bdb4c37e2b4363991a5648f4d1b8099a685578b03abe453f6f815
6
+ metadata.gz: bf00ef31a82b3cba643a12477b3d9b692cdbe98146ad5ea36937cfc1b20ad07a89c6b81a284cf12428ac183e05a4a5227f90d495db3ab341ed0e88db1af48575
7
+ data.tar.gz: cbadb52070a7657e1b46f5b9f9a46ad8339792f2234a800bff6256af58237ab2297de10b70ce8c8f239f201c0f23c78937d9292784cf357e432ec0e80be96c01
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -48,6 +49,6 @@ require_relative 'aws-sdk-docdb/customizations'
48
49
  # @!group service
49
50
  module Aws::DocDB
50
51
 
51
- GEM_VERSION = '1.21.0'
52
+ GEM_VERSION = '1.27.0'
52
53
 
53
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
@@ -334,7 +336,7 @@ module Aws::DocDB
334
336
  #
335
337
  # @option params [required, String] :resource_name
336
338
  # The Amazon DocumentDB resource that the tags are added to. This value
337
- # is an Amazon Resource Name (ARN).
339
+ # is an Amazon Resource Name .
338
340
  #
339
341
  # @option params [required, Array<Types::Tag>] :tags
340
342
  # The tags to be assigned to the Amazon DocumentDB resource.
@@ -362,8 +364,8 @@ module Aws::DocDB
362
364
  req.send_request(options)
363
365
  end
364
366
 
365
- # Applies a pending maintenance action to a resource (for example, to a
366
- # DB instance).
367
+ # Applies a pending maintenance action to a resource (for example, to an
368
+ # Amazon DocumentDB instance).
367
369
  #
368
370
  # @option params [required, String] :resource_identifier
369
371
  # The Amazon Resource Name (ARN) of the resource that the pending
@@ -436,7 +438,7 @@ module Aws::DocDB
436
438
  #
437
439
  # * If the source parameter group is in a different AWS Region than the
438
440
  # copy, specify a valid cluster parameter group ARN; for example,
439
- # `arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1`.
441
+ # `arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group`.
440
442
  #
441
443
  # @option params [required, String] :target_db_cluster_parameter_group_identifier
442
444
  # The identifier for the copied cluster parameter group.
@@ -497,23 +499,21 @@ module Aws::DocDB
497
499
  #
498
500
  # To copy a cluster snapshot from a shared manual cluster snapshot,
499
501
  # `SourceDBClusterSnapshotIdentifier` must be the Amazon Resource Name
500
- # (ARN) of the shared cluster snapshot.
502
+ # (ARN) of the shared cluster snapshot. You can only copy a shared DB
503
+ # cluster snapshot, whether encrypted or not, in the same AWS Region.
501
504
  #
502
505
  # To cancel the copy operation after it is in progress, delete the
503
506
  # target cluster snapshot identified by
504
- # `TargetDBClusterSnapshotIdentifier` while that DB cluster snapshot is
505
- # in the *copying* status.
507
+ # `TargetDBClusterSnapshotIdentifier` while that cluster snapshot is in
508
+ # the *copying* status.
506
509
  #
507
510
  # @option params [required, String] :source_db_cluster_snapshot_identifier
508
511
  # The identifier of the cluster snapshot to copy. This parameter is not
509
512
  # case sensitive.
510
513
  #
511
- # You can't copy an encrypted, shared cluster snapshot from one AWS
512
- # Region to another.
513
- #
514
514
  # Constraints:
515
515
  #
516
- # * Must specify a valid system snapshot in the "available" state.
516
+ # * Must specify a valid system snapshot in the *available* state.
517
517
  #
518
518
  # * If the source snapshot is in the same AWS Region as the copy,
519
519
  # specify a valid snapshot identifier.
@@ -555,8 +555,8 @@ module Aws::DocDB
555
555
  # `KmsKeyId` to the AWS KMS key ID that you want to use to encrypt the
556
556
  # copy of the cluster snapshot in the destination Region. AWS KMS
557
557
  # encryption keys are specific to the AWS Region that they are created
558
- # in, and you can't use encryption keys from one Region in another
559
- # Region.
558
+ # in, and you can't use encryption keys from one AWS Region in another
559
+ # AWS Region.
560
560
  #
561
561
  # If you copy an unencrypted cluster snapshot and specify a value for
562
562
  # the `KmsKeyId` parameter, an error is returned.
@@ -565,32 +565,33 @@ module Aws::DocDB
565
565
  # The URL that contains a Signature Version 4 signed request for the
566
566
  # `CopyDBClusterSnapshot` API action in the AWS Region that contains the
567
567
  # source cluster snapshot to copy. You must use the `PreSignedUrl`
568
- # parameter when copying an encrypted cluster snapshot from another AWS
569
- # Region.
568
+ # parameter when copying a cluster snapshot from another AWS Region.
569
+ #
570
+ # If you are using an AWS SDK tool or the AWS CLI, you can specify
571
+ # `SourceRegion` (or `--source-region` for the AWS CLI) instead of
572
+ # specifying `PreSignedUrl` manually. Specifying `SourceRegion`
573
+ # autogenerates a pre-signed URL that is a valid request for the
574
+ # operation that can be executed in the source AWS Region.
570
575
  #
571
576
  # The presigned URL must be a valid request for the
572
- # `CopyDBSClusterSnapshot` API action that can be executed in the source
573
- # AWS Region that contains the encrypted DB cluster snapshot to be
574
- # copied. The presigned URL request must contain the following parameter
575
- # values:
576
- #
577
- # * `KmsKeyId` - The AWS KMS key identifier for the key to use to
578
- # encrypt the copy of the cluster snapshot in the destination AWS
579
- # Region. This is the same identifier for both the
580
- # `CopyDBClusterSnapshot` action that is called in the destination AWS
581
- # Region, and the action contained in the presigned URL.
582
- #
583
- # * `DestinationRegion` - The name of the AWS Region that the DB cluster
584
- # snapshot will be created in.
585
- #
586
- # * `SourceDBClusterSnapshotIdentifier` - The cluster snapshot
587
- # identifier for the encrypted cluster snapshot to be copied. This
588
- # identifier must be in the Amazon Resource Name (ARN) format for the
589
- # source AWS Region. For example, if you are copying an encrypted
590
- # cluster snapshot from the us-west-2 AWS Region, then your
591
- # `SourceDBClusterSnapshotIdentifier` looks like the following
592
- # example:
593
- # `arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115`.
577
+ # `CopyDBClusterSnapshot` API action that can be executed in the source
578
+ # AWS Region that contains the cluster snapshot to be copied. The
579
+ # presigned URL request must contain the following parameter values:
580
+ #
581
+ # * `SourceRegion` - The ID of the region that contains the snapshot to
582
+ # be copied.
583
+ #
584
+ # * `SourceDBClusterSnapshotIdentifier` - The identifier for the the
585
+ # encrypted cluster snapshot to be copied. This identifier must be in
586
+ # the Amazon Resource Name (ARN) format for the source AWS Region. For
587
+ # example, if you are copying an encrypted cluster snapshot from the
588
+ # us-east-1 AWS Region, then your `SourceDBClusterSnapshotIdentifier`
589
+ # looks something like the following:
590
+ # `arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot`.
591
+ #
592
+ # * `TargetDBClusterSnapshotIdentifier` - The identifier for the new
593
+ # cluster snapshot to be created. This parameter isn't case
594
+ # sensitive.
594
595
  #
595
596
  # @option params [Boolean] :copy_tags
596
597
  # Set to `true` to copy all tags from the source cluster snapshot to the
@@ -600,6 +601,10 @@ module Aws::DocDB
600
601
  # @option params [Array<Types::Tag>] :tags
601
602
  # The tags to be assigned to the cluster snapshot.
602
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
+ #
603
608
  # @return [Types::CopyDBClusterSnapshotResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
604
609
  #
605
610
  # * {Types::CopyDBClusterSnapshotResult#db_cluster_snapshot #db_cluster_snapshot} => Types::DBClusterSnapshot
@@ -618,6 +623,7 @@ module Aws::DocDB
618
623
  # value: "String",
619
624
  # },
620
625
  # ],
626
+ # source_region: "String",
621
627
  # })
622
628
  #
623
629
  # @example Response structure
@@ -703,7 +709,10 @@ module Aws::DocDB
703
709
  # Valid values: `docdb`
704
710
  #
705
711
  # @option params [String] :engine_version
706
- # 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.
707
716
  #
708
717
  # @option params [Integer] :port
709
718
  # The port number on which the instances in the cluster accept
@@ -776,27 +785,28 @@ module Aws::DocDB
776
785
  #
777
786
  # If an encryption key is not specified in `KmsKeyId`\:
778
787
  #
779
- # * If `ReplicationSourceIdentifier` identifies an encrypted source,
780
- # then Amazon DocumentDB uses the encryption key that is used to
781
- # encrypt the source. Otherwise, Amazon DocumentDB uses your default
782
- # encryption key.
783
- #
784
- # * If the `StorageEncrypted` parameter is `true` and
785
- # `ReplicationSourceIdentifier` is not specified, Amazon DocumentDB
788
+ # * If the `StorageEncrypted` parameter is `true`, Amazon DocumentDB
786
789
  # uses your default encryption key.
787
790
  #
791
+ # ^
792
+ #
788
793
  # AWS KMS creates the default encryption key for your AWS account. Your
789
794
  # AWS account has a different default encryption key for each AWS
790
795
  # Region.
791
796
  #
792
- # If you create a replica of an encrypted cluster in another AWS Region,
793
- # you must set `KmsKeyId` to a KMS key ID that is valid in the
794
- # destination AWS Region. This key is used to encrypt the replica in
795
- # that AWS Region.
797
+ # @option params [String] :pre_signed_url
798
+ # Not currently supported.
796
799
  #
797
800
  # @option params [Array<String>] :enable_cloudwatch_logs_exports
798
801
  # A list of log types that need to be enabled for exporting to Amazon
799
- # CloudWatch Logs.
802
+ # CloudWatch Logs. You can enable audit logs or profiler logs. For more
803
+ # information, see [ Auditing Amazon DocumentDB Events][1] and [
804
+ # Profiling Amazon DocumentDB Operations][2].
805
+ #
806
+ #
807
+ #
808
+ # [1]: https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html
809
+ # [2]: https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html
800
810
  #
801
811
  # @option params [Boolean] :deletion_protection
802
812
  # Specifies whether this cluster can be deleted. If `DeletionProtection`
@@ -804,6 +814,10 @@ module Aws::DocDB
804
814
  # `DeletionProtection` is disabled. `DeletionProtection` protects
805
815
  # clusters from being accidentally deleted.
806
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
+ #
807
821
  # @return [Types::CreateDBClusterResult] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
808
822
  #
809
823
  # * {Types::CreateDBClusterResult#db_cluster #db_cluster} => Types::DBCluster
@@ -832,8 +846,10 @@ module Aws::DocDB
832
846
  # ],
833
847
  # storage_encrypted: false,
834
848
  # kms_key_id: "String",
849
+ # pre_signed_url: "String",
835
850
  # enable_cloudwatch_logs_exports: ["String"],
836
851
  # deletion_protection: false,
852
+ # source_region: "String",
837
853
  # })
838
854
  #
839
855
  # @example Response structure
@@ -890,24 +906,26 @@ module Aws::DocDB
890
906
  # Creates a new cluster parameter group.
891
907
  #
892
908
  # Parameters in a cluster parameter group apply to all of the instances
893
- # in a DB cluster.
909
+ # in a cluster.
894
910
  #
895
911
  # A cluster parameter group is initially created with the default
896
912
  # parameters for the database engine used by instances in the cluster.
897
- # To provide custom values for any of the parameters, you must modify
898
- # the group after you create it. After you create a DB cluster parameter
899
- # group, you must associate it with your cluster. For the new DB cluster
900
- # parameter group and associated settings to take effect, you must then
901
- # reboot the instances in the cluster without failover.
913
+ # In Amazon DocumentDB, you cannot make modifications directly to the
914
+ # `default.docdb3.6` cluster parameter group. If your Amazon DocumentDB
915
+ # cluster is using the default cluster parameter group and you want to
916
+ # modify a value in it, you must first [ create a new parameter
917
+ # group][1] or [ copy an existing parameter group][2], modify it, and
918
+ # then apply the modified parameter group to your cluster. For the new
919
+ # cluster parameter group and associated settings to take effect, you
920
+ # must then reboot the instances in the cluster without failover. For
921
+ # more information, see [ Modifying Amazon DocumentDB Cluster Parameter
922
+ # Groups][3].
902
923
  #
903
- # After you create a cluster parameter group, you should wait at least 5
904
- # minutes before creating your first cluster that uses that cluster
905
- # parameter group as the default parameter group. This allows Amazon
906
- # DocumentDB to fully complete the create action before the cluster
907
- # parameter group is used as the default for a new cluster. This step is
908
- # especially important for parameters that are critical when creating
909
- # the default database for a cluster, such as the character set for the
910
- # default database defined by the `character_set_database` parameter.
924
+ #
925
+ #
926
+ # [1]: https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-create.html
927
+ # [2]: https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-copy.html
928
+ # [3]: https://docs.aws.amazon.com/documentdb/latest/developerguide/cluster_parameter_group-modify.html
911
929
  #
912
930
  # @option params [required, String] :db_cluster_parameter_group_name
913
931
  # The name of the cluster parameter group.
@@ -1076,10 +1094,6 @@ module Aws::DocDB
1076
1094
  #
1077
1095
  # Example: `us-east-1d`
1078
1096
  #
1079
- # Constraint: The `AvailabilityZone` parameter can't be specified if
1080
- # the `MultiAZ` parameter is set to `true`. The specified Availability
1081
- # Zone must be in the same AWS Region as the current endpoint.
1082
- #
1083
1097
  # @option params [String] :preferred_maintenance_window
1084
1098
  # The time range each week during which system maintenance can occur, in
1085
1099
  # Universal Coordinated Time (UTC).
@@ -1636,6 +1650,8 @@ module Aws::DocDB
1636
1650
  # * {Types::CertificateMessage#certificates #certificates} => Array&lt;Types::Certificate&gt;
1637
1651
  # * {Types::CertificateMessage#marker #marker} => String
1638
1652
  #
1653
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1654
+ #
1639
1655
  # @example Request syntax with placeholder values
1640
1656
  #
1641
1657
  # resp = client.describe_certificates({
@@ -1708,6 +1724,8 @@ module Aws::DocDB
1708
1724
  # * {Types::DBClusterParameterGroupsMessage#marker #marker} => String
1709
1725
  # * {Types::DBClusterParameterGroupsMessage#db_cluster_parameter_groups #db_cluster_parameter_groups} => Array&lt;Types::DBClusterParameterGroup&gt;
1710
1726
  #
1727
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1728
+ #
1711
1729
  # @example Request syntax with placeholder values
1712
1730
  #
1713
1731
  # resp = client.describe_db_cluster_parameter_groups({
@@ -1781,6 +1799,8 @@ module Aws::DocDB
1781
1799
  # * {Types::DBClusterParameterGroupDetails#parameters #parameters} => Array&lt;Types::Parameter&gt;
1782
1800
  # * {Types::DBClusterParameterGroupDetails#marker #marker} => String
1783
1801
  #
1802
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1803
+ #
1784
1804
  # @example Request syntax with placeholder values
1785
1805
  #
1786
1806
  # resp = client.describe_db_cluster_parameters({
@@ -1949,6 +1969,8 @@ module Aws::DocDB
1949
1969
  # * {Types::DBClusterSnapshotMessage#marker #marker} => String
1950
1970
  # * {Types::DBClusterSnapshotMessage#db_cluster_snapshots #db_cluster_snapshots} => Array&lt;Types::DBClusterSnapshot&gt;
1951
1971
  #
1972
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1973
+ #
1952
1974
  # @example Request syntax with placeholder values
1953
1975
  #
1954
1976
  # resp = client.describe_db_cluster_snapshots({
@@ -2125,7 +2147,7 @@ module Aws::DocDB
2125
2147
  # @option params [String] :engine_version
2126
2148
  # The database engine version to return.
2127
2149
  #
2128
- # Example: `5.1.49`
2150
+ # Example: `3.6.0`
2129
2151
  #
2130
2152
  # @option params [String] :db_parameter_group_family
2131
2153
  # The name of a specific parameter group family to return details for.
@@ -2790,6 +2812,8 @@ module Aws::DocDB
2790
2812
  # * {Types::PendingMaintenanceActionsMessage#pending_maintenance_actions #pending_maintenance_actions} => Array&lt;Types::ResourcePendingMaintenanceActions&gt;
2791
2813
  # * {Types::PendingMaintenanceActionsMessage#marker #marker} => String
2792
2814
  #
2815
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2816
+ #
2793
2817
  # @example Request syntax with placeholder values
2794
2818
  #
2795
2819
  # resp = client.describe_pending_maintenance_actions({
@@ -4258,7 +4282,7 @@ module Aws::DocDB
4258
4282
  params: params,
4259
4283
  config: config)
4260
4284
  context[:gem_name] = 'aws-sdk-docdb'
4261
- context[:gem_version] = '1.21.0'
4285
+ context[:gem_version] = '1.27.0'
4262
4286
  Seahorse::Client::Request.new(handlers, context)
4263
4287
  end
4264
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"))
@@ -284,8 +285,10 @@ module Aws::DocDB
284
285
  CreateDBClusterMessage.add_member(:tags, Shapes::ShapeRef.new(shape: TagList, location_name: "Tags"))
285
286
  CreateDBClusterMessage.add_member(:storage_encrypted, Shapes::ShapeRef.new(shape: BooleanOptional, location_name: "StorageEncrypted"))
286
287
  CreateDBClusterMessage.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: String, location_name: "KmsKeyId"))
288
+ CreateDBClusterMessage.add_member(:pre_signed_url, Shapes::ShapeRef.new(shape: String, location_name: "PreSignedUrl"))
287
289
  CreateDBClusterMessage.add_member(:enable_cloudwatch_logs_exports, Shapes::ShapeRef.new(shape: LogTypeList, location_name: "EnableCloudwatchLogsExports"))
288
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"))
289
292
  CreateDBClusterMessage.struct_class = Types::CreateDBClusterMessage
290
293
 
291
294
  CreateDBClusterParameterGroupMessage.add_member(:db_cluster_parameter_group_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "DBClusterParameterGroupName"))
@@ -1208,6 +1211,12 @@ module Aws::DocDB
1208
1211
  o.input = Shapes::ShapeRef.new(shape: DescribeCertificatesMessage)
1209
1212
  o.output = Shapes::ShapeRef.new(shape: CertificateMessage)
1210
1213
  o.errors << Shapes::ShapeRef.new(shape: CertificateNotFoundFault)
1214
+ o[:pager] = Aws::Pager.new(
1215
+ limit_key: "max_records",
1216
+ tokens: {
1217
+ "marker" => "marker"
1218
+ }
1219
+ )
1211
1220
  end)
1212
1221
 
1213
1222
  api.add_operation(:describe_db_cluster_parameter_groups, Seahorse::Model::Operation.new.tap do |o|
@@ -1217,6 +1226,12 @@ module Aws::DocDB
1217
1226
  o.input = Shapes::ShapeRef.new(shape: DescribeDBClusterParameterGroupsMessage)
1218
1227
  o.output = Shapes::ShapeRef.new(shape: DBClusterParameterGroupsMessage)
1219
1228
  o.errors << Shapes::ShapeRef.new(shape: DBParameterGroupNotFoundFault)
1229
+ o[:pager] = Aws::Pager.new(
1230
+ limit_key: "max_records",
1231
+ tokens: {
1232
+ "marker" => "marker"
1233
+ }
1234
+ )
1220
1235
  end)
1221
1236
 
1222
1237
  api.add_operation(:describe_db_cluster_parameters, Seahorse::Model::Operation.new.tap do |o|
@@ -1226,6 +1241,12 @@ module Aws::DocDB
1226
1241
  o.input = Shapes::ShapeRef.new(shape: DescribeDBClusterParametersMessage)
1227
1242
  o.output = Shapes::ShapeRef.new(shape: DBClusterParameterGroupDetails)
1228
1243
  o.errors << Shapes::ShapeRef.new(shape: DBParameterGroupNotFoundFault)
1244
+ o[:pager] = Aws::Pager.new(
1245
+ limit_key: "max_records",
1246
+ tokens: {
1247
+ "marker" => "marker"
1248
+ }
1249
+ )
1229
1250
  end)
1230
1251
 
1231
1252
  api.add_operation(:describe_db_cluster_snapshot_attributes, Seahorse::Model::Operation.new.tap do |o|
@@ -1244,6 +1265,12 @@ module Aws::DocDB
1244
1265
  o.input = Shapes::ShapeRef.new(shape: DescribeDBClusterSnapshotsMessage)
1245
1266
  o.output = Shapes::ShapeRef.new(shape: DBClusterSnapshotMessage)
1246
1267
  o.errors << Shapes::ShapeRef.new(shape: DBClusterSnapshotNotFoundFault)
1268
+ o[:pager] = Aws::Pager.new(
1269
+ limit_key: "max_records",
1270
+ tokens: {
1271
+ "marker" => "marker"
1272
+ }
1273
+ )
1247
1274
  end)
1248
1275
 
1249
1276
  api.add_operation(:describe_db_clusters, Seahorse::Model::Operation.new.tap do |o|
@@ -1356,6 +1383,12 @@ module Aws::DocDB
1356
1383
  o.input = Shapes::ShapeRef.new(shape: DescribePendingMaintenanceActionsMessage)
1357
1384
  o.output = Shapes::ShapeRef.new(shape: PendingMaintenanceActionsMessage)
1358
1385
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundFault)
1386
+ o[:pager] = Aws::Pager.new(
1387
+ limit_key: "max_records",
1388
+ tokens: {
1389
+ "marker" => "marker"
1390
+ }
1391
+ )
1359
1392
  end)
1360
1393
 
1361
1394
  api.add_operation(:failover_db_cluster, Seahorse::Model::Operation.new.tap do |o|
@@ -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
@@ -27,7 +27,7 @@ module Aws::DocDB
27
27
  #
28
28
  # @!attribute [rw] resource_name
29
29
  # The Amazon DocumentDB resource that the tags are added to. This
30
- # value is an Amazon Resource Name (ARN).
30
+ # value is an Amazon Resource Name .
31
31
  # @return [String]
32
32
  #
33
33
  # @!attribute [rw] tags
@@ -267,7 +267,7 @@ module Aws::DocDB
267
267
  # * If the source parameter group is in a different AWS Region than
268
268
  # the copy, specify a valid cluster parameter group ARN; for
269
269
  # example,
270
- # `arn:aws:rds:us-east-1:123456789012:cluster-pg:custom-cluster-group1`.
270
+ # `arn:aws:rds:us-east-1:123456789012:sample-cluster:sample-parameter-group`.
271
271
  # @return [String]
272
272
  #
273
273
  # @!attribute [rw] target_db_cluster_parameter_group_identifier
@@ -334,18 +334,16 @@ 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
340
341
  # The identifier of the cluster snapshot to copy. This parameter is
341
342
  # not case sensitive.
342
343
  #
343
- # You can't copy an encrypted, shared cluster snapshot from one AWS
344
- # Region to another.
345
- #
346
344
  # Constraints:
347
345
  #
348
- # * Must specify a valid system snapshot in the "available" state.
346
+ # * Must specify a valid system snapshot in the *available* state.
349
347
  #
350
348
  # * If the source snapshot is in the same AWS Region as the copy,
351
349
  # specify a valid snapshot identifier.
@@ -389,8 +387,8 @@ module Aws::DocDB
389
387
  # `KmsKeyId` to the AWS KMS key ID that you want to use to encrypt the
390
388
  # copy of the cluster snapshot in the destination Region. AWS KMS
391
389
  # encryption keys are specific to the AWS Region that they are created
392
- # in, and you can't use encryption keys from one Region in another
393
- # Region.
390
+ # in, and you can't use encryption keys from one AWS Region in
391
+ # another AWS Region.
394
392
  #
395
393
  # If you copy an unencrypted cluster snapshot and specify a value for
396
394
  # the `KmsKeyId` parameter, an error is returned.
@@ -400,32 +398,35 @@ module Aws::DocDB
400
398
  # The URL that contains a Signature Version 4 signed request for the
401
399
  # `CopyDBClusterSnapshot` API action in the AWS Region that contains
402
400
  # the source cluster snapshot to copy. You must use the `PreSignedUrl`
403
- # parameter when copying an encrypted cluster snapshot from another
404
- # AWS Region.
401
+ # parameter when copying a cluster snapshot from another AWS Region.
402
+ #
403
+ # If you are using an AWS SDK tool or the AWS CLI, you can specify
404
+ # `SourceRegion` (or `--source-region` for the AWS CLI) instead of
405
+ # specifying `PreSignedUrl` manually. Specifying `SourceRegion`
406
+ # autogenerates a pre-signed URL that is a valid request for the
407
+ # operation that can be executed in the source AWS Region.
405
408
  #
406
409
  # The presigned URL must be a valid request for the
407
- # `CopyDBSClusterSnapshot` API action that can be executed in the
408
- # source AWS Region that contains the encrypted DB cluster snapshot to
409
- # be copied. The presigned URL request must contain the following
410
- # parameter values:
411
- #
412
- # * `KmsKeyId` - The AWS KMS key identifier for the key to use to
413
- # encrypt the copy of the cluster snapshot in the destination AWS
414
- # Region. This is the same identifier for both the
415
- # `CopyDBClusterSnapshot` action that is called in the destination
416
- # AWS Region, and the action contained in the presigned URL.
417
- #
418
- # * `DestinationRegion` - The name of the AWS Region that the DB
419
- # cluster snapshot will be created in.
420
- #
421
- # * `SourceDBClusterSnapshotIdentifier` - The cluster snapshot
422
- # identifier for the encrypted cluster snapshot to be copied. This
423
- # identifier must be in the Amazon Resource Name (ARN) format for
424
- # the source AWS Region. For example, if you are copying an
425
- # encrypted cluster snapshot from the us-west-2 AWS Region, then
426
- # your `SourceDBClusterSnapshotIdentifier` looks like the following
427
- # example:
428
- # `arn:aws:rds:us-west-2:123456789012:cluster-snapshot:my-cluster-snapshot-20161115`.
410
+ # `CopyDBClusterSnapshot` API action that can be executed in the
411
+ # source AWS Region that contains the cluster snapshot to be copied.
412
+ # The presigned URL request must contain the following parameter
413
+ # values:
414
+ #
415
+ # * `SourceRegion` - The ID of the region that contains the snapshot
416
+ # to be copied.
417
+ #
418
+ # * `SourceDBClusterSnapshotIdentifier` - The identifier for the the
419
+ # encrypted cluster snapshot to be copied. This identifier must be
420
+ # in the Amazon Resource Name (ARN) format for the source AWS
421
+ # Region. For example, if you are copying an encrypted cluster
422
+ # snapshot from the us-east-1 AWS Region, then your
423
+ # `SourceDBClusterSnapshotIdentifier` looks something like the
424
+ # following:
425
+ # `arn:aws:rds:us-east-1:12345678012:sample-cluster:sample-cluster-snapshot`.
426
+ #
427
+ # * `TargetDBClusterSnapshotIdentifier` - The identifier for the new
428
+ # cluster snapshot to be created. This parameter isn't case
429
+ # sensitive.
429
430
  # @return [String]
430
431
  #
431
432
  # @!attribute [rw] copy_tags
@@ -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
@@ -490,8 +497,10 @@ module Aws::DocDB
490
497
  # ],
491
498
  # storage_encrypted: false,
492
499
  # kms_key_id: "String",
500
+ # pre_signed_url: "String",
493
501
  # enable_cloudwatch_logs_exports: ["String"],
494
502
  # deletion_protection: false,
503
+ # source_region: "String",
495
504
  # }
496
505
  #
497
506
  # @!attribute [rw] availability_zones
@@ -552,7 +561,10 @@ module Aws::DocDB
552
561
  # @return [String]
553
562
  #
554
563
  # @!attribute [rw] engine_version
555
- # 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.
556
568
  # @return [String]
557
569
  #
558
570
  # @!attribute [rw] port
@@ -633,28 +645,30 @@ module Aws::DocDB
633
645
  #
634
646
  # If an encryption key is not specified in `KmsKeyId`\:
635
647
  #
636
- # * If `ReplicationSourceIdentifier` identifies an encrypted source,
637
- # then Amazon DocumentDB uses the encryption key that is used to
638
- # encrypt the source. Otherwise, Amazon DocumentDB uses your default
639
- # encryption key.
640
- #
641
- # * If the `StorageEncrypted` parameter is `true` and
642
- # `ReplicationSourceIdentifier` is not specified, Amazon DocumentDB
648
+ # * If the `StorageEncrypted` parameter is `true`, Amazon DocumentDB
643
649
  # uses your default encryption key.
644
650
  #
651
+ # ^
652
+ #
645
653
  # AWS KMS creates the default encryption key for your AWS account.
646
654
  # Your AWS account has a different default encryption key for each AWS
647
655
  # Region.
656
+ # @return [String]
648
657
  #
649
- # If you create a replica of an encrypted cluster in another AWS
650
- # Region, you must set `KmsKeyId` to a KMS key ID that is valid in the
651
- # destination AWS Region. This key is used to encrypt the replica in
652
- # that AWS Region.
658
+ # @!attribute [rw] pre_signed_url
659
+ # Not currently supported.
653
660
  # @return [String]
654
661
  #
655
662
  # @!attribute [rw] enable_cloudwatch_logs_exports
656
663
  # A list of log types that need to be enabled for exporting to Amazon
657
- # CloudWatch Logs.
664
+ # CloudWatch Logs. You can enable audit logs or profiler logs. For
665
+ # more information, see [ Auditing Amazon DocumentDB Events][1] and [
666
+ # Profiling Amazon DocumentDB Operations][2].
667
+ #
668
+ #
669
+ #
670
+ # [1]: https://docs.aws.amazon.com/documentdb/latest/developerguide/event-auditing.html
671
+ # [2]: https://docs.aws.amazon.com/documentdb/latest/developerguide/profiling.html
658
672
  # @return [Array<String>]
659
673
  #
660
674
  # @!attribute [rw] deletion_protection
@@ -665,6 +679,11 @@ module Aws::DocDB
665
679
  # deleted.
666
680
  # @return [Boolean]
667
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
+ #
668
687
  # @see http://docs.aws.amazon.com/goto/WebAPI/docdb-2014-10-31/CreateDBClusterMessage AWS API Documentation
669
688
  #
670
689
  class CreateDBClusterMessage < Struct.new(
@@ -684,8 +703,10 @@ module Aws::DocDB
684
703
  :tags,
685
704
  :storage_encrypted,
686
705
  :kms_key_id,
706
+ :pre_signed_url,
687
707
  :enable_cloudwatch_logs_exports,
688
- :deletion_protection)
708
+ :deletion_protection,
709
+ :source_region)
689
710
  SENSITIVE = []
690
711
  include Aws::Structure
691
712
  end
@@ -893,10 +914,6 @@ module Aws::DocDB
893
914
  # endpoint's AWS Region.
894
915
  #
895
916
  # Example: `us-east-1d`
896
- #
897
- # Constraint: The `AvailabilityZone` parameter can't be specified if
898
- # the `MultiAZ` parameter is set to `true`. The specified Availability
899
- # Zone must be in the same AWS Region as the current endpoint.
900
917
  # @return [String]
901
918
  #
902
919
  # @!attribute [rw] preferred_maintenance_window
@@ -2724,7 +2741,7 @@ module Aws::DocDB
2724
2741
  # @!attribute [rw] engine_version
2725
2742
  # The database engine version to return.
2726
2743
  #
2727
- # Example: `5.1.49`
2744
+ # Example: `3.6.0`
2728
2745
  # @return [String]
2729
2746
  #
2730
2747
  # @!attribute [rw] db_parameter_group_family
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.21.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: 2020-08-25 00:00:00.000000000 Z
11
+ date: 2020-12-04 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.109.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.109.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