aws-sdk-dsql 1.26.0 → 1.28.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: 0d94a9749c8a5979082a07fd9048ce2853cbc47fb2344ca732997fecc26e09fb
4
- data.tar.gz: 05e1c93ad76954ba47e854ffb6408dbc1179ce6db7712512f0ee871a5002e5d0
3
+ metadata.gz: 393ac3757d0f2cc8ff9c6f47abfb7b4370e56a415bec013711049dba19f813f2
4
+ data.tar.gz: f35701f4f27ee59d5e9309611de581ef15c0be9d47f67800b7793ef736289c2b
5
5
  SHA512:
6
- metadata.gz: 6a899393714b094713bc60c65ad20dd4d577bdd6f78c44ace82d9398185a6a22f7456dd1dff352623733d37e909d1e6fec2e59d05b607743de7b2fbb8b92573b
7
- data.tar.gz: e702b3ab3dda4e0d5d012f86a3240ea62e8bd7bdf995a41b1b126457ec238ac548ae29caca938c8dc91afec43b7145f141e17ce1de835d70a263b873f0f169eb
6
+ metadata.gz: 898aa6a1d8928efe30167e6229076c3bd90bd37a4b79ec382f5dea77a489f25aff85e2ff0f71af2f4d248424bf767cd24b14095a187a8f7b07c790b9c2efe33e
7
+ data.tar.gz: f72c2630c2820e80ef86f79b9d7a5614c61ce9a07e553d867217fb12b248cb5ef24a13b59561f74dee947bf3843c67ffc47927152bb472d07aa0df362c4fb300
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.28.0 (2026-05-21)
5
+ ------------------
6
+
7
+ * Feature - Code Generated Changes, see `./build_tools` or `aws-sdk-core`'s CHANGELOG.md for details.
8
+
9
+ 1.27.0 (2026-05-13)
10
+ ------------------
11
+
12
+ * Feature - Added support for Amazon Aurora DSQL change data capture (CDC) streams that deliver row-level database changes to Amazon Kinesis in JSON format. Includes CreateStream, GetStream, ListStreams, and DeleteStream operations.
13
+
4
14
  1.26.0 (2026-03-18)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.26.0
1
+ 1.28.0
@@ -199,7 +199,7 @@ module Aws::DSQL
199
199
  # the required types.
200
200
  #
201
201
  # @option options [Boolean] :correct_clock_skew (true)
202
- # Used only in `standard` and adaptive retry modes. Specifies whether to apply
202
+ # Used only in `standard` and `adaptive` retry modes. Specifies whether to apply
203
203
  # a clock skew correction and retry requests with skewed client clocks.
204
204
  #
205
205
  # @option options [String] :defaults_mode ("legacy")
@@ -323,17 +323,15 @@ module Aws::DSQL
323
323
  # @option options [String] :retry_mode ("legacy")
324
324
  # Specifies which retry algorithm to use. Values are:
325
325
  #
326
- # * `legacy` - The pre-existing retry behavior. This is default value if
327
- # no retry mode is provided.
326
+ # * `legacy` - The pre-existing retry behavior. This is the default
327
+ # value if no retry mode is provided.
328
328
  #
329
329
  # * `standard` - A standardized set of retry rules across the AWS SDKs.
330
330
  # This includes support for retry quotas, which limit the number of
331
331
  # unsuccessful retries a client can make.
332
332
  #
333
- # * `adaptive` - An experimental retry mode that includes all the
334
- # functionality of `standard` mode along with automatic client side
335
- # throttling. This is a provisional mode that may change behavior
336
- # in the future.
333
+ # * `adaptive` - A retry mode that includes all the functionality of
334
+ # `standard` mode along with automatic client side throttling.
337
335
  #
338
336
  # @option options [String] :sdk_ua_app_id
339
337
  # A unique and opaque application ID that is appended to the
@@ -637,6 +635,111 @@ module Aws::DSQL
637
635
  req.send_request(options)
638
636
  end
639
637
 
