diff --git a/clients/client-kafka/src/commands/CreateReplicatorCommand.ts b/clients/client-kafka/src/commands/CreateReplicatorCommand.ts index 576a35c1eb2e..aadd0965c733 100644 --- a/clients/client-kafka/src/commands/CreateReplicatorCommand.ts +++ b/clients/client-kafka/src/commands/CreateReplicatorCommand.ts @@ -74,6 +74,9 @@ export interface CreateReplicatorCommandOutput extends CreateReplicatorResponse, * StartingPosition: { // ReplicationStartingPosition * Type: "LATEST" || "EARLIEST", * }, + * TopicNameConfiguration: { // ReplicationTopicNameConfiguration + * Type: "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS" || "IDENTICAL", + * }, * TopicsToExclude: [ // __listOf__stringMax249 * "STRING_VALUE", * ], diff --git a/clients/client-kafka/src/commands/DescribeReplicatorCommand.ts b/clients/client-kafka/src/commands/DescribeReplicatorCommand.ts index aacf5bb71f0b..92b86c407e26 100644 --- a/clients/client-kafka/src/commands/DescribeReplicatorCommand.ts +++ b/clients/client-kafka/src/commands/DescribeReplicatorCommand.ts @@ -82,6 +82,9 @@ export interface DescribeReplicatorCommandOutput extends DescribeReplicatorRespo * // StartingPosition: { // ReplicationStartingPosition * // Type: "LATEST" || "EARLIEST", * // }, + * // TopicNameConfiguration: { // ReplicationTopicNameConfiguration + * // Type: "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS" || "IDENTICAL", + * // }, * // TopicsToExclude: [ // __listOf__stringMax249 * // "STRING_VALUE", * // ], diff --git a/clients/client-kafka/src/commands/GetBootstrapBrokersCommand.ts b/clients/client-kafka/src/commands/GetBootstrapBrokersCommand.ts index 45e2e120983f..ebee5509ede0 100644 --- a/clients/client-kafka/src/commands/GetBootstrapBrokersCommand.ts +++ b/clients/client-kafka/src/commands/GetBootstrapBrokersCommand.ts @@ -28,7 +28,7 @@ export interface GetBootstrapBrokersCommandInput extends GetBootstrapBrokersRequ export interface GetBootstrapBrokersCommandOutput extends GetBootstrapBrokersResponse, __MetadataBearer {} /** - *

A list of brokers that a client application can use to bootstrap.

+ *

A list of brokers that a client application can use to bootstrap. This list doesn't necessarily include all of the brokers in the cluster. The following Python 3.6 example shows how you can use the Amazon Resource Name (ARN) of a cluster to get its bootstrap brokers. If you don't know the ARN of your cluster, you can use the ListClusters operation to get the ARNs of all the clusters in this account and Region.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript diff --git a/clients/client-kafka/src/models/models_0.ts b/clients/client-kafka/src/models/models_0.ts index 4eaf944cd639..b53173a2f20b 100644 --- a/clients/client-kafka/src/models/models_0.ts +++ b/clients/client-kafka/src/models/models_0.ts @@ -1858,6 +1858,33 @@ export interface ReplicationStartingPosition { Type?: ReplicationStartingPositionType; } +/** + * @public + * @enum + */ +export const ReplicationTopicNameConfigurationType = { + IDENTICAL: "IDENTICAL", + PREFIXED_WITH_SOURCE_CLUSTER_ALIAS: "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS", +} as const; + +/** + * @public + */ +export type ReplicationTopicNameConfigurationType = + (typeof ReplicationTopicNameConfigurationType)[keyof typeof ReplicationTopicNameConfigurationType]; + +/** + *

Configuration for specifying replicated topic names should be the same as their corresponding upstream topics or prefixed with source cluster alias.

+ * @public + */ +export interface ReplicationTopicNameConfiguration { + /** + *

The type of replicated topic name.

+ * @public + */ + Type?: ReplicationTopicNameConfigurationType; +} + /** *

Details about topic replication.

* @public @@ -1887,6 +1914,12 @@ export interface TopicReplication { */ StartingPosition?: ReplicationStartingPosition; + /** + *

Configuration for specifying replicated topic names should be the same as their corresponding upstream topics or prefixed with source cluster alias.

+ * @public + */ + TopicNameConfiguration?: ReplicationTopicNameConfiguration; + /** *

List of regular expression patterns indicating the topics that should not be replicated.

* @public diff --git a/clients/client-kafka/src/protocols/Aws_restJson1.ts b/clients/client-kafka/src/protocols/Aws_restJson1.ts index 67866a30b170..57175df6c259 100644 --- a/clients/client-kafka/src/protocols/Aws_restJson1.ts +++ b/clients/client-kafka/src/protocols/Aws_restJson1.ts @@ -219,6 +219,7 @@ import { ReplicationInfoSummary, ReplicationStartingPosition, ReplicationStateInfo, + ReplicationTopicNameConfiguration, ReplicatorSummary, S3, Sasl, @@ -3052,6 +3053,18 @@ const se_ReplicationStartingPosition = (input: ReplicationStartingPosition, cont }); }; +/** + * serializeAws_restJson1ReplicationTopicNameConfiguration + */ +const se_ReplicationTopicNameConfiguration = ( + input: ReplicationTopicNameConfiguration, + context: __SerdeContext +): any => { + return take(input, { + type: [, , `Type`], + }); +}; + /** * serializeAws_restJson1S3 */ @@ -3138,6 +3151,7 @@ const se_TopicReplication = (input: TopicReplication, context: __SerdeContext): copyTopicConfigurations: [, , `CopyTopicConfigurations`], detectAndCopyNewTopics: [, , `DetectAndCopyNewTopics`], startingPosition: [, (_) => se_ReplicationStartingPosition(_, context), `StartingPosition`], + topicNameConfiguration: [, (_) => se_ReplicationTopicNameConfiguration(_, context), `TopicNameConfiguration`], topicsToExclude: [, _json, `TopicsToExclude`], topicsToReplicate: [, _json, `TopicsToReplicate`], }); @@ -4135,6 +4149,18 @@ const de_ReplicationStateInfo = (output: any, context: __SerdeContext): Replicat }) as any; }; +/** + * deserializeAws_restJson1ReplicationTopicNameConfiguration + */ +const de_ReplicationTopicNameConfiguration = ( + output: any, + context: __SerdeContext +): ReplicationTopicNameConfiguration => { + return take(output, { + Type: [, __expectString, `type`], + }) as any; +}; + /** * deserializeAws_restJson1ReplicatorSummary */ @@ -4252,6 +4278,7 @@ const de_TopicReplication = (output: any, context: __SerdeContext): TopicReplica CopyTopicConfigurations: [, __expectBoolean, `copyTopicConfigurations`], DetectAndCopyNewTopics: [, __expectBoolean, `detectAndCopyNewTopics`], StartingPosition: [, (_: any) => de_ReplicationStartingPosition(_, context), `startingPosition`], + TopicNameConfiguration: [, (_: any) => de_ReplicationTopicNameConfiguration(_, context), `topicNameConfiguration`], TopicsToExclude: [, _json, `topicsToExclude`], TopicsToReplicate: [, _json, `topicsToReplicate`], }) as any; diff --git a/codegen/sdk-codegen/aws-models/kafka.json b/codegen/sdk-codegen/aws-models/kafka.json index 503ad822bee1..51c98d789a88 100644 --- a/codegen/sdk-codegen/aws-models/kafka.json +++ b/codegen/sdk-codegen/aws-models/kafka.json @@ -3579,7 +3579,7 @@ } ], "traits": { - "smithy.api#documentation": "

A list of brokers that a client application can use to bootstrap.

", + "smithy.api#documentation": "

A list of brokers that a client application can use to bootstrap. This list doesn't necessarily include all of the brokers in the cluster. The following Python 3.6 example shows how you can use the Amazon Resource Name (ARN) of a cluster to get its bootstrap brokers. If you don't know the ARN of your cluster, you can use the ListClusters operation to get the ARNs of all the clusters in this account and Region.

", "smithy.api#http": { "method": "GET", "uri": "/v1/clusters/{ClusterArn}/bootstrap-brokers", @@ -4066,6 +4066,7 @@ "name": "kafka" }, "aws.protocols#restJson1": {}, + "smithy.api#auth": ["aws.auth#sigv4"], "smithy.api#documentation": "

The operations for managing an Amazon MSK cluster.

", "smithy.api#title": "Managed Streaming for Kafka", "smithy.rules#endpointRuleSet": { @@ -7253,6 +7254,41 @@ "smithy.api#documentation": "Details about the state of a replicator" } }, + "com.amazonaws.kafka#ReplicationTopicNameConfiguration": { + "type": "structure", + "members": { + "Type": { + "target": "com.amazonaws.kafka#ReplicationTopicNameConfigurationType", + "traits": { + "smithy.api#documentation": "

The type of replicated topic name.

", + "smithy.api#jsonName": "type" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for specifying replicated topic names should be the same as their corresponding upstream topics or prefixed with source cluster alias.

" + } + }, + "com.amazonaws.kafka#ReplicationTopicNameConfigurationType": { + "type": "enum", + "members": { + "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "PREFIXED_WITH_SOURCE_CLUSTER_ALIAS" + } + }, + "IDENTICAL": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "IDENTICAL" + } + } + }, + "traits": { + "smithy.api#documentation": "

The type of replicated topic name.

" + } + }, "com.amazonaws.kafka#ReplicatorState": { "type": "enum", "members": { @@ -7746,6 +7782,13 @@ "smithy.api#jsonName": "startingPosition" } }, + "TopicNameConfiguration": { + "target": "com.amazonaws.kafka#ReplicationTopicNameConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration for specifying replicated topic names should be the same as their corresponding upstream topics or prefixed with source cluster alias.

", + "smithy.api#jsonName": "topicNameConfiguration" + } + }, "TopicsToExclude": { "target": "com.amazonaws.kafka#__listOf__stringMax249", "traits": {