aws-sdk-dsql 1.18.0 → 1.19.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: b43a18ddd965c0115d47423af4725fe39013bdce36e61c7e68aadfeda43e97fa
4
+ data.tar.gz: 4028c45b0890bca46a13fbdd9d69581f3f6a6c7cfc6cecdea79aeaa58b5ec182
5
5
  SHA512:
6
- metadata.gz: f898f716284ce42c4a492c89e30db79d83507aec72bcb26a021c36baf4ca6b5bb25f643736df9a0151ef86ba90e664aabc6df9bc6632f3870c96711dfb009ea1
7
- data.tar.gz: e1649bd58b70c4e1081b8dea52eeaf2cbbe70ce3da881b0522f07609a0ec9fd528778319627218ff6895ce6ff4f368238637b88c859a2b6049560a73ce7d259a
6
+ metadata.gz: d4afc185ce0e30bba948cf808560695527e7dff8a2bc838466a63e445cb6ffb85c988f60ed884795d214885b5669a08619729ef639f9242569416e436b922fa3
7
+ data.tar.gz: 0edac42137fe63323b6861c952d38eb44ffc850cd126cdebefc9241f46733714c108b49743c96bf2a52a59c9752288dd4f18c2c8579359d240aea33efe240f03
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.19.0 (2025-10-23)
5
+ ------------------
6
+
7
+ * 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.
8
+
4
9
  1.18.0 (2025-10-21)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.18.0
1
+ 1.19.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
@@ -599,6 +608,8 @@ module Aws::DSQL
599
608
  # witness_region: "Region",
600
609
  # clusters: ["ClusterArn"],
601
610
  # },
611
+ # policy: "PolicyDocument",
612
+ # bypass_policy_lockout_safety_check: false,
602
613
  # })
603
614
  #
604
615
  # @example Response structure
@@ -680,6 +691,49 @@ module Aws::DSQL
680
691
  req.send_request(options)
681
692
  end
682
693
 
694
+ # Deletes the resource-based policy attached to a cluster. This removes
695
+ # all access permissions defined by the policy, reverting to default
696
+ # access controls.
697
+ #
698
+ # @option params [required, String] :identifier
699
+ # The ID of the cluster.
700
+ #
701
+ # @option params [String] :expected_policy_version
702
+ # The expected version of the policy to delete. This parameter ensures
703
+ # that you're deleting the correct version of the policy and helps
704
+ # prevent accidental deletions.
705
+ #
706
+ # @option params [String] :client_token
707
+ # Idempotency token so a request is only processed once.
708
+ #
709
+ # **A suitable default value is auto-generated.** You should normally
710
+ # not need to pass this option.**
711
+ #
712
+ # @return [Types::DeleteClusterPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
713
+ #
714
+ # * {Types::DeleteClusterPolicyOutput#policy_version #policy_version} => String
715
+ #
716
+ # @example Request syntax with placeholder values
717
+ #
718
+ # resp = client.delete_cluster_policy({
719
+ # identifier: "ClusterId", # required
720
+ # expected_policy_version: "PolicyVersion",
721
+ # client_token: "ClientToken",
722
+ # })
723
+ #
724
+ # @example Response structure
725
+ #
726
+ # resp.policy_version #=> String
727
+ #
728
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteClusterPolicy AWS API Documentation
729
+ #
730
+ # @overload delete_cluster_policy(params = {})
731
+ # @param [Hash] params ({})
732
+ def delete_cluster_policy(params = {}, options = {})
733
+ req = build_request(:delete_cluster_policy, params)
734
+ req.send_request(options)
735
+ end
736
+
683
737
  # Retrieves information about a cluster.
684
738
  #
685
739
  # @option params [required, String] :identifier
@@ -740,6 +794,38 @@ module Aws::DSQL
740
794
  req.send_request(options)
741
795
  end
742
796
 
