# CfnReplicatorProps

Properties for defining a `CfnReplicator`.

Extends: CfnReplicatorProps
Used as props by: CfnReplicator

- Source: Generated code
- Type last changed: v2.251.0 · 24 Apr 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import { aws_msk as msk } from 'aws-cdk-lib';
const cfnReplicatorProps: msk.CfnReplicatorProps = {
  kafkaClusters: [{
    amazonMskCluster: {
      mskClusterArn: 'mskClusterArn',
    },
    apacheKafkaCluster: {
      apacheKafkaClusterId: 'apacheKafkaClusterId',
      bootstrapBrokerString: 'bootstrapBrokerString',
    },
    clientAuthentication: {
      mtls: {
        secretArn: 'secretArn',
      },
      saslOAuthBearer: {
        tokenEndpointAuthenticationMethod: 'tokenEndpointAuthenticationMethod',
        tokenEndpointUrl: 'tokenEndpointUrl',

        // the properties below are optional
        clientCredentials: {
          tokenRequestSecretArn: 'tokenRequestSecretArn',
        },
        clientCredentialsAssertion: {
          audience: 'audience',
          signingAlgorithm: 'signingAlgorithm',

          // the properties below are optional
          tokenRequestSecretArn: 'tokenRequestSecretArn',
        },
        iamJwtBearer: {
          audience: 'audience',
          signingAlgorithm: 'signingAlgorithm',

          // the properties below are optional
          tokenRequestSecretArn: 'tokenRequestSecretArn',
        },
        scope: 'scope',
        tokenEndpointTlsCertificateArn: 'tokenEndpointTlsCertificateArn',
      },
      saslScram: {
        mechanism: 'mechanism',
        secretArn: 'secretArn',
      },
    },
    encryptionInTransit: {
      encryptionType: 'encryptionType',

      // the properties below are optional
      rootCaCertificate: 'rootCaCertificate',
    },
    vpcConfig: {
      subnetIds: ['subnetIds'],

      // the properties below are optional
      securityGroupIds: ['securityGroupIds'],
    },
  }],
  replicationInfoList: [{
    consumerGroupReplication: {
      consumerGroupsToReplicate: ['consumerGroupsToReplicate'],

      // the properties below are optional
      consumerGroupOffsetSyncMode: 'consumerGroupOffsetSyncMode',
      consumerGroupsToExclude: ['consumerGroupsToExclude'],
      detectAndCopyNewConsumerGroups: false,
      synchroniseConsumerGroupOffsets: false,
    },
    targetCompressionType: 'targetCompressionType',
    topicReplication: {
      topicsToReplicate: ['topicsToReplicate'],

      // the properties below are optional
      copyAccessControlListsForTopics: false,
      copyTopicConfigurations: false,
      detectAndCopyNewTopics: false,
      startingPosition: {
        type: 'type',
      },
      topicNameConfiguration: {
        type: 'type',
      },
      topicsToExclude: ['topicsToExclude'],
    },

    // the properties below are optional
    sourceKafkaClusterArn: 'sourceKafkaClusterArn',
    sourceKafkaClusterId: 'sourceKafkaClusterId',
    targetKafkaClusterArn: 'targetKafkaClusterArn',
    targetKafkaClusterId: 'targetKafkaClusterId',
  }],
  replicatorName: 'replicatorName',
  serviceExecutionRoleArn: 'serviceExecutionRoleArn',

  // the properties below are optional
  description: 'description',
  logDelivery: {
    replicatorLogDelivery: {
      cloudWatchLogs: {
        enabled: false,

        // the properties below are optional
        logGroup: 'logGroup',
      },
      firehose: {
        enabled: false,

        // the properties below are optional
        deliveryStream: 'deliveryStream',
      },
      s3: {
        enabled: false,

        // the properties below are optional
        bucket: 'bucket',
        prefix: 'prefix',
      },
    },
  },
  tags: [{
    key: 'key',
    value: 'value',
  }],
};
```

## Properties

- `description`: string — A summary description of the replicator.

- `kafkaClusters`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnReplicator.KafkaClusterProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_msk.CfnReplicator.KafkaClusterProperty.html)[] (required) — Kafka Clusters to use in setting up sources / targets for replication.

- `logDelivery`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnReplicator.LogDeliveryProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_msk.CfnReplicator.LogDeliveryProperty.html) — Configuration for log delivery for the replicator.

- `replicationInfoList`: [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [IResolvable](/cdk/api/v2/docs/aws-cdk-lib.IResolvable.html) | [CfnReplicator.ReplicationInfoProperty](/cdk/api/v2/docs/aws-cdk-lib.aws_msk.CfnReplicator.ReplicationInfoProperty.html)[] (required) — A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.

- `replicatorName`: string (required) — The name of the replicator.

  Alpha-numeric characters with '-' are allowed.

- `serviceExecutionRoleArn`: string (required) — The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).

- `tags`: [CfnTag](/cdk/api/v2/docs/aws-cdk-lib.CfnTag.html)[] — List of tags to attach to created Replicator.
