aws-sdk-dsql 1.18.0 → 1.20.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: 2346f73e83b9ec363c404a653c446ddb3a8fad5bce0c17238ec33d786e70fdce
4
- data.tar.gz: 5e99c85798205e90eab15b338ca0ea4c5896767ddcb3166aa2cdfe4d5194461c
3
+ metadata.gz: '009d5035fac905a7b3f3bab0e6f85ed3b778d9272854c50bb7d9e6cb269f0dd7'
4
+ data.tar.gz: 6f27858381746c7edfca260a59e55935fb38f59a01d1349468695d4def0716ae
5
5
  SHA512:
6
- metadata.gz: f898f716284ce42c4a492c89e30db79d83507aec72bcb26a021c36baf4ca6b5bb25f643736df9a0151ef86ba90e664aabc6df9bc6632f3870c96711dfb009ea1
7
- data.tar.gz: e1649bd58b70c4e1081b8dea52eeaf2cbbe70ce3da881b0522f07609a0ec9fd528778319627218ff6895ce6ff4f368238637b88c859a2b6049560a73ce7d259a
6
+ metadata.gz: 53260015439e23900fa49c14e951d6263e2bb3fa1bf4a695dc20820886f30b4b159228bf8bda115f11e0c7a5e624f68cf921876f366b374180034e9caed3bf9e
7
+ data.tar.gz: bee8a9d76171acf96e71749d6a31609a5182d9c92ea3fb806e8917fe6c35526a833c0c99d8b7fbc82f49028f3e2490dbaa7e154114fbd2a826a71d8e77cb5922
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.20.0 (2025-11-10)
5
+ ------------------
6
+
7
+ * Feature - Cluster endpoint added to CreateCluster and GetCluster API responses
8
+
9
+ 1.19.0 (2025-10-23)
10
+ ------------------
11
+
12
+ * Feature - Add support for resource-based policies for Aurora DSQL clusters. This will enable you to implement Block Public Access (BPA) which will help restrict access to your Aurora DSQL public or VPC endpoints.
13
+
4
14
  1.18.0 (2025-10-21)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.20.0
@@ -476,7 +476,7 @@ module Aws::DSQL
476
476
 
477
477
  # @!group API Operations
478
478
 
479
- # The CreateCluster API allows you to create both single-region clusters
479
+ # The CreateCluster API allows you to create both single-Region clusters
480
480
  # and multi-Region clusters. With the addition of the
481
481
  # *multiRegionProperties* parameter, you can create a cluster with
482
482
  # witness Region support and establish peer relationships with clusters
@@ -504,7 +504,7 @@ module Aws::DSQL
504
504
  #
505
505
  # dsql:PutMultiRegionProperties
506
506
  #
507
- # : Permission to configure multi-region properties for a cluster.
507
+ # : Permission to configure multi-Region properties for a cluster.
508
508
  #
509
509
  # Resources: `arn:aws:dsql:region:account-id:cluster/*`
510
510
  #
@@ -566,6 +566,15 @@ module Aws::DSQL
566
566
  # The configuration settings when creating a multi-Region cluster,
567
567
  # including the witness region and linked cluster properties.
568
568
  #
569
+ # @option params [String] :policy
570
+ # An optional resource-based policy document in JSON format that defines
571
+ # access permissions for the cluster.
572
+ #
573
+ # @option params [Boolean] :bypass_policy_lockout_safety_check
574
+ # An optional field that controls whether to bypass the lockout
575
+ # prevention check. When set to true, this parameter allows you to apply
576
+ # a policy that might lock you out of the cluster. Use with caution.
577
+ #
569
578
  # @return [Types::CreateClusterOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
570
579
  #
571
580
  # * {Types::CreateClusterOutput#identifier #identifier} => String
@@ -575,6 +584,7 @@ module Aws::DSQL
575
584
  # * {Types::CreateClusterOutput#multi_region_properties #multi_region_properties} => Types::MultiRegionProperties
576
585
  # * {Types::CreateClusterOutput#encryption_details #encryption_details} => Types::EncryptionDetails
577
586
  # * {Types::CreateClusterOutput#deletion_protection_enabled #deletion_protection_enabled} => Boolean
587
+ # * {Types::CreateClusterOutput#endpoint #endpoint} => String
578
588
  #
579
589
  #
580
590
  # @example Example: Create Cluster
@@ -599,6 +609,8 @@ module Aws::DSQL
599
609
  # witness_region: "Region",
600
610
  # clusters: ["ClusterArn"],
601
611
  # },
612
+ # policy: "PolicyDocument",
613
+ # bypass_policy_lockout_safety_check: false,
602
614
  # })
603
615
  #
604
616
  # @example Response structure
@@ -614,6 +626,7 @@ module Aws::DSQL
614
626
  # resp.encryption_details.kms_key_arn #=> String
615
627
  # resp.encryption_details.encryption_status #=> String, one of "ENABLED", "UPDATING", "KMS_KEY_INACCESSIBLE", "ENABLING"