638
+ # Creates a new change data capture (CDC) stream for a cluster. The
639
+ # stream captures database changes and delivers them to the specified
640
+ # target destination.
641
+ #
642
+ # **Required permissions**
643
+ #
644
+ # dsql:CreateStream
645
+ #
646
+ # : Permission to create a new stream.
647
+ #
648
+ # Resources: `arn:aws:dsql:region:account-id:cluster/cluster-id`
649
+ #
650
+ # iam:PassRole
651
+ #
652
+ # : Permission to pass the IAM role specified in the target definition
653
+ # to the service.
654
+ #
655
+ # Resources: ARN of the IAM role specified in
656
+ # `targetDefinition.kinesis.roleArn`
657
+ #
658
+ # kms:Decrypt
659
+ #
660
+ # : Required when the cluster uses a customer managed KMS key (CMK).
661
+ # Permission to decrypt data using the cluster's CMK.
662
+ #
663
+ # Resources: ARN of the KMS key used by the cluster
664
+ #
665
+ # @option params [required, String] :cluster_identifier
666
+ # The ID of the cluster for which to create the stream.
667
+ #
668
+ # @option params [required, Types::TargetDefinition] :target_definition
669
+ # The target destination configuration for the stream. Contains Kinesis
670
+ # stream configuration including stream ARN and IAM role ARN.
671
+ #
672
+ # @option params [required, String] :ordering
673
+ # The ordering mode for the stream. Determines how change events are
674
+ # ordered when delivered to the target.
675
+ #
676
+ # @option params [required, String] :format
677
+ # The format of the stream records.
678
+ #
679
+ # @option params [Hash<String,String>] :tags
680
+ # A map of key and value pairs to use to tag your stream.
681
+ #
682
+ # @option params [String] :client_token
683
+ # A unique, case-sensitive identifier that you provide to ensure the
684
+ # idempotency of the request. Idempotency ensures that an API request
685
+ # completes only once. With an idempotent request, if the original
686
+ # request completes successfully, the subsequent retries with the same
687
+ # client token return the result from the original successful request
688
+ # and they have no additional effect.
689
+ #
690
+ # If you don't specify a client token, the Amazon Web Services SDK
691
+ # automatically generates one.
692
+ #
693
+ # **A suitable default value is auto-generated.** You should normally
694
+ # not need to pass this option.**
695
+ #
696
+ # @return [Types::CreateStreamOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
697
+ #
698
+ # * {Types::CreateStreamOutput#cluster_identifier #cluster_identifier} => String
699
+ # * {Types::CreateStreamOutput#stream_identifier #stream_identifier} => String
700
+ # * {Types::CreateStreamOutput#arn #arn} => String
701
+ # * {Types::CreateStreamOutput#status #status} => String
702
+ # * {Types::CreateStreamOutput#creation_time #creation_time} => Time
703
+ # * {Types::CreateStreamOutput#ordering #ordering} => String
704
+ # * {Types::CreateStreamOutput#format #format} => String
705
+ #
706
+ # @example Request syntax with placeholder values
707
+ #
708
+ # resp = client.create_stream({
709
+ # cluster_identifier: "ClusterId", # required
710
+ # target_definition: { # required
711
+ # kinesis: {
712
+ # stream_arn: "KinesisStreamArn", # required
713
+ # role_arn: "RoleArn", # required
714
+ # },
715
+ # },
716
+ # ordering: "UNORDERED", # required, accepts UNORDERED
717
+ # format: "JSON", # required, accepts JSON
718
+ # tags: {
719
+ # "TagKey" => "TagValue",
720
+ # },
721
+ # client_token: "ClientToken",
722
+ # })
723
+ #
724
+ # @example Response structure
725
+ #
726
+ # resp.cluster_identifier #=> String
727
+ # resp.stream_identifier #=> String
728
+ # resp.arn #=> String
729
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "IMPAIRED"
730
+ # resp.creation_time #=> Time
731
+ # resp.ordering #=> String, one of "UNORDERED"
732
+ # resp.format #=> String, one of "JSON"
733
+ #
734
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/CreateStream AWS API Documentation
735
+ #
736
+ # @overload create_stream(params = {})
737
+ # @param [Hash] params ({})
738
+ def create_stream(params = {}, options = {})
739
+ req = build_request(:create_stream, params)
740
+ req.send_request(options)
741
+ end
742
+
640
743
  # Deletes a cluster in Amazon Aurora DSQL.
641
744
  #
642
745
  # @option params [required, String] :identifier
@@ -736,6 +839,61 @@ module Aws::DSQL
736
839
  req.send_request(options)
737
840
  end
738
841
 
842
+ # Deletes a stream from a cluster.
843
+ #
844
+ # @option params [required, String] :cluster_identifier
845
+ # The ID of the cluster containing the stream to delete.
846
+ #
847
+ # @option params [required, String] :stream_identifier
848
+ # The ID of the stream to delete.
849
+ #
850
+ # @option params [String] :client_token
851
+ # A unique, case-sensitive identifier that you provide to ensure the
852
+ # idempotency of the request. Idempotency ensures that an API request
853
+ # completes only once. With an idempotent request, if the original
854
+ # request completes successfully, the subsequent retries with the same
855
+ # client token return the result from the original successful request
856
+ # and they have no additional effect.
857
+ #
858
+ # If you don't specify a client token, the Amazon Web Services SDK
859
+ # automatically generates one.
860
+ #
861
+ # **A suitable default value is auto-generated.** You should normally
862
+ # not need to pass this option.**
863
+ #
864
+ # @return [Types::DeleteStreamOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
865
+ #
866
+ # * {Types::DeleteStreamOutput#cluster_identifier #cluster_identifier} => String
867
+ # * {Types::DeleteStreamOutput#stream_identifier #stream_identifier} => String
868
+ # * {Types::DeleteStreamOutput#arn #arn} => String
869
+ # * {Types::DeleteStreamOutput#status #status} => String
870
+ # * {Types::DeleteStreamOutput#creation_time #creation_time} => Time
871
+ #
872
+ # @example Request syntax with placeholder values
873
+ #
874
+ # resp = client.delete_stream({
875
+ # cluster_identifier: "ClusterId", # required
876
+ # stream_identifier: "StreamId", # required
877
+ # client_token: "ClientToken",
878
+ # })
879
+ #
880
+ # @example Response structure
881
+ #
882
+ # resp.cluster_identifier #=> String
883
+ # resp.stream_identifier #=> String
884
+ # resp.arn #=> String
885
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "IMPAIRED"
886
+ # resp.creation_time #=> Time
887
+ #
888
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/DeleteStream AWS API Documentation
889
+ #
890
+ # @overload delete_stream(params = {})
891
+ # @param [Hash] params ({})
892
+ def delete_stream(params = {}, options = {})
893
+ req = build_request(:delete_stream, params)
894
+ req.send_request(options)
895
+ end
896
+
739
897
  # Retrieves information about a cluster.