797
+ # Retrieves the resource-based policy document attached to a cluster.
798
+ # This policy defines the access permissions and conditions for the
799
+ # cluster.
800
+ #
801
+ # @option params [required, String] :identifier
802
+ # The ID of the cluster to retrieve the policy from.
803
+ #
804
+ # @return [Types::GetClusterPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
805
+ #
806
+ # * {Types::GetClusterPolicyOutput#policy #policy} => String
807
+ # * {Types::GetClusterPolicyOutput#policy_version #policy_version} => String
808
+ #
809
+ # @example Request syntax with placeholder values
810
+ #
811
+ # resp = client.get_cluster_policy({
812
+ # identifier: "ClusterId", # required
813
+ # })
814
+ #
815
+ # @example Response structure
816
+ #
817
+ # resp.policy #=> String
818
+ # resp.policy_version #=> String
819
+ #
820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterPolicy AWS API Documentation
821
+ #
822
+ # @overload get_cluster_policy(params = {})
823
+ # @param [Hash] params ({})
824
+ def get_cluster_policy(params = {}, options = {})
825
+ req = build_request(:get_cluster_policy, params)
826
+ req.send_request(options)
827
+ end
828
+
743
829
  # Retrieves the VPC endpoint service name.
744
830
  #
745
831
  # @option params [required, String] :identifier
@@ -859,6 +945,61 @@ module Aws::DSQL
859
945
  req.send_request(options)
860
946
  end
861
947
 
948
+ # Attaches a resource-based policy to a cluster. This policy defines
949
+ # access permissions and conditions for the cluster, allowing you to
950
+ # control which principals can perform actions on the cluster.
951
+ #
952
+ # @option params [required, String] :identifier
953
+ # The ID of the cluster.
954
+ #
955
+ # @option params [required, String] :policy
956
+ # The resource-based policy document to attach to the cluster. This
957
+ # should be a valid JSON policy document that defines permissions and
958
+ # conditions.
959
+ #
960
+ # @option params [Boolean] :bypass_policy_lockout_safety_check
961
+ # A flag that allows you to bypass the policy lockout safety check. When
962
+ # set to true, this parameter allows you to apply a policy that might
963
+ # lock you out of the cluster. Use with caution.
964
+ #
965
+ # @option params [String] :expected_policy_version
966
+ # The expected version of the current policy. This parameter ensures
967
+ # that you're updating the correct version of the policy and helps
968
+ # prevent concurrent modification conflicts.
969
+ #
970
+ # @option params [String] :client_token
971
+ # Idempotency token so a request is only processed once.
972
+ #
973
+ # **A suitable default value is auto-generated.** You should normally
974
+ # not need to pass this option.**
975
+ #
976
+ # @return [Types::PutClusterPolicyOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
977
+ #
978
+ # * {Types::PutClusterPolicyOutput#policy_version #policy_version} => String
979
+ #
980
+ # @example Request syntax with placeholder values
981
+ #
982
+ # resp = client.put_cluster_policy({
983
+ # identifier: "ClusterId", # required
984
+ # policy: "PolicyDocument", # required
985
+ # bypass_policy_lockout_safety_check: false,
986
+ # expected_policy_version: "PolicyVersion",
987
+ # client_token: "ClientToken",
988
+ # })
989
+ #
990
+ # @example Response structure
991
+ #
992
+ # resp.policy_version #=> String
993
+ #
994
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/PutClusterPolicy AWS API Documentation
995
+ #
996
+ # @overload put_cluster_policy(params = {})
997
+ # @param [Hash] params ({})
998
+ def put_cluster_policy(params = {}, options = {})
999
+ req = build_request(:put_cluster_policy, params)
1000
+ req.send_request(options)
1001
+ end
1002
+
862
1003
  # Tags a resource with a map of key and value pairs.
863
1004
  #
864
1005
  # @option params [required, String] :resource_arn
@@ -939,7 +1080,7 @@ module Aws::DSQL
939
1080
  # parameter, you can add or modify witness Region support and manage
940
1081
  # peer relationships with clusters in other Regions.
941
1082
  #