616
628
  # resp.deletion_protection_enabled #=> Boolean
629
+ # resp.endpoint #=> String
617
630
  #
618
631
  # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/CreateCluster AWS API Documentation
619
632
  #
@@ -680,6 +693,49 @@ module Aws::DSQL
680
693
  req.send_request(options)
681
694
  end
682
695
 
696
+ # Deletes the resource-based policy attached to a cluster. This removes
697
+ # all access permissions defined by the policy, reverting to default
698
+ # access controls.
699
+ #
700
+ # @option params [required, String] :identifier
701
+ # The ID of the cluster.
702
+ #
703
+ # @option params [String] :expected_policy_version
704
+ # The expected version of the policy to delete. This parameter ensures
705
+ # that you're deleting the correct version of the policy and helps
706
+ # prevent accidental deletions.
707
+ #
708
+ # @option params [String] :client_token
709
+ # Idempotency token so a request is only processed once.
710
+ #
711
+ # **A suitable default value is auto-generated.** You should normally
712
+ # not need to pass this option.**
713
+ #
714
+ # @return [Types::DeleteClusterPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
715
+ #
716
+ # * {Types::DeleteClusterPolicyOutput#policy_version #policy_version} => String
717
+ #
718
+ # @example Request syntax with placeholder values
719
+ #
720
+ # resp = client.delete_cluster_policy({
721
+ # identifier: "ClusterId", # required
722
+ # expected_policy_version: "PolicyVersion",
723
+ # client_token: "ClientToken",
724
+ # })
725
+ #
726
+ # @example Response structure
727
+ #
728
+ # resp.policy_version #=> String
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteClusterPolicy AWS API Documentation
731
+ #
732
+ # @overload delete_cluster_policy(params = {})
733
+ # @param [Hash] params ({})
734
+ def delete_cluster_policy(params = {}, options = {})
735
+ req = build_request(:delete_cluster_policy, params)
736
+ req.send_request(options)
737
+ end
738
+
683
739
  # Retrieves information about a cluster.
684
740
  #
685
741
  # @option params [required, String] :identifier
@@ -695,6 +751,7 @@ module Aws::DSQL
695
751
  # * {Types::GetClusterOutput#multi_region_properties #multi_region_properties} => Types::MultiRegionProperties
696
752
  # * {Types::GetClusterOutput#tags #tags} => Hash<String,String>
697
753
  # * {Types::GetClusterOutput#encryption_details #encryption_details} => Types::EncryptionDetails
754
+ # * {Types::GetClusterOutput#endpoint #endpoint} => String
698
755
  #
699
756
  #
700
757
  # @example Example: Get Cluster
@@ -724,6 +781,7 @@ module Aws::DSQL
724
781
  # resp.encryption_details.encryption_type #=> String, one of "AWS_OWNED_KMS_KEY", "CUSTOMER_MANAGED_KMS_KEY"
725
782
  # resp.encryption_details.kms_key_arn #=> String
726
783
  # resp.encryption_details.encryption_status #=> String, one of "ENABLED", "UPDATING", "KMS_KEY_INACCESSIBLE", "ENABLING"
784
+ # resp.endpoint #=> String
727
785
  #
728
786
  #
729
787
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -740,6 +798,38 @@ module Aws::DSQL
740
798
  req.send_request(options)
741
799
  end
742
800
 
801
+ # Retrieves the resource-based policy document attached to a cluster.
802
+ # This policy defines the access permissions and conditions for the
803
+ # cluster.
804
+ #
805
+ # @option params [required, String] :identifier
806
+ # The ID of the cluster to retrieve the policy from.
807
+ #
808
+ # @return [Types::GetClusterPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
809
+ #
810
+ # * {Types::GetClusterPolicyOutput#policy #policy} => String
811
+ # * {Types::GetClusterPolicyOutput#policy_version #policy_version} => String
812
+ #
813
+ # @example Request syntax with placeholder values
814
+ #
815
+ # resp = client.get_cluster_policy({
816
+ # identifier: "ClusterId", # required
817
+ # })
818
+ #
819
+ # @example Response structure
820
+ #
821
+ # resp.policy #=> String
822
+ # resp.policy_version #=> String
823
+ #
824
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterPolicy AWS API Documentation
825
+ #
826
+ # @overload get_cluster_policy(params = {})
827
+ # @param [Hash] params ({})
828
+ def get_cluster_policy(params = {}, options = {})
829
+ req = build_request(:get_cluster_policy, params)
830
+ req.send_request(options)
831
+ end
832
+
743
833
  # Retrieves the VPC endpoint service name.
744
834
  #
745
835
  # @option params [required, String] :identifier
@@ -859,6 +949,61 @@ module Aws::DSQL
859
949
  req.send_request(options)
860
950
  end
861
951
 
