aws-sdk-kinesis 1.3.0 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
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