aws-sdk-kafka 1.116.0 → 1.117.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6dd0975d05cbc9f58b2f4a9156a146f982d04978ec4879989bf9495683b64352
4
- data.tar.gz: 05ace13d23527dc257103de277e0988e21eb762a439a2341363427d84e3d17cb
3
+ metadata.gz: 2b4ea41a96b50b7c20015dcbbf2c45521af725dd00a471fdd5e6b6f8d9dff2ff
4
+ data.tar.gz: ef790c3f2d2a00a2aee954104226cd28cb5a32d523c0bbab44c77ce1a90001ed
5
5
  SHA512:
6
- metadata.gz: bcd4c0e9760bb7f6233ac6ae560b8dc9535f3120bf3a9943b7afde42a5af1c62f620a2a3a389fda88425650073bdcd659dc4833e33c71f731c2848cd059cd694
7
- data.tar.gz: 93dc6581b91a2f39fadaa6333b73e7983cea820874a2fde7040498790779a57e6dcdedc3854b1a8e640daa14a80fdb0bd6740c5210f866b6c8b94ca3d051911d
6
+ metadata.gz: 61461945da3092546b0eac34aa6b190046da84cd55fd893cde306dadbc2146611e817049283493fa3bec9f1be81f97c4f377da7eb90bd50fb444dfee9a731b31
7
+ data.tar.gz: '08e2240ab4b449492ac52dbc19df1d77a130e00241a5a814b23a3f90ae63846218019b28db77a3fbe925f9970c566e47c63f55cc39f80105cead73e89c252414'
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.117.0 (2026-07-30)
5
+ ------------------
6
+
7
+ * Feature - Amazon MSK Express brokers now support streaming tables for Apache Iceberg, continuously materializing Apache Kafka topics as Iceberg tables in Amazon S3 Tables. Express brokers also now support data delivery to Amazon S3 general purpose buckets.
8
+
4
9
  1.116.0 (2026-07-09)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.116.0
1
+ 1.117.0
@@ -902,6 +902,146 @@ module Aws::Kafka
902
902
  req.send_request(options)
903
903
  end
904
904
 