740
898
  #
741
899
  # @option params [required, String] :identifier
@@ -830,6 +988,65 @@ module Aws::DSQL
830
988
  req.send_request(options)
831
989
  end
832
990
 
991
+ # Retrieves information about a stream.
992
+ #
993
+ # @option params [required, String] :cluster_identifier
994
+ # The ID of the cluster containing the stream to retrieve.
995
+ #
996
+ # @option params [required, String] :stream_identifier
997
+ # The ID of the stream to retrieve.
998
+ #
999
+ # @return [Types::GetStreamOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1000
+ #
1001
+ # * {Types::GetStreamOutput#cluster_identifier #cluster_identifier} => String
1002
+ # * {Types::GetStreamOutput#stream_identifier #stream_identifier} => String
1003
+ # * {Types::GetStreamOutput#arn #arn} => String
1004
+ # * {Types::GetStreamOutput#status #status} => String
1005
+ # * {Types::GetStreamOutput#creation_time #creation_time} => Time
1006
+ # * {Types::GetStreamOutput#ordering #ordering} => String
1007
+ # * {Types::GetStreamOutput#format #format} => String
1008
+ # * {Types::GetStreamOutput#target_definition #target_definition} => Types::TargetDefinition
1009
+ # * {Types::GetStreamOutput#status_reason #status_reason} => Types::StatusReason
1010
+ # * {Types::GetStreamOutput#tags #tags} => Hash&lt;String,String&gt;
1011
+ #
1012
+ # @example Request syntax with placeholder values
1013
+ #
1014
+ # resp = client.get_stream({
1015
+ # cluster_identifier: "ClusterId", # required
1016
+ # stream_identifier: "StreamId", # required
1017
+ # })
1018
+ #
1019
+ # @example Response structure
1020
+ #
1021
+ # resp.cluster_identifier #=> String
1022
+ # resp.stream_identifier #=> String
1023
+ # resp.arn #=> String
1024
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "IMPAIRED"
1025
+ # resp.creation_time #=> Time
1026
+ # resp.ordering #=> String, one of "UNORDERED"
1027
+ # resp.format #=> String, one of "JSON"
1028
+ # resp.target_definition.kinesis.stream_arn #=> String
1029
+ # resp.target_definition.kinesis.role_arn #=> String
1030
+ # resp.status_reason.error #=> String, one of "KINESIS_THROUGHPUT_EXCEEDED", "KINESIS_STREAM_NOT_FOUND", "ROLE_ACCESS_DENIED", "KINESIS_ACCESS_DENIED", "KINESIS_KMS_ACCESS_DENIED", "KINESIS_OVERSIZE_RECORD", "CLUSTER_CMK_INACCESSIBLE", "INTERNAL_ERROR"
1031
+ # resp.status_reason.updated_at #=> Time
1032
+ # resp.tags #=> Hash
1033
+ # resp.tags["TagKey"] #=> String
1034
+ #
1035
+ #
1036
+ # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
1037
+ #
1038
+ # * stream_active
1039
+ # * stream_not_exists
1040
+ #
1041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/GetStream AWS API Documentation
1042
+ #
1043
+ # @overload get_stream(params = {})
1044
+ # @param [Hash] params ({})
1045
+ def get_stream(params = {}, options = {})
1046
+ req = build_request(:get_stream, params)
1047
+ req.send_request(options)
1048
+ end
1049
+
833
1050
  # Retrieves the VPC endpoint service name.
834
1051
  #
835
1052
  # @option params [required, String] :identifier
@@ -915,6 +1132,55 @@ module Aws::DSQL
915
1132
  req.send_request(options)
916
1133
  end
917
1134
 