952
+ # Attaches a resource-based policy to a cluster. This policy defines
953
+ # access permissions and conditions for the cluster, allowing you to
954
+ # control which principals can perform actions on the cluster.
955
+ #
956
+ # @option params [required, String] :identifier
957
+ # The ID of the cluster.
958
+ #
959
+ # @option params [required, String] :policy
960
+ # The resource-based policy document to attach to the cluster. This
961
+ # should be a valid JSON policy document that defines permissions and
962
+ # conditions.
963
+ #
964
+ # @option params [Boolean] :bypass_policy_lockout_safety_check
965
+ # A flag that allows you to bypass the policy lockout safety check. When
966
+ # set to true, this parameter allows you to apply a policy that might
967
+ # lock you out of the cluster. Use with caution.
968
+ #
969
+ # @option params [String] :expected_policy_version
970
+ # The expected version of the current policy. This parameter ensures
971
+ # that you're updating the correct version of the policy and helps
972
+ # prevent concurrent modification conflicts.
973
+ #
974
+ # @option params [String] :client_token
975
+ # Idempotency token so a request is only processed once.
976
+ #
977
+ # **A suitable default value is auto-generated.** You should normally
978
+ # not need to pass this option.**
979
+ #
980
+ # @return [Types::PutClusterPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
981
+ #
982
+ # * {Types::PutClusterPolicyOutput#policy_version #policy_version} => String
983
+ #
984
+ # @example Request syntax with placeholder values
985
+ #
986
+ # resp = client.put_cluster_policy({
987
+ # identifier: "ClusterId", # required
988
+ # policy: "PolicyDocument", # required
989
+ # bypass_policy_lockout_safety_check: false,
990
+ # expected_policy_version: "PolicyVersion",
991
+ # client_token: "ClientToken",
992
+ # })
993
+ #
994
+ # @example Response structure
995
+ #
996
+ # resp.policy_version #=> String
997
+ #
998
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/PutClusterPolicy AWS API Documentation
999
+ #
1000
+ # @overload put_cluster_policy(params = {})
1001
+ # @param [Hash] params ({})
1002
+ def put_cluster_policy(params = {}, options = {})
1003
+ req = build_request(:put_cluster_policy, params)
1004
+ req.send_request(options)
1005
+ end
1006
+
862
1007
  # Tags a resource with a map of key and value pairs.
863
1008
  #
864
1009
  # @option params [required, String] :resource_arn
@@ -939,7 +1084,7 @@ module Aws::DSQL
939
1084
  # parameter, you can add or modify witness Region support and manage
940
1085
  # peer relationships with clusters in other Regions.
941
1086
  #
942
- # <note markdown="1"> Note that updating multi-region clusters requires additional IAM
1087
+ # <note markdown="1"> Note that updating multi-Region clusters requires additional IAM
943
1088
  # permissions beyond those needed for standard cluster updates, as
944
1089
  # detailed in the Permissions section.
945
1090
  #
@@ -1100,7 +1245,7 @@ module Aws::DSQL
1100
1245
  tracer: tracer
1101
1246
  )
1102
1247
  context[:gem_name] = 'aws-sdk-dsql'
1103
- context[:gem_version] = '1.18.0'
1248
+ context[:gem_version] = '1.20.0'
1104
1249
  Seahorse::Client::Request.new(handlers, context)
1105
1250
  end
1106
1251
 
@@ -16,6 +16,7 @@ module Aws::DSQL
16
16
 
17
17
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
18
18
  Arn = Shapes::StringShape.new(name: 'Arn')
19
+ BypassPolicyLockoutSafetyCheck = Shapes::BooleanShape.new(name: 'BypassPolicyLockoutSafetyCheck')
19
20
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
20
21
  ClusterArn = Shapes::StringShape.new(name: 'ClusterArn')
21
22
  ClusterArnList = Shapes::ListShape.new(name: 'ClusterArnList')
@@ -29,12 +30,17 @@ module Aws::DSQL
29
30
  CreateClusterOutput = Shapes::StructureShape.new(name: 'CreateClusterOutput')
30
31
  DeleteClusterInput = Shapes::StructureShape.new(name: 'DeleteClusterInput')
31
32
  DeleteClusterOutput = Shapes::StructureShape.new(name: 'DeleteClusterOutput')
33
+ DeleteClusterPolicyInput = Shapes::StructureShape.new(name: 'DeleteClusterPolicyInput')
34
+ DeleteClusterPolicyOutput = Shapes::StructureShape.new(name: 'DeleteClusterPolicyOutput')
32
35
  DeletionProtectionEnabled = Shapes::BooleanShape.new(name: 'DeletionProtectionEnabled')
33
36
  EncryptionDetails = Shapes::StructureShape.new(name: 'EncryptionDetails')
34
37
  EncryptionStatus = Shapes::StringShape.new(name: 'EncryptionStatus')
35
38
  EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
39
+ Endpoint = Shapes::StringShape.new(name: 'Endpoint')
36
40
  GetClusterInput = Shapes::StructureShape.new(name: 'GetClusterInput')
37
41
  GetClusterOutput = Shapes::StructureShape.new(name: 'GetClusterOutput')