905
+ # Creates a Channel that streams records from an Amazon MSK Express
906
+ # cluster topic to Amazon S3 or Apache Iceberg.
907
+ #
908
+ # @option params [required, String] :channel_name
909
+ # The name of the channel. Must be unique within the cluster.
910
+ #
911
+ # @option params [required, String] :cluster_arn
912
+ # The Amazon Resource Name (ARN) that uniquely identifies the cluster.
913
+ #
914
+ # @option params [Types::EncryptionConfiguration] :encryption_configuration
915
+ # The encryption configuration applied to the channel.
916
+ #
917
+ # @option params [Types::IcebergDestinationConfiguration] :iceberg_destination_configuration
918
+ # The Apache Iceberg destination for the channel. Mutually exclusive
919
+ # with s3DestinationConfiguration.
920
+ #
921
+ # @option params [Types::ChannelLoggingInfo] :logging_info
922
+ # The destinations to which the channel publishes operational logs.
923
+ #
924
+ # @option params [Types::S3DestinationConfiguration] :s3_destination_configuration
925
+ # The Amazon S3 destination for the channel. Mutually exclusive with
926
+ # icebergDestinationConfiguration.
927
+ #
928
+ # @option params [Hash<String,String>] :tags
929
+ # The tags attached to the channel.
930
+ #
931
+ # @option params [required, Array<Types::TopicConfiguration>] :topic_configuration_list
932
+ # The list of topic configurations for the channel. Currently exactly
933
+ # one topic must be specified.
934
+ #
935
+ # @return [Types::CreateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
936
+ #
937
+ # * {Types::CreateChannelResponse#channel_arn #channel_arn} => String
938
+ # * {Types::CreateChannelResponse#cluster_operation_arn #cluster_operation_arn} => String
939
+ #
940
+ # @example Request syntax with placeholder values
941
+ #
942
+ # resp = client.create_channel({
943
+ # channel_name: "__string", # required
944
+ # cluster_arn: "__string", # required
945
+ # encryption_configuration: {
946
+ # kms_key_arn: "__string", # required
947
+ # },
948
+ # iceberg_destination_configuration: {
949
+ # append_only: false, # required
950
+ # catalog: {
951
+ # catalog_arn: "__string",
952
+ # warehouse_location: "__string",
953
+ # },
954
+ # data_freshness_in_seconds: 1,
955
+ # dead_letter_queue_s3: { # required
956
+ # bucket_arn: "__string", # required
957
+ # error_output_prefix: "__string",
958
+ # expected_bucket_owner: "__string",
959
+ # },
960
+ # destination_table_list: [ # required
961
+ # {
962
+ # destination_database_name: "__string",
963
+ # destination_table_name: "__string",
964
+ # partition_spec: {
965
+ # partition_strategy: "TIME_HOUR", # required, accepts TIME_HOUR
966
+ # source_list: [
967
+ # {
968
+ # source_name: "__string",
969
+ # },
970
+ # ],
971
+ # },
972
+ # },
973
+ # ],
974
+ # schema_evolution: { # required
975
+ # enable_schema_evolution: false,
976
+ # },
977
+ # service_execution_role_arn: "__string", # required
978
+ # table_creation: { # required
979
+ # enable_table_creation: false,
980
+ # },
981
+ # compression_type: "ZSTD", # accepts ZSTD, SNAPPY
982
+ # },
983
+ # logging_info: {
984
+ # cloud_watch_logs: {
985
+ # enabled: false, # required
986
+ # log_group: "__string",
987
+ # },
988
+ # firehose: {
989
+ # delivery_stream: "__string",
990
+ # enabled: false, # required
991
+ # },
992
+ # s3: {
993
+ # bucket: "__string",
994
+ # enabled: false, # required
995
+ # prefix: "__string",
996
+ # },
997
+ # },
998
+ # s3_destination_configuration: {
999
+ # data_freshness_in_seconds: 1,
1000
+ # dead_letter_queue_s3: { # required
1001
+ # bucket_arn: "__string", # required
1002
+ # error_output_prefix: "__string",
1003
+ # expected_bucket_owner: "__string",
1004
+ # },
1005
+ # service_execution_role_arn: "__string", # required
1006
+ # storage: { # required
1007
+ # bucket_arn: "__string", # required
1008
+ # compression_type: "NONE", # required, accepts NONE, GZIP, ZSTD
1009
+ # output_prefix: "__string",
1010
+ # output_key_template: "__string",
1011
+ # storage_class: "STANDARD", # required, accepts STANDARD, INTELLIGENT_TIERING, GLACIER_IR
1012
+ # expected_bucket_owner: "__string",
1013
+ # },
1014
+ # },
1015
+ # tags: {
1016
+ # "__string" => "__string",
1017
+ # },
1018
+ # topic_configuration_list: [ # required
1019
+ # {
1020
+ # record_converter: { # required
1021
+ # value_converter: "BYTE_ARRAY", # required, accepts BYTE_ARRAY, JSON, JSON_SCHEMA_GSR, STRING
1022
+ # },
1023
+ # record_schema: {
1024
+ # gsr_arn: "__string", # required
1025
+ # },
1026
+ # topic_arn: "__string", # required
1027
+ # },
1028
+ # ],
1029
+ # })
1030
+ #
1031
+ # @example Response structure
1032
+ #
1033
+ # resp.channel_arn #=> String
1034
+ # resp.cluster_operation_arn #=> String
1035
+ #
1036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/CreateChannel AWS API Documentation
1037
+ #
1038
+ # @overload create_channel(params = {})
1039
+ # @param [Hash] params ({})
1040
+ def create_channel(params = {}, options = {})
1041
+ req = build_request(:create_channel, params)
1042
+ req.send_request(options)
1043
+ end
1044
+
905
1045
  # Creates a new Kafka Replicator.
906
1046
  #
907
1047
  # @option params [String] :description
@@ -1176,6 +1316,42 @@ module Aws::Kafka
1176
1316
  req.send_request(options)
1177
1317
  end
1178
1318
 
1319
+ # Deletes the channel specified by channelArn from the cluster specified
1320
+ # by clusterArn. The channel transitions through DELETING and is removed
1321
+ # when the asynchronous delete completes.
1322
+ #
1323
+ # @option params [required, String] :channel_arn
1324
+ # The Amazon Resource Name (ARN) that uniquely identifies the channel.
1325
+ #
1326
+ # @option params [required, String] :cluster_arn
1327
+ # The Amazon Resource Name (ARN) that uniquely identifies the cluster.
1328
+ #
1329
+ # @return [Types::DeleteChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1330
+ #
1331
+ # * {Types::DeleteChannelResponse#channel_arn #channel_arn} => String
1332
+ # * {Types::DeleteChannelResponse#cluster_operation_arn #cluster_operation_arn} => String
1333
+ #
1334
+ # @example Request syntax with placeholder values
1335
+ #
1336
+ # resp = client.delete_channel({
1337
+ # channel_arn: "__string", # required
1338
+ # cluster_arn: "__string", # required
1339
+ # })
1340
+ #
1341
+ # @example Response structure
1342
+ #
1343
+ # resp.channel_arn #=> String
1344
+ # resp.cluster_operation_arn #=> String
1345
+ #
1346
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DeleteChannel AWS API Documentation
1347
+ #
1348
+ # @overload delete_channel(params = {})
1349
+ # @param [Hash] params ({})
1350
+ def delete_channel(params = {}, options = {})
1351
+ req = build_request(:delete_channel, params)
1352
+ req.send_request(options)
1353
+ end
1354
+
1179
1355
  # Deletes the specified MSK configuration. The configuration must be in