942
- # <note markdown="1"> Note that updating multi-region clusters requires additional IAM
1083
+ # <note markdown="1"> Note that updating multi-Region clusters requires additional IAM
943
1084
  # permissions beyond those needed for standard cluster updates, as
944
1085
  # detailed in the Permissions section.
945
1086
  #
@@ -1100,7 +1241,7 @@ module Aws::DSQL
1100
1241
  tracer: tracer
1101
1242
  )
1102
1243
  context[:gem_name] = 'aws-sdk-dsql'
1103
- context[:gem_version] = '1.18.0'
1244
+ context[:gem_version] = '1.19.0'
1104
1245
  Seahorse::Client::Request.new(handlers, context)
1105
1246
  end
1106
1247
 
@@ -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,16 @@ 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')
36
39
  GetClusterInput = Shapes::StructureShape.new(name: 'GetClusterInput')
37
40
  GetClusterOutput = Shapes::StructureShape.new(name: 'GetClusterOutput')
41
+ GetClusterPolicyInput = Shapes::StructureShape.new(name: 'GetClusterPolicyInput')
42
+ GetClusterPolicyOutput = Shapes::StructureShape.new(name: 'GetClusterPolicyOutput')
38
43
  GetVpcEndpointServiceNameInput = Shapes::StructureShape.new(name: 'GetVpcEndpointServiceNameInput')
39
44
  GetVpcEndpointServiceNameOutput = Shapes::StructureShape.new(name: 'GetVpcEndpointServiceNameOutput')
40
45
  Integer = Shapes::IntegerShape.new(name: 'Integer')
@@ -48,6 +53,10 @@ module Aws::DSQL
48
53
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
49
54
  MultiRegionProperties = Shapes::StructureShape.new(name: 'MultiRegionProperties')
50
55
  NextToken = Shapes::StringShape.new(name: 'NextToken')
56
+ PolicyDocument = Shapes::StringShape.new(name: 'PolicyDocument')
57
+ PolicyVersion = Shapes::StringShape.new(name: 'PolicyVersion')
58
+ PutClusterPolicyInput = Shapes::StructureShape.new(name: 'PutClusterPolicyInput')
59
+ PutClusterPolicyOutput = Shapes::StructureShape.new(name: 'PutClusterPolicyOutput')
51
60
  Region = Shapes::StringShape.new(name: 'Region')
52
61
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
53
62
  ServiceName = Shapes::StringShape.new(name: 'ServiceName')
@@ -88,6 +97,8 @@ module Aws::DSQL
88
97
  CreateClusterInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
89
98
  CreateClusterInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
90
99
  CreateClusterInput.add_member(:multi_region_properties, Shapes::ShapeRef.new(shape: MultiRegionProperties, location_name: "multiRegionProperties"))
100
+ CreateClusterInput.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyDocument, location_name: "policy"))
101
+ CreateClusterInput.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BypassPolicyLockoutSafetyCheck, location_name: "bypassPolicyLockoutSafetyCheck"))
91
102
  CreateClusterInput.struct_class = Types::CreateClusterInput
92
103
 
93
104
  CreateClusterOutput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "identifier"))
@@ -109,6 +120,14 @@ module Aws::DSQL
109
120
  DeleteClusterOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: ClusterCreationTime, required: true, location_name: "creationTime"))
110
121
  DeleteClusterOutput.struct_class = Types::DeleteClusterOutput
111
122
 
123
+ DeleteClusterPolicyInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
124
+ DeleteClusterPolicyInput.add_member(:expected_policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, location: "querystring", location_name: "expected-policy-version"))
125
+ DeleteClusterPolicyInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "querystring", location_name: "client-token", metadata: {"idempotencyToken" => true}))
126
+ DeleteClusterPolicyInput.struct_class = Types::DeleteClusterPolicyInput
127
+
128
+ DeleteClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
129
+ DeleteClusterPolicyOutput.struct_class = Types::DeleteClusterPolicyOutput
130
+
112
131
  EncryptionDetails.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
113
132
  EncryptionDetails.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "kmsKeyArn"))