42
+ GetClusterPolicyInput = Shapes::StructureShape.new(name: 'GetClusterPolicyInput')
43
+ GetClusterPolicyOutput = Shapes::StructureShape.new(name: 'GetClusterPolicyOutput')
38
44
  GetVpcEndpointServiceNameInput = Shapes::StructureShape.new(name: 'GetVpcEndpointServiceNameInput')
39
45
  GetVpcEndpointServiceNameOutput = Shapes::StructureShape.new(name: 'GetVpcEndpointServiceNameOutput')
40
46
  Integer = Shapes::IntegerShape.new(name: 'Integer')
@@ -48,6 +54,10 @@ module Aws::DSQL
48
54
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
49
55
  MultiRegionProperties = Shapes::StructureShape.new(name: 'MultiRegionProperties')
50
56
  NextToken = Shapes::StringShape.new(name: 'NextToken')
57
+ PolicyDocument = Shapes::StringShape.new(name: 'PolicyDocument')
58
+ PolicyVersion = Shapes::StringShape.new(name: 'PolicyVersion')
59
+ PutClusterPolicyInput = Shapes::StructureShape.new(name: 'PutClusterPolicyInput')
60
+ PutClusterPolicyOutput = Shapes::StructureShape.new(name: 'PutClusterPolicyOutput')
51
61
  Region = Shapes::StringShape.new(name: 'Region')
52
62
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
53
63
  ServiceName = Shapes::StringShape.new(name: 'ServiceName')
@@ -88,6 +98,8 @@ module Aws::DSQL
88
98
  CreateClusterInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
89
99
  CreateClusterInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
90
100
  CreateClusterInput.add_member(:multi_region_properties, Shapes::ShapeRef.new(shape: MultiRegionProperties, location_name: "multiRegionProperties"))
101
+ CreateClusterInput.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyDocument, location_name: "policy"))
102
+ CreateClusterInput.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BypassPolicyLockoutSafetyCheck, location_name: "bypassPolicyLockoutSafetyCheck"))
91
103
  CreateClusterInput.struct_class = Types::CreateClusterInput
92
104
 
93
105
  CreateClusterOutput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "identifier"))
@@ -97,6 +109,7 @@ module Aws::DSQL
97
109
  CreateClusterOutput.add_member(:multi_region_properties, Shapes::ShapeRef.new(shape: MultiRegionProperties, location_name: "multiRegionProperties"))
98
110
  CreateClusterOutput.add_member(:encryption_details, Shapes::ShapeRef.new(shape: EncryptionDetails, location_name: "encryptionDetails"))
99
111
  CreateClusterOutput.add_member(:deletion_protection_enabled, Shapes::ShapeRef.new(shape: DeletionProtectionEnabled, required: true, location_name: "deletionProtectionEnabled"))
112
+ CreateClusterOutput.add_member(:endpoint, Shapes::ShapeRef.new(shape: Endpoint, location_name: "endpoint"))
100
113
  CreateClusterOutput.struct_class = Types::CreateClusterOutput
101
114
 
102
115
  DeleteClusterInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
@@ -109,6 +122,14 @@ module Aws::DSQL
109
122
  DeleteClusterOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: ClusterCreationTime, required: true, location_name: "creationTime"))
110
123
  DeleteClusterOutput.struct_class = Types::DeleteClusterOutput
111
124
 
125
+ DeleteClusterPolicyInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
126
+ DeleteClusterPolicyInput.add_member(:expected_policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, location: "querystring", location_name: "expected-policy-version"))
127
+ DeleteClusterPolicyInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "querystring", location_name: "client-token", metadata: {"idempotencyToken" => true}))
128
+ DeleteClusterPolicyInput.struct_class = Types::DeleteClusterPolicyInput
129
+
130
+ DeleteClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
131
+ DeleteClusterPolicyOutput.struct_class = Types::DeleteClusterPolicyOutput
132
+
112
133
  EncryptionDetails.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
113
134
  EncryptionDetails.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "kmsKeyArn"))
114
135
  EncryptionDetails.add_member(:encryption_status, Shapes::ShapeRef.new(shape: EncryptionStatus, required: true, location_name: "encryptionStatus"))
@@ -125,8 +146,16 @@ module Aws::DSQL
125
146
  GetClusterOutput.add_member(:multi_region_properties, Shapes::ShapeRef.new(shape: MultiRegionProperties, location_name: "multiRegionProperties"))
126
147
  GetClusterOutput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
127
148
  GetClusterOutput.add_member(:encryption_details, Shapes::ShapeRef.new(shape: EncryptionDetails, location_name: "encryptionDetails"))
149
+ GetClusterOutput.add_member(:endpoint, Shapes::ShapeRef.new(shape: Endpoint, location_name: "endpoint"))
128
150
  GetClusterOutput.struct_class = Types::GetClusterOutput
129
151
 