1135
+ # Retrieves information about a list of streams for a cluster.
1136
+ #
1137
+ # @option params [required, String] :cluster_identifier
1138
+ # The ID of the cluster for which to list streams.
1139
+ #
1140
+ # @option params [Integer] :max_results
1141
+ # An optional parameter that specifies the maximum number of results to
1142
+ # return. You can use nextToken to display the next page of results.
1143
+ # Default: 10.
1144
+ #
1145
+ # @option params [String] :next_token
1146
+ # If your initial ListStreams operation returns a nextToken, you can
1147
+ # include the returned nextToken in following ListStreams operations,
1148
+ # which returns results in the next page.
1149
+ #
1150
+ # @return [Types::ListStreamsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1151
+ #
1152
+ # * {Types::ListStreamsOutput#next_token #next_token} => String
1153
+ # * {Types::ListStreamsOutput#streams #streams} => Array&lt;Types::StreamSummary&gt;
1154
+ #
1155
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1156
+ #
1157
+ # @example Request syntax with placeholder values
1158
+ #
1159
+ # resp = client.list_streams({
1160
+ # cluster_identifier: "ClusterId", # required
1161
+ # max_results: 1,
1162
+ # next_token: "NextToken",
1163
+ # })
1164
+ #
1165
+ # @example Response structure
1166
+ #
1167
+ # resp.next_token #=> String
1168
+ # resp.streams #=> Array
1169
+ # resp.streams[0].cluster_identifier #=> String
1170
+ # resp.streams[0].stream_identifier #=> String
1171
+ # resp.streams[0].arn #=> String
1172
+ # resp.streams[0].creation_time #=> Time
1173
+ # resp.streams[0].status #=> String, one of "CREATING", "ACTIVE", "DELETING", "DELETED", "FAILED", "IMPAIRED"
1174
+ #
1175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/dsql-2018-05-10/ListStreams AWS API Documentation
1176
+ #
1177
+ # @overload list_streams(params = {})
1178
+ # @param [Hash] params ({})
1179
+ def list_streams(params = {}, options = {})
1180
+ req = build_request(:list_streams, params)
1181
+ req.send_request(options)
1182
+ end
1183
+
918
1184
  # Lists all of the tags for a resource.
919
1185
  #
920
1186
  # @option params [required, String] :resource_arn
@@ -1247,7 +1513,7 @@ module Aws::DSQL
1247
1513
  tracer: tracer
1248
1514
  )
1249
1515
  context[:gem_name] = 'aws-sdk-dsql'
1250
- context[:gem_version] = '1.26.0'
1516
+ context[:gem_version] = '1.28.0'
1251
1517
  Seahorse::Client::Request.new(handlers, context)
1252
1518
  end
1253
1519
 
@@ -1317,6 +1583,8 @@ module Aws::DSQL
1317
1583
  # | ------------------ | -------------------- | -------- | ------------- |
1318
1584
  # | cluster_active | {Client#get_cluster} | 2 | 60 |
1319
1585
  # | cluster_not_exists | {Client#get_cluster} | 2 | 60 |
1586
+ # | stream_active | {Client#get_stream} | 2 | 60 |
1587
+ # | stream_not_exists | {Client#get_stream} | 2 | 60 |
1320
1588
  #
1321
1589
  # @raise [Errors::FailureStateError] Raised when the waiter terminates
1322
1590
  # because the waiter has entered a state that it will not transition
@@ -1368,7 +1636,9 @@ module Aws::DSQL
1368
1636
  def waiters
1369
1637
  {
1370
1638
  cluster_active: Waiters::ClusterActive,
1371
- cluster_not_exists: Waiters::ClusterNotExists
1639
+ cluster_not_exists: Waiters::ClusterNotExists,
1640
+ stream_active: Waiters::StreamActive,
1641
+ stream_not_exists: Waiters::StreamNotExists
1372
1642
  }
1373
1643
  end
1374
1644
 
@@ -29,10 +29,14 @@ module Aws::DSQL
29
29
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
30
30
  CreateClusterInput = Shapes::StructureShape.new(name: 'CreateClusterInput')
31
31
  CreateClusterOutput = Shapes::StructureShape.new(name: 'CreateClusterOutput')
32
+ CreateStreamInput = Shapes::StructureShape.new(name: 'CreateStreamInput')
33
+ CreateStreamOutput = Shapes::StructureShape.new(name: 'CreateStreamOutput')
32
34
  DeleteClusterInput = Shapes::StructureShape.new(name: 'DeleteClusterInput')
33
35
  DeleteClusterOutput = Shapes::StructureShape.new(name: 'DeleteClusterOutput')
34
36
  DeleteClusterPolicyInput = Shapes::StructureShape.new(name: 'DeleteClusterPolicyInput')
35
37
  DeleteClusterPolicyOutput = Shapes::StructureShape.new(name: 'DeleteClusterPolicyOutput')
