aws-sdk-kinesis 1.3.0 → 1.4.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
  SHA1:
3
- metadata.gz: 955b406170a5639a7d5287bffa6b0def788003ea
4
- data.tar.gz: 64ca0ac33de0eff53f766359e31a9bb28ac7def9
3
+ metadata.gz: 4c08e5a3d5f7c8c2dc6eb3619557ace70dd0c8b3
4
+ data.tar.gz: d6abc419e7e50d5ec037125ea31c1b374b298a6a
5
5
  SHA512:
6
- metadata.gz: 4c60f2c6429e91f0d709e8f4e826a0e8a7e679878a55c11669c4e51f6b0d54e353e1ea305be3c3c0c97d1e50b58670d00eaedebcb1961e8b2033b5618a6d60b1
7
- data.tar.gz: 62e2a7fb03866f550ede1b54563103d21d9c839bd7b480ce97ff57723ab8e48438480555b60e6fa578bd7ec627ab6bb3a98b37c1a5231ff35a9b8d45e37c9727
6
+ metadata.gz: 39500f6025834cc0c16937c360469f3cfdfe0b95dd160c7985d827756f4019caad7b72aae235644f7e473e68a9358ab7375de84396275c420b9613041ffbafdd
7
+ data.tar.gz: a340ca19436049067070adf74adb3d2710377b8463b85bfd1c87bbc5d43cf4a16064fc84af05a434531d29031c04d2ac2ecb963dbec4cf3fdefca22620680251
@@ -43,6 +43,6 @@ require_relative 'aws-sdk-kinesis/customizations'
43
43
  # @service
44
44
  module Aws::Kinesis
45
45
 
46
- GEM_VERSION = '1.3.0'
46
+ GEM_VERSION = '1.4.0'
47
47
 
48
48
  end
@@ -166,8 +166,10 @@ module Aws::Kinesis
166
166
 
167
167
  # @!group API Operations
168
168
 
169
- # Adds or updates tags for the specified Kinesis data stream. Each
170
- # stream can have up to 10 tags.
169
+ # Adds or updates tags for the specified Kinesis data stream. Each time
170
+ # you invoke this operation, you can specify up to 10 tags. If you want
171
+ # to add more than 10 tags to your stream, you can invoke this operation
172
+ # multiple times. In total, each stream can have up to 50 tags.
171
173
  #
172
174
  # If tags have already been assigned to the stream, `AddTagsToStream`
173
175
  # overwrites any existing tags that correspond to the specified tag
@@ -180,7 +182,7 @@ module Aws::Kinesis
180
182
  # The name of the stream.
181
183
  #
182
184
  # @option params [required, Hash<String,String>] :tags
183
- # The set of key-value pairs to use to create the tags.
185
+ # A set of up to 10 key-value pairs to use to create the tags.
184
186
  #
185
187
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
186
188
  #
@@ -338,12 +340,18 @@ module Aws::Kinesis
338
340
  # @option params [required, String] :stream_name
339
341
  # The name of the stream to delete.
340
342
  #
343
+ # @option params [Boolean] :enforce_consumer_deletion
344
+ # If this parameter is unset (`null`) or if you set it to `false`, and
345
+ # the stream has registered consumers, the call to `DeleteStream` fails
346
+ # with a `ResourceInUseException`.
347
+ #
341
348
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
342
349
  #
343
350
  # @example Request syntax with placeholder values
344
351
  #
345
352
  # resp = client.delete_stream({
346
353
  # stream_name: "StreamName", # required
354
+ # enforce_consumer_deletion: false,
347
355
  # })
348
356
  #
349
357
  # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DeleteStream AWS API Documentation
@@ -355,6 +363,57 @@ module Aws::Kinesis
355
363
  req.send_request(options)
356
364
  end
357
365
 
366
+ # To deregister a consumer, provide its ARN. Alternatively, you can
367
+ # provide the ARN of the data stream and the name you gave the consumer
368
+ # when you registered it. You may also provide all three parameters, as
369
+ # long as they don't conflict with each other. If you don't know the
370
+ # name or ARN of the consumer that you want to deregister, you can use
371
+ # the ListStreamConsumers operation to get a list of the descriptions of
372
+ # all the consumers that are currently registered with a given data
373
+ # stream. The description of a consumer contains its name and ARN.
374
+ #
375
+ # This operation has a limit of five transactions per second per
376
+ # account.
377
+ #
378
+ # @option params [String] :stream_arn
379
+ # The ARN of the Kinesis data stream that the consumer is registered
380
+ # with. For more information, see [Amazon Resource Names (ARNs) and AWS
381
+ # Service Namespaces][1].
382
+ #
383
+ #
384
+ #
385
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
386
+ #
387
+ # @option params [String] :consumer_name
388
+ # The name that you gave to the consumer.
389
+ #
390
+ # @option params [String] :consumer_arn
391
+ # The ARN returned by Kinesis Data Streams when you registered the
392
+ # consumer. If you don't know the ARN of the consumer that you want to
393
+ # deregister, you can use the ListStreamConsumers operation to get a
394
+ # list of the descriptions of all the consumers that are currently
395
+ # registered with a given data stream. The description of a consumer
396
+ # contains its ARN.
397
+ #
398
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
399
+ #
400
+ # @example Request syntax with placeholder values
401
+ #
402
+ # resp = client.deregister_stream_consumer({
403
+ # stream_arn: "StreamARN",
404
+ # consumer_name: "ConsumerName",
405
+ # consumer_arn: "ConsumerARN",
406
+ # })
407
+ #
408
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DeregisterStreamConsumer AWS API Documentation
409
+ #
410
+ # @overload deregister_stream_consumer(params = {})
411
+ # @param [Hash] params ({})
412
+ def deregister_stream_consumer(params = {}, options = {})
413
+ req = build_request(:deregister_stream_consumer, params)
414
+ req.send_request(options)
415
+ end
416
+
358
417
  # Describes the shard limits and usage for the account.
359
418
  #
360
419
  # If you update your account limits, the old limits might be returned
@@ -460,6 +519,62 @@ module Aws::Kinesis
460
519
  req.send_request(options)
461
520
  end
462
521
 
522
+ # To get the description of a registered consumer, provide the ARN of
523
+ # the consumer. Alternatively, you can provide the ARN of the data
524
+ # stream and the name you gave the consumer when you registered it. You
525
+ # may also provide all three parameters, as long as they don't conflict
526
+ # with each other. If you don't know the name or ARN of the consumer
527
+ # that you want to describe, you can use the ListStreamConsumers
528
+ # operation to get a list of the descriptions of all the consumers that
529
+ # are currently registered with a given data stream.
530
+ #
531
+ # This operation has a limit of 20 transactions per second per account.
532
+ #
533
+ # @option params [String] :stream_arn
534
+ # The ARN of the Kinesis data stream that the consumer is registered
535
+ # with. For more information, see [Amazon Resource Names (ARNs) and AWS
536
+ # Service Namespaces][1].
537
+ #
538
+ #
539
+ #
540
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
541
+ #
542
+ # @option params [String] :consumer_name
543
+ # The name that you gave to the consumer.
544
+ #
545
+ # @option params [String] :consumer_arn
546
+ # The ARN returned by Kinesis Data Streams when you registered the
547
+ # consumer.
548
+ #
549
+ # @return [Types::DescribeStreamConsumerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
550
+ #
551
+ # * {Types::DescribeStreamConsumerOutput#consumer_description #consumer_description} => Types::ConsumerDescription
552
+ #
553
+ # @example Request syntax with placeholder values
554
+ #
555
+ # resp = client.describe_stream_consumer({
556
+ # stream_arn: "StreamARN",
557
+ # consumer_name: "ConsumerName",
558
+ # consumer_arn: "ConsumerARN",
559
+ # })
560
+ #
561
+ # @example Response structure
562
+ #
563
+ # resp.consumer_description.consumer_name #=> String
564
+ # resp.consumer_description.consumer_arn #=> String
565
+ # resp.consumer_description.consumer_status #=> String, one of "CREATING", "DELETING", "ACTIVE"
566
+ # resp.consumer_description.consumer_creation_timestamp #=> Time
567
+ # resp.consumer_description.stream_arn #=> String
568
+ #
569
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DescribeStreamConsumer AWS API Documentation
570
+ #
571
+ # @overload describe_stream_consumer(params = {})
572
+ # @param [Hash] params ({})
573
+ def describe_stream_consumer(params = {}, options = {})
574
+ req = build_request(:describe_stream_consumer, params)
575
+ req.send_request(options)
576
+ end
577
+
463
578
  # Provides a summarized description of the specified Kinesis data stream