114
133
  EncryptionDetails.add_member(:encryption_status, Shapes::ShapeRef.new(shape: EncryptionStatus, required: true, location_name: "encryptionStatus"))
@@ -127,6 +146,13 @@ module Aws::DSQL
127
146
  GetClusterOutput.add_member(:encryption_details, Shapes::ShapeRef.new(shape: EncryptionDetails, location_name: "encryptionDetails"))
128
147
  GetClusterOutput.struct_class = Types::GetClusterOutput
129
148
 
149
+ GetClusterPolicyInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
150
+ GetClusterPolicyInput.struct_class = Types::GetClusterPolicyInput
151
+
152
+ GetClusterPolicyOutput.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyDocument, required: true, location_name: "policy"))
153
+ GetClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
154
+ GetClusterPolicyOutput.struct_class = Types::GetClusterPolicyOutput
155
+
130
156
  GetVpcEndpointServiceNameInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
131
157
  GetVpcEndpointServiceNameInput.struct_class = Types::GetVpcEndpointServiceNameInput
132
158
 
@@ -155,6 +181,16 @@ module Aws::DSQL
155
181
  MultiRegionProperties.add_member(:clusters, Shapes::ShapeRef.new(shape: ClusterArnList, location_name: "clusters"))
156
182
  MultiRegionProperties.struct_class = Types::MultiRegionProperties
157
183
 
184
+ PutClusterPolicyInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
185
+ PutClusterPolicyInput.add_member(:policy, Shapes::ShapeRef.new(shape: PolicyDocument, required: true, location_name: "policy"))
186
+ PutClusterPolicyInput.add_member(:bypass_policy_lockout_safety_check, Shapes::ShapeRef.new(shape: BypassPolicyLockoutSafetyCheck, location_name: "bypassPolicyLockoutSafetyCheck"))
187
+ PutClusterPolicyInput.add_member(:expected_policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, location_name: "expectedPolicyVersion"))
188
+ PutClusterPolicyInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
189
+ PutClusterPolicyInput.struct_class = Types::PutClusterPolicyInput
190
+
191
+ PutClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
192
+ PutClusterPolicyOutput.struct_class = Types::PutClusterPolicyOutput
193
+
158
194
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
159
195
  ResourceNotFoundException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
160
196
  ResourceNotFoundException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
@@ -257,6 +293,20 @@ module Aws::DSQL
257
293
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
258
294
  end)
259
295
 
296
+ api.add_operation(:delete_cluster_policy, Seahorse::Model::Operation.new.tap do |o|
297
+ o.name = "DeleteClusterPolicy"
298
+ o.http_method = "DELETE"
299
+ o.http_request_uri = "/cluster/{identifier}/policy"
300
+ o.input = Shapes::ShapeRef.new(shape: DeleteClusterPolicyInput)
301
+ o.output = Shapes::ShapeRef.new(shape: DeleteClusterPolicyOutput)
302
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
303
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
304
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
305
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
306
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
307
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
308
+ end)
309
+
260
310
  api.add_operation(:get_cluster, Seahorse::Model::Operation.new.tap do |o|
261
311
  o.name = "GetCluster"
262
312
  o.http_method = "GET"
@@ -270,6 +320,19 @@ module Aws::DSQL
270
320
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
271
321
  end)
272
322
 
323
+ api.add_operation(:get_cluster_policy, Seahorse::Model::Operation.new.tap do |o|
324
+ o.name = "GetClusterPolicy"
325
+ o.http_method = "GET"
326
+ o.http_request_uri = "/cluster/{identifier}/policy"
327
+ o.input = Shapes::ShapeRef.new(shape: GetClusterPolicyInput)
328
+ o.output = Shapes::ShapeRef.new(shape: GetClusterPolicyOutput)
329
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
330
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
331
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
332
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
333
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
334
+ end)
335
+
273
336
  api.add_operation(:get_vpc_endpoint_service_name, Seahorse::Model::Operation.new.tap do |o|
274
337
  o.name = "GetVpcEndpointServiceName"
275
338
  o.http_method = "GET"
@@ -315,6 +378,20 @@ module Aws::DSQL
315
378
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
316
379
  end)