152
+ GetClusterPolicyInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
153
+ GetClusterPolicyInput.struct_class = Types::GetClusterPolicyInput
154
+
155
+ GetClusterPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyDocument, required: true, location_name: "policy"))
156
+ GetClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
157
+ GetClusterPolicyOutput.struct_class = Types::GetClusterPolicyOutput
158
+
130
159
  GetVpcEndpointServiceNameInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
131
160
  GetVpcEndpointServiceNameInput.struct_class = Types::GetVpcEndpointServiceNameInput
132
161
 
@@ -155,6 +184,16 @@ module Aws::DSQL
155
184
  MultiRegionProperties.add_member(:clusters, Shapes::ShapeRef.new(shape: ClusterArnList, location_name: "clusters"))
156
185
  MultiRegionProperties.struct_class = Types::MultiRegionProperties
157
186
 
187
+ PutClusterPolicyInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
188
+ PutClusterPolicyInput.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyDocument, required: true, location_name: "policy"))
189
+ PutClusterPolicyInput.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BypassPolicyLockoutSafetyCheck, location_name: "bypassPolicyLockoutSafetyCheck"))
190
+ PutClusterPolicyInput.add_member(:expected_policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, location_name: "expectedPolicyVersion"))
191
+ PutClusterPolicyInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
192
+ PutClusterPolicyInput.struct_class = Types::PutClusterPolicyInput
193
+
194
+ PutClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
195
+ PutClusterPolicyOutput.struct_class = Types::PutClusterPolicyOutput
196
+
158
197
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
159
198
  ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
160
199
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
@@ -257,6 +296,20 @@ module Aws::DSQL
257
296
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
258
297
  end)
259
298
 
299
+ api.add_operation(:delete_cluster_policy, Seahorse::Model::Operation.new.tap do |o|
300
+ o.name = "DeleteClusterPolicy"
301
+ o.http_method = "DELETE"
302
+ o.http_request_uri = "/cluster/{identifier}/policy"
303
+ o.input = Shapes::ShapeRef.new(shape: DeleteClusterPolicyInput)
304
+ o.output = Shapes::ShapeRef.new(shape: DeleteClusterPolicyOutput)
305
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
306
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
307
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
308
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
309
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
310
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
311
+ end)
312
+
260
313
  api.add_operation(:get_cluster, Seahorse::Model::Operation.new.tap do |o|
261
314
  o.name = "GetCluster"
262
315
  o.http_method = "GET"
@@ -270,6 +323,19 @@ module Aws::DSQL
270
323
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
271
324
  end)
272
325
 
326
+ api.add_operation(:get_cluster_policy, Seahorse::Model::Operation.new.tap do |o|
327
+ o.name = "GetClusterPolicy"
328
+ o.http_method = "GET"
329
+ o.http_request_uri = "/cluster/{identifier}/policy"
330
+ o.input = Shapes::ShapeRef.new(shape: GetClusterPolicyInput)
331
+ o.output = Shapes::ShapeRef.new(shape: GetClusterPolicyOutput)
332
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
333
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
334
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
335
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
336
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
337
+ end)
338
+
273
339
  api.add_operation(:get_vpc_endpoint_service_name, Seahorse::Model::Operation.new.tap do |o|
274
340
  o.name = "GetVpcEndpointServiceName"
275
341
  o.http_method = "GET"
@@ -315,6 +381,20 @@ module Aws::DSQL
315
381
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
316
382
  end)
317
383
 
384
+ api.add_operation(:put_cluster_policy, Seahorse::Model::Operation.new.tap do |o|
385
+ o.name = "PutClusterPolicy"
386
+ o.http_method = "POST"
387
+ o.http_request_uri = "/cluster/{identifier}/policy"
388
+ o.input = Shapes::ShapeRef.new(shape: PutClusterPolicyInput)
389
+ o.output = Shapes::ShapeRef.new(shape: PutClusterPolicyOutput)
390
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
391
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
392
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
393
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
394
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
395
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
396
+ end)
397
+
318
398
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
319
399
  o.name = "TagResource"
320
400
  o.http_method = "POST"
@@ -100,6 +100,18 @@ module Aws::DSQL
100
100
  # including the witness region and linked cluster properties.
101
101
  # @return [Types::MultiRegionProperties]
102
102
  #
103
+ # @!attribute [rw] policy
104
+ # An optional resource-based policy document in JSON format that
105
+ # defines access permissions for the cluster.
106
+ # @return [String]
107
+ #
108
+ # @!attribute [rw] bypass_policy_lockout_safety_check
109
+ # An optional field that controls whether to bypass the lockout
110
+ # prevention check. When set to true, this parameter allows you to
111
+ # apply a policy that might lock you out of the cluster. Use with
112
+ # caution.
113
+ # @return [Boolean]
114
+ #
103
115
  # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/CreateClusterInput AWS API Documentation
104
116
  #
105
117
  class CreateClusterInput < Struct.new(
@@ -107,7 +119,9 @@ module Aws::DSQL
107
119
  :kms_encryption_key,
108
120
  :tags,
109
121
  :client_token,
110
- :multi_region_properties)
122
+ :multi_region_properties,
123
+ :policy,
124
+ :bypass_policy_lockout_safety_check)
111
125
  SENSITIVE = []