464
579
  # without the shard list.
465
580
  #
@@ -493,6 +608,7 @@ module Aws::Kinesis
493
608
  # resp.stream_description_summary.encryption_type #=> String, one of "NONE", "KMS"
494
609
  # resp.stream_description_summary.key_id #=> String
495
610
  # resp.stream_description_summary.open_shard_count #=> Integer
611
+ # resp.stream_description_summary.consumer_count #=> Integer
496
612
  #
497
613
  # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DescribeStreamSummary AWS API Documentation
498
614
  #
@@ -659,22 +775,23 @@ module Aws::Kinesis
659
775
  # iterator reaches the record with the sequence number or other
660
776
  # attribute that marks it as the last record to process.
661
777
  #
662
- # Each data record can be up to 1 MB in size, and each shard can read up
663
- # to 2 MB per second. You can ensure that your calls don't exceed the
664
- # maximum supported size or throughput by using the `Limit` parameter to
665
- # specify the maximum number of records that GetRecords can return.
666
- # Consider your average record size when determining this limit.
778
+ # Each data record can be up to 1 MiB in size, and each shard can read
779
+ # up to 2 MiB per second. You can ensure that your calls don't exceed
780
+ # the maximum supported size or throughput by using the `Limit`
781
+ # parameter to specify the maximum number of records that GetRecords can
782
+ # return. Consider your average record size when determining this limit.
783
+ # The maximum number of records that can be returned per call is 10,000.
667
784
  #
668
785
  # The size of the data returned by GetRecords varies depending on the
669
786
  # utilization of the shard. The maximum size of data that GetRecords can
670
- # return is 10 MB. If a call returns this amount of data, subsequent
671
- # calls made within the next five seconds throw
787
+ # return is 10 MiB. If a call returns this amount of data, subsequent
788
+ # calls made within the next 5 seconds throw
672
789
  # `ProvisionedThroughputExceededException`. If there is insufficient
673
790
  # provisioned throughput on the stream, subsequent calls made within the
674
- # next one second throw `ProvisionedThroughputExceededException`.
675
- # GetRecords won't return any data when it throws an exception. For
676
- # this reason, we recommend that you wait one second between calls to
677
- # GetRecords; however, it's possible that the application will get
791
+ # next 1 second throw `ProvisionedThroughputExceededException`.
792
+ # GetRecords doesn't return any data when it throws an exception. For
793
+ # this reason, we recommend that you wait 1 second between calls to
794
+ # GetRecords. However, it's possible that the application will get
678
795
  # exceptions for longer than 1 second.
679
796
  #
680
797
  # To detect whether the application is falling behind in processing, you
@@ -693,6 +810,9 @@ module Aws::Kinesis
693
810
  # always increasing. For example, records in a shard or across a stream
694
811
  # might have time stamps that are out of order.
695
812
  #
813
+ # This operation has a limit of five transactions per second per
814
+ # account.
815
+ #
696
816
  #
697
817
  #
698
818
  # [1]: http://docs.aws.amazon.com/kinesis/latest/dev/service-sizes-and-limits.html
@@ -741,7 +861,7 @@ module Aws::Kinesis
741
861
  req.send_request(options)
742
862
  end
743
863
 
744
- # Gets an Amazon Kinesis shard iterator. A shard iterator expires five
864
+ # Gets an Amazon Kinesis shard iterator. A shard iterator expires 5
745
865
  # minutes after it is returned to the requester.
746
866
  #
747
867
  # A shard iterator specifies the shard position from which to start
@@ -900,7 +1020,8 @@ module Aws::Kinesis
900
1020
  end
901
1021
 
902
1022
  # Lists the shards in a stream and provides information about each
903
- # shard.
1023
+ # shard. This operation has a limit of 100 transactions per second per
1024
+ # data stream.
904
1025
  #
905
1026
  # This API is a new operation that is used by the Amazon Kinesis Client
906
1027
  # Library (KCL). If you have a fine-grained IAM policy that only allows
@@ -943,7 +1064,9 @@ module Aws::Kinesis
943
1064
  # to `ListShards`, you get `ExpiredNextTokenException`.
944
1065
  #
945
1066
  # @option params [String] :exclusive_start_shard_id
946
- # The ID of the shard to start the list with.
1067
+ # Specify this parameter to indicate that you want to list the shards
1068
+ # starting with the shard whose ID immediately follows
1069
+ # `ExclusiveStartShardId`.
947
1070
  #
948
1071
  # If you don't specify this parameter, the default behavior is for
949
1072
  # `ListShards` to list the shards starting with the first one in the
@@ -1007,6 +1130,92 @@ module Aws::Kinesis
1007
1130
  req.send_request(options)
1008
1131
  end
1009
1132
 
1133
+ # Lists the consumers registered to receive data from a stream using
1134
+ # enhanced fan-out, and provides information about each consumer.
1135
+ #
1136
+ # This operation has a limit of 10 transactions per second per account.
1137
+ #
1138
+ # @option params [required, String] :stream_arn
1139
+ # The ARN of the Kinesis data stream for which you want to list the
1140
+ # registered consumers. For more information, see [Amazon Resource Names
1141
+ # (ARNs) and AWS Service Namespaces][1].
1142
+ #
1143
+ #
1144
+ #
1145
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
1146
+ #
1147
+ # @option params [String] :next_token
1148
+ # When the number of consumers that are registered with the data stream
1149
+ # is greater than the default value for the `MaxResults` parameter, or
1150
+ # if you explicitly specify a value for `MaxResults` that is less than
1151
+ # the number of consumers that are registered with the data stream, the
1152
+ # response includes a pagination token named `NextToken`. You can
1153
+ # specify this `NextToken` value in a subsequent call to
1154
+ # `ListStreamConsumers` to list the next set of registered consumers.
1155
+ #
1156
+ # Don't specify `StreamName` or `StreamCreationTimestamp` if you
1157
+ # specify `NextToken` because the latter unambiguously identifies the
1158
+ # stream.
1159
+ #
1160
+ # You can optionally specify a value for the `MaxResults` parameter when
1161
+ # you specify `NextToken`. If you specify a `MaxResults` value that is
1162
+ # less than the number of consumers that the operation returns if you
1163
+ # don't specify `MaxResults`, the response will contain a new
1164
+ # `NextToken` value. You can use the new `NextToken` value in a
1165
+ # subsequent call to the `ListStreamConsumers` operation to list the
1166
+ # next set of consumers.
1167
+ #
1168
+ # Tokens expire after 300 seconds. When you obtain a value for
1169
+ # `NextToken` in the response to a call to `ListStreamConsumers`, you
1170
+ # have 300 seconds to use that value. If you specify an expired token in
1171
+ # a call to `ListStreamConsumers`, you get `ExpiredNextTokenException`.
1172
+ #
1173
+ # @option params [Integer] :max_results
1174
+ # The maximum number of consumers that you want a single call of
1175
+ # `ListStreamConsumers` to return.
1176
+ #
1177
+ # @option params [Time,DateTime,Date,Integer,String] :stream_creation_timestamp
1178
+ # Specify this input parameter to distinguish data streams that have the
1179
+ # same name. For example, if you create a data stream and then delete
1180
+ # it, and you later create another data stream with the same name, you
1181
+ # can use this input parameter to specify which of the two streams you
1182
+ # want to list the consumers for.
1183
+ #
1184
+ # You can't specify this parameter if you specify the NextToken
1185
+ # parameter.
1186
+ #
1187
+ # @return [Types::ListStreamConsumersOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1188
+ #
1189
+ # * {Types::ListStreamConsumersOutput#consumers #consumers} => Array&lt;Types::Consumer&gt;
1190
+ # * {Types::ListStreamConsumersOutput#next_token #next_token} => String
1191
+ #
1192
+ # @example Request syntax with placeholder values
1193
+ #
1194
+ # resp = client.list_stream_consumers({
1195
+ # stream_arn: "StreamARN", # required
1196
+ # next_token: "NextToken",
1197
+ # max_results: 1,
1198
+ # stream_creation_timestamp: Time.now,
1199
+ # })
1200
+ #
1201
+ # @example Response structure
1202
+ #
1203
+ # resp.consumers #=> Array
1204
+ # resp.consumers[0].consumer_name #=> String
1205
+ # resp.consumers[0].consumer_arn #=> String
1206
+ # resp.consumers[0].consumer_status #=> String, one of "CREATING", "DELETING", "ACTIVE"
1207
+ # resp.consumers[0].consumer_creation_timestamp #=> Time
1208
+ # resp.next_token #=> String
1209
+ #
1210
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/ListStreamConsumers AWS API Documentation
1211
+ #
1212
+ # @overload list_stream_consumers(params = {})
1213
+ # @param [Hash] params ({})
1214
+ def list_stream_consumers(params = {}, options = {})
1215
+ req = build_request(:list_stream_consumers, params)
1216
+ req.send_request(options)
1217
+ end
1218
+
1010
1219
  # Lists your Kinesis data streams.
