aws-sdk-docdb 1.21.0 → 1.27.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml 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