1180
1356
  # the ACTIVE or DELETE\_FAILED state.
1181
1357
  #
@@ -1729,6 +1905,99 @@ module Aws::Kafka
1729
1905
  req.send_request(options)
1730
1906
  end
1731
1907
 
1908
+ # Returns the current configuration and state of a channel.
1909
+ #
1910
+ # @option params [required, String] :channel_arn
1911
+ # The Amazon Resource Name (ARN) that uniquely identifies the channel.
1912
+ #
1913
+ # @option params [required, String] :cluster_arn
1914
+ # The Amazon Resource Name (ARN) that uniquely identifies the cluster.
1915
+ #
1916
+ # @return [Types::DescribeChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1917
+ #
1918
+ # * {Types::DescribeChannelResponse#channel_arn #channel_arn} => String
1919
+ # * {Types::DescribeChannelResponse#channel_name #channel_name} => String
1920
+ # * {Types::DescribeChannelResponse#encryption_configuration #encryption_configuration} => Types::EncryptionConfiguration
1921
+ # * {Types::DescribeChannelResponse#iceberg_destination_configuration #iceberg_destination_configuration} => Types::IcebergDestinationConfiguration
1922
+ # * {Types::DescribeChannelResponse#s3_destination_configuration #s3_destination_configuration} => Types::S3DestinationConfiguration
1923
+ # * {Types::DescribeChannelResponse#status #status} => String
1924
+ # * {Types::DescribeChannelResponse#destination_type #destination_type} => String
1925
+ # * {Types::DescribeChannelResponse#creation_time #creation_time} => Time
1926
+ # * {Types::DescribeChannelResponse#topic_configuration_list #topic_configuration_list} => Array&lt;Types::TopicConfiguration&gt;
1927
+ # * {Types::DescribeChannelResponse#logging_info #logging_info} => Types::ChannelLoggingInfo
1928
+ # * {Types::DescribeChannelResponse#state_info #state_info} => Types::ChannelStateInfo
1929
+ # * {Types::DescribeChannelResponse#cluster_operation_arn #cluster_operation_arn} => String
1930
+ # * {Types::DescribeChannelResponse#tags #tags} => Hash&lt;String,String&gt;
1931
+ #
1932
+ # @example Request syntax with placeholder values
1933
+ #
1934
+ # resp = client.describe_channel({
1935
+ # channel_arn: "__string", # required
1936
+ # cluster_arn: "__string", # required
1937
+ # })
1938
+ #
1939
+ # @example Response structure
1940
+ #
1941
+ # resp.channel_arn #=> String
1942
+ # resp.channel_name #=> String
1943
+ # resp.encryption_configuration.kms_key_arn #=> String
1944
+ # resp.iceberg_destination_configuration.append_only #=> Boolean
1945
+ # resp.iceberg_destination_configuration.catalog.catalog_arn #=> String
1946
+ # resp.iceberg_destination_configuration.catalog.warehouse_location #=> String
1947
+ # resp.iceberg_destination_configuration.data_freshness_in_seconds #=> Integer
1948
+ # resp.iceberg_destination_configuration.dead_letter_queue_s3.bucket_arn #=> String
1949
+ # resp.iceberg_destination_configuration.dead_letter_queue_s3.error_output_prefix #=> String
1950
+ # resp.iceberg_destination_configuration.dead_letter_queue_s3.expected_bucket_owner #=> String
1951
+ # resp.iceberg_destination_configuration.destination_table_list #=> Array
1952
+ # resp.iceberg_destination_configuration.destination_table_list[0].destination_database_name #=> String
1953
+ # resp.iceberg_destination_configuration.destination_table_list[0].destination_table_name #=> String
1954
+ # resp.iceberg_destination_configuration.destination_table_list[0].partition_spec.partition_strategy #=> String, one of "TIME_HOUR"
1955
+ # resp.iceberg_destination_configuration.destination_table_list[0].partition_spec.source_list #=> Array
1956
+ # resp.iceberg_destination_configuration.destination_table_list[0].partition_spec.source_list[0].source_name #=> String
1957
+ # resp.iceberg_destination_configuration.schema_evolution.enable_schema_evolution #=> Boolean
1958
+ # resp.iceberg_destination_configuration.service_execution_role_arn #=> String
1959
+ # resp.iceberg_destination_configuration.table_creation.enable_table_creation #=> Boolean
1960
+ # resp.iceberg_destination_configuration.compression_type #=> String, one of "ZSTD", "SNAPPY"
1961
+ # resp.s3_destination_configuration.data_freshness_in_seconds #=> Integer
1962
+ # resp.s3_destination_configuration.dead_letter_queue_s3.bucket_arn #=> String
1963
+ # resp.s3_destination_configuration.dead_letter_queue_s3.error_output_prefix #=> String
1964
+ # resp.s3_destination_configuration.dead_letter_queue_s3.expected_bucket_owner #=> String
1965
+ # resp.s3_destination_configuration.service_execution_role_arn #=> String
1966
+ # resp.s3_destination_configuration.storage.bucket_arn #=> String
1967
+ # resp.s3_destination_configuration.storage.compression_type #=> String, one of "NONE", "GZIP", "ZSTD"
1968
+ # resp.s3_destination_configuration.storage.output_prefix #=> String
1969
+ # resp.s3_destination_configuration.storage.output_key_template #=> String
1970
+ # resp.s3_destination_configuration.storage.storage_class #=> String, one of "STANDARD", "INTELLIGENT_TIERING", "GLACIER_IR"
1971
+ # resp.s3_destination_configuration.storage.expected_bucket_owner #=> String
1972
+ # resp.status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED", "SUSPENDING", "SUSPENDED"
1973
+ # resp.destination_type #=> String, one of "ICEBERG", "S3"
1974
+ # resp.creation_time #=> Time
1975
+ # resp.topic_configuration_list #=> Array
1976
+ # resp.topic_configuration_list[0].record_converter.value_converter #=> String, one of "BYTE_ARRAY", "JSON", "JSON_SCHEMA_GSR", "STRING"
1977
+ # resp.topic_configuration_list[0].record_schema.gsr_arn #=> String
1978
+ # resp.topic_configuration_list[0].topic_arn #=> String
1979
+ # resp.logging_info.cloud_watch_logs.enabled #=> Boolean
1980
+ # resp.logging_info.cloud_watch_logs.log_group #=> String
1981
+ # resp.logging_info.firehose.delivery_stream #=> String
1982
+ # resp.logging_info.firehose.enabled #=> Boolean
1983
+ # resp.logging_info.s3.bucket #=> String
1984
+ # resp.logging_info.s3.enabled #=> Boolean
1985
+ # resp.logging_info.s3.prefix #=> String
1986
+ # resp.state_info.code #=> String
1987
+ # resp.state_info.message #=> String
1988
+ # resp.cluster_operation_arn #=> String
1989
+ # resp.tags #=> Hash
1990
+ # resp.tags["__string"] #=> String
1991
+ #
1992
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/DescribeChannel AWS API Documentation
1993
+ #
1994
+ # @overload describe_channel(params = {})
1995
+ # @param [Hash] params ({})
1996
+ def describe_channel(params = {}, options = {})
1997
+ req = build_request(:describe_channel, params)
1998
+ req.send_request(options)
1999
+ end
2000
+
1732
2001
  # Returns a description of this MSK configuration.