1011
1220
  #
1012
1221
  # The number of streams may be too large to return from a single call to
@@ -1413,6 +1622,58 @@ module Aws::Kinesis
1413
1622
  req.send_request(options)
1414
1623
  end
1415
1624
 
1625
+ # Registers a consumer with a Kinesis data stream. When you use this
1626
+ # operation, the consumer you register can read data from the stream at
1627
+ # a rate of up to 2 MiB per second. This rate is unaffected by the total
1628
+ # number of consumers that read from the same stream.
1629
+ #
1630
+ # You can register up to 5 consumers per stream. A given consumer can
1631
+ # only be registered with one stream.
1632
+ #
1633
+ # This operation has a limit of five transactions per second per
1634
+ # account.
1635
+ #
1636
+ # @option params [required, String] :stream_arn
1637
+ # The ARN of the Kinesis data stream that you want to register the
1638
+ # consumer with. For more info, see [Amazon Resource Names (ARNs) and
1639
+ # AWS Service Namespaces][1].
1640
+ #
1641
+ #
1642
+ #
1643
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
1644
+ #
1645
+ # @option params [required, String] :consumer_name
1646
+ # For a given Kinesis data stream, each consumer must have a unique
1647
+ # name. However, consumer names don't have to be unique across data
1648
+ # streams.
1649
+ #
1650
+ # @return [Types::RegisterStreamConsumerOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1651
+ #
1652
+ # * {Types::RegisterStreamConsumerOutput#consumer #consumer} => Types::Consumer
1653
+ #
1654
+ # @example Request syntax with placeholder values
1655
+ #
1656
+ # resp = client.register_stream_consumer({
1657
+ # stream_arn: "StreamARN", # required
1658
+ # consumer_name: "ConsumerName", # required
1659
+ # })
1660
+ #
1661
+ # @example Response structure
1662
+ #
1663
+ # resp.consumer.consumer_name #=> String
1664
+ # resp.consumer.consumer_arn #=> String
1665
+ # resp.consumer.consumer_status #=> String, one of "CREATING", "DELETING", "ACTIVE"
1666
+ # resp.consumer.consumer_creation_timestamp #=> Time
1667
+ #
1668
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/RegisterStreamConsumer AWS API Documentation
1669
+ #
1670
+ # @overload register_stream_consumer(params = {})
1671
+ # @param [Hash] params ({})
1672
+ def register_stream_consumer(params = {}, options = {})
1673
+ req = build_request(:register_stream_consumer, params)
1674
+ req.send_request(options)
1675
+ end
1676
+
1416
1677
  # Removes tags from the specified Kinesis data stream. Removed tags are
1417
1678
  # deleted and cannot be recovered after this operation successfully
1418
1679
  # completes.
@@ -1487,9 +1748,9 @@ module Aws::Kinesis
1487
1748
  # `ResourceNotFoundException`. If you try to create more shards than are
1488
1749
  # authorized for your account, you receive a `LimitExceededException`.
1489
1750
  #
1490
- # For the default shard limit for an AWS account, see [Streams
1491
- # Limits][2] in the *Amazon Kinesis Data Streams Developer Guide*. To
1492
- # increase this limit, [contact AWS Support][3].
1751
+ # For the default shard limit for an AWS account, see [Kinesis Data
1752
+ # Streams Limits][2] in the *Amazon Kinesis Data Streams Developer
1753
+ # Guide*. To increase this limit, [contact AWS Support][3].
1493
1754
  #
1494
1755
  # If you try to operate on too many streams simultaneously using
1495
1756
  # CreateStream, DeleteStream, MergeShards, and/or SplitShard, you
@@ -1553,11 +1814,10 @@ module Aws::Kinesis
1553
1814
  # API Limits: You can successfully apply a new AWS KMS key for
1554
1815
  # server-side encryption 25 times in a rolling 24-hour period.
1555
1816
  #
1556
- # Note: It can take up to five seconds after the stream is in an
1557
- # `ACTIVE` status before all records written to the stream are
1558
- # encrypted. After you enable encryption, you can verify that encryption
1559
- # is applied by inspecting the API response from `PutRecord` or
1560
- # `PutRecords`.
1817
+ # Note: It can take up to 5 seconds after the stream is in an `ACTIVE`
1818
+ # status before all records written to the stream are encrypted. After
1819
+ # you enable encryption, you can verify that encryption is applied by
1820
+ # inspecting the API response from `PutRecord` or `PutRecords`.
1561
1821
  #
1562
1822
  # @option params [required, String] :stream_name
1563
1823
  # The name of the stream for which to start encrypting records.
@@ -1619,10 +1879,10 @@ module Aws::Kinesis
1619
1879
  # API Limits: You can successfully disable server-side encryption 25
1620
1880
  # times in a rolling 24-hour period.
1621
1881
  #
1622
- # Note: It can take up to five seconds after the stream is in an
1623
- # `ACTIVE` status before all records written to the stream are no longer
1624
- # subject to encryption. After you disabled encryption, you can verify
1625
- # that encryption is not applied by inspecting the API response from
1882
+ # Note: It can take up to 5 seconds after the stream is in an `ACTIVE`
1883
+ # status before all records written to the stream are no longer subject
1884
+ # to encryption. After you disabled encryption, you can verify that
1885
+ # encryption is not applied by inspecting the API response from
1626
1886
  # `PutRecord` or `PutRecords`.
1627
1887
  #
1628
1888
  # @option params [required, String] :stream_name
@@ -1687,7 +1947,8 @@ module Aws::Kinesis
1687
1947
  # or halve the shard count, as this results in the fewest number of
1688
1948
  # splits or merges.
1689
1949
  #
1690
- # This operation has the following limits. You cannot do the following:
1950
+ # This operation has the following default limits. By default, you
1951
+ # cannot do the following:
1691
1952
  #
1692
1953
  # * Scale more than twice per rolling 24-hour period per stream
1693
1954
  #
@@ -1763,7 +2024,7 @@ module Aws::Kinesis
1763
2024
  params: params,
1764
2025
  config: config)
1765
2026
  context[:gem_name] = 'aws-sdk-kinesis'
1766
- context[:gem_version] = '1.3.0'
2027
+ context[:gem_version] = '1.4.0'
1767
2028
  Seahorse::Client::Request.new(handlers, context)
1768
2029
  end
1769
2030
 
@@ -13,12 +13,22 @@ module Aws::Kinesis
13
13
 
14
14
  AddTagsToStreamInput = Shapes::StructureShape.new(name: 'AddTagsToStreamInput')
15
15
  BooleanObject = Shapes::BooleanShape.new(name: 'BooleanObject')
16
+ Consumer = Shapes::StructureShape.new(name: 'Consumer')
17
+ ConsumerARN = Shapes::StringShape.new(name: 'ConsumerARN')
18
+ ConsumerCountObject = Shapes::IntegerShape.new(name: 'ConsumerCountObject')
19
+ ConsumerDescription = Shapes::StructureShape.new(name: 'ConsumerDescription')
20
+ ConsumerList = Shapes::ListShape.new(name: 'ConsumerList')
21
+ ConsumerName = Shapes::StringShape.new(name: 'ConsumerName')
22
+ ConsumerStatus = Shapes::StringShape.new(name: 'ConsumerStatus')
16
23
  CreateStreamInput = Shapes::StructureShape.new(name: 'CreateStreamInput')