38
+ DeleteStreamInput = Shapes::StructureShape.new(name: 'DeleteStreamInput')
39
+ DeleteStreamOutput = Shapes::StructureShape.new(name: 'DeleteStreamOutput')
36
40
  DeletionProtectionEnabled = Shapes::BooleanShape.new(name: 'DeletionProtectionEnabled')
37
41
  EncryptionDetails = Shapes::StructureShape.new(name: 'EncryptionDetails')
38
42
  EncryptionStatus = Shapes::StringShape.new(name: 'EncryptionStatus')
@@ -42,14 +46,20 @@ module Aws::DSQL
42
46
  GetClusterOutput = Shapes::StructureShape.new(name: 'GetClusterOutput')
43
47
  GetClusterPolicyInput = Shapes::StructureShape.new(name: 'GetClusterPolicyInput')
44
48
  GetClusterPolicyOutput = Shapes::StructureShape.new(name: 'GetClusterPolicyOutput')
49
+ GetStreamInput = Shapes::StructureShape.new(name: 'GetStreamInput')
50
+ GetStreamOutput = Shapes::StructureShape.new(name: 'GetStreamOutput')
45
51
  GetVpcEndpointServiceNameInput = Shapes::StructureShape.new(name: 'GetVpcEndpointServiceNameInput')
46
52
  GetVpcEndpointServiceNameOutput = Shapes::StructureShape.new(name: 'GetVpcEndpointServiceNameOutput')
47
53
  Integer = Shapes::IntegerShape.new(name: 'Integer')
48
54
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
55
+ KinesisStreamArn = Shapes::StringShape.new(name: 'KinesisStreamArn')
56
+ KinesisTargetDefinition = Shapes::StructureShape.new(name: 'KinesisTargetDefinition')
49
57
  KmsEncryptionKey = Shapes::StringShape.new(name: 'KmsEncryptionKey')
50
58
  KmsKeyArn = Shapes::StringShape.new(name: 'KmsKeyArn')
51
59
  ListClustersInput = Shapes::StructureShape.new(name: 'ListClustersInput')
52
60
  ListClustersOutput = Shapes::StructureShape.new(name: 'ListClustersOutput')
61
+ ListStreamsInput = Shapes::StructureShape.new(name: 'ListStreamsInput')
62
+ ListStreamsOutput = Shapes::StructureShape.new(name: 'ListStreamsOutput')
53
63
  ListTagsForResourceInput = Shapes::StructureShape.new(name: 'ListTagsForResourceInput')
54
64
  ListTagsForResourceOutput = Shapes::StructureShape.new(name: 'ListTagsForResourceOutput')
55
65
  MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
@@ -61,15 +71,28 @@ module Aws::DSQL
61
71
  PutClusterPolicyOutput = Shapes::StructureShape.new(name: 'PutClusterPolicyOutput')
62
72
  Region = Shapes::StringShape.new(name: 'Region')
63
73
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
74
+ RoleArn = Shapes::StringShape.new(name: 'RoleArn')
64
75
  ServiceName = Shapes::StringShape.new(name: 'ServiceName')
65
76
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
77
+ StatusReason = Shapes::StructureShape.new(name: 'StatusReason')
78
+ StreamArn = Shapes::StringShape.new(name: 'StreamArn')
79
+ StreamCreationTime = Shapes::TimestampShape.new(name: 'StreamCreationTime')
80
+ StreamFailureErrorCode = Shapes::StringShape.new(name: 'StreamFailureErrorCode')
81
+ StreamFormat = Shapes::StringShape.new(name: 'StreamFormat')
82
+ StreamId = Shapes::StringShape.new(name: 'StreamId')
83
+ StreamList = Shapes::ListShape.new(name: 'StreamList')
84
+ StreamOrdering = Shapes::StringShape.new(name: 'StreamOrdering')
85
+ StreamStatus = Shapes::StringShape.new(name: 'StreamStatus')
86
+ StreamSummary = Shapes::StructureShape.new(name: 'StreamSummary')
66
87
  String = Shapes::StringShape.new(name: 'String')
67
88
  TagKey = Shapes::StringShape.new(name: 'TagKey')
68
89
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
69
90
  TagMap = Shapes::MapShape.new(name: 'TagMap')
70
91
  TagResourceInput = Shapes::StructureShape.new(name: 'TagResourceInput')
71
92
  TagValue = Shapes::StringShape.new(name: 'TagValue')
93
+ TargetDefinition = Shapes::UnionShape.new(name: 'TargetDefinition')
72
94
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
95
+ Timestamp = Shapes::TimestampShape.new(name: 'Timestamp')
73
96
  UntagResourceInput = Shapes::StructureShape.new(name: 'UntagResourceInput')
74
97
  UpdateClusterInput = Shapes::StructureShape.new(name: 'UpdateClusterInput')
75
98
  UpdateClusterOutput = Shapes::StructureShape.new(name: 'UpdateClusterOutput')
@@ -113,6 +136,23 @@ module Aws::DSQL
113
136
  CreateClusterOutput.add_member(:endpoint, Shapes::ShapeRef.new(shape: Endpoint, location_name: "endpoint"))