1733
2002
  #
1734
2003
  # @option params [required, String] :arn
@@ -2161,6 +2430,57 @@ module Aws::Kafka
2161
2430
  req.send_request(options)
2162
2431
  end
2163
2432
 
2433
+ # Returns the list of channels in a cluster.
2434
+ #
2435
+ # @option params [required, String] :cluster_arn
2436
+ # The Amazon Resource Name (ARN) that uniquely identifies the cluster.
2437
+ #
2438
+ # @option params [Integer] :max_results
2439
+ # Maximum number of channels to return in a single response.
2440
+ #
2441
+ # @option params [String] :next_token
2442
+ # If the response of ListChannels is truncated, it returns a nextToken
2443
+ # in the response. This nextToken should be sent in the subsequent
2444
+ # request to ListChannels.
2445
+ #
2446
+ # @option params [String] :topic_name_filter
2447
+ # Filters results to channels whose topic name matches the specified
2448
+ # value.
2449
+ #
2450
+ # @return [Types::ListChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2451
+ #
2452
+ # * {Types::ListChannelsResponse#channels #channels} => Array&lt;Types::ChannelInfo&gt;
2453
+ # * {Types::ListChannelsResponse#next_token #next_token} => String
2454
+ #
2455
+ # @example Request syntax with placeholder values
2456
+ #
2457
+ # resp = client.list_channels({
2458
+ # cluster_arn: "__string", # required
2459
+ # max_results: 1,
2460
+ # next_token: "__string",
2461
+ # topic_name_filter: "__string",
2462
+ # })
2463
+ #
2464
+ # @example Response structure
2465
+ #
2466
+ # resp.channels #=> Array
2467
+ # resp.channels[0].channel_arn #=> String
2468
+ # resp.channels[0].channel_name #=> String
2469
+ # resp.channels[0].status #=> String, one of "CREATING", "ACTIVE", "UPDATING", "DELETING", "FAILED", "SUSPENDING", "SUSPENDED"
2470
+ # resp.channels[0].creation_time #=> Time
2471
+ # resp.channels[0].destination_type #=> String, one of "ICEBERG", "S3"
2472
+ # resp.channels[0].cluster_operation_arn #=> String
2473
+ # resp.next_token #=> String
2474
+ #
2475
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/ListChannels AWS API Documentation
2476
+ #
2477
+ # @overload list_channels(params = {})
2478
+ # @param [Hash] params ({})
2479
+ def list_channels(params = {}, options = {})
2480
+ req = build_request(:list_channels, params)
2481
+ req.send_request(options)
2482
+ end
2483
+
2164
2484
  # Returns a list of all the operations that have been performed on the