17
24
  Data = Shapes::BlobShape.new(name: 'Data')
18
25
  DecreaseStreamRetentionPeriodInput = Shapes::StructureShape.new(name: 'DecreaseStreamRetentionPeriodInput')
19
26
  DeleteStreamInput = Shapes::StructureShape.new(name: 'DeleteStreamInput')
27
+ DeregisterStreamConsumerInput = Shapes::StructureShape.new(name: 'DeregisterStreamConsumerInput')
20
28
  DescribeLimitsInput = Shapes::StructureShape.new(name: 'DescribeLimitsInput')
21
29
  DescribeLimitsOutput = Shapes::StructureShape.new(name: 'DescribeLimitsOutput')
30
+ DescribeStreamConsumerInput = Shapes::StructureShape.new(name: 'DescribeStreamConsumerInput')
31
+ DescribeStreamConsumerOutput = Shapes::StructureShape.new(name: 'DescribeStreamConsumerOutput')
22
32
  DescribeStreamInput = Shapes::StructureShape.new(name: 'DescribeStreamInput')
23
33
  DescribeStreamInputLimit = Shapes::IntegerShape.new(name: 'DescribeStreamInputLimit')
24
34
  DescribeStreamOutput = Shapes::StructureShape.new(name: 'DescribeStreamOutput')
@@ -42,6 +52,7 @@ module Aws::Kinesis
42
52
  HashKey = Shapes::StringShape.new(name: 'HashKey')
43
53
  HashKeyRange = Shapes::StructureShape.new(name: 'HashKeyRange')
44
54
  IncreaseStreamRetentionPeriodInput = Shapes::StructureShape.new(name: 'IncreaseStreamRetentionPeriodInput')
55
+ InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
45
56
  InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
46
57
  KMSAccessDeniedException = Shapes::StructureShape.new(name: 'KMSAccessDeniedException')
47
58
  KMSDisabledException = Shapes::StructureShape.new(name: 'KMSDisabledException')
@@ -54,6 +65,9 @@ module Aws::Kinesis
54
65
  ListShardsInput = Shapes::StructureShape.new(name: 'ListShardsInput')
55
66
  ListShardsInputLimit = Shapes::IntegerShape.new(name: 'ListShardsInputLimit')
56
67
  ListShardsOutput = Shapes::StructureShape.new(name: 'ListShardsOutput')
68
+ ListStreamConsumersInput = Shapes::StructureShape.new(name: 'ListStreamConsumersInput')
69
+ ListStreamConsumersInputLimit = Shapes::IntegerShape.new(name: 'ListStreamConsumersInputLimit')
70
+ ListStreamConsumersOutput = Shapes::StructureShape.new(name: 'ListStreamConsumersOutput')
57
71
  ListStreamsInput = Shapes::StructureShape.new(name: 'ListStreamsInput')
58
72
  ListStreamsInputLimit = Shapes::IntegerShape.new(name: 'ListStreamsInputLimit')
59
73
  ListStreamsOutput = Shapes::StructureShape.new(name: 'ListStreamsOutput')
@@ -78,6 +92,8 @@ module Aws::Kinesis
78
92
  PutRecordsResultEntryList = Shapes::ListShape.new(name: 'PutRecordsResultEntryList')
79
93
  Record = Shapes::StructureShape.new(name: 'Record')
80
94
  RecordList = Shapes::ListShape.new(name: 'RecordList')
95
+ RegisterStreamConsumerInput = Shapes::StructureShape.new(name: 'RegisterStreamConsumerInput')
96
+ RegisterStreamConsumerOutput = Shapes::StructureShape.new(name: 'RegisterStreamConsumerOutput')
81
97
  RemoveTagsFromStreamInput = Shapes::StructureShape.new(name: 'RemoveTagsFromStreamInput')
82
98
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
83
99
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
@@ -93,6 +109,7 @@ module Aws::Kinesis
93
109
  ShardList = Shapes::ListShape.new(name: 'ShardList')
94
110
  SplitShardInput = Shapes::StructureShape.new(name: 'SplitShardInput')
95
111
  StartStreamEncryptionInput = Shapes::StructureShape.new(name: 'StartStreamEncryptionInput')
112
+ StartingPosition = Shapes::StructureShape.new(name: 'StartingPosition')
96
113
  StopStreamEncryptionInput = Shapes::StructureShape.new(name: 'StopStreamEncryptionInput')
97
114
  StreamARN = Shapes::StringShape.new(name: 'StreamARN')
98
115
  StreamDescription = Shapes::StructureShape.new(name: 'StreamDescription')
@@ -100,6 +117,8 @@ module Aws::Kinesis
100
117
  StreamName = Shapes::StringShape.new(name: 'StreamName')
101
118
  StreamNameList = Shapes::ListShape.new(name: 'StreamNameList')
102
119
  StreamStatus = Shapes::StringShape.new(name: 'StreamStatus')
120
+ SubscribeToShardEvent = Shapes::StructureShape.new(name: 'SubscribeToShardEvent')
121
+ SubscribeToShardEventStream = Shapes::StructureShape.new(name: 'SubscribeToShardEventStream')
103
122
  Tag = Shapes::StructureShape.new(name: 'Tag')
104
123
  TagKey = Shapes::StringShape.new(name: 'TagKey')
105
124
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
@@ -114,6 +133,21 @@ module Aws::Kinesis
114
133
  AddTagsToStreamInput.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, required: true, location_name: "Tags"))
115
134
  AddTagsToStreamInput.struct_class = Types::AddTagsToStreamInput
116
135
 
136
+ Consumer.add_member(:consumer_name, Shapes::ShapeRef.new(shape: ConsumerName, required: true, location_name: "ConsumerName"))
137
+ Consumer.add_member(:consumer_arn, Shapes::ShapeRef.new(shape: ConsumerARN, required: true, location_name: "ConsumerARN"))
138
+ Consumer.add_member(:consumer_status, Shapes::ShapeRef.new(shape: ConsumerStatus, required: true, location_name: "ConsumerStatus"))
139
+ Consumer.add_member(:consumer_creation_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "ConsumerCreationTimestamp"))
140
+ Consumer.struct_class = Types::Consumer
141
+
142
+ ConsumerDescription.add_member(:consumer_name, Shapes::ShapeRef.new(shape: ConsumerName, required: true, location_name: "ConsumerName"))
143
+ ConsumerDescription.add_member(:consumer_arn, Shapes::ShapeRef.new(shape: ConsumerARN, required: true, location_name: "ConsumerARN"))
144
+ ConsumerDescription.add_member(:consumer_status, Shapes::ShapeRef.new(shape: ConsumerStatus, required: true, location_name: "ConsumerStatus"))
145
+ ConsumerDescription.add_member(:consumer_creation_timestamp, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "ConsumerCreationTimestamp"))
146
+ ConsumerDescription.add_member(:stream_arn, Shapes::ShapeRef.new(shape: StreamARN, required: true, location_name: "StreamARN"))
147
+ ConsumerDescription.struct_class = Types::ConsumerDescription
148
+
149
+ ConsumerList.member = Shapes::ShapeRef.new(shape: Consumer)
150
+
117
151
  CreateStreamInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
118
152
  CreateStreamInput.add_member(:shard_count, Shapes::ShapeRef.new(shape: PositiveIntegerObject, required: true, location_name: "ShardCount"))
119
153
  CreateStreamInput.struct_class = Types::CreateStreamInput
@@ -123,14 +157,28 @@ module Aws::Kinesis
123
157
  DecreaseStreamRetentionPeriodInput.struct_class = Types::DecreaseStreamRetentionPeriodInput
124
158
 
125
159
  DeleteStreamInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
160
+ DeleteStreamInput.add_member(:enforce_consumer_deletion, Shapes::ShapeRef.new(shape: BooleanObject, location_name: "EnforceConsumerDeletion"))
126
161
  DeleteStreamInput.struct_class = Types::DeleteStreamInput
127
162
 
163
+ DeregisterStreamConsumerInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: StreamARN, location_name: "StreamARN"))
164
+ DeregisterStreamConsumerInput.add_member(:consumer_name, Shapes::ShapeRef.new(shape: ConsumerName, location_name: "ConsumerName"))
165
+ DeregisterStreamConsumerInput.add_member(:consumer_arn, Shapes::ShapeRef.new(shape: ConsumerARN, location_name: "ConsumerARN"))
166
+ DeregisterStreamConsumerInput.struct_class = Types::DeregisterStreamConsumerInput
167
+
128
168
  DescribeLimitsInput.struct_class = Types::DescribeLimitsInput