112
126
  include Aws::Structure
113
127
  end
@@ -145,6 +159,10 @@ module Aws::DSQL
145
159
  # Whether deletion protection is enabled on this cluster.
146
160
  # @return [Boolean]
147
161
  #
162
+ # @!attribute [rw] endpoint
163
+ # The connection endpoint for the created cluster.
164
+ # @return [String]
165
+ #
148
166
  # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/CreateClusterOutput AWS API Documentation
149
167
  #
150
168
  class CreateClusterOutput < Struct.new(
@@ -154,7 +172,8 @@ module Aws::DSQL
154
172
  :creation_time,
155
173
  :multi_region_properties,
156
174
  :encryption_details,
157
- :deletion_protection_enabled)
175
+ :deletion_protection_enabled,
176
+ :endpoint)
158
177
  SENSITIVE = []
159
178
  include Aws::Structure
160
179
  end
@@ -216,6 +235,45 @@ module Aws::DSQL
216
235
  include Aws::Structure
217
236
  end
218
237
 
238
+ # @!attribute [rw] identifier
239
+ # The ID of the cluster.
240
+ # @return [String]
241
+ #
242
+ # @!attribute [rw] expected_policy_version
243
+ # The expected version of the policy to delete. This parameter ensures
244
+ # that you're deleting the correct version of the policy and helps
245
+ # prevent accidental deletions.
246
+ # @return [String]
247
+ #
248
+ # @!attribute [rw] client_token
249
+ # Idempotency token so a request is only processed once.
250
+ #
251
+ # **A suitable default value is auto-generated.** You should normally
252
+ # not need to pass this option.
253
+ # @return [String]
254
+ #
255
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteClusterPolicyInput AWS API Documentation
256
+ #
257
+ class DeleteClusterPolicyInput < Struct.new(
258
+ :identifier,
259
+ :expected_policy_version,
260
+ :client_token)
261
+ SENSITIVE = []
262
+ include Aws::Structure
263
+ end
264
+
265
+ # @!attribute [rw] policy_version
266
+ # The version of the policy that was deleted.
267
+ # @return [String]
268
+ #
269
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteClusterPolicyOutput AWS API Documentation
270
+ #
271
+ class DeleteClusterPolicyOutput < Struct.new(
272
+ :policy_version)
273
+ SENSITIVE = []
274
+ include Aws::Structure
275
+ end
276
+
219
277
  # Configuration details about encryption for the cluster including the
220
278
  # KMS key ARN, encryption type, and encryption status.
221
279
  #
@@ -288,6 +346,10 @@ module Aws::DSQL
288
346
  # The current encryption configuration details for the cluster.
289
347
  # @return [Types::EncryptionDetails]
290
348
  #
349
+ # @!attribute [rw] endpoint
350
+ # The connection endpoint for the cluster.
351
+ # @return [String]
352
+ #
291
353
  # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterOutput AWS API Documentation
292
354
  #
293
355
  class GetClusterOutput < Struct.new(
@@ -298,7 +360,39 @@ module Aws::DSQL
298
360
  :deletion_protection_enabled,
299
361
  :multi_region_properties,
300
362
  :tags,
301
- :encryption_details)
363
+ :encryption_details,
364
+ :endpoint)
365
+ SENSITIVE = []
366
+ include Aws::Structure
367
+ end
368
+
369
+ # @!attribute [rw] identifier
370
+ # The ID of the cluster to retrieve the policy from.
371
+ # @return [String]
372
+ #
373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterPolicyInput AWS API Documentation
374
+ #
375
+ class GetClusterPolicyInput < Struct.new(
376
+ :identifier)
377
+ SENSITIVE = []
378
+ include Aws::Structure
379
+ end
380
+
381
+ # @!attribute [rw] policy
382
+ # The resource-based policy document attached to the cluster, returned
383
+ # as a JSON string.
384
+ # @return [String]
385
+ #
386
+ # @!attribute [rw] policy_version
387
+ # The version of the policy document. This version number is
388
+ # incremented each time the policy is updated.
389
+ # @return [String]
390
+ #
391
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterPolicyOutput AWS API Documentation
392
+ #
393
+ class GetClusterPolicyOutput < Struct.new(
394
+ :policy,
395
+ :policy_version)
302
396
  SENSITIVE = []
303
397
  include Aws::Structure
304
398
  end
@@ -415,13 +509,14 @@ module Aws::DSQL
415
509
  # containing the witness region and linked cluster settings.
416
510
  #
417
511
  # @!attribute [rw] witness_region
418
- # The that serves as the witness region for a multi-Region cluster.
419
- # The witness region helps maintain cluster consistency and quorum.
512
+ # The Region that serves as the witness region for a multi-Region
513
+ # cluster. The witness Region helps maintain cluster consistency and
514
+ # quorum.
420
515
  # @return [String]
421
516
  #
422
517
  # @!attribute [rw] clusters