2165
2485
  # specified MSK cluster.
2166
2486
  #
@@ -3332,6 +3652,56 @@ module Aws::Kafka
3332
3652
  req.send_request(options)
3333
3653
  end
3334
3654
 
3655
+ # Updates the destination configuration of an existing channel. Exactly
3656
+ # one of icebergDestinationUpdate or s3DestinationUpdate must be
3657
+ # supplied.
3658
+ #
3659
+ # @option params [required, String] :channel_arn
3660
+ # The Amazon Resource Name (ARN) that uniquely identifies the channel.
3661
+ #
3662
+ # @option params [required, String] :cluster_arn
3663
+ # The Amazon Resource Name (ARN) that uniquely identifies the cluster.
3664
+ #
3665
+ # @option params [Types::IcebergDestinationUpdate] :iceberg_destination_update
3666
+ # Updates fields on an Apache Iceberg destination. Use only when the
3667
+ # channel was created with an Iceberg destination.
3668
+ #
3669
+ # @option params [Types::S3DestinationUpdate] :s3_destination_update
3670
+ # Updates fields on an Amazon S3 destination. Use only when the channel
3671
+ # was created with an Amazon S3 destination.
3672
+ #
3673
+ # @return [Types::UpdateChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3674
+ #
3675
+ # * {Types::UpdateChannelResponse#channel_arn #channel_arn} => String
3676
+ # * {Types::UpdateChannelResponse#cluster_operation_arn #cluster_operation_arn} => String
3677
+ #
3678
+ # @example Request syntax with placeholder values
3679
+ #
3680
+ # resp = client.update_channel({
3681
+ # channel_arn: "__string", # required
3682
+ # cluster_arn: "__string", # required
3683
+ # iceberg_destination_update: {
3684
+ # data_freshness_in_seconds: 1, # required
3685
+ # },
3686
+ # s3_destination_update: {
3687
+ # data_freshness_in_seconds: 1, # required
3688
+ # },
3689
+ # })
3690
+ #
3691
+ # @example Response structure
3692
+ #
3693
+ # resp.channel_arn #=> String
3694
+ # resp.cluster_operation_arn #=> String
3695
+ #
3696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/kafka-2018-11-14/UpdateChannel AWS API Documentation
3697
+ #
3698
+ # @overload update_channel(params = {})
3699
+ # @param [Hash] params ({})
3700
+ def update_channel(params = {}, options = {})
3701
+ req = build_request(:update_channel, params)
3702
+ req.send_request(options)
3703
+ end
3704
+
3335
3705
  # Updates the cluster with the configuration that is specified in the
3336
3706
  # request body.
3337
3707
  #
@@ -3861,7 +4231,7 @@ module Aws::Kafka
3861
4231
  tracer: tracer
3862
4232
  )
3863
4233
  context[:gem_name] = 'aws-sdk-kafka'
3864
- context[:gem_version] = '1.116.0'
4234
+ context[:gem_version] = '1.117.0'
3865
4235
  Seahorse::Client::Request.new(handlers, context)
3866
4236
  end
3867
4237