129
169
 
130
170
  DescribeLimitsOutput.add_member(:shard_limit, Shapes::ShapeRef.new(shape: ShardCountObject, required: true, location_name: "ShardLimit"))
131
171
  DescribeLimitsOutput.add_member(:open_shard_count, Shapes::ShapeRef.new(shape: ShardCountObject, required: true, location_name: "OpenShardCount"))
132
172
  DescribeLimitsOutput.struct_class = Types::DescribeLimitsOutput
133
173
 
174
+ DescribeStreamConsumerInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: StreamARN, location_name: "StreamARN"))
175
+ DescribeStreamConsumerInput.add_member(:consumer_name, Shapes::ShapeRef.new(shape: ConsumerName, location_name: "ConsumerName"))
176
+ DescribeStreamConsumerInput.add_member(:consumer_arn, Shapes::ShapeRef.new(shape: ConsumerARN, location_name: "ConsumerARN"))
177
+ DescribeStreamConsumerInput.struct_class = Types::DescribeStreamConsumerInput
178
+
179
+ DescribeStreamConsumerOutput.add_member(:consumer_description, Shapes::ShapeRef.new(shape: ConsumerDescription, required: true, location_name: "ConsumerDescription"))
180
+ DescribeStreamConsumerOutput.struct_class = Types::DescribeStreamConsumerOutput
181
+
134
182
  DescribeStreamInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
135
183
  DescribeStreamInput.add_member(:limit, Shapes::ShapeRef.new(shape: DescribeStreamInputLimit, location_name: "Limit"))
136
184
  DescribeStreamInput.add_member(:exclusive_start_shard_id, Shapes::ShapeRef.new(shape: ShardId, location_name: "ExclusiveStartShardId"))
@@ -201,6 +249,16 @@ module Aws::Kinesis
201
249
  ListShardsOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
202
250
  ListShardsOutput.struct_class = Types::ListShardsOutput
203
251
 
252
+ ListStreamConsumersInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: StreamARN, required: true, location_name: "StreamARN"))
253
+ ListStreamConsumersInput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
254
+ ListStreamConsumersInput.add_member(:max_results, Shapes::ShapeRef.new(shape: ListStreamConsumersInputLimit, location_name: "MaxResults"))
255
+ ListStreamConsumersInput.add_member(:stream_creation_timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "StreamCreationTimestamp"))
256
+ ListStreamConsumersInput.struct_class = Types::ListStreamConsumersInput
257
+
258
+ ListStreamConsumersOutput.add_member(:consumers, Shapes::ShapeRef.new(shape: ConsumerList, location_name: "Consumers"))
259
+ ListStreamConsumersOutput.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
260
+ ListStreamConsumersOutput.struct_class = Types::ListStreamConsumersOutput
261
+
204
262
  ListStreamsInput.add_member(:limit, Shapes::ShapeRef.new(shape: ListStreamsInputLimit, location_name: "Limit"))
205
263
  ListStreamsInput.add_member(:exclusive_start_stream_name, Shapes::ShapeRef.new(shape: StreamName, location_name: "ExclusiveStartStreamName"))
206
264
  ListStreamsInput.struct_class = Types::ListStreamsInput
@@ -270,6 +328,13 @@ module Aws::Kinesis
270
328
 
271
329
  RecordList.member = Shapes::ShapeRef.new(shape: Record)
272
330
 
331
+ RegisterStreamConsumerInput.add_member(:stream_arn, Shapes::ShapeRef.new(shape: StreamARN, required: true, location_name: "StreamARN"))
332
+ RegisterStreamConsumerInput.add_member(:consumer_name, Shapes::ShapeRef.new(shape: ConsumerName, required: true, location_name: "ConsumerName"))
333
+ RegisterStreamConsumerInput.struct_class = Types::RegisterStreamConsumerInput
334
+
335
+ RegisterStreamConsumerOutput.add_member(:consumer, Shapes::ShapeRef.new(shape: Consumer, required: true, location_name: "Consumer"))
336
+ RegisterStreamConsumerOutput.struct_class = Types::RegisterStreamConsumerOutput
337
+
273
338
  RemoveTagsFromStreamInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
274
339
  RemoveTagsFromStreamInput.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeyList, required: true, location_name: "TagKeys"))
275
340
  RemoveTagsFromStreamInput.struct_class = Types::RemoveTagsFromStreamInput
@@ -297,6 +362,11 @@ module Aws::Kinesis
297
362
  StartStreamEncryptionInput.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyId, required: true, location_name: "KeyId"))
298
363
  StartStreamEncryptionInput.struct_class = Types::StartStreamEncryptionInput
299
364
 
365
+ StartingPosition.add_member(:type, Shapes::ShapeRef.new(shape: ShardIteratorType, required: true, location_name: "Type"))
366
+ StartingPosition.add_member(:sequence_number, Shapes::ShapeRef.new(shape: SequenceNumber, location_name: "SequenceNumber"))
367
+ StartingPosition.add_member(:timestamp, Shapes::ShapeRef.new(shape: Timestamp, location_name: "Timestamp"))
368
+ StartingPosition.struct_class = Types::StartingPosition
369
+
300
370
  StopStreamEncryptionInput.add_member(:stream_name, Shapes::ShapeRef.new(shape: StreamName, required: true, location_name: "StreamName"))
301
371
  StopStreamEncryptionInput.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "EncryptionType"))
302
372
  StopStreamEncryptionInput.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyId, required: true, location_name: "KeyId"))
@@ -323,10 +393,28 @@ module Aws::Kinesis
323
393
  StreamDescriptionSummary.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, location_name: "EncryptionType"))
324
394
  StreamDescriptionSummary.add_member(:key_id, Shapes::ShapeRef.new(shape: KeyId, location_name: "KeyId"))
325
395
  StreamDescriptionSummary.add_member(:open_shard_count, Shapes::ShapeRef.new(shape: ShardCountObject, required: true, location_name: "OpenShardCount"))
396
+ StreamDescriptionSummary.add_member(:consumer_count, Shapes::ShapeRef.new(shape: ConsumerCountObject, location_name: "ConsumerCount"))
326
397
  StreamDescriptionSummary.struct_class = Types::StreamDescriptionSummary
327
398
 
328
399
  StreamNameList.member = Shapes::ShapeRef.new(shape: StreamName)
329
400
 
401
+ SubscribeToShardEvent.add_member(:records, Shapes::ShapeRef.new(shape: RecordList, required: true, location_name: "Records"))
402
+ SubscribeToShardEvent.add_member(:continuation_sequence_number, Shapes::ShapeRef.new(shape: SequenceNumber, required: true, location_name: "ContinuationSequenceNumber"))
403
+ SubscribeToShardEvent.add_member(:millis_behind_latest, Shapes::ShapeRef.new(shape: MillisBehindLatest, required: true, location_name: "MillisBehindLatest"))
404
+ SubscribeToShardEvent.struct_class = Types::SubscribeToShardEvent
405
+
406
+ SubscribeToShardEventStream.add_member(:subscribe_to_shard_event, Shapes::ShapeRef.new(shape: SubscribeToShardEvent, required: true, event: true, location_name: "SubscribeToShardEvent"))
407
+ SubscribeToShardEventStream.add_member(:resource_not_found_exception, Shapes::ShapeRef.new(shape: ResourceNotFoundException, location_name: "ResourceNotFoundException"))
408
+ SubscribeToShardEventStream.add_member(:resource_in_use_exception, Shapes::ShapeRef.new(shape: ResourceInUseException, location_name: "ResourceInUseException"))
409
+ SubscribeToShardEventStream.add_member(:kms_disabled_exception, Shapes::ShapeRef.new(shape: KMSDisabledException, location_name: "KMSDisabledException"))
410
+ SubscribeToShardEventStream.add_member(:kms_invalid_state_exception, Shapes::ShapeRef.new(shape: KMSInvalidStateException, location_name: "KMSInvalidStateException"))
411
+ SubscribeToShardEventStream.add_member(:kms_access_denied_exception, Shapes::ShapeRef.new(shape: KMSAccessDeniedException, location_name: "KMSAccessDeniedException"))
412
+ SubscribeToShardEventStream.add_member(:kms_not_found_exception, Shapes::ShapeRef.new(shape: KMSNotFoundException, location_name: "KMSNotFoundException"))
413
+ SubscribeToShardEventStream.add_member(:kms_opt_in_required, Shapes::ShapeRef.new(shape: KMSOptInRequired, location_name: "KMSOptInRequired"))
414
+ SubscribeToShardEventStream.add_member(:kms_throttling_exception, Shapes::ShapeRef.new(shape: KMSThrottlingException, location_name: "KMSThrottlingException"))
415
+ SubscribeToShardEventStream.add_member(:internal_failure_exception, Shapes::ShapeRef.new(shape: InternalFailureException, location_name: "InternalFailureException"))
416
+ SubscribeToShardEventStream.struct_class = Types::SubscribeToShardEventStream
417
+
330
418
  Tag.add_member(:key, Shapes::ShapeRef.new(shape: TagKey, required: true, location_name: "Key"))