317
380
 
381
+ api.add_operation(:put_cluster_policy, Seahorse::Model::Operation.new.tap do |o|
382
+ o.name = "PutClusterPolicy"
383
+ o.http_method = "POST"
384
+ o.http_request_uri = "/cluster/{identifier}/policy"
385
+ o.input = Shapes::ShapeRef.new(shape: PutClusterPolicyInput)
386
+ o.output = Shapes::ShapeRef.new(shape: PutClusterPolicyOutput)
387
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
388
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
389
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
390
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
391
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
392
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
393
+ end)
394
+
318
395
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
319
396
  o.name = "TagResource"
320
397
  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
@@ -216,6 +230,45 @@ module Aws::DSQL
216
230
  include Aws::Structure
217
231
  end
218
232
 
233
+ # @!attribute [rw] identifier
234
+ # The ID of the cluster.
235
+ # @return [String]
236
+ #
237
+ # @!attribute [rw] expected_policy_version
238
+ # The expected version of the policy to delete. This parameter ensures
239
+ # that you're deleting the correct version of the policy and helps
240
+ # prevent accidental deletions.
241
+ # @return [String]
242
+ #
243
+ # @!attribute [rw] client_token
244
+ # Idempotency token so a request is only processed once.
245
+ #
246
+ # **A suitable default value is auto-generated.** You should normally
247
+ # not need to pass this option.
248
+ # @return [String]
249
+ #
250
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteClusterPolicyInput AWS API Documentation
251
+ #
252
+ class DeleteClusterPolicyInput < Struct.new(
253
+ :identifier,
254
+ :expected_policy_version,
255
+ :client_token)
256
+ SENSITIVE = []
257
+ include Aws::Structure
258
+ end
259
+
260
+ # @!attribute [rw] policy_version
261
+ # The version of the policy that was deleted.
262
+ # @return [String]
263
+ #
264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteClusterPolicyOutput AWS API Documentation
265
+ #
266
+ class DeleteClusterPolicyOutput < Struct.new(
267
+ :policy_version)
268
+ SENSITIVE = []
269
+ include Aws::Structure
270
+ end
271
+
219
272
  # Configuration details about encryption for the cluster including the
220
273
  # KMS key ARN, encryption type, and encryption status.
221
274
  #
@@ -303,6 +356,37 @@ module Aws::DSQL
303
356
  include Aws::Structure
304
357
  end
305
358
 
359
+ # @!attribute [rw] identifier
360
+ # The ID of the cluster to retrieve the policy from.
361
+ # @return [String]
362
+ #
363
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterPolicyInput AWS API Documentation
364
+ #
365
+ class GetClusterPolicyInput < Struct.new(
366
+ :identifier)
367
+ SENSITIVE = []
368
+ include Aws::Structure
369
+ end
370
+
371
+ # @!attribute [rw] policy
372
+ # The resource-based policy document attached to the cluster, returned
373
+ # as a JSON string.
374
+ # @return [String]
375
+ #
376
+ # @!attribute [rw] policy_version
377
+ # The version of the policy document. This version number is
378
+ # incremented each time the policy is updated.
379
+ # @return [String]
380
+ #
381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetClusterPolicyOutput AWS API Documentation
382
+ #
383
+ class GetClusterPolicyOutput < Struct.new(
384
+ :policy,
385
+ :policy_version)
386
+ SENSITIVE = []
387
+ include Aws::Structure
388
+ end
389
+
306
390
  # @!attribute [rw] identifier
307
391
  # The ID of the cluster to retrieve.
308
392
  # @return [String]
@@ -415,13 +499,14 @@ module Aws::DSQL
415
499
  # containing the witness region and linked cluster settings.
416
500
  #
417
501
  # @!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.
502
+ # The Region that serves as the witness region for a multi-Region
503
+ # cluster. The witness Region helps maintain cluster consistency and
504
+ # quorum.
420
505
  # @return [String]