114
137
  CreateClusterOutput.struct_class = Types::CreateClusterOutput
115
138
 
139
+ CreateStreamInput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "clusterIdentifier"))
140
+ CreateStreamInput.add_member(:target_definition, Shapes::ShapeRef.new(shape: TargetDefinition, required: true, location_name: "targetDefinition"))
141
+ CreateStreamInput.add_member(:ordering, Shapes::ShapeRef.new(shape: StreamOrdering, required: true, location_name: "ordering"))
142
+ CreateStreamInput.add_member(:format, Shapes::ShapeRef.new(shape: StreamFormat, required: true, location_name: "format"))
143
+ CreateStreamInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
144
+ CreateStreamInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location_name: "clientToken", metadata: {"idempotencyToken" => true}))
145
+ CreateStreamInput.struct_class = Types::CreateStreamInput
146
+
147
+ CreateStreamOutput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "clusterIdentifier"))
148
+ CreateStreamOutput.add_member(:stream_identifier, Shapes::ShapeRef.new(shape: StreamId, required: true, location_name: "streamIdentifier"))
149
+ CreateStreamOutput.add_member(:arn, Shapes::ShapeRef.new(shape: StreamArn, required: true, location_name: "arn"))
150
+ CreateStreamOutput.add_member(:status, Shapes::ShapeRef.new(shape: StreamStatus, required: true, location_name: "status"))
151
+ CreateStreamOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: StreamCreationTime, required: true, location_name: "creationTime"))
152
+ CreateStreamOutput.add_member(:ordering, Shapes::ShapeRef.new(shape: StreamOrdering, required: true, location_name: "ordering"))
153
+ CreateStreamOutput.add_member(:format, Shapes::ShapeRef.new(shape: StreamFormat, required: true, location_name: "format"))
154
+ CreateStreamOutput.struct_class = Types::CreateStreamOutput
155
+
116
156
  DeleteClusterInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
117
157
  DeleteClusterInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "querystring", location_name: "client-token", metadata: {"idempotencyToken" => true}))
118
158
  DeleteClusterInput.struct_class = Types::DeleteClusterInput
@@ -131,6 +171,18 @@ module Aws::DSQL
131
171
  DeleteClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
132
172
  DeleteClusterPolicyOutput.struct_class = Types::DeleteClusterPolicyOutput
133
173
 
174
+ DeleteStreamInput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "clusterIdentifier"))
175
+ DeleteStreamInput.add_member(:stream_identifier, Shapes::ShapeRef.new(shape: StreamId, required: true, location: "uri", location_name: "streamIdentifier"))
176
+ DeleteStreamInput.add_member(:client_token, Shapes::ShapeRef.new(shape: ClientToken, location: "querystring", location_name: "client-token", metadata: {"idempotencyToken" => true}))
177
+ DeleteStreamInput.struct_class = Types::DeleteStreamInput
178
+
179
+ DeleteStreamOutput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "clusterIdentifier"))
180
+ DeleteStreamOutput.add_member(:stream_identifier, Shapes::ShapeRef.new(shape: StreamId, required: true, location_name: "streamIdentifier"))
181
+ DeleteStreamOutput.add_member(:arn, Shapes::ShapeRef.new(shape: StreamArn, required: true, location_name: "arn"))
182
+ DeleteStreamOutput.add_member(:status, Shapes::ShapeRef.new(shape: StreamStatus, required: true, location_name: "status"))
183
+ DeleteStreamOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: StreamCreationTime, required: true, location_name: "creationTime"))
184
+ DeleteStreamOutput.struct_class = Types::DeleteStreamOutput
185
+
134
186
  EncryptionDetails.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
135
187
  EncryptionDetails.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: KmsKeyArn, location_name: "kmsKeyArn"))
136
188
  EncryptionDetails.add_member(:encryption_status, Shapes::ShapeRef.new(shape: EncryptionStatus, required: true, location_name: "encryptionStatus"))
@@ -157,6 +209,22 @@ module Aws::DSQL
157
209
  GetClusterPolicyOutput.add_member(:policy_version, Shapes::ShapeRef.new(shape: PolicyVersion, required: true, location_name: "policyVersion"))
158
210
  GetClusterPolicyOutput.struct_class = Types::GetClusterPolicyOutput
159
211
 