331
419
  Tag.add_member(:value, Shapes::ShapeRef.new(shape: TagValue, location_name: "Value"))
332
420
  Tag.struct_class = Types::Tag
@@ -358,6 +446,7 @@ module Aws::Kinesis
358
446
  "endpointPrefix" => "kinesis",
359
447
  "jsonVersion" => "1.1",
360
448
  "protocol" => "json",
449
+ "protocolSettings" => {"h2"=>"eventstream"},
361
450
  "serviceFullName" => "Amazon Kinesis",
362
451
  "signatureVersion" => "v4",
363
452
  "targetPrefix" => "Kinesis_20131202",
@@ -406,6 +495,18 @@ module Aws::Kinesis
406
495
  o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
407
496
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
408
497
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
498
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
499
+ end)
500
+
501
+ api.add_operation(:deregister_stream_consumer, Seahorse::Model::Operation.new.tap do |o|
502
+ o.name = "DeregisterStreamConsumer"
503
+ o.http_method = "POST"
504
+ o.http_request_uri = "/"
505
+ o.input = Shapes::ShapeRef.new(shape: DeregisterStreamConsumerInput)
506
+ o.output = Shapes::ShapeRef.new(shape: Shapes::StructureShape.new(struct_class: Aws::EmptyStructure))
507
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
508
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
509
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
409
510
  end)
410
511
 
411
512
  api.add_operation(:describe_limits, Seahorse::Model::Operation.new.tap do |o|
@@ -434,6 +535,17 @@ module Aws::Kinesis
434
535
  )
435
536
  end)
436
537
 
538
+ api.add_operation(:describe_stream_consumer, Seahorse::Model::Operation.new.tap do |o|
539
+ o.name = "DescribeStreamConsumer"
540
+ o.http_method = "POST"
541
+ o.http_request_uri = "/"
542
+ o.input = Shapes::ShapeRef.new(shape: DescribeStreamConsumerInput)
543
+ o.output = Shapes::ShapeRef.new(shape: DescribeStreamConsumerOutput)
544
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
545
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
546
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
547
+ end)
548
+
437
549
  api.add_operation(:describe_stream_summary, Seahorse::Model::Operation.new.tap do |o|
438
550
  o.name = "DescribeStreamSummary"
439
551
  o.http_method = "POST"
@@ -522,6 +634,25 @@ module Aws::Kinesis
522
634
  o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
523
635
  end)
524
636
 
637
+ api.add_operation(:list_stream_consumers, Seahorse::Model::Operation.new.tap do |o|
638
+ o.name = "ListStreamConsumers"
639
+ o.http_method = "POST"
640
+ o.http_request_uri = "/"
641
+ o.input = Shapes::ShapeRef.new(shape: ListStreamConsumersInput)
642
+ o.output = Shapes::ShapeRef.new(shape: ListStreamConsumersOutput)
643
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
644
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
645
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
646
+ o.errors << Shapes::ShapeRef.new(shape: ExpiredNextTokenException)
647
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
648
+ o[:pager] = Aws::Pager.new(
649
+ limit_key: "max_results",
650
+ tokens: {
651
+ "next_token" => "next_token"
652
+ }
653
+ )
654
+ end)
655
+
525
656
  api.add_operation(:list_streams, Seahorse::Model::Operation.new.tap do |o|
526
657
  o.name = "ListStreams"
527
658
  o.http_method = "POST"
@@ -595,6 +726,18 @@ module Aws::Kinesis
595
726
  o.errors << Shapes::ShapeRef.new(shape: KMSThrottlingException)
596
727
  end)
597
728
 
729
+ api.add_operation(:register_stream_consumer, Seahorse::Model::Operation.new.tap do |o|
730
+ o.name = "RegisterStreamConsumer"
731
+ o.http_method = "POST"
732
+ o.http_request_uri = "/"
733
+ o.input = Shapes::ShapeRef.new(shape: RegisterStreamConsumerInput)
734
+ o.output = Shapes::ShapeRef.new(shape: RegisterStreamConsumerOutput)
735
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
736
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
737
+ o.errors << Shapes::ShapeRef.new(shape: ResourceInUseException)
738
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
739
+ end)
740
+
598
741
  api.add_operation(:remove_tags_from_stream, Seahorse::Model::Operation.new.tap do |o|
599
742
  o.name = "RemoveTagsFromStream"
600
743
  o.http_method = "POST"
@@ -25,7 +25,7 @@ module Aws::Kinesis
25
25
  # @return [String]
26
26
  #
27
27
  # @!attribute [rw] tags
28
- # The set of key-value pairs to use to create the tags.
28
+ # A set of up to 10 key-value pairs to use to create the tags.
29
29
  # @return [Hash<String,String>]
30
30
  #
31
31
  # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/AddTagsToStreamInput AWS API Documentation
@@ -36,6 +36,81 @@ module Aws::Kinesis
36
36
  include Aws::Structure
37
37
  end
38
38
 
39
+ # An object that represents the details of the consumer you registered.
40
+ #
41
+ # @!attribute [rw] consumer_name
42
+ # The name of the consumer is something you choose when you register
43
+ # the consumer.
44
+ # @return [String]
45
+ #
46
+ # @!attribute [rw] consumer_arn
47
+ # When you register a consumer, Kinesis Data Streams generates an ARN
48
+ # for it. You need this ARN to be able to call SubscribeToShard.
49
+ #
50
+ # If you delete a consumer and then create a new one with the same
51
+ # name, it won't have the same ARN. That's because consumer ARNs
52
+ # contain the creation timestamp. This is important to keep in mind if
53
+ # you have IAM policies that reference consumer ARNs.
54
+ # @return [String]
55
+ #
56
+ # @!attribute [rw] consumer_status
57
+ # A consumer can't read data while in the `CREATING` or `DELETING`
58
+ # states.
59
+ # @return [String]
60
+ #
61
+ # @!attribute [rw] consumer_creation_timestamp
62
+ # @return [Time]
63
+ #
64
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/Consumer AWS API Documentation
65
+ #
66
+ class Consumer < Struct.new(
67
+ :consumer_name,
68
+ :consumer_arn,
69
+ :consumer_status,
70
+ :consumer_creation_timestamp)
71
+ include Aws::Structure
72
+ end
73
+
74
+ # An object that represents the details of a registered consumer.
75
+ #
76
+ # @!attribute [rw] consumer_name
77
+ # The name of the consumer is something you choose when you register
78
+ # the consumer.
79
+ # @return [String]
80
+ #
81
+ # @!attribute [rw] consumer_arn
82
+ # When you register a consumer, Kinesis Data Streams generates an ARN
83
+ # for it. You need this ARN to be able to call SubscribeToShard.
84
+ #
85
+ # If you delete a consumer and then create a new one with the same
86
+ # name, it won't have the same ARN. That's because consumer ARNs
87
+ # contain the creation timestamp. This is important to keep in mind if
88
+ # you have IAM policies that reference consumer ARNs.
89
+ # @return [String]
90
+ #
91
+ # @!attribute [rw] consumer_status
92
+ # A consumer can't read data while in the `CREATING` or `DELETING`
93
+ # states.
94
+ # @return [String]
95
+ #
96
+ # @!attribute [rw] consumer_creation_timestamp
97
+ # @return [Time]
98
+ #
99
+ # @!attribute [rw] stream_arn
100
+ # The ARN of the stream with which you registered the consumer.
101
+ # @return [String]
102
+ #
103
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/ConsumerDescription AWS API Documentation
104
+ #
105
+ class ConsumerDescription < Struct.new(
106
+ :consumer_name,
107
+ :consumer_arn,
108
+ :consumer_status,
109
+ :consumer_creation_timestamp,
110
+ :stream_arn)
111
+ include Aws::Structure
112
+ end
113
+
39
114
  # Represents the input for `CreateStream`.
40
115
  #
41
116
  # @note When making an API call, you may pass CreateStreamInput
@@ -104,16 +179,65 @@ module Aws::Kinesis
104
179
  #
105
180
  # {
106
181
  # stream_name: "StreamName", # required
182
+ # enforce_consumer_deletion: false,
107
183
  # }
108
184
  #
109
185
  # @!attribute [rw] stream_name
110
186
  # The name of the stream to delete.
111
187
  # @return [String]
112
188
  #
189
+ # @!attribute [rw] enforce_consumer_deletion
190
+ # If this parameter is unset (`null`) or if you set it to `false`, and
191
+ # the stream has registered consumers, the call to `DeleteStream`
192
+ # fails with a `ResourceInUseException`.
193
+ # @return [Boolean]
194
+ #
113
195
  # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DeleteStreamInput AWS API Documentation
114
196
  #
115
197
  class DeleteStreamInput < Struct.new(
116
- :stream_name)
198
+ :stream_name,
199
+ :enforce_consumer_deletion)
200
+ include Aws::Structure
201
+ end
202
+
203
+ # @note When making an API call, you may pass DeregisterStreamConsumerInput
204
+ # data as a hash:
205
+ #
206
+ # {
207
+ # stream_arn: "StreamARN",
208
+ # consumer_name: "ConsumerName",
209
+ # consumer_arn: "ConsumerARN",
210
+ # }
211
+ #
212
+ # @!attribute [rw] stream_arn
213
+ # The ARN of the Kinesis data stream that the consumer is registered
214
+ # with. For more information, see [Amazon Resource Names (ARNs) and
215
+ # AWS Service Namespaces][1].
216
+ #
217
+ #
218
+ #
219
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
220
+ # @return [String]
221
+ #
222
+ # @!attribute [rw] consumer_name
223
+ # The name that you gave to the consumer.
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] consumer_arn
227
+ # The ARN returned by Kinesis Data Streams when you registered the
228
+ # consumer. If you don't know the ARN of the consumer that you want
229
+ # to deregister, you can use the ListStreamConsumers operation to get
230
+ # a list of the descriptions of all the consumers that are currently
231
+ # registered with a given data stream. The description of a consumer
232
+ # contains its ARN.
233
+ # @return [String]
234
+ #
235
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DeregisterStreamConsumerInput AWS API Documentation
236
+ #
237
+ class DeregisterStreamConsumerInput < Struct.new(
238
+ :stream_arn,
239
+ :consumer_name,
240
+ :consumer_arn)
117
241
  include Aws::Structure
