1. Packages
  2. AWS Classic
  3. API Docs
  4. msk
  5. Replicator

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.42.0 published on Wednesday, Jun 26, 2024 by Pulumi

aws.msk.Replicator

Explore with Pulumi AI

aws logo

Try AWS Native preview for resources not in the classic version.

AWS Classic v6.42.0 published on Wednesday, Jun 26, 2024 by Pulumi

    Resource for managing an AWS Managed Streaming for Kafka Replicator.

    Example Usage

    Basic Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as aws from "@pulumi/aws";
    
    const test = new aws.msk.Replicator("test", {
        replicatorName: "test-name",
        description: "test-description",
        serviceExecutionRoleArn: sourceAwsIamRole.arn,
        kafkaClusters: [
            {
                amazonMskCluster: {
                    mskClusterArn: source.arn,
                },
                vpcConfig: {
                    subnetIds: sourceAwsSubnet.map(__item => __item.id),
                    securityGroupsIds: [sourceAwsSecurityGroup.id],
                },
            },
            {
                amazonMskCluster: {
                    mskClusterArn: target.arn,
                },
                vpcConfig: {
                    subnetIds: targetAwsSubnet.map(__item => __item.id),
                    securityGroupsIds: [targetAwsSecurityGroup.id],
                },
            },
        ],
        replicationInfoList: {
            sourceKafkaClusterArn: source.arn,
            targetKafkaClusterArn: target.arn,
            targetCompressionType: "NONE",
            topicReplications: [{
                topicsToReplicates: [".*"],
            }],
            consumerGroupReplications: [{
                consumerGroupsToReplicates: [".*"],
            }],
        },
    });
    
    import pulumi
    import pulumi_aws as aws
    
    test = aws.msk.Replicator("test",
        replicator_name="test-name",
        description="test-description",
        service_execution_role_arn=source_aws_iam_role["arn"],
        kafka_clusters=[
            {
                "amazonMskCluster": {
                    "mskClusterArn": source["arn"],
                },
                "vpcConfig": {
                    "subnetIds": [__item["id"] for __item in source_aws_subnet],
                    "securityGroupsIds": [source_aws_security_group["id"]],
                },
            },
            {
                "amazonMskCluster": {
                    "mskClusterArn": target["arn"],
                },
                "vpcConfig": {
                    "subnetIds": [__item["id"] for __item in target_aws_subnet],
                    "securityGroupsIds": [target_aws_security_group["id"]],
                },
            },
        ],
        replication_info_list={
            "sourceKafkaClusterArn": source["arn"],
            "targetKafkaClusterArn": target["arn"],
            "targetCompressionType": "NONE",
            "topicReplications": [{
                "topicsToReplicates": [".*"],
            }],
            "consumerGroupReplications": [{
                "consumerGroupsToReplicates": [".*"],
            }],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/msk"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    func main() {
    pulumi.Run(func(ctx *pulumi.Context) error {
    _, err := msk.NewReplicator(ctx, "test", &msk.ReplicatorArgs{
    ReplicatorName: pulumi.String("test-name"),
    Description: pulumi.String("test-description"),
    ServiceExecutionRoleArn: pulumi.Any(sourceAwsIamRole.Arn),
    KafkaClusters: msk.ReplicatorKafkaClusterArray{
    &msk.ReplicatorKafkaClusterArgs{
    AmazonMskCluster: &msk.ReplicatorKafkaClusterAmazonMskClusterArgs{
    MskClusterArn: pulumi.Any(source.Arn),
    },
    VpcConfig: &msk.ReplicatorKafkaClusterVpcConfigArgs{
    SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:9,27-48),
    SecurityGroupsIds: pulumi.StringArray{
    sourceAwsSecurityGroup.Id,
    },
    },
    },
    &msk.ReplicatorKafkaClusterArgs{
    AmazonMskCluster: &msk.ReplicatorKafkaClusterAmazonMskClusterArgs{
    MskClusterArn: pulumi.Any(target.Arn),
    },
    VpcConfig: &msk.ReplicatorKafkaClusterVpcConfigArgs{
    SubnetIds: %!v(PANIC=Format method: fatal: A failure has occurred: unlowered splat expression @ example.pp:17,27-48),
    SecurityGroupsIds: pulumi.StringArray{
    targetAwsSecurityGroup.Id,
    },
    },
    },
    },
    ReplicationInfoList: &msk.ReplicatorReplicationInfoListArgs{
    SourceKafkaClusterArn: pulumi.Any(source.Arn),
    TargetKafkaClusterArn: pulumi.Any(target.Arn),
    TargetCompressionType: pulumi.String("NONE"),
    TopicReplications: msk.ReplicatorReplicationInfoListTopicReplicationArray{
    &msk.ReplicatorReplicationInfoListTopicReplicationArgs{
    TopicsToReplicates: pulumi.StringArray{
    pulumi.String(".*"),
    },
    },
    },
    ConsumerGroupReplications: msk.ReplicatorReplicationInfoListConsumerGroupReplicationArray{
    &msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs{
    ConsumerGroupsToReplicates: pulumi.StringArray{
    pulumi.String(".*"),
    },
    },
    },
    },
    })
    if err != nil {
    return err
    }
    return nil
    })
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Aws = Pulumi.Aws;
    
    return await Deployment.RunAsync(() => 
    {
        var test = new Aws.Msk.Replicator("test", new()
        {
            ReplicatorName = "test-name",
            Description = "test-description",
            ServiceExecutionRoleArn = sourceAwsIamRole.Arn,
            KafkaClusters = new[]
            {
                new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs
                {
                    AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs
                    {
                        MskClusterArn = source.Arn,
                    },
                    VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs
                    {
                        SubnetIds = sourceAwsSubnet.Select(__item => __item.Id).ToList(),
                        SecurityGroupsIds = new[]
                        {
                            sourceAwsSecurityGroup.Id,
                        },
                    },
                },
                new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs
                {
                    AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs
                    {
                        MskClusterArn = target.Arn,
                    },
                    VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs
                    {
                        SubnetIds = targetAwsSubnet.Select(__item => __item.Id).ToList(),
                        SecurityGroupsIds = new[]
                        {
                            targetAwsSecurityGroup.Id,
                        },
                    },
                },
            },
            ReplicationInfoList = new Aws.Msk.Inputs.ReplicatorReplicationInfoListArgs
            {
                SourceKafkaClusterArn = source.Arn,
                TargetKafkaClusterArn = target.Arn,
                TargetCompressionType = "NONE",
                TopicReplications = new[]
                {
                    new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationArgs
                    {
                        TopicsToReplicates = new[]
                        {
                            ".*",
                        },
                    },
                },
                ConsumerGroupReplications = new[]
                {
                    new Aws.Msk.Inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs
                    {
                        ConsumerGroupsToReplicates = new[]
                        {
                            ".*",
                        },
                    },
                },
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.aws.msk.Replicator;
    import com.pulumi.aws.msk.ReplicatorArgs;
    import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterArgs;
    import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterAmazonMskClusterArgs;
    import com.pulumi.aws.msk.inputs.ReplicatorKafkaClusterVpcConfigArgs;
    import com.pulumi.aws.msk.inputs.ReplicatorReplicationInfoListArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var test = new Replicator("test", ReplicatorArgs.builder()
                .replicatorName("test-name")
                .description("test-description")
                .serviceExecutionRoleArn(sourceAwsIamRole.arn())
                .kafkaClusters(            
                    ReplicatorKafkaClusterArgs.builder()
                        .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()
                            .mskClusterArn(source.arn())
                            .build())
                        .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()
                            .subnetIds(sourceAwsSubnet.stream().map(element -> element.id()).collect(toList()))
                            .securityGroupsIds(sourceAwsSecurityGroup.id())
                            .build())
                        .build(),
                    ReplicatorKafkaClusterArgs.builder()
                        .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()
                            .mskClusterArn(target.arn())
                            .build())
                        .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()
                            .subnetIds(targetAwsSubnet.stream().map(element -> element.id()).collect(toList()))
                            .securityGroupsIds(targetAwsSecurityGroup.id())
                            .build())
                        .build())
                .replicationInfoList(ReplicatorReplicationInfoListArgs.builder()
                    .sourceKafkaClusterArn(source.arn())
                    .targetKafkaClusterArn(target.arn())
                    .targetCompressionType("NONE")
                    .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder()
                        .topicsToReplicates(".*")
                        .build())
                    .consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs.builder()
                        .consumerGroupsToReplicates(".*")
                        .build())
                    .build())
                .build());
    
        }
    }
    
    Coming soon!
    

    Create Replicator Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Replicator(name: string, args: ReplicatorArgs, opts?: CustomResourceOptions);
    @overload
    def Replicator(resource_name: str,
                   args: ReplicatorArgs,
                   opts: Optional[ResourceOptions] = None)
    
    @overload
    def Replicator(resource_name: str,
                   opts: Optional[ResourceOptions] = None,
                   kafka_clusters: Optional[Sequence[ReplicatorKafkaClusterArgs]] = None,
                   replication_info_list: Optional[ReplicatorReplicationInfoListArgs] = None,
                   replicator_name: Optional[str] = None,
                   service_execution_role_arn: Optional[str] = None,
                   description: Optional[str] = None,
                   tags: Optional[Mapping[str, str]] = None)
    func NewReplicator(ctx *Context, name string, args ReplicatorArgs, opts ...ResourceOption) (*Replicator, error)
    public Replicator(string name, ReplicatorArgs args, CustomResourceOptions? opts = null)
    public Replicator(String name, ReplicatorArgs args)
    public Replicator(String name, ReplicatorArgs args, CustomResourceOptions options)
    
    type: aws:msk:Replicator
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ReplicatorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ReplicatorArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ReplicatorArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ReplicatorArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ReplicatorArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var replicatorResource = new Aws.Msk.Replicator("replicatorResource", new()
    {
        KafkaClusters = new[]
        {
            new Aws.Msk.Inputs.ReplicatorKafkaClusterArgs
            {
                AmazonMskCluster = new Aws.Msk.Inputs.ReplicatorKafkaClusterAmazonMskClusterArgs
                {
                    MskClusterArn = "string",
                },
                VpcConfig = new Aws.Msk.Inputs.ReplicatorKafkaClusterVpcConfigArgs
                {
                    SubnetIds = new[]
                    {
                        "string",
                    },
                    SecurityGroupsIds = new[]
                    {
                        "string",
                    },
                },
            },
        },
        ReplicationInfoList = new Aws.Msk.Inputs.ReplicatorReplicationInfoListArgs
        {
            ConsumerGroupReplications = new[]
            {
                new Aws.Msk.Inputs.ReplicatorReplicationInfoListConsumerGroupReplicationArgs
                {
                    ConsumerGroupsToReplicates = new[]
                    {
                        "string",
                    },
                    ConsumerGroupsToExcludes = new[]
                    {
                        "string",
                    },
                    DetectAndCopyNewConsumerGroups = false,
                    SynchroniseConsumerGroupOffsets = false,
                },
            },
            SourceKafkaClusterArn = "string",
            TargetCompressionType = "string",
            TargetKafkaClusterArn = "string",
            TopicReplications = new[]
            {
                new Aws.Msk.Inputs.ReplicatorReplicationInfoListTopicReplicationArgs
                {
                    TopicsToReplicates = new[]
                    {
                        "string",
                    },
                    CopyAccessControlListsForTopics = false,
                    CopyTopicConfigurations = false,
                    DetectAndCopyNewTopics = false,
                    TopicsToExcludes = new[]
                    {
                        "string",
                    },
                },
            },
            SourceKafkaClusterAlias = "string",
            TargetKafkaClusterAlias = "string",
        },
        ReplicatorName = "string",
        ServiceExecutionRoleArn = "string",
        Description = "string",
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := msk.NewReplicator(ctx, "replicatorResource", &msk.ReplicatorArgs{
    	KafkaClusters: msk.ReplicatorKafkaClusterArray{
    		&msk.ReplicatorKafkaClusterArgs{
    			AmazonMskCluster: &msk.ReplicatorKafkaClusterAmazonMskClusterArgs{
    				MskClusterArn: pulumi.String("string"),
    			},
    			VpcConfig: &msk.ReplicatorKafkaClusterVpcConfigArgs{
    				SubnetIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				SecurityGroupsIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    	},
    	ReplicationInfoList: &msk.ReplicatorReplicationInfoListArgs{
    		ConsumerGroupReplications: msk.ReplicatorReplicationInfoListConsumerGroupReplicationArray{
    			&msk.ReplicatorReplicationInfoListConsumerGroupReplicationArgs{
    				ConsumerGroupsToReplicates: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ConsumerGroupsToExcludes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				DetectAndCopyNewConsumerGroups:  pulumi.Bool(false),
    				SynchroniseConsumerGroupOffsets: pulumi.Bool(false),
    			},
    		},
    		SourceKafkaClusterArn: pulumi.String("string"),
    		TargetCompressionType: pulumi.String("string"),
    		TargetKafkaClusterArn: pulumi.String("string"),
    		TopicReplications: msk.ReplicatorReplicationInfoListTopicReplicationArray{
    			&msk.ReplicatorReplicationInfoListTopicReplicationArgs{
    				TopicsToReplicates: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				CopyAccessControlListsForTopics: pulumi.Bool(false),
    				CopyTopicConfigurations:         pulumi.Bool(false),
    				DetectAndCopyNewTopics:          pulumi.Bool(false),
    				TopicsToExcludes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		SourceKafkaClusterAlias: pulumi.String("string"),
    		TargetKafkaClusterAlias: pulumi.String("string"),
    	},
    	ReplicatorName:          pulumi.String("string"),
    	ServiceExecutionRoleArn: pulumi.String("string"),
    	Description:             pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var replicatorResource = new Replicator("replicatorResource", ReplicatorArgs.builder()
        .kafkaClusters(ReplicatorKafkaClusterArgs.builder()
            .amazonMskCluster(ReplicatorKafkaClusterAmazonMskClusterArgs.builder()
                .mskClusterArn("string")
                .build())
            .vpcConfig(ReplicatorKafkaClusterVpcConfigArgs.builder()
                .subnetIds("string")
                .securityGroupsIds("string")
                .build())
            .build())
        .replicationInfoList(ReplicatorReplicationInfoListArgs.builder()
            .consumerGroupReplications(ReplicatorReplicationInfoListConsumerGroupReplicationArgs.builder()
                .consumerGroupsToReplicates("string")
                .consumerGroupsToExcludes("string")
                .detectAndCopyNewConsumerGroups(false)
                .synchroniseConsumerGroupOffsets(false)
                .build())
            .sourceKafkaClusterArn("string")
            .targetCompressionType("string")
            .targetKafkaClusterArn("string")
            .topicReplications(ReplicatorReplicationInfoListTopicReplicationArgs.builder()
                .topicsToReplicates("string")
                .copyAccessControlListsForTopics(false)
                .copyTopicConfigurations(false)
                .detectAndCopyNewTopics(false)
                .topicsToExcludes("string")
                .build())
            .sourceKafkaClusterAlias("string")
            .targetKafkaClusterAlias("string")
            .build())
        .replicatorName("string")
        .serviceExecutionRoleArn("string")
        .description("string")
        .tags(Map.of("string", "string"))
        .build());
    
    replicator_resource = aws.msk.Replicator("replicatorResource",
        kafka_clusters=[{
            "amazonMskCluster": {
                "mskClusterArn": "string",
            },
            "vpcConfig": {
                "subnetIds": ["string"],
                "securityGroupsIds": ["string"],
            },
        }],
        replication_info_list={
            "consumerGroupReplications": [{
                "consumerGroupsToReplicates": ["string"],
                "consumerGroupsToExcludes": ["string"],
                "detectAndCopyNewConsumerGroups": False,
                "synchroniseConsumerGroupOffsets": False,
            }],
            "sourceKafkaClusterArn": "string",
            "targetCompressionType": "string",
            "targetKafkaClusterArn": "string",
            "topicReplications": [{
                "topicsToReplicates": ["string"],
                "copyAccessControlListsForTopics": False,
                "copyTopicConfigurations": False,
                "detectAndCopyNewTopics": False,
                "topicsToExcludes": ["string"],
            }],
            "sourceKafkaClusterAlias": "string",
            "targetKafkaClusterAlias": "string",
        },
        replicator_name="string",
        service_execution_role_arn="string",
        description="string",
        tags={
            "string": "string",
        })
    
    const replicatorResource = new aws.msk.Replicator("replicatorResource", {
        kafkaClusters: [{
            amazonMskCluster: {
                mskClusterArn: "string",
            },
            vpcConfig: {
                subnetIds: ["string"],
                securityGroupsIds: ["string"],
            },
        }],
        replicationInfoList: {
            consumerGroupReplications: [{
                consumerGroupsToReplicates: ["string"],
                consumerGroupsToExcludes: ["string"],
                detectAndCopyNewConsumerGroups: false,
                synchroniseConsumerGroupOffsets: false,
            }],
            sourceKafkaClusterArn: "string",
            targetCompressionType: "string",
            targetKafkaClusterArn: "string",
            topicReplications: [{
                topicsToReplicates: ["string"],
                copyAccessControlListsForTopics: false,
                copyTopicConfigurations: false,
                detectAndCopyNewTopics: false,
                topicsToExcludes: ["string"],
            }],
            sourceKafkaClusterAlias: "string",
            targetKafkaClusterAlias: "string",
        },
        replicatorName: "string",
        serviceExecutionRoleArn: "string",
        description: "string",
        tags: {
            string: "string",
        },
    });
    
    type: aws:msk:Replicator
    properties:
        description: string
        kafkaClusters:
            - amazonMskCluster:
                mskClusterArn: string
              vpcConfig:
                securityGroupsIds:
                    - string
                subnetIds:
                    - string
        replicationInfoList:
            consumerGroupReplications:
                - consumerGroupsToExcludes:
                    - string
                  consumerGroupsToReplicates:
                    - string
                  detectAndCopyNewConsumerGroups: false
                  synchroniseConsumerGroupOffsets: false
            sourceKafkaClusterAlias: string
            sourceKafkaClusterArn: string
            targetCompressionType: string
            targetKafkaClusterAlias: string
            targetKafkaClusterArn: string
            topicReplications:
                - copyAccessControlListsForTopics: false
                  copyTopicConfigurations: false
                  detectAndCopyNewTopics: false
                  topicsToExcludes:
                    - string
                  topicsToReplicates:
                    - string
        replicatorName: string
        serviceExecutionRoleArn: string
        tags:
            string: string
    

    Replicator Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Replicator resource accepts the following input properties:

    KafkaClusters List<ReplicatorKafkaCluster>
    A list of Kafka clusters which are targets of the replicator.
    ReplicationInfoList ReplicatorReplicationInfoList
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    ReplicatorName string
    The name of the replicator.
    ServiceExecutionRoleArn string
    The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).
    Description string
    A summary description of the replicator.
    Tags Dictionary<string, string>
    KafkaClusters []ReplicatorKafkaClusterArgs
    A list of Kafka clusters which are targets of the replicator.
    ReplicationInfoList ReplicatorReplicationInfoListArgs
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    ReplicatorName string
    The name of the replicator.
    ServiceExecutionRoleArn string
    The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).
    Description string
    A summary description of the replicator.
    Tags map[string]string
    kafkaClusters List<ReplicatorKafkaCluster>
    A list of Kafka clusters which are targets of the replicator.
    replicationInfoList ReplicatorReplicationInfoList
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicatorName String
    The name of the replicator.
    serviceExecutionRoleArn String
    The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).
    description String
    A summary description of the replicator.
    tags Map<String,String>
    kafkaClusters ReplicatorKafkaCluster[]
    A list of Kafka clusters which are targets of the replicator.
    replicationInfoList ReplicatorReplicationInfoList
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicatorName string
    The name of the replicator.
    serviceExecutionRoleArn string
    The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).
    description string
    A summary description of the replicator.
    tags {[key: string]: string}
    kafka_clusters Sequence[ReplicatorKafkaClusterArgs]
    A list of Kafka clusters which are targets of the replicator.
    replication_info_list ReplicatorReplicationInfoListArgs
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicator_name str
    The name of the replicator.
    service_execution_role_arn str
    The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).
    description str
    A summary description of the replicator.
    tags Mapping[str, str]
    kafkaClusters List<Property Map>
    A list of Kafka clusters which are targets of the replicator.
    replicationInfoList Property Map
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicatorName String
    The name of the replicator.
    serviceExecutionRoleArn String
    The ARN of the IAM role used by the replicator to access resources in the customer's account (e.g source and target clusters).
    description String
    A summary description of the replicator.
    tags Map<String>

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Replicator resource produces the following output properties:

    Arn string
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    CurrentVersion string
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll Dictionary<string, string>

    Deprecated: Please use tags instead.

    Arn string
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    CurrentVersion string
    Id string
    The provider-assigned unique ID for this managed resource.
    TagsAll map[string]string

    Deprecated: Please use tags instead.

    arn String
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    currentVersion String
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String,String>

    Deprecated: Please use tags instead.

    arn string
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    currentVersion string
    id string
    The provider-assigned unique ID for this managed resource.
    tagsAll {[key: string]: string}

    Deprecated: Please use tags instead.

    arn str
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    current_version str
    id str
    The provider-assigned unique ID for this managed resource.
    tags_all Mapping[str, str]

    Deprecated: Please use tags instead.

    arn String
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    currentVersion String
    id String
    The provider-assigned unique ID for this managed resource.
    tagsAll Map<String>

    Deprecated: Please use tags instead.

    Look up Existing Replicator Resource

    Get an existing Replicator resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ReplicatorState, opts?: CustomResourceOptions): Replicator
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            arn: Optional[str] = None,
            current_version: Optional[str] = None,
            description: Optional[str] = None,
            kafka_clusters: Optional[Sequence[ReplicatorKafkaClusterArgs]] = None,
            replication_info_list: Optional[ReplicatorReplicationInfoListArgs] = None,
            replicator_name: Optional[str] = None,
            service_execution_role_arn: Optional[str] = None,
            tags: Optional[Mapping[str, str]] = None,
            tags_all: Optional[Mapping[str, str]] = None) -> Replicator
    func GetReplicator(ctx *Context, name string, id IDInput, state *ReplicatorState, opts ...ResourceOption) (*Replicator, error)
    public static Replicator Get(string name, Input<string> id, ReplicatorState? state, CustomResourceOptions? opts = null)
    public static Replicator get(String name, Output<String> id, ReplicatorState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    Arn string
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    CurrentVersion string
    Description string
    A summary description of the replicator.
    KafkaClusters List<ReplicatorKafkaCluster>
    A list of Kafka clusters which are targets of the replicator.
    ReplicationInfoList ReplicatorReplicationInfoList
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    ReplicatorName string
    The name of the replicator.
    ServiceExecutionRoleArn string
    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 Dictionary<string, string>
    TagsAll Dictionary<string, string>

    Deprecated: Please use tags instead.

    Arn string
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    CurrentVersion string
    Description string
    A summary description of the replicator.
    KafkaClusters []ReplicatorKafkaClusterArgs
    A list of Kafka clusters which are targets of the replicator.
    ReplicationInfoList ReplicatorReplicationInfoListArgs
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    ReplicatorName string
    The name of the replicator.
    ServiceExecutionRoleArn string
    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 map[string]string
    TagsAll map[string]string

    Deprecated: Please use tags instead.

    arn String
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    currentVersion String
    description String
    A summary description of the replicator.
    kafkaClusters List<ReplicatorKafkaCluster>
    A list of Kafka clusters which are targets of the replicator.
    replicationInfoList ReplicatorReplicationInfoList
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicatorName String
    The name of the replicator.
    serviceExecutionRoleArn String
    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 Map<String,String>
    tagsAll Map<String,String>

    Deprecated: Please use tags instead.

    arn string
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    currentVersion string
    description string
    A summary description of the replicator.
    kafkaClusters ReplicatorKafkaCluster[]
    A list of Kafka clusters which are targets of the replicator.
    replicationInfoList ReplicatorReplicationInfoList
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicatorName string
    The name of the replicator.
    serviceExecutionRoleArn string
    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 {[key: string]: string}
    tagsAll {[key: string]: string}

    Deprecated: Please use tags instead.

    arn str
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    current_version str
    description str
    A summary description of the replicator.
    kafka_clusters Sequence[ReplicatorKafkaClusterArgs]
    A list of Kafka clusters which are targets of the replicator.
    replication_info_list ReplicatorReplicationInfoListArgs
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicator_name str
    The name of the replicator.
    service_execution_role_arn str
    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 Mapping[str, str]
    tags_all Mapping[str, str]

    Deprecated: Please use tags instead.

    arn String
    ARN of the Replicator. Do not begin the description with "An", "The", "Defines", "Indicates", or "Specifies," as these are verbose. In other words, "Indicates the amount of storage," can be rewritten as "Amount of storage," without losing any information.
    currentVersion String
    description String
    A summary description of the replicator.
    kafkaClusters List<Property Map>
    A list of Kafka clusters which are targets of the replicator.
    replicationInfoList Property Map
    A list of replication configurations, where each configuration targets a given source cluster to target cluster replication flow.
    replicatorName String
    The name of the replicator.
    serviceExecutionRoleArn String
    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 Map<String>
    tagsAll Map<String>

    Deprecated: Please use tags instead.

    Supporting Types

    ReplicatorKafkaCluster, ReplicatorKafkaClusterArgs

    AmazonMskCluster ReplicatorKafkaClusterAmazonMskCluster
    Details of an Amazon MSK cluster.
    VpcConfig ReplicatorKafkaClusterVpcConfig
    Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
    AmazonMskCluster ReplicatorKafkaClusterAmazonMskCluster
    Details of an Amazon MSK cluster.
    VpcConfig ReplicatorKafkaClusterVpcConfig
    Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
    amazonMskCluster ReplicatorKafkaClusterAmazonMskCluster
    Details of an Amazon MSK cluster.
    vpcConfig ReplicatorKafkaClusterVpcConfig
    Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
    amazonMskCluster ReplicatorKafkaClusterAmazonMskCluster
    Details of an Amazon MSK cluster.
    vpcConfig ReplicatorKafkaClusterVpcConfig
    Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
    amazon_msk_cluster ReplicatorKafkaClusterAmazonMskCluster
    Details of an Amazon MSK cluster.
    vpc_config ReplicatorKafkaClusterVpcConfig
    Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.
    amazonMskCluster Property Map
    Details of an Amazon MSK cluster.
    vpcConfig Property Map
    Details of an Amazon VPC which has network connectivity to the Apache Kafka cluster.

    ReplicatorKafkaClusterAmazonMskCluster, ReplicatorKafkaClusterAmazonMskClusterArgs

    MskClusterArn string
    The ARN of an Amazon MSK cluster.
    MskClusterArn string
    The ARN of an Amazon MSK cluster.
    mskClusterArn String
    The ARN of an Amazon MSK cluster.
    mskClusterArn string
    The ARN of an Amazon MSK cluster.
    msk_cluster_arn str
    The ARN of an Amazon MSK cluster.
    mskClusterArn String
    The ARN of an Amazon MSK cluster.

    ReplicatorKafkaClusterVpcConfig, ReplicatorKafkaClusterVpcConfigArgs

    SubnetIds List<string>
    The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.
    SecurityGroupsIds List<string>
    The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.
    SubnetIds []string
    The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.
    SecurityGroupsIds []string
    The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.
    subnetIds List<String>
    The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.
    securityGroupsIds List<String>
    The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.
    subnetIds string[]
    The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.
    securityGroupsIds string[]
    The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.
    subnet_ids Sequence[str]
    The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.
    security_groups_ids Sequence[str]
    The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.
    subnetIds List<String>
    The list of subnets to connect to in the virtual private cloud (VPC). AWS creates elastic network interfaces inside these subnets to allow communication between your Kafka Cluster and the replicator.
    securityGroupsIds List<String>
    The AWS security groups to associate with the ENIs used by the replicator. If a security group is not specified, the default security group associated with the VPC is used.

    ReplicatorReplicationInfoList, ReplicatorReplicationInfoListArgs

    ConsumerGroupReplications List<ReplicatorReplicationInfoListConsumerGroupReplication>
    Confguration relating to consumer group replication.
    SourceKafkaClusterArn string
    The ARN of the source Kafka cluster.
    TargetCompressionType string
    The type of compression to use writing records to target Kafka cluster.
    TargetKafkaClusterArn string
    The ARN of the target Kafka cluster.
    TopicReplications List<ReplicatorReplicationInfoListTopicReplication>
    Configuration relating to topic replication.
    SourceKafkaClusterAlias string
    TargetKafkaClusterAlias string
    ConsumerGroupReplications []ReplicatorReplicationInfoListConsumerGroupReplication
    Confguration relating to consumer group replication.
    SourceKafkaClusterArn string
    The ARN of the source Kafka cluster.
    TargetCompressionType string
    The type of compression to use writing records to target Kafka cluster.
    TargetKafkaClusterArn string
    The ARN of the target Kafka cluster.
    TopicReplications []ReplicatorReplicationInfoListTopicReplication
    Configuration relating to topic replication.
    SourceKafkaClusterAlias string
    TargetKafkaClusterAlias string
    consumerGroupReplications List<ReplicatorReplicationInfoListConsumerGroupReplication>
    Confguration relating to consumer group replication.
    sourceKafkaClusterArn String
    The ARN of the source Kafka cluster.
    targetCompressionType String
    The type of compression to use writing records to target Kafka cluster.
    targetKafkaClusterArn String
    The ARN of the target Kafka cluster.
    topicReplications List<ReplicatorReplicationInfoListTopicReplication>
    Configuration relating to topic replication.
    sourceKafkaClusterAlias String
    targetKafkaClusterAlias String
    consumerGroupReplications ReplicatorReplicationInfoListConsumerGroupReplication[]
    Confguration relating to consumer group replication.
    sourceKafkaClusterArn string
    The ARN of the source Kafka cluster.
    targetCompressionType string
    The type of compression to use writing records to target Kafka cluster.
    targetKafkaClusterArn string
    The ARN of the target Kafka cluster.
    topicReplications ReplicatorReplicationInfoListTopicReplication[]
    Configuration relating to topic replication.
    sourceKafkaClusterAlias string
    targetKafkaClusterAlias string
    consumer_group_replications Sequence[ReplicatorReplicationInfoListConsumerGroupReplication]
    Confguration relating to consumer group replication.
    source_kafka_cluster_arn str
    The ARN of the source Kafka cluster.
    target_compression_type str
    The type of compression to use writing records to target Kafka cluster.
    target_kafka_cluster_arn str
    The ARN of the target Kafka cluster.
    topic_replications Sequence[ReplicatorReplicationInfoListTopicReplication]
    Configuration relating to topic replication.
    source_kafka_cluster_alias str
    target_kafka_cluster_alias str
    consumerGroupReplications List<Property Map>
    Confguration relating to consumer group replication.
    sourceKafkaClusterArn String
    The ARN of the source Kafka cluster.
    targetCompressionType String
    The type of compression to use writing records to target Kafka cluster.
    targetKafkaClusterArn String
    The ARN of the target Kafka cluster.
    topicReplications List<Property Map>
    Configuration relating to topic replication.
    sourceKafkaClusterAlias String
    targetKafkaClusterAlias String

    ReplicatorReplicationInfoListConsumerGroupReplication, ReplicatorReplicationInfoListConsumerGroupReplicationArgs

    ConsumerGroupsToReplicates List<string>
    List of regular expression patterns indicating the consumer groups to copy.
    ConsumerGroupsToExcludes List<string>
    List of regular expression patterns indicating the consumer groups that should not be replicated.
    DetectAndCopyNewConsumerGroups bool
    Whether to periodically check for new consumer groups.
    SynchroniseConsumerGroupOffsets bool
    Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.
    ConsumerGroupsToReplicates []string
    List of regular expression patterns indicating the consumer groups to copy.
    ConsumerGroupsToExcludes []string
    List of regular expression patterns indicating the consumer groups that should not be replicated.
    DetectAndCopyNewConsumerGroups bool
    Whether to periodically check for new consumer groups.
    SynchroniseConsumerGroupOffsets bool
    Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.
    consumerGroupsToReplicates List<String>
    List of regular expression patterns indicating the consumer groups to copy.
    consumerGroupsToExcludes List<String>
    List of regular expression patterns indicating the consumer groups that should not be replicated.
    detectAndCopyNewConsumerGroups Boolean
    Whether to periodically check for new consumer groups.
    synchroniseConsumerGroupOffsets Boolean
    Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.
    consumerGroupsToReplicates string[]
    List of regular expression patterns indicating the consumer groups to copy.
    consumerGroupsToExcludes string[]
    List of regular expression patterns indicating the consumer groups that should not be replicated.
    detectAndCopyNewConsumerGroups boolean
    Whether to periodically check for new consumer groups.
    synchroniseConsumerGroupOffsets boolean
    Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.
    consumer_groups_to_replicates Sequence[str]
    List of regular expression patterns indicating the consumer groups to copy.
    consumer_groups_to_excludes Sequence[str]
    List of regular expression patterns indicating the consumer groups that should not be replicated.
    detect_and_copy_new_consumer_groups bool
    Whether to periodically check for new consumer groups.
    synchronise_consumer_group_offsets bool
    Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.
    consumerGroupsToReplicates List<String>
    List of regular expression patterns indicating the consumer groups to copy.
    consumerGroupsToExcludes List<String>
    List of regular expression patterns indicating the consumer groups that should not be replicated.
    detectAndCopyNewConsumerGroups Boolean
    Whether to periodically check for new consumer groups.
    synchroniseConsumerGroupOffsets Boolean
    Whether to periodically write the translated offsets to __consumer_offsets topic in target cluster.

    ReplicatorReplicationInfoListTopicReplication, ReplicatorReplicationInfoListTopicReplicationArgs

    TopicsToReplicates List<string>
    List of regular expression patterns indicating the topics to copy.
    CopyAccessControlListsForTopics bool
    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
    CopyTopicConfigurations bool
    Whether to periodically configure remote topics to match their corresponding upstream topics.
    DetectAndCopyNewTopics bool
    Whether to periodically check for new topics and partitions.
    TopicsToExcludes List<string>
    List of regular expression patterns indicating the topics that should not be replica.
    TopicsToReplicates []string
    List of regular expression patterns indicating the topics to copy.
    CopyAccessControlListsForTopics bool
    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
    CopyTopicConfigurations bool
    Whether to periodically configure remote topics to match their corresponding upstream topics.
    DetectAndCopyNewTopics bool
    Whether to periodically check for new topics and partitions.
    TopicsToExcludes []string
    List of regular expression patterns indicating the topics that should not be replica.
    topicsToReplicates List<String>
    List of regular expression patterns indicating the topics to copy.
    copyAccessControlListsForTopics Boolean
    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
    copyTopicConfigurations Boolean
    Whether to periodically configure remote topics to match their corresponding upstream topics.
    detectAndCopyNewTopics Boolean
    Whether to periodically check for new topics and partitions.
    topicsToExcludes List<String>
    List of regular expression patterns indicating the topics that should not be replica.
    topicsToReplicates string[]
    List of regular expression patterns indicating the topics to copy.
    copyAccessControlListsForTopics boolean
    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
    copyTopicConfigurations boolean
    Whether to periodically configure remote topics to match their corresponding upstream topics.
    detectAndCopyNewTopics boolean
    Whether to periodically check for new topics and partitions.
    topicsToExcludes string[]
    List of regular expression patterns indicating the topics that should not be replica.
    topics_to_replicates Sequence[str]
    List of regular expression patterns indicating the topics to copy.
    copy_access_control_lists_for_topics bool
    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
    copy_topic_configurations bool
    Whether to periodically configure remote topics to match their corresponding upstream topics.
    detect_and_copy_new_topics bool
    Whether to periodically check for new topics and partitions.
    topics_to_excludes Sequence[str]
    List of regular expression patterns indicating the topics that should not be replica.
    topicsToReplicates List<String>
    List of regular expression patterns indicating the topics to copy.
    copyAccessControlListsForTopics Boolean
    Whether to periodically configure remote topic ACLs to match their corresponding upstream topics.
    copyTopicConfigurations Boolean
    Whether to periodically configure remote topics to match their corresponding upstream topics.
    detectAndCopyNewTopics Boolean
    Whether to periodically check for new topics and partitions.
    topicsToExcludes List<String>
    List of regular expression patterns indicating the topics that should not be replica.

    Import

    Using pulumi import, import MSK replicators using the replicator ARN. For example:

    $ pulumi import aws:msk/replicator:Replicator example arn:aws:kafka:us-west-2:123456789012:configuration/example/279c0212-d057-4dba-9aa9-1c4e5a25bfc7-3
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    AWS Classic pulumi/pulumi-aws
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the aws Terraform Provider.
    aws logo

    Try AWS Native preview for resources not in the classic version.

    AWS Classic v6.42.0 published on Wednesday, Jun 26, 2024 by Pulumi