212
+ GetStreamInput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "clusterIdentifier"))
213
+ GetStreamInput.add_member(:stream_identifier, Shapes::ShapeRef.new(shape: StreamId, required: true, location: "uri", location_name: "streamIdentifier"))
214
+ GetStreamInput.struct_class = Types::GetStreamInput
215
+
216
+ GetStreamOutput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "clusterIdentifier"))
217
+ GetStreamOutput.add_member(:stream_identifier, Shapes::ShapeRef.new(shape: StreamId, required: true, location_name: "streamIdentifier"))
218
+ GetStreamOutput.add_member(:arn, Shapes::ShapeRef.new(shape: StreamArn, required: true, location_name: "arn"))
219
+ GetStreamOutput.add_member(:status, Shapes::ShapeRef.new(shape: StreamStatus, required: true, location_name: "status"))
220
+ GetStreamOutput.add_member(:creation_time, Shapes::ShapeRef.new(shape: StreamCreationTime, required: true, location_name: "creationTime"))
221
+ GetStreamOutput.add_member(:ordering, Shapes::ShapeRef.new(shape: StreamOrdering, required: true, location_name: "ordering"))
222
+ GetStreamOutput.add_member(:format, Shapes::ShapeRef.new(shape: StreamFormat, required: true, location_name: "format"))
223
+ GetStreamOutput.add_member(:target_definition, Shapes::ShapeRef.new(shape: TargetDefinition, location_name: "targetDefinition"))
224
+ GetStreamOutput.add_member(:status_reason, Shapes::ShapeRef.new(shape: StatusReason, location_name: "statusReason"))
225
+ GetStreamOutput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
226
+ GetStreamOutput.struct_class = Types::GetStreamOutput
227
+
160
228
  GetVpcEndpointServiceNameInput.add_member(:identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "identifier"))
161
229
  GetVpcEndpointServiceNameInput.struct_class = Types::GetVpcEndpointServiceNameInput
162
230
 
@@ -168,6 +236,10 @@ module Aws::DSQL
168
236
  InternalServerException.add_member(:retry_after_seconds, Shapes::ShapeRef.new(shape: Integer, location: "header", location_name: "Retry-After"))
169
237
  InternalServerException.struct_class = Types::InternalServerException
170
238
 
239
+ KinesisTargetDefinition.add_member(:stream_arn, Shapes::ShapeRef.new(shape: KinesisStreamArn, required: true, location_name: "streamArn"))
240
+ KinesisTargetDefinition.add_member(:role_arn, Shapes::ShapeRef.new(shape: RoleArn, required: true, location_name: "roleArn"))
241
+ KinesisTargetDefinition.struct_class = Types::KinesisTargetDefinition
242
+
171
243
  ListClustersInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "max-results"))
172
244
  ListClustersInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "next-token"))
173
245
  ListClustersInput.struct_class = Types::ListClustersInput
@@ -176,6 +248,15 @@ module Aws::DSQL
176
248
  ListClustersOutput.add_member(:clusters, Shapes::ShapeRef.new(shape: ClusterList, required: true, location_name: "clusters"))
177
249
  ListClustersOutput.struct_class = Types::ListClustersOutput
178
250
 
251
+ ListStreamsInput.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location: "uri", location_name: "clusterIdentifier"))
252
+ ListStreamsInput.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "max-results"))
253
+ ListStreamsInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "next-token"))
254
+ ListStreamsInput.struct_class = Types::ListStreamsInput
255
+
256
+ ListStreamsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
257
+ ListStreamsOutput.add_member(:streams, Shapes::ShapeRef.new(shape: StreamList, required: true, location_name: "streams"))
258
+ ListStreamsOutput.struct_class = Types::ListStreamsOutput
259
+
179
260
  ListTagsForResourceInput.add_member(:resource_arn, Shapes::ShapeRef.new(shape: Arn, required: true, location: "uri", location_name: "resourceArn"))
180
261
  ListTagsForResourceInput.struct_class = Types::ListTagsForResourceInput
181
262
 
@@ -208,6 +289,19 @@ module Aws::DSQL
208
289
  ServiceQuotaExceededException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, required: true, location_name: "quotaCode"))
209
290
  ServiceQuotaExceededException.struct_class = Types::ServiceQuotaExceededException
210
291
 
292
+ StatusReason.add_member(:error, Shapes::ShapeRef.new(shape: StreamFailureErrorCode, required: true, location_name: "error"))
293
+ StatusReason.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "updatedAt"))
294
+ StatusReason.struct_class = Types::StatusReason
295
+
296
+ StreamList.member = Shapes::ShapeRef.new(shape: StreamSummary)
297
+
298
+ StreamSummary.add_member(:cluster_identifier, Shapes::ShapeRef.new(shape: ClusterId, required: true, location_name: "clusterIdentifier"))
299
+ StreamSummary.add_member(:stream_identifier, Shapes::ShapeRef.new(shape: StreamId, required: true, location_name: "streamIdentifier"))
300
+ StreamSummary.add_member(:arn, Shapes::ShapeRef.new(shape: StreamArn, required: true, location_name: "arn"))
301
+ StreamSummary.add_member(:creation_time, Shapes::ShapeRef.new(shape: StreamCreationTime, required: true, location_name: "creationTime"))
302
+ StreamSummary.add_member(:status, Shapes::ShapeRef.new(shape: StreamStatus, required: true, location_name: "status"))
303
+ StreamSummary.struct_class = Types::StreamSummary
304
+
211
305
  TagKeyList.member = Shapes::ShapeRef.new(shape: TagKey)