118
242
  end
119
243
 
@@ -139,6 +263,54 @@ module Aws::Kinesis
139
263
  include Aws::Structure
140
264
  end
141
265
 
266
+ # @note When making an API call, you may pass DescribeStreamConsumerInput
267
+ # data as a hash:
268
+ #
269
+ # {
270
+ # stream_arn: "StreamARN",
271
+ # consumer_name: "ConsumerName",
272
+ # consumer_arn: "ConsumerARN",
273
+ # }
274
+ #
275
+ # @!attribute [rw] stream_arn
276
+ # The ARN of the Kinesis data stream that the consumer is registered
277
+ # with. For more information, see [Amazon Resource Names (ARNs) and
278
+ # AWS Service Namespaces][1].
279
+ #
280
+ #
281
+ #
282
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
283
+ # @return [String]
284
+ #
285
+ # @!attribute [rw] consumer_name
286
+ # The name that you gave to the consumer.
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] consumer_arn
290
+ # The ARN returned by Kinesis Data Streams when you registered the
291
+ # consumer.
292
+ # @return [String]
293
+ #
294
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DescribeStreamConsumerInput AWS API Documentation
295
+ #
296
+ class DescribeStreamConsumerInput < Struct.new(
297
+ :stream_arn,
298
+ :consumer_name,
299
+ :consumer_arn)
300
+ include Aws::Structure
301
+ end
302
+
303
+ # @!attribute [rw] consumer_description
304
+ # An object that represents the details of the consumer.
305
+ # @return [Types::ConsumerDescription]
306
+ #
307
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/DescribeStreamConsumerOutput AWS API Documentation
308
+ #
309
+ class DescribeStreamConsumerOutput < Struct.new(
310
+ :consumer_description)
311
+ include Aws::Structure
312
+ end
313
+
142
314
  # Represents the input for `DescribeStream`.
143
315
  #
144
316
  # @note When making an API call, you may pass DescribeStreamInput
@@ -627,7 +799,9 @@ module Aws::Kinesis
627
799
  # @return [String]
628
800
  #
629
801
  # @!attribute [rw] exclusive_start_shard_id
630
- # The ID of the shard to start the list with.
802
+ # Specify this parameter to indicate that you want to list the shards
803
+ # starting with the shard whose ID immediately follows
804
+ # `ExclusiveStartShardId`.
631
805
  #
632
806
  # If you don't specify this parameter, the default behavior is for
633
807
  # `ListShards` to list the shards starting with the first one in the
@@ -701,6 +875,113 @@ module Aws::Kinesis
701
875
  include Aws::Structure
702
876
  end
703
877
 
878
+ # @note When making an API call, you may pass ListStreamConsumersInput
879
+ # data as a hash:
880
+ #
881
+ # {
882
+ # stream_arn: "StreamARN", # required
883
+ # next_token: "NextToken",
884
+ # max_results: 1,
885
+ # stream_creation_timestamp: Time.now,
886
+ # }
887
+ #
888
+ # @!attribute [rw] stream_arn
889
+ # The ARN of the Kinesis data stream for which you want to list the
890
+ # registered consumers. For more information, see [Amazon Resource
891
+ # Names (ARNs) and AWS Service Namespaces][1].
892
+ #
893
+ #
894
+ #
895
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
896
+ # @return [String]
897
+ #
898
+ # @!attribute [rw] next_token
899
+ # When the number of consumers that are registered with the data
900
+ # stream is greater than the default value for the `MaxResults`
901
+ # parameter, or if you explicitly specify a value for `MaxResults`
902
+ # that is less than the number of consumers that are registered with
903
+ # the data stream, the response includes a pagination token named
904
+ # `NextToken`. You can specify this `NextToken` value in a subsequent
905
+ # call to `ListStreamConsumers` to list the next set of registered
906
+ # consumers.
907
+ #
908
+ # Don't specify `StreamName` or `StreamCreationTimestamp` if you
909
+ # specify `NextToken` because the latter unambiguously identifies the
910
+ # stream.
911
+ #
912
+ # You can optionally specify a value for the `MaxResults` parameter
913
+ # when you specify `NextToken`. If you specify a `MaxResults` value
914
+ # that is less than the number of consumers that the operation returns
915
+ # if you don't specify `MaxResults`, the response will contain a new
916
+ # `NextToken` value. You can use the new `NextToken` value in a
917
+ # subsequent call to the `ListStreamConsumers` operation to list the
918
+ # next set of consumers.
919
+ #
920
+ # Tokens expire after 300 seconds. When you obtain a value for
921
+ # `NextToken` in the response to a call to `ListStreamConsumers`, you
922
+ # have 300 seconds to use that value. If you specify an expired token
923
+ # in a call to `ListStreamConsumers`, you get
924
+ # `ExpiredNextTokenException`.
925
+ # @return [String]
926
+ #
927
+ # @!attribute [rw] max_results
928
+ # The maximum number of consumers that you want a single call of
929
+ # `ListStreamConsumers` to return.
930
+ # @return [Integer]
931
+ #
932
+ # @!attribute [rw] stream_creation_timestamp
933
+ # Specify this input parameter to distinguish data streams that have
934
+ # the same name. For example, if you create a data stream and then
935
+ # delete it, and you later create another data stream with the same
936
+ # name, you can use this input parameter to specify which of the two
937
+ # streams you want to list the consumers for.
938
+ #
939
+ # You can't specify this parameter if you specify the NextToken
940
+ # parameter.
941
+ # @return [Time]
942
+ #
943
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/ListStreamConsumersInput AWS API Documentation
944
+ #
945
+ class ListStreamConsumersInput < Struct.new(
946
+ :stream_arn,
947
+ :next_token,
948
+ :max_results,
949
+ :stream_creation_timestamp)
950
+ include Aws::Structure
951
+ end
952
+
953
+ # @!attribute [rw] consumers
954
+ # An array of JSON objects. Each object represents one registered
955
+ # consumer.
956
+ # @return [Array<Types::Consumer>]
957
+ #
958
+ # @!attribute [rw] next_token
959
+ # When the number of consumers that are registered with the data
960
+ # stream is greater than the default value for the `MaxResults`
961
+ # parameter, or if you explicitly specify a value for `MaxResults`
962
+ # that is less than the number of registered consumers, the response
963
+ # includes a pagination token named `NextToken`. You can specify this
964
+ # `NextToken` value in a subsequent call to `ListStreamConsumers` to
965
+ # list the next set of registered consumers. For more information
966
+ # about the use of this pagination token when calling the
967
+ # `ListStreamConsumers` operation, see
968
+ # ListStreamConsumersInput$NextToken.
969
+ #
970
+ # Tokens expire after 300 seconds. When you obtain a value for
971
+ # `NextToken` in the response to a call to `ListStreamConsumers`, you
972
+ # have 300 seconds to use that value. If you specify an expired token
973
+ # in a call to `ListStreamConsumers`, you get
974
+ # `ExpiredNextTokenException`.
975
+ # @return [String]
976
+ #
977
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/ListStreamConsumersOutput AWS API Documentation
978
+ #
979
+ class ListStreamConsumersOutput < Struct.new(
980
+ :consumers,
981
+ :next_token)
982
+ include Aws::Structure
983
+ end
984
+
704
985
  # Represents the input for `ListStreams`.