421
506
  #
422
507
  # @!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
508
+ # The set of peered clusters that form the multi-Region cluster
509
+ # configuration. Each peered cluster represents a database instance in
425
510
  # a different Region.
426
511
  # @return [Array<String>]
427
512
  #
@@ -434,6 +519,59 @@ module Aws::DSQL
434
519
  include Aws::Structure
435
520
  end
436
521
 
522
+ # @!attribute [rw] identifier
523
+ # The ID of the cluster.
524
+ # @return [String]
525
+ #
526
+ # @!attribute [rw] policy
527
+ # The resource-based policy document to attach to the cluster. This
528
+ # should be a valid JSON policy document that defines permissions and
529
+ # conditions.
530
+ # @return [String]
531
+ #
532
+ # @!attribute [rw] bypass_policy_lockout_safety_check
533
+ # A flag that allows you to bypass the policy lockout safety check.
534
+ # When set to true, this parameter allows you to apply a policy that
535
+ # might lock you out of the cluster. Use with caution.
536
+ # @return [Boolean]
537
+ #
538
+ # @!attribute [rw] expected_policy_version
539
+ # The expected version of the current policy. This parameter ensures
540
+ # that you're updating the correct version of the policy and helps
541
+ # prevent concurrent modification conflicts.
542
+ # @return [String]
543
+ #
544
+ # @!attribute [rw] client_token
545
+ # Idempotency token so a request is only processed once.
546
+ #
547
+ # **A suitable default value is auto-generated.** You should normally
548
+ # not need to pass this option.
549
+ # @return [String]
550
+ #
551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/PutClusterPolicyInput AWS API Documentation
552
+ #
553
+ class PutClusterPolicyInput < Struct.new(
554
+ :identifier,
555
+ :policy,
556
+ :bypass_policy_lockout_safety_check,
557
+ :expected_policy_version,
558
+ :client_token)
559
+ SENSITIVE = []
560
+ include Aws::Structure
561
+ end
562
+
563
+ # @!attribute [rw] policy_version
564
+ # The version of the policy after it has been updated or created.
565
+ # @return [String]
566
+ #
567
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/PutClusterPolicyOutput AWS API Documentation
568
+ #
569
+ class PutClusterPolicyOutput < Struct.new(
570
+ :policy_version)
571
+ SENSITIVE = []
572
+ include Aws::Structure
573
+ end
574
+
437
575
  # The resource could not be found.
438
576
  #
439
577
  # @!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.19.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -97,7 +97,9 @@ module Aws
97
97
  ?multi_region_properties: {
98
98
  witness_region: ::String?,
99
99
  clusters: Array[::String]?
100
- }
100
+ },
101
+ ?policy: ::String,
102
+ ?bypass_policy_lockout_safety_check: bool
101
103
  ) -> _CreateClusterResponseSuccess
102
104
  | (?Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateClusterResponseSuccess
103
105
 
@@ -115,6 +117,18 @@ module Aws
115
117
  ) -> _DeleteClusterResponseSuccess
116
118
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteClusterResponseSuccess
117
119
 
120
+ interface _DeleteClusterPolicyResponseSuccess
121
+ include ::Seahorse::Client::_ResponseSuccess[Types::DeleteClusterPolicyOutput]
122
+ def policy_version: () -> ::String
123
+ end
124
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#delete_cluster_policy-instance_method
125
+ def delete_cluster_policy: (
126
+ identifier: ::String,
127
+ ?expected_policy_version: ::String,
128
+ ?client_token: ::String
129
+ ) -> _DeleteClusterPolicyResponseSuccess
130
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _DeleteClusterPolicyResponseSuccess
131
+
118
132
  interface _GetClusterResponseSuccess
119
133
  include ::Seahorse::Client::_ResponseSuccess[Types::GetClusterOutput]
120
134
  def identifier: () -> ::String
@@ -132,6 +146,17 @@ module Aws
132
146
  ) -> _GetClusterResponseSuccess