212
306
 
213
307
  TagMap.key = Shapes::ShapeRef.new(shape: TagKey)
@@ -217,6 +311,12 @@ module Aws::DSQL
217
311
  TagResourceInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "tags"))
218
312
  TagResourceInput.struct_class = Types::TagResourceInput
219
313
 
314
+ TargetDefinition.add_member(:kinesis, Shapes::ShapeRef.new(shape: KinesisTargetDefinition, location_name: "kinesis"))
315
+ TargetDefinition.add_member(:unknown, Shapes::ShapeRef.new(shape: nil, location_name: 'unknown'))
316
+ TargetDefinition.add_member_subclass(:kinesis, Types::TargetDefinition::Kinesis)
317
+ TargetDefinition.add_member_subclass(:unknown, Types::TargetDefinition::Unknown)
318
+ TargetDefinition.struct_class = Types::TargetDefinition
319
+
220
320
  ThrottlingException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
221
321
  ThrottlingException.add_member(:service_code, Shapes::ShapeRef.new(shape: String, location_name: "serviceCode"))
222
322
  ThrottlingException.add_member(:quota_code, Shapes::ShapeRef.new(shape: String, location_name: "quotaCode"))
@@ -284,6 +384,21 @@ module Aws::DSQL
284
384
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
285
385
  end)
286
386
 
387
+ api.add_operation(:create_stream, Seahorse::Model::Operation.new.tap do |o|
388
+ o.name = "CreateStream"
389
+ o.http_method = "POST"
390
+ o.http_request_uri = "/stream/{clusterIdentifier}"
391
+ o.input = Shapes::ShapeRef.new(shape: CreateStreamInput)
392
+ o.output = Shapes::ShapeRef.new(shape: CreateStreamOutput)
393
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
394
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
395
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
396
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
397
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
398
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
399
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
400
+ end)
401
+
287
402
  api.add_operation(:delete_cluster, Seahorse::Model::Operation.new.tap do |o|
288
403
  o.name = "DeleteCluster"
289
404
  o.http_method = "DELETE"
@@ -312,6 +427,20 @@ module Aws::DSQL
312
427
  o.errors << Shapes::ShapeRef.new(shape: ConflictException)
313
428
  end)
314
429
 
430
+ api.add_operation(:delete_stream, Seahorse::Model::Operation.new.tap do |o|
431
+ o.name = "DeleteStream"
432
+ o.http_method = "DELETE"
433
+ o.http_request_uri = "/stream/{clusterIdentifier}/{streamIdentifier}"
434
+ o.input = Shapes::ShapeRef.new(shape: DeleteStreamInput)
435
+ o.output = Shapes::ShapeRef.new(shape: DeleteStreamOutput)
436
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
437
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
438
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
439
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
440
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
441
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
442
+ end)
443
+
315
444
  api.add_operation(:get_cluster, Seahorse::Model::Operation.new.tap do |o|
316
445
  o.name = "GetCluster"
317
446
  o.http_method = "GET"
@@ -338,6 +467,19 @@ module Aws::DSQL
338
467
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
339
468
  end)
340
469
 
470
+ api.add_operation(:get_stream, Seahorse::Model::Operation.new.tap do |o|
471
+ o.name = "GetStream"
472
+ o.http_method = "GET"
473
+ o.http_request_uri = "/stream/{clusterIdentifier}/{streamIdentifier}"
474
+ o.input = Shapes::ShapeRef.new(shape: GetStreamInput)
475
+ o.output = Shapes::ShapeRef.new(shape: GetStreamOutput)
476
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
477
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
478
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
479
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
480
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
481
+ end)
482
+
341
483
  api.add_operation(:get_vpc_endpoint_service_name, Seahorse::Model::Operation.new.tap do |o|
342
484
  o.name = "GetVpcEndpointServiceName"
343
485
  o.http_method = "GET"
@@ -370,6 +512,25 @@ module Aws::DSQL
370
512
  )
371
513
  end)
372
514
 
515
+ api.add_operation(:list_streams, Seahorse::Model::Operation.new.tap do |o|
516
+ o.name = "ListStreams"
517
+ o.http_method = "GET"
518
+ o.http_request_uri = "/stream/{clusterIdentifier}"
519
+ o.input = Shapes::ShapeRef.new(shape: ListStreamsInput)
520
+ o.output = Shapes::ShapeRef.new(shape: ListStreamsOutput)
521
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
522
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
523
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
524
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
525
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
526
+ o[:pager] = Aws::Pager.new(
527
+ limit_key: "max_results",
528
+ tokens: {
529
+ "next_token" => "next_token"
530
+ }
531
+ )
532
+ end)
533
+
373
534
  api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
374
535
  o.name = "ListTagsForResource"
375
536
  o.http_method = "GET"