423
- # The set of linked clusters that form the multi-Region cluster
424
- # configuration. Each linked cluster represents a database instance in
518
+ # The set of peered clusters that form the multi-Region cluster
519
+ # configuration. Each peered cluster represents a database instance in
425
520
  # a different Region.
426
521
  # @return [Array<String>]
427
522
  #
@@ -434,6 +529,59 @@ module Aws::DSQL
434
529
  include Aws::Structure
435
530
  end
436
531
 
532
+ # @!attribute [rw] identifier
533
+ # The ID of the cluster.
534
+ # @return [String]
535
+ #
536
+ # @!attribute [rw] policy
537
+ # The resource-based policy document to attach to the cluster. This
538
+ # should be a valid JSON policy document that defines permissions and
539
+ # conditions.
540
+ # @return [String]
541
+ #
542
+ # @!attribute [rw] bypass_policy_lockout_safety_check
543
+ # A flag that allows you to bypass the policy lockout safety check.
544
+ # When set to true, this parameter allows you to apply a policy that
545
+ # might lock you out of the cluster. Use with caution.
546
+ # @return [Boolean]
547
+ #
548
+ # @!attribute [rw] expected_policy_version
549
+ # The expected version of the current policy. This parameter ensures
550
+ # that you're updating the correct version of the policy and helps
551
+ # prevent concurrent modification conflicts.
552
+ # @return [String]
553
+ #
554
+ # @!attribute [rw] client_token
555
+ # Idempotency token so a request is only processed once.
556
+ #
557
+ # **A suitable default value is auto-generated.** You should normally
558
+ # not need to pass this option.
559
+ # @return [String]
560
+ #
561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/PutClusterPolicyInput AWS API Documentation
562
+ #
563
+ class PutClusterPolicyInput < Struct.new(
564
+ :identifier,
565
+ :policy,
566
+ :bypass_policy_lockout_safety_check,
567
+ :expected_policy_version,
568
+ :client_token)
569
+ SENSITIVE = []
570
+ include Aws::Structure
571
+ end
572
+
573
+ # @!attribute [rw] policy_version
574
+ # The version of the policy after it has been updated or created.
575
+ # @return [String]
576
+ #
577
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/PutClusterPolicyOutput AWS API Documentation
578
+ #
579
+ class PutClusterPolicyOutput < Struct.new(
580
+ :policy_version)
581
+ SENSITIVE = []
582
+ include Aws::Structure
583
+ end
584
+
437
585
  # The resource could not be found.
438
586
  #
439
587
  # @!attribute [rw] message
data/lib/aws-sdk-dsql.rb CHANGED
@@ -55,7 +55,7 @@ module Aws::DSQL
55
55
  autoload :EndpointProvider, 'aws-sdk-dsql/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-dsql/endpoints'
57
57
 
58
- GEM_VERSION = '1.18.0'
58
+ GEM_VERSION = '1.20.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -87,6 +87,7 @@ module Aws
87
87
  def multi_region_properties: () -> Types::MultiRegionProperties
88
88
  def encryption_details: () -> Types::EncryptionDetails
89
89
  def deletion_protection_enabled: () -> bool
90
+ def endpoint: () -> ::String
90
91
  end
91
92
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#create_cluster-instance_method
92
93
  def create_cluster: (
@@ -97,7 +98,9 @@ module Aws
97
98
  ?multi_region_properties: {
98
99
  witness_region: ::String?,
99
100
  clusters: Array[::String]?
100
- }
101
+ },
102
+ ?policy: ::String,
103
+ ?bypass_policy_lockout_safety_check: bool
101
104
  ) -> _CreateClusterResponseSuccess
102
105
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateClusterResponseSuccess
103
106
 
@@ -115,6 +118,18 @@ module Aws
115
118
  ) -> _DeleteClusterResponseSuccess
116
119
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteClusterResponseSuccess
117
120
 
121
+ interface _DeleteClusterPolicyResponseSuccess
122
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteClusterPolicyOutput]
123
+ def policy_version: () -> ::String
124
+ end
125
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#delete_cluster_policy-instance_method
126
+ def delete_cluster_policy: (
127
+ identifier: ::String,
128
+ ?expected_policy_version: ::String,
129
+ ?client_token: ::String
130
+ ) -> _DeleteClusterPolicyResponseSuccess
131
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteClusterPolicyResponseSuccess
132
+
118
133
  interface _GetClusterResponseSuccess
119
134
  include ::Seahorse::Client::_ResponseSuccess[Types::GetClusterOutput]
120
135
  def identifier: () -> ::String
@@ -125,6 +140,7 @@ module Aws
125
140
  def multi_region_properties: () -> Types::MultiRegionProperties
126
141
  def tags: () -> ::Hash[::String, ::String]
127
142
  def encryption_details: () -> Types::EncryptionDetails
143
+ def endpoint: () -> ::String
128
144
  end
129
145
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#get_cluster-instance_method
130
146
  def get_cluster: (
@@ -132,6 +148,17 @@ module Aws
132
148
  ) -> _GetClusterResponseSuccess