133
147
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetClusterResponseSuccess
134
148
 
149
+ interface _GetClusterPolicyResponseSuccess
150
+ include ::Seahorse::Client::_ResponseSuccess[Types::GetClusterPolicyOutput]
151
+ def policy: () -> ::String
152
+ def policy_version: () -> ::String
153
+ end
154
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#get_cluster_policy-instance_method
155
+ def get_cluster_policy: (
156
+ identifier: ::String
157
+ ) -> _GetClusterPolicyResponseSuccess
158
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _GetClusterPolicyResponseSuccess
159
+
135
160
  interface _GetVpcEndpointServiceNameResponseSuccess
136
161
  include ::Seahorse::Client::_ResponseSuccess[Types::GetVpcEndpointServiceNameOutput]
137
162
  def service_name: () -> ::String
@@ -164,6 +189,20 @@ module Aws
164
189
  ) -> _ListTagsForResourceResponseSuccess
165
190
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTagsForResourceResponseSuccess
166
191
 
192
+ interface _PutClusterPolicyResponseSuccess
193
+ include ::Seahorse::Client::_ResponseSuccess[Types::PutClusterPolicyOutput]
194
+ def policy_version: () -> ::String
195
+ end
196
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#put_cluster_policy-instance_method
197
+ def put_cluster_policy: (
198
+ identifier: ::String,
199
+ policy: ::String,
200
+ ?bypass_policy_lockout_safety_check: bool,
201
+ ?expected_policy_version: ::String,
202
+ ?client_token: ::String
203
+ ) -> _PutClusterPolicyResponseSuccess
204
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _PutClusterPolicyResponseSuccess
205
+
167
206
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/DSQL/Client.html#tag_resource-instance_method
168
207
  def tag_resource: (
169
208
  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
 
@@ -60,6 +62,18 @@ module Aws::DSQL
60
62
  SENSITIVE: []
61
63
  end
62
64
 
65
+ class DeleteClusterPolicyInput
66
+ attr_accessor identifier: ::String
67
+ attr_accessor expected_policy_version: ::String
68
+ attr_accessor client_token: ::String
69
+ SENSITIVE: []
70
+ end
71
+
72
+ class DeleteClusterPolicyOutput
73
+ attr_accessor policy_version: ::String
74
+ SENSITIVE: []
75
+ end
76
+
63
77
  class EncryptionDetails
64
78
  attr_accessor encryption_type: ("AWS_OWNED_KMS_KEY" | "CUSTOMER_MANAGED_KMS_KEY")
65
79
  attr_accessor kms_key_arn: ::String
@@ -84,6 +98,17 @@ module Aws::DSQL
84
98
  SENSITIVE: []
85
99
  end
86
100
 
101
+ class GetClusterPolicyInput
102
+ attr_accessor identifier: ::String
103
+ SENSITIVE: []
104
+ end
105
+
106
+ class GetClusterPolicyOutput
107
+ attr_accessor policy: ::String
108
+ attr_accessor policy_version: ::String
109
+ SENSITIVE: []
110
+ end
111
+
87
112
  class GetVpcEndpointServiceNameInput
88
113
  attr_accessor identifier: ::String
89
114
  SENSITIVE: []
@@ -128,6 +153,20 @@ module Aws::DSQL
128
153
  SENSITIVE: []
129
154
  end
130
155
 
156
+ class PutClusterPolicyInput
157
+ attr_accessor identifier: ::String
158
+ attr_accessor policy: ::String
159
+ attr_accessor bypass_policy_lockout_safety_check: bool
160
+ attr_accessor expected_policy_version: ::String
161
+ attr_accessor client_token: ::String
162
+ SENSITIVE: []
163
+ end
164
+
165
+ class PutClusterPolicyOutput
166
+ attr_accessor policy_version: ::String
167
+ SENSITIVE: []
168
+ end
169
+
131
170
  class ResourceNotFoundException
132
171
  attr_accessor message: ::String
133
172
  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.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services