705
986
  #
706
987
  # @note When making an API call, you may pass ListStreamsInput
@@ -1122,6 +1403,51 @@ module Aws::Kinesis
1122
1403
  include Aws::Structure
1123
1404
  end
1124
1405
 
1406
+ # @note When making an API call, you may pass RegisterStreamConsumerInput
1407
+ # data as a hash:
1408
+ #
1409
+ # {
1410
+ # stream_arn: "StreamARN", # required
1411
+ # consumer_name: "ConsumerName", # required
1412
+ # }
1413
+ #
1414
+ # @!attribute [rw] stream_arn
1415
+ # The ARN of the Kinesis data stream that you want to register the
1416
+ # consumer with. For more info, see [Amazon Resource Names (ARNs) and
1417
+ # AWS Service Namespaces][1].
1418
+ #
1419
+ #
1420
+ #
1421
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#arn-syntax-kinesis-streams
1422
+ # @return [String]
1423
+ #
1424
+ # @!attribute [rw] consumer_name
1425
+ # For a given Kinesis data stream, each consumer must have a unique
1426
+ # name. However, consumer names don't have to be unique across data
1427
+ # streams.
1428
+ # @return [String]
1429
+ #
1430
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/RegisterStreamConsumerInput AWS API Documentation
1431
+ #
1432
+ class RegisterStreamConsumerInput < Struct.new(
1433
+ :stream_arn,
1434
+ :consumer_name)
1435
+ include Aws::Structure
1436
+ end
1437
+
1438
+ # @!attribute [rw] consumer
1439
+ # An object that represents the details of the consumer you
1440
+ # registered. When you register a consumer, it gets an ARN that is
1441
+ # generated by Kinesis Data Streams.
1442
+ # @return [Types::Consumer]
1443
+ #
1444
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/RegisterStreamConsumerOutput AWS API Documentation
1445
+ #
1446
+ class RegisterStreamConsumerOutput < Struct.new(
1447
+ :consumer)
1448
+ include Aws::Structure
1449
+ end
1450
+
1125
1451
  # Represents the input for `RemoveTagsFromStream`.
1126
1452
  #
1127
1453
  # @note When making an API call, you may pass RemoveTagsFromStreamInput
@@ -1288,6 +1614,24 @@ module Aws::Kinesis
1288
1614
  include Aws::Structure
1289
1615
  end
1290
1616
 
1617
+ # @!attribute [rw] type
1618
+ # @return [String]
1619
+ #
1620
+ # @!attribute [rw] sequence_number
1621
+ # @return [String]
1622
+ #
1623
+ # @!attribute [rw] timestamp
1624
+ # @return [Time]
1625
+ #
1626
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/StartingPosition AWS API Documentation
1627
+ #
1628
+ class StartingPosition < Struct.new(
1629
+ :type,
1630
+ :sequence_number,
1631
+ :timestamp)
1632
+ include Aws::Structure
1633
+ end
1634
+
1291
1635
  # @note When making an API call, you may pass StopStreamEncryptionInput
1292
1636
  # data as a hash:
1293
1637
  #
@@ -1508,6 +1852,10 @@ module Aws::Kinesis
1508
1852
  # The number of open shards in the stream.
1509
1853
  # @return [Integer]
1510
1854
  #
1855
+ # @!attribute [rw] consumer_count
1856
+ # The number of enhanced fan-out consumers registered with the stream.
1857
+ # @return [Integer]
1858
+ #
1511
1859
  # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/StreamDescriptionSummary AWS API Documentation
1512
1860
  #
1513
1861
  class StreamDescriptionSummary < Struct.new(
@@ -1519,7 +1867,36 @@ module Aws::Kinesis
1519
1867
  :enhanced_monitoring,
1520
1868
  :encryption_type,
1521
1869
  :key_id,
1522
- :open_shard_count)
1870
+ :open_shard_count,
1871
+ :consumer_count)
1872
+ include Aws::Structure
1873
+ end
1874
+
1875
+ # After you call SubscribeToShard, Kinesis Data Streams sends events of
1876
+ # this type to your consumer.
1877
+ #
1878
+ # @!attribute [rw] records
1879
+ # @return [Array<Types::Record>]
1880
+ #
1881
+ # @!attribute [rw] continuation_sequence_number
1882
+ # Use this as `StartingSequenceNumber` in the next call to
1883
+ # SubscribeToShard.
1884
+ # @return [String]
1885
+ #
1886
+ # @!attribute [rw] millis_behind_latest
1887
+ # The number of milliseconds the read records are from the tip of the
1888
+ # stream, indicating how far behind current time the consumer is. A
1889
+ # value of zero indicates that record processing is caught up, and
1890
+ # there are no new records to process at this moment.
1891
+ # @return [Integer]
1892
+ #
1893
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/SubscribeToShardEvent AWS API Documentation
1894
+ #
1895
+ class SubscribeToShardEvent < Struct.new(
1896
+ :records,
1897
+ :continuation_sequence_number,
1898
+ :millis_behind_latest,
1899
+ :event_type)
1523
1900
  include Aws::Structure
1524
1901
  end
1525
1902
 
@@ -1596,5 +1973,29 @@ module Aws::Kinesis
1596
1973
  include Aws::Structure
1597
1974
  end
1598
1975
 
1976
+ # EventStream is an Enumerator of Events.
1977
+ # #event_types #=> Array, returns all modeled event types in the stream
1978
+ #
1979
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kinesis-2013-12-02/SubscribeToShardEventStream AWS API Documentation
1980
+ #
1981
+ class SubscribeToShardEventStream < Enumerator
1982
+
1983
+ def event_types
1984
+ [
1985
+ :subscribe_to_shard_event,
1986
+ :resource_not_found_exception,
1987
+ :resource_in_use_exception,
1988
+ :kms_disabled_exception,
1989
+ :kms_invalid_state_exception,
1990
+ :kms_access_denied_exception,
1991
+ :kms_not_found_exception,
1992
+ :kms_opt_in_required,
1993
+ :kms_throttling_exception,
1994
+ :internal_failure_exception
1995
+ ]
1996
+ end
1997
+
1998
+ end
1999
+
1599
2000
  end
1600
2001
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-kinesis
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-06-26 00:00:00.000000000 Z
11
+ date: 2018-08-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core