133
149
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetClusterResponseSuccess
134
150
 
151
+ interface _GetClusterPolicyResponseSuccess
152
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetClusterPolicyOutput]
153
+ def policy: () -> ::String
154
+ def policy_version: () -> ::String
155
+ end
156
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#get_cluster_policy-instance_method
157
+ def get_cluster_policy: (
158
+ identifier: ::String
159
+ ) -> _GetClusterPolicyResponseSuccess
160
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetClusterPolicyResponseSuccess
161
+
135
162
  interface _GetVpcEndpointServiceNameResponseSuccess
136
163
  include ::Seahorse::Client::_ResponseSuccess[Types::GetVpcEndpointServiceNameOutput]
137
164
  def service_name: () -> ::String
@@ -164,6 +191,20 @@ module Aws
164
191
  ) -> _ListTagsForResourceResponseSuccess
165
192
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTagsForResourceResponseSuccess
166
193
 
194
+ interface _PutClusterPolicyResponseSuccess
195
+ include ::Seahorse::Client::_ResponseSuccess[Types::PutClusterPolicyOutput]
196
+ def policy_version: () -> ::String
197
+ end
198
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#put_cluster_policy-instance_method
199
+ def put_cluster_policy: (
200
+ identifier: ::String,
201
+ policy: ::String,
202
+ ?bypass_policy_lockout_safety_check: bool,
203
+ ?expected_policy_version: ::String,
204
+ ?client_token: ::String
205
+ ) -> _PutClusterPolicyResponseSuccess
206
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutClusterPolicyResponseSuccess
207
+
167
208
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#tag_resource-instance_method
168
209
  def tag_resource: (
169
210
  resource_arn: ::String,
data/sig/types.rbs CHANGED
@@ -32,6 +32,8 @@ module Aws::DSQL
32
32
  attr_accessor tags: ::Hash[::String, ::String]
33
33
  attr_accessor client_token: ::String
34
34
  attr_accessor multi_region_properties: Types::MultiRegionProperties
35
+ attr_accessor policy: ::String
36
+ attr_accessor bypass_policy_lockout_safety_check: bool
35
37
  SENSITIVE: []
36
38
  end
37
39
 
@@ -43,6 +45,7 @@ module Aws::DSQL
43
45
  attr_accessor multi_region_properties: Types::MultiRegionProperties
44
46
  attr_accessor encryption_details: Types::EncryptionDetails
45
47
  attr_accessor deletion_protection_enabled: bool
48
+ attr_accessor endpoint: ::String
46
49
  SENSITIVE: []
47
50
  end
48
51
 
@@ -60,6 +63,18 @@ module Aws::DSQL
60
63
  SENSITIVE: []
61
64
  end
62
65
 
66
+ class DeleteClusterPolicyInput
67
+ attr_accessor identifier: ::String
68
+ attr_accessor expected_policy_version: ::String
69
+ attr_accessor client_token: ::String
70
+ SENSITIVE: []
71
+ end
72
+
73
+ class DeleteClusterPolicyOutput
74
+ attr_accessor policy_version: ::String
75
+ SENSITIVE: []
76
+ end
77
+
63
78
  class EncryptionDetails
64
79
  attr_accessor encryption_type: ("AWS_OWNED_KMS_KEY" | "CUSTOMER_MANAGED_KMS_KEY")
65
80
  attr_accessor kms_key_arn: ::String
@@ -81,6 +96,18 @@ module Aws::DSQL
81
96
  attr_accessor multi_region_properties: Types::MultiRegionProperties
82
97
  attr_accessor tags: ::Hash[::String, ::String]
83
98
  attr_accessor encryption_details: Types::EncryptionDetails
99
+ attr_accessor endpoint: ::String
100
+ SENSITIVE: []
101
+ end
102
+
103
+ class GetClusterPolicyInput
104
+ attr_accessor identifier: ::String
105
+ SENSITIVE: []
106
+ end
107
+
108
+ class GetClusterPolicyOutput
109
+ attr_accessor policy: ::String
110
+ attr_accessor policy_version: ::String
84
111
  SENSITIVE: []
85
112
  end
86
113
 
@@ -128,6 +155,20 @@ module Aws::DSQL
128
155
  SENSITIVE: []
129
156
  end
130
157
 
158
+ class PutClusterPolicyInput
159
+ attr_accessor identifier: ::String
160
+ attr_accessor policy: ::String
161
+ attr_accessor bypass_policy_lockout_safety_check: bool
162
+ attr_accessor expected_policy_version: ::String
163
+ attr_accessor client_token: ::String
164
+ SENSITIVE: []
165
+ end
166
+
167
+ class PutClusterPolicyOutput
168
+ attr_accessor policy_version: ::String
169
+ SENSITIVE: []
170
+ end
171
+
131
172
  class ResourceNotFoundException
132
173
  attr_accessor message: ::String
133
174
  attr_accessor resource_id: ::String
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-dsql
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.18.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services