redpanda.Cluster
Explore with Pulumi AI
Enables the provisioning and management of Redpanda clusters on AWS and GCP. A cluster must always have a network and resource group.
Usage
On AWS
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const testResourceGroup = new redpanda.ResourceGroup("testResourceGroup", {});
const config = new pulumi.Config();
const region = config.get("region") || "us-east-2";
const cloudProvider = config.get("cloudProvider") || "aws";
const testNetwork = new redpanda.Network("testNetwork", {
    resourceGroupId: testResourceGroup.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "dedicated",
    cidrBlock: "10.0.0.0/20",
});
const zones = config.getObject("zones") || [
    "use2-az1",
    "use2-az2",
    "use2-az3",
];
const throughputTier = config.get("throughputTier") || "tier-1-aws-v2-arm";
const testCluster = new redpanda.Cluster("testCluster", {
    resourceGroupId: testResourceGroup.id,
    networkId: testNetwork.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "dedicated",
    connectionType: "public",
    throughputTier: throughputTier,
    zones: zones,
    allowDeletion: true,
    tags: {
        key: "value",
    },
});
// aws_private_link = {
//   enabled         = true
//   connect_console = true
//   allowed_principals = ["arn:aws:iam::123456789024:root"]
// }
const resourceGroupName = config.get("resourceGroupName") || "testname";
const networkName = config.get("networkName") || "testname";
const clusterName = config.get("clusterName") || "testname";
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.clusterApiUrl,
});
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.clusterApiUrl,
    allowDeletion: true,
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "TOPIC",
    resourceName: testTopic.name,
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "READ",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.clusterApiUrl,
});
const userName = config.get("userName") || "test-username";
const topicName = config.get("topicName") || "test-topic";
import pulumi
import pulumi_redpanda as redpanda
test_resource_group = redpanda.ResourceGroup("testResourceGroup")
config = pulumi.Config()
region = config.get("region")
if region is None:
    region = "us-east-2"
cloud_provider = config.get("cloudProvider")
if cloud_provider is None:
    cloud_provider = "aws"
test_network = redpanda.Network("testNetwork",
    resource_group_id=test_resource_group.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="dedicated",
    cidr_block="10.0.0.0/20")
zones = config.get_object("zones")
if zones is None:
    zones = [
        "use2-az1",
        "use2-az2",
        "use2-az3",
    ]
throughput_tier = config.get("throughputTier")
if throughput_tier is None:
    throughput_tier = "tier-1-aws-v2-arm"
test_cluster = redpanda.Cluster("testCluster",
    resource_group_id=test_resource_group.id,
    network_id=test_network.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="dedicated",
    connection_type="public",
    throughput_tier=throughput_tier,
    zones=zones,
    allow_deletion=True,
    tags={
        "key": "value",
    })
# aws_private_link = {
#   enabled         = true
#   connect_console = true
#   allowed_principals = ["arn:aws:iam::123456789024:root"]
# }
resource_group_name = config.get("resourceGroupName")
if resource_group_name is None:
    resource_group_name = "testname"
network_name = config.get("networkName")
if network_name is None:
    network_name = "testname"
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = "testname"
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True)
test_acl = redpanda.Acl("testAcl",
    resource_type="TOPIC",
    resource_name_=test_topic.name,
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="READ",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := redpanda.NewResourceGroup(ctx, "testResourceGroup", nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		region := "us-east-2"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		cloudProvider := "aws"
		if param := cfg.Get("cloudProvider"); param != "" {
			cloudProvider = param
		}
		testNetwork, err := redpanda.NewNetwork(ctx, "testNetwork", &redpanda.NetworkArgs{
			ResourceGroupId: testResourceGroup.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("dedicated"),
			CidrBlock:       pulumi.String("10.0.0.0/20"),
		})
		if err != nil {
			return err
		}
		zones := []string{
			"use2-az1",
			"use2-az2",
			"use2-az3",
		}
		if param := cfg.GetObject("zones"); param != nil {
			zones = param
		}
		throughputTier := "tier-1-aws-v2-arm"
		if param := cfg.Get("throughputTier"); param != "" {
			throughputTier = param
		}
		testCluster, err := redpanda.NewCluster(ctx, "testCluster", &redpanda.ClusterArgs{
			ResourceGroupId: testResourceGroup.ID(),
			NetworkId:       testNetwork.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("dedicated"),
			ConnectionType:  pulumi.String("public"),
			ThroughputTier:  pulumi.String(throughputTier),
			Zones:           pulumi.Any(zones),
			AllowDeletion:   pulumi.Bool(true),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		resourceGroupName := "testname"
		if param := cfg.Get("resourceGroupName"); param != "" {
			resourceGroupName = param
		}
		networkName := "testname"
		if param := cfg.Get("networkName"); param != "" {
			networkName = param
		}
		clusterName := "testname"
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		testTopic, err := redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     testCluster.ClusterApiUrl,
			AllowDeletion:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("TOPIC"),
			ResourceName:        testTopic.Name,
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("READ"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		userName := "test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var testResourceGroup = new Redpanda.ResourceGroup("testResourceGroup");
    var config = new Config();
    var region = config.Get("region") ?? "us-east-2";
    var cloudProvider = config.Get("cloudProvider") ?? "aws";
    var testNetwork = new Redpanda.Network("testNetwork", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "dedicated",
        CidrBlock = "10.0.0.0/20",
    });
    var zones = config.GetObject<dynamic>("zones") ?? new[]
    {
        "use2-az1",
        "use2-az2",
        "use2-az3",
    };
    var throughputTier = config.Get("throughputTier") ?? "tier-1-aws-v2-arm";
    var testCluster = new Redpanda.Cluster("testCluster", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        NetworkId = testNetwork.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "dedicated",
        ConnectionType = "public",
        ThroughputTier = throughputTier,
        Zones = zones,
        AllowDeletion = true,
        Tags = 
        {
            { "key", "value" },
        },
    });
    // aws_private_link = {
    //   enabled         = true
    //   connect_console = true
    //   allowed_principals = ["arn:aws:iam::123456789024:root"]
    // }
    var resourceGroupName = config.Get("resourceGroupName") ?? "testname";
    var networkName = config.Get("networkName") ?? "testname";
    var clusterName = config.Get("clusterName") ?? "testname";
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.ClusterApiUrl,
        AllowDeletion = true,
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "TOPIC",
        ResourceName = testTopic.Name,
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "READ",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var userName = config.Get("userName") ?? "test-username";
    var topicName = config.Get("topicName") ?? "test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var region = config.get("region").orElse("us-east-2");
        final var cloudProvider = config.get("cloudProvider").orElse("aws");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("dedicated")
            .cidrBlock("10.0.0.0/20")
            .build());
        final var zones = config.get("zones").orElse(        
            "use2-az1",
            "use2-az2",
            "use2-az3");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-aws-v2-arm");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("dedicated")
            .connectionType("public")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .tags(Map.of("key", "value"))
            .build());
        // aws_private_link = {
        //   enabled         = true
        //   connect_console = true
        //   allowed_principals = ["arn:aws:iam::123456789024:root"]
        // }
        final var resourceGroupName = config.get("resourceGroupName").orElse("testname");
        final var networkName = config.get("networkName").orElse("testname");
        final var clusterName = config.get("clusterName").orElse("testname");
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
    }
}
configuration:
  resourceGroupName:
    type: string
    default: testname
  networkName:
    type: string
    default: testname
  clusterName:
    type: string
    default: testname
  region:
    type: string
    default: us-east-2
  zones:
    type: dynamic
    default:
      - use2-az1
      - use2-az2
      - use2-az3
  cloudProvider:
    type: string
    default: aws
  throughputTier:
    type: string
    default: tier-1-aws-v2-arm
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: dedicated
      cidrBlock: 10.0.0.0/20
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: dedicated
      connectionType: public
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
      tags:
        key: value
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
On GCP
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const testResourceGroup = new redpanda.ResourceGroup("testResourceGroup", {});
const config = new pulumi.Config();
const region = config.get("region") || "us-central1";
const cloudProvider = config.get("cloudProvider") || "gcp";
const testNetwork = new redpanda.Network("testNetwork", {
    resourceGroupId: testResourceGroup.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "dedicated",
    cidrBlock: "10.0.0.0/20",
});
const zones = config.getObject("zones") || [
    "us-central1-a",
    "us-central1-b",
    "us-central1-c",
];
const throughputTier = config.get("throughputTier") || "tier-1-gcp-um4g";
const testCluster = new redpanda.Cluster("testCluster", {
    resourceGroupId: testResourceGroup.id,
    networkId: testNetwork.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "dedicated",
    connectionType: "public",
    throughputTier: throughputTier,
    zones: zones,
    allowDeletion: true,
});
//# This is a reference for GCP tags
//   tags = {
//     "key" = "value"
//   }
//# This is a reference for GCP Private Service Connect
//   gcp_private_service_connect = {
//     enabled               = true
//     global_access_enabled = true
//     consumer_accept_list = [
//       {
//         source = "projects/123456789012"
//       }
//     ]
//   }
const clusterName = config.get("clusterName") || "";
const resourceGroupName = config.get("resourceGroupName") || "";
const networkName = config.get("networkName") || "";
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.clusterApiUrl,
});
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.clusterApiUrl,
    allowDeletion: true,
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "TOPIC",
    resourceName: testTopic.name,
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "READ",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.clusterApiUrl,
});
const userName = config.get("userName") || "test-username";
const topicName = config.get("topicName") || "test-topic";
import pulumi
import pulumi_redpanda as redpanda
test_resource_group = redpanda.ResourceGroup("testResourceGroup")
config = pulumi.Config()
region = config.get("region")
if region is None:
    region = "us-central1"
cloud_provider = config.get("cloudProvider")
if cloud_provider is None:
    cloud_provider = "gcp"
test_network = redpanda.Network("testNetwork",
    resource_group_id=test_resource_group.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="dedicated",
    cidr_block="10.0.0.0/20")
zones = config.get_object("zones")
if zones is None:
    zones = [
        "us-central1-a",
        "us-central1-b",
        "us-central1-c",
    ]
throughput_tier = config.get("throughputTier")
if throughput_tier is None:
    throughput_tier = "tier-1-gcp-um4g"
test_cluster = redpanda.Cluster("testCluster",
    resource_group_id=test_resource_group.id,
    network_id=test_network.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="dedicated",
    connection_type="public",
    throughput_tier=throughput_tier,
    zones=zones,
    allow_deletion=True)
## This is a reference for GCP tags
#   tags = {
#     "key" = "value"
#   }
## This is a reference for GCP Private Service Connect
#   gcp_private_service_connect = {
#     enabled               = true
#     global_access_enabled = true
#     consumer_accept_list = [
#       {
#         source = "projects/123456789012"
#       }
#     ]
#   }
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = ""
resource_group_name = config.get("resourceGroupName")
if resource_group_name is None:
    resource_group_name = ""
network_name = config.get("networkName")
if network_name is None:
    network_name = ""
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True)
test_acl = redpanda.Acl("testAcl",
    resource_type="TOPIC",
    resource_name_=test_topic.name,
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="READ",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := redpanda.NewResourceGroup(ctx, "testResourceGroup", nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		region := "us-central1"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		cloudProvider := "gcp"
		if param := cfg.Get("cloudProvider"); param != "" {
			cloudProvider = param
		}
		testNetwork, err := redpanda.NewNetwork(ctx, "testNetwork", &redpanda.NetworkArgs{
			ResourceGroupId: testResourceGroup.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("dedicated"),
			CidrBlock:       pulumi.String("10.0.0.0/20"),
		})
		if err != nil {
			return err
		}
		zones := []string{
			"us-central1-a",
			"us-central1-b",
			"us-central1-c",
		}
		if param := cfg.GetObject("zones"); param != nil {
			zones = param
		}
		throughputTier := "tier-1-gcp-um4g"
		if param := cfg.Get("throughputTier"); param != "" {
			throughputTier = param
		}
		testCluster, err := redpanda.NewCluster(ctx, "testCluster", &redpanda.ClusterArgs{
			ResourceGroupId: testResourceGroup.ID(),
			NetworkId:       testNetwork.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("dedicated"),
			ConnectionType:  pulumi.String("public"),
			ThroughputTier:  pulumi.String(throughputTier),
			Zones:           pulumi.Any(zones),
			AllowDeletion:   pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		clusterName := ""
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		resourceGroupName := ""
		if param := cfg.Get("resourceGroupName"); param != "" {
			resourceGroupName = param
		}
		networkName := ""
		if param := cfg.Get("networkName"); param != "" {
			networkName = param
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		testTopic, err := redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     testCluster.ClusterApiUrl,
			AllowDeletion:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("TOPIC"),
			ResourceName:        testTopic.Name,
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("READ"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		userName := "test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var testResourceGroup = new Redpanda.ResourceGroup("testResourceGroup");
    var config = new Config();
    var region = config.Get("region") ?? "us-central1";
    var cloudProvider = config.Get("cloudProvider") ?? "gcp";
    var testNetwork = new Redpanda.Network("testNetwork", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "dedicated",
        CidrBlock = "10.0.0.0/20",
    });
    var zones = config.GetObject<dynamic>("zones") ?? new[]
    {
        "us-central1-a",
        "us-central1-b",
        "us-central1-c",
    };
    var throughputTier = config.Get("throughputTier") ?? "tier-1-gcp-um4g";
    var testCluster = new Redpanda.Cluster("testCluster", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        NetworkId = testNetwork.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "dedicated",
        ConnectionType = "public",
        ThroughputTier = throughputTier,
        Zones = zones,
        AllowDeletion = true,
    });
    //# This is a reference for GCP tags
    //   tags = {
    //     "key" = "value"
    //   }
    //# This is a reference for GCP Private Service Connect
    //   gcp_private_service_connect = {
    //     enabled               = true
    //     global_access_enabled = true
    //     consumer_accept_list = [
    //       {
    //         source = "projects/123456789012"
    //       }
    //     ]
    //   }
    var clusterName = config.Get("clusterName") ?? "";
    var resourceGroupName = config.Get("resourceGroupName") ?? "";
    var networkName = config.Get("networkName") ?? "";
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.ClusterApiUrl,
        AllowDeletion = true,
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "TOPIC",
        ResourceName = testTopic.Name,
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "READ",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var userName = config.Get("userName") ?? "test-username";
    var topicName = config.Get("topicName") ?? "test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var region = config.get("region").orElse("us-central1");
        final var cloudProvider = config.get("cloudProvider").orElse("gcp");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("dedicated")
            .cidrBlock("10.0.0.0/20")
            .build());
        final var zones = config.get("zones").orElse(        
            "us-central1-a",
            "us-central1-b",
            "us-central1-c");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-gcp-um4g");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("dedicated")
            .connectionType("public")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .build());
        //# This is a reference for GCP tags
        //   tags = {
        //     "key" = "value"
        //   }
        //# This is a reference for GCP Private Service Connect
        //   gcp_private_service_connect = {
        //     enabled               = true
        //     global_access_enabled = true
        //     consumer_accept_list = [
        //       {
        //         source = "projects/123456789012"
        //       }
        //     ]
        //   }
        final var clusterName = config.get("clusterName").orElse("");
        final var resourceGroupName = config.get("resourceGroupName").orElse("");
        final var networkName = config.get("networkName").orElse("");
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
    }
}
configuration:
  clusterName:
    type: string
    default: ""
  resourceGroupName:
    type: string
    default: ""
  networkName:
    type: string
    default: ""
  region:
    type: string
    default: us-central1
  zones:
    type: dynamic
    default:
      - us-central1-a
      - us-central1-b
      - us-central1-c
  cloudProvider:
    type: string
    default: gcp
  throughputTier:
    type: string
    default: tier-1-gcp-um4g
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: dedicated
      cidrBlock: 10.0.0.0/20
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: dedicated
      connectionType: public
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
On Azure
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const testResourceGroup = new redpanda.ResourceGroup("testResourceGroup", {});
const config = new pulumi.Config();
const cloudProvider = config.get("cloudProvider") || "azure";
const region = config.get("region") || "eastus";
const testNetwork = new redpanda.Network("testNetwork", {
    resourceGroupId: testResourceGroup.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "dedicated",
    cidrBlock: "10.0.0.0/20",
});
const zones = config.getObject("zones") || [
    "eastus-az1",
    "eastus-az2",
    "eastus-az3",
];
const throughputTier = config.get("throughputTier") || "tier-1-azure-v3-x86";
const testCluster = new redpanda.Cluster("testCluster", {
    resourceGroupId: testResourceGroup.id,
    networkId: testNetwork.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "dedicated",
    connectionType: "public",
    throughputTier: throughputTier,
    zones: zones,
    allowDeletion: true,
    tags: {
        key: "value",
    },
});
//   azure_private_link = {
//     enabled         = true
//     connect_console = true
//     allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
//   }
const resourceGroupName = config.get("resourceGroupName") || "testname";
const networkName = config.get("networkName") || "testname";
const clusterName = config.get("clusterName") || "testname";
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.clusterApiUrl,
});
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.clusterApiUrl,
    allowDeletion: true,
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "TOPIC",
    resourceName: testTopic.name,
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "READ",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.clusterApiUrl,
});
const userName = config.get("userName") || "test-username";
const topicName = config.get("topicName") || "test-topic";
import pulumi
import pulumi_redpanda as redpanda
test_resource_group = redpanda.ResourceGroup("testResourceGroup")
config = pulumi.Config()
cloud_provider = config.get("cloudProvider")
if cloud_provider is None:
    cloud_provider = "azure"
region = config.get("region")
if region is None:
    region = "eastus"
test_network = redpanda.Network("testNetwork",
    resource_group_id=test_resource_group.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="dedicated",
    cidr_block="10.0.0.0/20")
zones = config.get_object("zones")
if zones is None:
    zones = [
        "eastus-az1",
        "eastus-az2",
        "eastus-az3",
    ]
throughput_tier = config.get("throughputTier")
if throughput_tier is None:
    throughput_tier = "tier-1-azure-v3-x86"
test_cluster = redpanda.Cluster("testCluster",
    resource_group_id=test_resource_group.id,
    network_id=test_network.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="dedicated",
    connection_type="public",
    throughput_tier=throughput_tier,
    zones=zones,
    allow_deletion=True,
    tags={
        "key": "value",
    })
#   azure_private_link = {
#     enabled         = true
#     connect_console = true
#     allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
#   }
resource_group_name = config.get("resourceGroupName")
if resource_group_name is None:
    resource_group_name = "testname"
network_name = config.get("networkName")
if network_name is None:
    network_name = "testname"
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = "testname"
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True)
test_acl = redpanda.Acl("testAcl",
    resource_type="TOPIC",
    resource_name_=test_topic.name,
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="READ",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := redpanda.NewResourceGroup(ctx, "testResourceGroup", nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		cloudProvider := "azure"
		if param := cfg.Get("cloudProvider"); param != "" {
			cloudProvider = param
		}
		region := "eastus"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		testNetwork, err := redpanda.NewNetwork(ctx, "testNetwork", &redpanda.NetworkArgs{
			ResourceGroupId: testResourceGroup.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("dedicated"),
			CidrBlock:       pulumi.String("10.0.0.0/20"),
		})
		if err != nil {
			return err
		}
		zones := []string{
			"eastus-az1",
			"eastus-az2",
			"eastus-az3",
		}
		if param := cfg.GetObject("zones"); param != nil {
			zones = param
		}
		throughputTier := "tier-1-azure-v3-x86"
		if param := cfg.Get("throughputTier"); param != "" {
			throughputTier = param
		}
		testCluster, err := redpanda.NewCluster(ctx, "testCluster", &redpanda.ClusterArgs{
			ResourceGroupId: testResourceGroup.ID(),
			NetworkId:       testNetwork.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("dedicated"),
			ConnectionType:  pulumi.String("public"),
			ThroughputTier:  pulumi.String(throughputTier),
			Zones:           pulumi.Any(zones),
			AllowDeletion:   pulumi.Bool(true),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		resourceGroupName := "testname"
		if param := cfg.Get("resourceGroupName"); param != "" {
			resourceGroupName = param
		}
		networkName := "testname"
		if param := cfg.Get("networkName"); param != "" {
			networkName = param
		}
		clusterName := "testname"
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		testTopic, err := redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     testCluster.ClusterApiUrl,
			AllowDeletion:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("TOPIC"),
			ResourceName:        testTopic.Name,
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("READ"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		userName := "test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var testResourceGroup = new Redpanda.ResourceGroup("testResourceGroup");
    var config = new Config();
    var cloudProvider = config.Get("cloudProvider") ?? "azure";
    var region = config.Get("region") ?? "eastus";
    var testNetwork = new Redpanda.Network("testNetwork", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "dedicated",
        CidrBlock = "10.0.0.0/20",
    });
    var zones = config.GetObject<dynamic>("zones") ?? new[]
    {
        "eastus-az1",
        "eastus-az2",
        "eastus-az3",
    };
    var throughputTier = config.Get("throughputTier") ?? "tier-1-azure-v3-x86";
    var testCluster = new Redpanda.Cluster("testCluster", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        NetworkId = testNetwork.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "dedicated",
        ConnectionType = "public",
        ThroughputTier = throughputTier,
        Zones = zones,
        AllowDeletion = true,
        Tags = 
        {
            { "key", "value" },
        },
    });
    //   azure_private_link = {
    //     enabled         = true
    //     connect_console = true
    //     allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
    //   }
    var resourceGroupName = config.Get("resourceGroupName") ?? "testname";
    var networkName = config.Get("networkName") ?? "testname";
    var clusterName = config.Get("clusterName") ?? "testname";
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.ClusterApiUrl,
        AllowDeletion = true,
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "TOPIC",
        ResourceName = testTopic.Name,
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "READ",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var userName = config.Get("userName") ?? "test-username";
    var topicName = config.Get("topicName") ?? "test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var cloudProvider = config.get("cloudProvider").orElse("azure");
        final var region = config.get("region").orElse("eastus");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("dedicated")
            .cidrBlock("10.0.0.0/20")
            .build());
        final var zones = config.get("zones").orElse(        
            "eastus-az1",
            "eastus-az2",
            "eastus-az3");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-azure-v3-x86");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("dedicated")
            .connectionType("public")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .tags(Map.of("key", "value"))
            .build());
        //   azure_private_link = {
        //     enabled         = true
        //     connect_console = true
        //     allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
        //   }
        final var resourceGroupName = config.get("resourceGroupName").orElse("testname");
        final var networkName = config.get("networkName").orElse("testname");
        final var clusterName = config.get("clusterName").orElse("testname");
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
    }
}
configuration:
  resourceGroupName:
    type: string
    default: testname
  networkName:
    type: string
    default: testname
  clusterName:
    type: string
    default: testname
  cloudProvider:
    type: string
    default: azure
  region:
    type: string
    default: eastus
  zones:
    type: dynamic
    default:
      - eastus-az1
      - eastus-az2
      - eastus-az3
  throughputTier:
    type: string
    default: tier-1-azure-v3-x86
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: dedicated
      cidrBlock: 10.0.0.0/20
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: dedicated
      connectionType: public
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
      tags:
        key: value
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
BYOC
This configuration of cluster allows the end user to provide access to their cloud account to the provider so that it can create the necessary infrastructure in their account rather than in Redpanda’s Cloud.
Additional Requirements
To build a BYOC cluster you must provide credentials that enable the provider to authenticate to the relevant cloud provider. How this works will depend on which cloud provider you are using.
AWS BYOC
To create a BYOC AWS cluster you must provide an AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY. The account must have fairly wide ranging permissions to create the necessary infrastructure.
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const testResourceGroup = new redpanda.ResourceGroup("testResourceGroup", {});
const config = new pulumi.Config();
const region = config.get("region") || "us-east-2";
const cloudProvider = config.get("cloudProvider") || "aws";
const testNetwork = new redpanda.Network("testNetwork", {
    resourceGroupId: testResourceGroup.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "byoc",
    cidrBlock: "10.0.0.0/20",
});
const zones = config.getObject("zones") || [
    "use2-az1",
    "use2-az2",
    "use2-az3",
];
const throughputTier = config.get("throughputTier") || "tier-1-aws-v2-x86";
const testCluster = new redpanda.Cluster("testCluster", {
    resourceGroupId: testResourceGroup.id,
    networkId: testNetwork.id,
    cloudProvider: testNetwork.cloudProvider,
    region: testNetwork.region,
    clusterType: testNetwork.clusterType,
    connectionType: "public",
    throughputTier: throughputTier,
    zones: zones,
    allowDeletion: true,
    tags: {
        key: "value",
    },
});
// aws_private_link = {
//   enabled         = true
//   connect_console = true
//   allowed_principals = ["arn:aws:iam::123456789024:root"]
// }
const resourceGroupName = config.get("resourceGroupName") || "testname";
const networkName = config.get("networkName") || "testname";
const clusterName = config.get("clusterName") || "testname";
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.clusterApiUrl,
});
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.clusterApiUrl,
    allowDeletion: true,
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "TOPIC",
    resourceName: testTopic.name,
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "READ",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.clusterApiUrl,
});
const userName = config.get("userName") || "test-username";
const topicName = config.get("topicName") || "test-topic";
import pulumi
import pulumi_redpanda as redpanda
test_resource_group = redpanda.ResourceGroup("testResourceGroup")
config = pulumi.Config()
region = config.get("region")
if region is None:
    region = "us-east-2"
cloud_provider = config.get("cloudProvider")
if cloud_provider is None:
    cloud_provider = "aws"
test_network = redpanda.Network("testNetwork",
    resource_group_id=test_resource_group.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="byoc",
    cidr_block="10.0.0.0/20")
zones = config.get_object("zones")
if zones is None:
    zones = [
        "use2-az1",
        "use2-az2",
        "use2-az3",
    ]
throughput_tier = config.get("throughputTier")
if throughput_tier is None:
    throughput_tier = "tier-1-aws-v2-x86"
test_cluster = redpanda.Cluster("testCluster",
    resource_group_id=test_resource_group.id,
    network_id=test_network.id,
    cloud_provider=test_network.cloud_provider,
    region=test_network.region,
    cluster_type=test_network.cluster_type,
    connection_type="public",
    throughput_tier=throughput_tier,
    zones=zones,
    allow_deletion=True,
    tags={
        "key": "value",
    })
# aws_private_link = {
#   enabled         = true
#   connect_console = true
#   allowed_principals = ["arn:aws:iam::123456789024:root"]
# }
resource_group_name = config.get("resourceGroupName")
if resource_group_name is None:
    resource_group_name = "testname"
network_name = config.get("networkName")
if network_name is None:
    network_name = "testname"
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = "testname"
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True)
test_acl = redpanda.Acl("testAcl",
    resource_type="TOPIC",
    resource_name_=test_topic.name,
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="READ",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := redpanda.NewResourceGroup(ctx, "testResourceGroup", nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		region := "us-east-2"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		cloudProvider := "aws"
		if param := cfg.Get("cloudProvider"); param != "" {
			cloudProvider = param
		}
		testNetwork, err := redpanda.NewNetwork(ctx, "testNetwork", &redpanda.NetworkArgs{
			ResourceGroupId: testResourceGroup.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("byoc"),
			CidrBlock:       pulumi.String("10.0.0.0/20"),
		})
		if err != nil {
			return err
		}
		zones := []string{
			"use2-az1",
			"use2-az2",
			"use2-az3",
		}
		if param := cfg.GetObject("zones"); param != nil {
			zones = param
		}
		throughputTier := "tier-1-aws-v2-x86"
		if param := cfg.Get("throughputTier"); param != "" {
			throughputTier = param
		}
		testCluster, err := redpanda.NewCluster(ctx, "testCluster", &redpanda.ClusterArgs{
			ResourceGroupId: testResourceGroup.ID(),
			NetworkId:       testNetwork.ID(),
			CloudProvider:   testNetwork.CloudProvider,
			Region:          testNetwork.Region,
			ClusterType:     testNetwork.ClusterType,
			ConnectionType:  pulumi.String("public"),
			ThroughputTier:  pulumi.String(throughputTier),
			Zones:           pulumi.Any(zones),
			AllowDeletion:   pulumi.Bool(true),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		resourceGroupName := "testname"
		if param := cfg.Get("resourceGroupName"); param != "" {
			resourceGroupName = param
		}
		networkName := "testname"
		if param := cfg.Get("networkName"); param != "" {
			networkName = param
		}
		clusterName := "testname"
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		testTopic, err := redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     testCluster.ClusterApiUrl,
			AllowDeletion:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("TOPIC"),
			ResourceName:        testTopic.Name,
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("READ"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		userName := "test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var testResourceGroup = new Redpanda.ResourceGroup("testResourceGroup");
    var config = new Config();
    var region = config.Get("region") ?? "us-east-2";
    var cloudProvider = config.Get("cloudProvider") ?? "aws";
    var testNetwork = new Redpanda.Network("testNetwork", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "byoc",
        CidrBlock = "10.0.0.0/20",
    });
    var zones = config.GetObject<dynamic>("zones") ?? new[]
    {
        "use2-az1",
        "use2-az2",
        "use2-az3",
    };
    var throughputTier = config.Get("throughputTier") ?? "tier-1-aws-v2-x86";
    var testCluster = new Redpanda.Cluster("testCluster", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        NetworkId = testNetwork.Id,
        CloudProvider = testNetwork.CloudProvider,
        Region = testNetwork.Region,
        ClusterType = testNetwork.ClusterType,
        ConnectionType = "public",
        ThroughputTier = throughputTier,
        Zones = zones,
        AllowDeletion = true,
        Tags = 
        {
            { "key", "value" },
        },
    });
    // aws_private_link = {
    //   enabled         = true
    //   connect_console = true
    //   allowed_principals = ["arn:aws:iam::123456789024:root"]
    // }
    var resourceGroupName = config.Get("resourceGroupName") ?? "testname";
    var networkName = config.Get("networkName") ?? "testname";
    var clusterName = config.Get("clusterName") ?? "testname";
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.ClusterApiUrl,
        AllowDeletion = true,
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "TOPIC",
        ResourceName = testTopic.Name,
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "READ",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var userName = config.Get("userName") ?? "test-username";
    var topicName = config.Get("topicName") ?? "test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var region = config.get("region").orElse("us-east-2");
        final var cloudProvider = config.get("cloudProvider").orElse("aws");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("byoc")
            .cidrBlock("10.0.0.0/20")
            .build());
        final var zones = config.get("zones").orElse(        
            "use2-az1",
            "use2-az2",
            "use2-az3");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-aws-v2-x86");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(testNetwork.cloudProvider())
            .region(testNetwork.region())
            .clusterType(testNetwork.clusterType())
            .connectionType("public")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .tags(Map.of("key", "value"))
            .build());
        // aws_private_link = {
        //   enabled         = true
        //   connect_console = true
        //   allowed_principals = ["arn:aws:iam::123456789024:root"]
        // }
        final var resourceGroupName = config.get("resourceGroupName").orElse("testname");
        final var networkName = config.get("networkName").orElse("testname");
        final var clusterName = config.get("clusterName").orElse("testname");
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
    }
}
configuration:
  resourceGroupName:
    type: string
    default: testname
  networkName:
    type: string
    default: testname
  clusterName:
    type: string
    default: testname
  region:
    type: string
    default: us-east-2
  zones:
    type: dynamic
    default:
      - use2-az1
      - use2-az2
      - use2-az3
  cloudProvider:
    type: string
    default: aws
  throughputTier:
    type: string
    default: tier-1-aws-v2-x86
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: byoc
      cidrBlock: 10.0.0.0/20
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${testNetwork.cloudProvider}
      region: ${testNetwork.region}
      clusterType: ${testNetwork.clusterType}
      connectionType: public
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
      tags:
        key: value
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
GCP BYOC
To create a GCP BYOC cluster you must provide a GCP_PROJECT_ID and GOOGLE_CREDENTIALS. We also accept the credentials encoded in base64 format if you use GOOGLE_CREDENTIALS_BASE64. The account must have fairly wide ranging permissions to create the necessary infrastructure.
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const testResourceGroup = new redpanda.ResourceGroup("testResourceGroup", {});
const config = new pulumi.Config();
const region = config.get("region") || "us-central1";
const cloudProvider = config.get("cloudProvider") || "gcp";
const testNetwork = new redpanda.Network("testNetwork", {
    resourceGroupId: testResourceGroup.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "byoc",
    cidrBlock: "10.0.0.0/20",
});
const zones = config.getObject("zones") || [
    "us-central1-a",
    "us-central1-b",
    "us-central1-c",
];
const throughputTier = config.get("throughputTier") || "tier-1-gcp-um4g";
const testCluster = new redpanda.Cluster("testCluster", {
    resourceGroupId: testResourceGroup.id,
    networkId: testNetwork.id,
    cloudProvider: testNetwork.cloudProvider,
    region: testNetwork.region,
    clusterType: testNetwork.clusterType,
    connectionType: "public",
    throughputTier: throughputTier,
    zones: zones,
    allowDeletion: true,
});
//# This is a reference for GCP tags
//   tags = {
//     "key" = "value"
//   }
//# This is a reference for GCP Private Service Connect
//   gcp_private_service_connect = {
//     enabled               = true
//     global_access_enabled = true
//     consumer_accept_list = [
//       {
//         source = "projects/123456789012"
//       }
//     ]
//   }
const clusterName = config.get("clusterName") || "";
const resourceGroupName = config.get("resourceGroupName") || "";
const networkName = config.get("networkName") || "";
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.clusterApiUrl,
});
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.clusterApiUrl,
    allowDeletion: true,
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "TOPIC",
    resourceName: testTopic.name,
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "READ",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.clusterApiUrl,
});
const userName = config.get("userName") || "test-username";
const topicName = config.get("topicName") || "test-topic";
import pulumi
import pulumi_redpanda as redpanda
test_resource_group = redpanda.ResourceGroup("testResourceGroup")
config = pulumi.Config()
region = config.get("region")
if region is None:
    region = "us-central1"
cloud_provider = config.get("cloudProvider")
if cloud_provider is None:
    cloud_provider = "gcp"
test_network = redpanda.Network("testNetwork",
    resource_group_id=test_resource_group.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="byoc",
    cidr_block="10.0.0.0/20")
zones = config.get_object("zones")
if zones is None:
    zones = [
        "us-central1-a",
        "us-central1-b",
        "us-central1-c",
    ]
throughput_tier = config.get("throughputTier")
if throughput_tier is None:
    throughput_tier = "tier-1-gcp-um4g"
test_cluster = redpanda.Cluster("testCluster",
    resource_group_id=test_resource_group.id,
    network_id=test_network.id,
    cloud_provider=test_network.cloud_provider,
    region=test_network.region,
    cluster_type=test_network.cluster_type,
    connection_type="public",
    throughput_tier=throughput_tier,
    zones=zones,
    allow_deletion=True)
## This is a reference for GCP tags
#   tags = {
#     "key" = "value"
#   }
## This is a reference for GCP Private Service Connect
#   gcp_private_service_connect = {
#     enabled               = true
#     global_access_enabled = true
#     consumer_accept_list = [
#       {
#         source = "projects/123456789012"
#       }
#     ]
#   }
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = ""
resource_group_name = config.get("resourceGroupName")
if resource_group_name is None:
    resource_group_name = ""
network_name = config.get("networkName")
if network_name is None:
    network_name = ""
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True)
test_acl = redpanda.Acl("testAcl",
    resource_type="TOPIC",
    resource_name_=test_topic.name,
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="READ",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := redpanda.NewResourceGroup(ctx, "testResourceGroup", nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		region := "us-central1"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		cloudProvider := "gcp"
		if param := cfg.Get("cloudProvider"); param != "" {
			cloudProvider = param
		}
		testNetwork, err := redpanda.NewNetwork(ctx, "testNetwork", &redpanda.NetworkArgs{
			ResourceGroupId: testResourceGroup.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("byoc"),
			CidrBlock:       pulumi.String("10.0.0.0/20"),
		})
		if err != nil {
			return err
		}
		zones := []string{
			"us-central1-a",
			"us-central1-b",
			"us-central1-c",
		}
		if param := cfg.GetObject("zones"); param != nil {
			zones = param
		}
		throughputTier := "tier-1-gcp-um4g"
		if param := cfg.Get("throughputTier"); param != "" {
			throughputTier = param
		}
		testCluster, err := redpanda.NewCluster(ctx, "testCluster", &redpanda.ClusterArgs{
			ResourceGroupId: testResourceGroup.ID(),
			NetworkId:       testNetwork.ID(),
			CloudProvider:   testNetwork.CloudProvider,
			Region:          testNetwork.Region,
			ClusterType:     testNetwork.ClusterType,
			ConnectionType:  pulumi.String("public"),
			ThroughputTier:  pulumi.String(throughputTier),
			Zones:           pulumi.Any(zones),
			AllowDeletion:   pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		clusterName := ""
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		resourceGroupName := ""
		if param := cfg.Get("resourceGroupName"); param != "" {
			resourceGroupName = param
		}
		networkName := ""
		if param := cfg.Get("networkName"); param != "" {
			networkName = param
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		testTopic, err := redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     testCluster.ClusterApiUrl,
			AllowDeletion:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("TOPIC"),
			ResourceName:        testTopic.Name,
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("READ"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		userName := "test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var testResourceGroup = new Redpanda.ResourceGroup("testResourceGroup");
    var config = new Config();
    var region = config.Get("region") ?? "us-central1";
    var cloudProvider = config.Get("cloudProvider") ?? "gcp";
    var testNetwork = new Redpanda.Network("testNetwork", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "byoc",
        CidrBlock = "10.0.0.0/20",
    });
    var zones = config.GetObject<dynamic>("zones") ?? new[]
    {
        "us-central1-a",
        "us-central1-b",
        "us-central1-c",
    };
    var throughputTier = config.Get("throughputTier") ?? "tier-1-gcp-um4g";
    var testCluster = new Redpanda.Cluster("testCluster", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        NetworkId = testNetwork.Id,
        CloudProvider = testNetwork.CloudProvider,
        Region = testNetwork.Region,
        ClusterType = testNetwork.ClusterType,
        ConnectionType = "public",
        ThroughputTier = throughputTier,
        Zones = zones,
        AllowDeletion = true,
    });
    //# This is a reference for GCP tags
    //   tags = {
    //     "key" = "value"
    //   }
    //# This is a reference for GCP Private Service Connect
    //   gcp_private_service_connect = {
    //     enabled               = true
    //     global_access_enabled = true
    //     consumer_accept_list = [
    //       {
    //         source = "projects/123456789012"
    //       }
    //     ]
    //   }
    var clusterName = config.Get("clusterName") ?? "";
    var resourceGroupName = config.Get("resourceGroupName") ?? "";
    var networkName = config.Get("networkName") ?? "";
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.ClusterApiUrl,
        AllowDeletion = true,
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "TOPIC",
        ResourceName = testTopic.Name,
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "READ",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var userName = config.Get("userName") ?? "test-username";
    var topicName = config.Get("topicName") ?? "test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var region = config.get("region").orElse("us-central1");
        final var cloudProvider = config.get("cloudProvider").orElse("gcp");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("byoc")
            .cidrBlock("10.0.0.0/20")
            .build());
        final var zones = config.get("zones").orElse(        
            "us-central1-a",
            "us-central1-b",
            "us-central1-c");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-gcp-um4g");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(testNetwork.cloudProvider())
            .region(testNetwork.region())
            .clusterType(testNetwork.clusterType())
            .connectionType("public")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .build());
        //# This is a reference for GCP tags
        //   tags = {
        //     "key" = "value"
        //   }
        //# This is a reference for GCP Private Service Connect
        //   gcp_private_service_connect = {
        //     enabled               = true
        //     global_access_enabled = true
        //     consumer_accept_list = [
        //       {
        //         source = "projects/123456789012"
        //       }
        //     ]
        //   }
        final var clusterName = config.get("clusterName").orElse("");
        final var resourceGroupName = config.get("resourceGroupName").orElse("");
        final var networkName = config.get("networkName").orElse("");
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
    }
}
configuration:
  clusterName:
    type: string
    default: ""
  resourceGroupName:
    type: string
    default: ""
  networkName:
    type: string
    default: ""
  region:
    type: string
    default: us-central1
  zones:
    type: dynamic
    default:
      - us-central1-a
      - us-central1-b
      - us-central1-c
  cloudProvider:
    type: string
    default: gcp
  throughputTier:
    type: string
    default: tier-1-gcp-um4g
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: byoc
      cidrBlock: 10.0.0.0/20
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${testNetwork.cloudProvider}
      region: ${testNetwork.region}
      clusterType: ${testNetwork.clusterType}
      connectionType: public
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
Azure BYOC
To create a BYOC Azure cluster you must provide Azure credentials, be logged in to the Azure CLI, or specify an Azure authentication method. This provider supports the same authentication methods and environment variables as the official AzureRM provider. For example, to use a service principal and client certificate, you can pass the environment variables ARM_CLIENT_ID, ARM_CLIENT_SECRET, ARM_TENANT_ID, and ARM_SUBSCRIPTION_ID.
The account must have fairly wide ranging permissions to create the necessary infrastructure.
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const testResourceGroup = new redpanda.ResourceGroup("testResourceGroup", {});
const config = new pulumi.Config();
const cloudProvider = config.get("cloudProvider") || "azure";
const region = config.get("region") || "eastus";
const testNetwork = new redpanda.Network("testNetwork", {
    resourceGroupId: testResourceGroup.id,
    cloudProvider: cloudProvider,
    region: region,
    clusterType: "byoc",
    cidrBlock: "10.0.0.0/20",
});
const zones = config.getObject("zones") || [
    "eastus-az1",
    "eastus-az2",
    "eastus-az3",
];
const throughputTier = config.get("throughputTier") || "tier-1-azure-v3-x86";
const testCluster = new redpanda.Cluster("testCluster", {
    resourceGroupId: testResourceGroup.id,
    networkId: testNetwork.id,
    cloudProvider: testNetwork.cloudProvider,
    region: testNetwork.region,
    clusterType: testNetwork.clusterType,
    connectionType: "public",
    throughputTier: throughputTier,
    zones: zones,
    allowDeletion: true,
    tags: {
        key: "value",
    },
});
// azure_private_link = {
//   enabled         = true
//   connect_console = true
//   allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
// }
const resourceGroupName = config.get("resourceGroupName") || "testname";
const networkName = config.get("networkName") || "testname";
const clusterName = config.get("clusterName") || "testname";
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.clusterApiUrl,
});
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.clusterApiUrl,
    allowDeletion: true,
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "TOPIC",
    resourceName: testTopic.name,
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "READ",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.clusterApiUrl,
});
const userName = config.get("userName") || "test-username";
const topicName = config.get("topicName") || "test-topic";
import pulumi
import pulumi_redpanda as redpanda
test_resource_group = redpanda.ResourceGroup("testResourceGroup")
config = pulumi.Config()
cloud_provider = config.get("cloudProvider")
if cloud_provider is None:
    cloud_provider = "azure"
region = config.get("region")
if region is None:
    region = "eastus"
test_network = redpanda.Network("testNetwork",
    resource_group_id=test_resource_group.id,
    cloud_provider=cloud_provider,
    region=region,
    cluster_type="byoc",
    cidr_block="10.0.0.0/20")
zones = config.get_object("zones")
if zones is None:
    zones = [
        "eastus-az1",
        "eastus-az2",
        "eastus-az3",
    ]
throughput_tier = config.get("throughputTier")
if throughput_tier is None:
    throughput_tier = "tier-1-azure-v3-x86"
test_cluster = redpanda.Cluster("testCluster",
    resource_group_id=test_resource_group.id,
    network_id=test_network.id,
    cloud_provider=test_network.cloud_provider,
    region=test_network.region,
    cluster_type=test_network.cluster_type,
    connection_type="public",
    throughput_tier=throughput_tier,
    zones=zones,
    allow_deletion=True,
    tags={
        "key": "value",
    })
# azure_private_link = {
#   enabled         = true
#   connect_console = true
#   allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
# }
resource_group_name = config.get("resourceGroupName")
if resource_group_name is None:
    resource_group_name = "testname"
network_name = config.get("networkName")
if network_name is None:
    network_name = "testname"
cluster_name = config.get("clusterName")
if cluster_name is None:
    cluster_name = "testname"
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True)
test_acl = redpanda.Acl("testAcl",
    resource_type="TOPIC",
    resource_name_=test_topic.name,
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="READ",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		testResourceGroup, err := redpanda.NewResourceGroup(ctx, "testResourceGroup", nil)
		if err != nil {
			return err
		}
		cfg := config.New(ctx, "")
		cloudProvider := "azure"
		if param := cfg.Get("cloudProvider"); param != "" {
			cloudProvider = param
		}
		region := "eastus"
		if param := cfg.Get("region"); param != "" {
			region = param
		}
		testNetwork, err := redpanda.NewNetwork(ctx, "testNetwork", &redpanda.NetworkArgs{
			ResourceGroupId: testResourceGroup.ID(),
			CloudProvider:   pulumi.String(cloudProvider),
			Region:          pulumi.String(region),
			ClusterType:     pulumi.String("byoc"),
			CidrBlock:       pulumi.String("10.0.0.0/20"),
		})
		if err != nil {
			return err
		}
		zones := []string{
			"eastus-az1",
			"eastus-az2",
			"eastus-az3",
		}
		if param := cfg.GetObject("zones"); param != nil {
			zones = param
		}
		throughputTier := "tier-1-azure-v3-x86"
		if param := cfg.Get("throughputTier"); param != "" {
			throughputTier = param
		}
		testCluster, err := redpanda.NewCluster(ctx, "testCluster", &redpanda.ClusterArgs{
			ResourceGroupId: testResourceGroup.ID(),
			NetworkId:       testNetwork.ID(),
			CloudProvider:   testNetwork.CloudProvider,
			Region:          testNetwork.Region,
			ClusterType:     testNetwork.ClusterType,
			ConnectionType:  pulumi.String("public"),
			ThroughputTier:  pulumi.String(throughputTier),
			Zones:           pulumi.Any(zones),
			AllowDeletion:   pulumi.Bool(true),
			Tags: pulumi.StringMap{
				"key": pulumi.String("value"),
			},
		})
		if err != nil {
			return err
		}
		resourceGroupName := "testname"
		if param := cfg.Get("resourceGroupName"); param != "" {
			resourceGroupName = param
		}
		networkName := "testname"
		if param := cfg.Get("networkName"); param != "" {
			networkName = param
		}
		clusterName := "testname"
		if param := cfg.Get("clusterName"); param != "" {
			clusterName = param
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		testTopic, err := redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     testCluster.ClusterApiUrl,
			AllowDeletion:     pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("TOPIC"),
			ResourceName:        testTopic.Name,
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("READ"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  testCluster.ClusterApiUrl,
		})
		if err != nil {
			return err
		}
		userName := "test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var testResourceGroup = new Redpanda.ResourceGroup("testResourceGroup");
    var config = new Config();
    var cloudProvider = config.Get("cloudProvider") ?? "azure";
    var region = config.Get("region") ?? "eastus";
    var testNetwork = new Redpanda.Network("testNetwork", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        CloudProvider = cloudProvider,
        Region = region,
        ClusterType = "byoc",
        CidrBlock = "10.0.0.0/20",
    });
    var zones = config.GetObject<dynamic>("zones") ?? new[]
    {
        "eastus-az1",
        "eastus-az2",
        "eastus-az3",
    };
    var throughputTier = config.Get("throughputTier") ?? "tier-1-azure-v3-x86";
    var testCluster = new Redpanda.Cluster("testCluster", new()
    {
        ResourceGroupId = testResourceGroup.Id,
        NetworkId = testNetwork.Id,
        CloudProvider = testNetwork.CloudProvider,
        Region = testNetwork.Region,
        ClusterType = testNetwork.ClusterType,
        ConnectionType = "public",
        ThroughputTier = throughputTier,
        Zones = zones,
        AllowDeletion = true,
        Tags = 
        {
            { "key", "value" },
        },
    });
    // azure_private_link = {
    //   enabled         = true
    //   connect_console = true
    //   allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
    // }
    var resourceGroupName = config.Get("resourceGroupName") ?? "testname";
    var networkName = config.Get("networkName") ?? "testname";
    var clusterName = config.Get("clusterName") ?? "testname";
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.ClusterApiUrl,
        AllowDeletion = true,
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "TOPIC",
        ResourceName = testTopic.Name,
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "READ",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.ClusterApiUrl,
    });
    var userName = config.Get("userName") ?? "test-username";
    var topicName = config.Get("topicName") ?? "test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var cloudProvider = config.get("cloudProvider").orElse("azure");
        final var region = config.get("region").orElse("eastus");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("byoc")
            .cidrBlock("10.0.0.0/20")
            .build());
        final var zones = config.get("zones").orElse(        
            "eastus-az1",
            "eastus-az2",
            "eastus-az3");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-azure-v3-x86");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(testNetwork.cloudProvider())
            .region(testNetwork.region())
            .clusterType(testNetwork.clusterType())
            .connectionType("public")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .tags(Map.of("key", "value"))
            .build());
        // azure_private_link = {
        //   enabled         = true
        //   connect_console = true
        //   allowed_subscriptions = ["12345678-1234-1234-1234-123456789012"]
        // }
        final var resourceGroupName = config.get("resourceGroupName").orElse("testname");
        final var networkName = config.get("networkName").orElse("testname");
        final var clusterName = config.get("clusterName").orElse("testname");
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
    }
}
configuration:
  resourceGroupName:
    type: string
    default: testname
  networkName:
    type: string
    default: testname
  clusterName:
    type: string
    default: testname
  cloudProvider:
    type: string
    default: azure
  region:
    type: string
    default: eastus
  zones:
    type: dynamic
    default:
      - eastus-az1
      - eastus-az2
      - eastus-az3
  throughputTier:
    type: string
    default: tier-1-azure-v3-x86
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: byoc
      cidrBlock: 10.0.0.0/20
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${testNetwork.cloudProvider}
      region: ${testNetwork.region}
      clusterType: ${testNetwork.clusterType}
      connectionType: public
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
      tags:
        key: value
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
BYOVPC
This accepts a network and other elements created by the end user inside their cloud provider account (currently limited to AWS) and builds a Redpanda Cluster inside it.
There is a module provided for convenience of the end user here that handles the necessary setup. It contains outputs for the inputs the provider requires.
AWS BYOVPC
Has the same requirements as the AWS BYOC Cluster in addition to ARNs for numerous resources that the end user must create.
Coming soon!
Coming soon!
Coming soon!
Coming soon!
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.ResourceGroup;
import com.pulumi.redpanda.Network;
import com.pulumi.redpanda.NetworkArgs;
import com.pulumi.redpanda.inputs.NetworkCustomerManagedResourcesArgs;
import com.pulumi.redpanda.inputs.NetworkCustomerManagedResourcesAwsArgs;
import com.pulumi.redpanda.inputs.NetworkCustomerManagedResourcesAwsManagementBucketArgs;
import com.pulumi.redpanda.inputs.NetworkCustomerManagedResourcesAwsDynamodbTableArgs;
import com.pulumi.redpanda.inputs.NetworkCustomerManagedResourcesAwsVpcArgs;
import com.pulumi.redpanda.inputs.NetworkCustomerManagedResourcesAwsPrivateSubnetsArgs;
import com.pulumi.redpanda.Cluster;
import com.pulumi.redpanda.ClusterArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsAgentInstanceProfileArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfileArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfileArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfileArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsK8sClusterRoleArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroupArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsConnectorsSecurityGroupArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroupArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsUtilitySecurityGroupArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsClusterSecurityGroupArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsNodeSecurityGroupArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsCloudStorageBucketArgs;
import com.pulumi.redpanda.inputs.ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicyArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        var testResourceGroup = new ResourceGroup("testResourceGroup");
        final var region = config.get("region").orElse("us-east-2");
        final var cloudProvider = config.get("cloudProvider").orElse("aws");
        var testNetwork = new Network("testNetwork", NetworkArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .cloudProvider(cloudProvider)
            .region(region)
            .clusterType("byoc")
            .customerManagedResources(NetworkCustomerManagedResourcesArgs.builder()
                .aws(NetworkCustomerManagedResourcesAwsArgs.builder()
                    .managementBucket(NetworkCustomerManagedResourcesAwsManagementBucketArgs.builder()
                        .arn(redpanda_byovpc.management_bucket_arn())
                        .build())
                    .dynamodbTable(NetworkCustomerManagedResourcesAwsDynamodbTableArgs.builder()
                        .arn(red)
                        .build())
                    .vpc(NetworkCustomerManagedResourcesAwsVpcArgs.builder()
                        .arn(redpanda_byovpc.vpc_arn())
                        .build())
                    .privateSubnets(NetworkCustomerManagedResourcesAwsPrivateSubnetsArgs.builder()
                        .arns(redpanda_byovpc.private_subnet_arns())
                        .build())
                    .build())
                .build())
            .build());
        final var zones = config.get("zones").orElse(        
            "use2-az1",
            "use2-az2",
            "use2-az3");
        final var throughputTier = config.get("throughputTier").orElse("tier-1-aws-v2-x86");
        var testCluster = new Cluster("testCluster", ClusterArgs.builder()
            .resourceGroupId(testResourceGroup.id())
            .networkId(testNetwork.id())
            .cloudProvider(testNetwork.cloudProvider())
            .region(testNetwork.region())
            .clusterType(testNetwork.clusterType())
            .connectionType("private")
            .throughputTier(throughputTier)
            .zones(zones)
            .allowDeletion(true)
            .tags(Map.of("key", "value"))
            .customerManagedResources(ClusterCustomerManagedResourcesArgs.builder()
                .aws(ClusterCustomerManagedResourcesAwsArgs.builder()
                    .awsPermissionsBoundaryPolicyArn(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                    .agentInstanceProfile(ClusterCustomerManagedResourcesAwsAgentInstanceProfileArgs.builder()
                        .arn(redpanda_byovpc.agent_instance_profile_arn())
                        .build())
                    .connectorsNodeGroupInstanceProfile(ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfileArgs.builder()
                        .arn(redpanda_byovpc.connectors_node_group_instance_profile_arn())
                        .build())
                    .utilityNodeGroupInstanceProfile(ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfileArgs.builder()
                        .arn(redpanda_byovpc.utility_node_group_instance_profile_arn())
                        .build())
                    .redpandaNodeGroupInstanceProfile(ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfileArgs.builder()
                        .arn(redpanda_byovpc.redpanda_node_group_instance_profile_arn())
                        .build())
                    .k8sClusterRole(ClusterCustomerManagedResourcesAwsK8sClusterRoleArgs.builder()
                        .arn(redpanda_byovpc.k8s_cluster_role_arn())
                        .build())
                    .redpandaAgentSecurityGroup(ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroupArgs.builder()
                        .arn(redpanda_byovpc.redpanda_agent_security_group_arn())
                        .build())
                    .connectorsSecurityGroup(ClusterCustomerManagedResourcesAwsConnectorsSecurityGroupArgs.builder()
                        .arn(redpanda_byovpc.connectors_security_group_arn())
                        .build())
                    .redpandaNodeGroupSecurityGroup(ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroupArgs.builder()
                        .arn(redpanda_byovpc.redpanda_node_group_security_group_arn())
                        .build())
                    .utilitySecurityGroup(ClusterCustomerManagedResourcesAwsUtilitySecurityGroupArgs.builder()
                        .arn(redpanda_byovpc.utility_security_group_arn())
                        .build())
                    .clusterSecurityGroup(ClusterCustomerManagedResourcesAwsClusterSecurityGroupArgs.builder()
                        .arn(redpanda_byovpc.cluster_security_group_arn())
                        .build())
                    .nodeSecurityGroup(ClusterCustomerManagedResourcesAwsNodeSecurityGroupArgs.builder()
                        .arn(redpanda_byovpc.node_security_group_arn())
                        .build())
                    .cloudStorageBucket(ClusterCustomerManagedResourcesAwsCloudStorageBucketArgs.builder()
                        .arn(redpanda_byovpc.cloud_storage_bucket_arn())
                        .build())
                    .permissionsBoundaryPolicy(ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicyArgs.builder()
                        .arn(redpanda_byovpc.permissions_boundary_policy_arn())
                        .build())
                    .build())
                .build())
            .build());
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.clusterApiUrl())
            .allowDeletion(true)
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("TOPIC")
            .resourceName(testTopic.name())
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("READ")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.clusterApiUrl())
            .build());
        final var resourceGroupName = config.get("resourceGroupName").orElse("testname");
        final var networkName = config.get("networkName").orElse("testname");
        final var clusterName = config.get("clusterName").orElse("testname");
        final var userName = config.get("userName").orElse("test-username");
        final var topicName = config.get("topicName").orElse("test-topic");
        final var awsAccessKey = config.get("awsAccessKey");
        final var awsSecretKey = config.get("awsSecretKey");
    }
}
configuration:
  # Existing variables from original configuration
  resourceGroupName:
    type: string
    default: testname
  networkName:
    type: string
    default: testname
  clusterName:
    type: string
    default: testname
  region:
    type: string
    default: us-east-2
  zones:
    type: dynamic
    default:
      - use2-az1
      - use2-az2
      - use2-az3
  cloudProvider:
    type: string
    default: aws
  throughputTier:
    type: string
    default: tier-1-aws-v2-x86
  userName:
    type: string
    default: test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
  awsAccessKey:
    type: string
  awsSecretKey:
    type: string
resources:
  testResourceGroup:
    type: redpanda:ResourceGroup
  testNetwork:
    type: redpanda:Network
    properties:
      resourceGroupId: ${testResourceGroup.id}
      cloudProvider: ${cloudProvider}
      region: ${region}
      clusterType: byoc
      customerManagedResources:
        aws:
          managementBucket:
            arn: ${redpanda_byovpc.management_bucket_arn}
          dynamodbTable:
            arn: ${red}
          vpc:
            arn: ${redpanda_byovpc.vpc_arn}
          privateSubnets:
            arns: ${redpanda_byovpc.private_subnet_arns}
  testCluster:
    type: redpanda:Cluster
    properties:
      resourceGroupId: ${testResourceGroup.id}
      networkId: ${testNetwork.id}
      cloudProvider: ${testNetwork.cloudProvider}
      region: ${testNetwork.region}
      clusterType: ${testNetwork.clusterType}
      connectionType: private
      throughputTier: ${throughputTier}
      zones: ${zones}
      allowDeletion: true
      tags:
        key: value
      customerManagedResources:
        aws:
          awsPermissionsBoundaryPolicyArn:
            arn: ${redpanda_byovpc.permissions_boundary_policy_arn}
          agentInstanceProfile:
            arn: ${redpanda_byovpc.agent_instance_profile_arn}
          connectorsNodeGroupInstanceProfile:
            arn: ${redpanda_byovpc.connectors_node_group_instance_profile_arn}
          utilityNodeGroupInstanceProfile:
            arn: ${redpanda_byovpc.utility_node_group_instance_profile_arn}
          redpandaNodeGroupInstanceProfile:
            arn: ${redpanda_byovpc.redpanda_node_group_instance_profile_arn}
          k8sClusterRole:
            arn: ${redpanda_byovpc.k8s_cluster_role_arn}
          redpandaAgentSecurityGroup:
            arn: ${redpanda_byovpc.redpanda_agent_security_group_arn}
          connectorsSecurityGroup:
            arn: ${redpanda_byovpc.connectors_security_group_arn}
          redpandaNodeGroupSecurityGroup:
            arn: ${redpanda_byovpc.redpanda_node_group_security_group_arn}
          utilitySecurityGroup:
            arn: ${redpanda_byovpc.utility_security_group_arn}
          clusterSecurityGroup:
            arn: ${redpanda_byovpc.cluster_security_group_arn}
          nodeSecurityGroup:
            arn: ${redpanda_byovpc.node_security_group_arn}
          cloudStorageBucket:
            arn: ${redpanda_byovpc.cloud_storage_bucket_arn}
          permissionsBoundaryPolicy:
            arn: ${redpanda_byovpc.permissions_boundary_policy_arn}
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: TOPIC
      resourceName: ${testTopic.name}
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: READ
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
Limitations
We are not currently able to support GCP or Azure BYOVPC clusters.
Example Usage of a data source BYOC to manage users and ACLs
import * as pulumi from "@pulumi/pulumi";
import * as redpanda from "@pulumi/redpanda";
const config = new pulumi.Config();
const clusterId = config.get("clusterId") || "";
const testCluster = redpanda.getCluster({
    id: clusterId,
});
const topicConfig = config.getObject("topicConfig") || {
    "cleanup.policy": "compact",
    "flush.ms": 100,
    "compression.type": "snappy",
};
const partitionCount = config.getNumber("partitionCount") || 3;
const replicationFactor = config.getNumber("replicationFactor") || 3;
const testTopic = new redpanda.Topic("testTopic", {
    partitionCount: partitionCount,
    replicationFactor: replicationFactor,
    clusterApiUrl: testCluster.then(testCluster => testCluster.clusterApiUrl),
    allowDeletion: true,
    configuration: topicConfig,
});
const userPw = config.get("userPw") || "password";
const mechanism = config.get("mechanism") || "scram-sha-256";
const testUser = new redpanda.User("testUser", {
    password: userPw,
    mechanism: mechanism,
    clusterApiUrl: testCluster.then(testCluster => testCluster.clusterApiUrl),
});
const testAcl = new redpanda.Acl("testAcl", {
    resourceType: "CLUSTER",
    resourceName: "kafka-cluster",
    resourcePatternType: "LITERAL",
    principal: pulumi.interpolate`User:${testUser.name}`,
    host: "*",
    operation: "ALTER",
    permissionType: "ALLOW",
    clusterApiUrl: testCluster.then(testCluster => testCluster.clusterApiUrl),
});
const userName = config.get("userName") || "data-test-username";
const topicName = config.get("topicName") || "data-test-topic";
import pulumi
import pulumi_redpanda as redpanda
config = pulumi.Config()
cluster_id = config.get("clusterId")
if cluster_id is None:
    cluster_id = ""
test_cluster = redpanda.get_cluster(id=cluster_id)
topic_config = config.get_object("topicConfig")
if topic_config is None:
    topic_config = {
        "cleanup.policy": "compact",
        "flush.ms": 100,
        "compression.type": "snappy",
    }
partition_count = config.get_float("partitionCount")
if partition_count is None:
    partition_count = 3
replication_factor = config.get_float("replicationFactor")
if replication_factor is None:
    replication_factor = 3
test_topic = redpanda.Topic("testTopic",
    partition_count=partition_count,
    replication_factor=replication_factor,
    cluster_api_url=test_cluster.cluster_api_url,
    allow_deletion=True,
    configuration=topic_config)
user_pw = config.get("userPw")
if user_pw is None:
    user_pw = "password"
mechanism = config.get("mechanism")
if mechanism is None:
    mechanism = "scram-sha-256"
test_user = redpanda.User("testUser",
    password=user_pw,
    mechanism=mechanism,
    cluster_api_url=test_cluster.cluster_api_url)
test_acl = redpanda.Acl("testAcl",
    resource_type="CLUSTER",
    resource_name_="kafka-cluster",
    resource_pattern_type="LITERAL",
    principal=test_user.name.apply(lambda name: f"User:{name}"),
    host="*",
    operation="ALTER",
    permission_type="ALLOW",
    cluster_api_url=test_cluster.cluster_api_url)
user_name = config.get("userName")
if user_name is None:
    user_name = "data-test-username"
topic_name = config.get("topicName")
if topic_name is None:
    topic_name = "data-test-topic"
package main
import (
	"fmt"
	"github.com/pulumi/pulumi-terraform-provider/sdks/go/redpanda/redpanda"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		clusterId := ""
		if param := cfg.Get("clusterId"); param != "" {
			clusterId = param
		}
		testCluster, err := redpanda.LookupCluster(ctx, &redpanda.LookupClusterArgs{
			Id: clusterId,
		}, nil)
		if err != nil {
			return err
		}
		topicConfig := map[string]interface{}{
			"cleanup.policy":   "compact",
			"flush.ms":         100,
			"compression.type": "snappy",
		}
		if param := cfg.GetObject("topicConfig"); param != nil {
			topicConfig = param
		}
		partitionCount := float64(3)
		if param := cfg.GetFloat64("partitionCount"); param != 0 {
			partitionCount = param
		}
		replicationFactor := float64(3)
		if param := cfg.GetFloat64("replicationFactor"); param != 0 {
			replicationFactor = param
		}
		_, err = redpanda.NewTopic(ctx, "testTopic", &redpanda.TopicArgs{
			PartitionCount:    pulumi.Float64(partitionCount),
			ReplicationFactor: pulumi.Float64(replicationFactor),
			ClusterApiUrl:     pulumi.String(testCluster.ClusterApiUrl),
			AllowDeletion:     pulumi.Bool(true),
			Configuration:     pulumi.Any(topicConfig),
		})
		if err != nil {
			return err
		}
		userPw := "password"
		if param := cfg.Get("userPw"); param != "" {
			userPw = param
		}
		mechanism := "scram-sha-256"
		if param := cfg.Get("mechanism"); param != "" {
			mechanism = param
		}
		testUser, err := redpanda.NewUser(ctx, "testUser", &redpanda.UserArgs{
			Password:      pulumi.String(userPw),
			Mechanism:     pulumi.String(mechanism),
			ClusterApiUrl: pulumi.String(testCluster.ClusterApiUrl),
		})
		if err != nil {
			return err
		}
		_, err = redpanda.NewAcl(ctx, "testAcl", &redpanda.AclArgs{
			ResourceType:        pulumi.String("CLUSTER"),
			ResourceName:        pulumi.String("kafka-cluster"),
			ResourcePatternType: pulumi.String("LITERAL"),
			Principal: testUser.Name.ApplyT(func(name string) (string, error) {
				return fmt.Sprintf("User:%v", name), nil
			}).(pulumi.StringOutput),
			Host:           pulumi.String("*"),
			Operation:      pulumi.String("ALTER"),
			PermissionType: pulumi.String("ALLOW"),
			ClusterApiUrl:  pulumi.String(testCluster.ClusterApiUrl),
		})
		if err != nil {
			return err
		}
		userName := "data-test-username"
		if param := cfg.Get("userName"); param != "" {
			userName = param
		}
		topicName := "data-test-topic"
		if param := cfg.Get("topicName"); param != "" {
			topicName = param
		}
		return nil
	})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Redpanda = Pulumi.Redpanda;
return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var clusterId = config.Get("clusterId") ?? "";
    var testCluster = Redpanda.GetCluster.Invoke(new()
    {
        Id = clusterId,
    });
    var topicConfig = config.GetObject<dynamic>("topicConfig") ?? 
    {
        { "cleanup.policy", "compact" },
        { "flush.ms", 100 },
        { "compression.type", "snappy" },
    };
    var partitionCount = config.GetDouble("partitionCount") ?? 3;
    var replicationFactor = config.GetDouble("replicationFactor") ?? 3;
    var testTopic = new Redpanda.Topic("testTopic", new()
    {
        PartitionCount = partitionCount,
        ReplicationFactor = replicationFactor,
        ClusterApiUrl = testCluster.Apply(getClusterResult => getClusterResult.ClusterApiUrl),
        AllowDeletion = true,
        Configuration = topicConfig,
    });
    var userPw = config.Get("userPw") ?? "password";
    var mechanism = config.Get("mechanism") ?? "scram-sha-256";
    var testUser = new Redpanda.User("testUser", new()
    {
        Password = userPw,
        Mechanism = mechanism,
        ClusterApiUrl = testCluster.Apply(getClusterResult => getClusterResult.ClusterApiUrl),
    });
    var testAcl = new Redpanda.Acl("testAcl", new()
    {
        ResourceType = "CLUSTER",
        ResourceName = "kafka-cluster",
        ResourcePatternType = "LITERAL",
        Principal = testUser.Name.Apply(name => $"User:{name}"),
        Host = "*",
        Operation = "ALTER",
        PermissionType = "ALLOW",
        ClusterApiUrl = testCluster.Apply(getClusterResult => getClusterResult.ClusterApiUrl),
    });
    var userName = config.Get("userName") ?? "data-test-username";
    var topicName = config.Get("topicName") ?? "data-test-topic";
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.redpanda.RedpandaFunctions;
import com.pulumi.redpanda.inputs.GetClusterArgs;
import com.pulumi.redpanda.Topic;
import com.pulumi.redpanda.TopicArgs;
import com.pulumi.redpanda.User;
import com.pulumi.redpanda.UserArgs;
import com.pulumi.redpanda.Acl;
import com.pulumi.redpanda.AclArgs;
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) {
        final var config = ctx.config();
        final var clusterId = config.get("clusterId").orElse("");
        final var testCluster = RedpandaFunctions.getCluster(GetClusterArgs.builder()
            .id(clusterId)
            .build());
        final var topicConfig = config.get("topicConfig").orElse(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference));
        final var partitionCount = config.get("partitionCount").orElse(3);
        final var replicationFactor = config.get("replicationFactor").orElse(3);
        var testTopic = new Topic("testTopic", TopicArgs.builder()
            .partitionCount(partitionCount)
            .replicationFactor(replicationFactor)
            .clusterApiUrl(testCluster.applyValue(getClusterResult -> getClusterResult.clusterApiUrl()))
            .allowDeletion(true)
            .configuration(topicConfig)
            .build());
        final var userPw = config.get("userPw").orElse("password");
        final var mechanism = config.get("mechanism").orElse("scram-sha-256");
        var testUser = new User("testUser", UserArgs.builder()
            .password(userPw)
            .mechanism(mechanism)
            .clusterApiUrl(testCluster.applyValue(getClusterResult -> getClusterResult.clusterApiUrl()))
            .build());
        var testAcl = new Acl("testAcl", AclArgs.builder()
            .resourceType("CLUSTER")
            .resourceName("kafka-cluster")
            .resourcePatternType("LITERAL")
            .principal(testUser.name().applyValue(name -> String.format("User:%s", name)))
            .host("*")
            .operation("ALTER")
            .permissionType("ALLOW")
            .clusterApiUrl(testCluster.applyValue(getClusterResult -> getClusterResult.clusterApiUrl()))
            .build());
        final var userName = config.get("userName").orElse("data-test-username");
        final var topicName = config.get("topicName").orElse("data-test-topic");
    }
}
configuration:
  clusterId:
    type: string
    default: ""
  topicConfig:
    type: dynamic
    default:
      cleanup.policy: compact
      flush.ms: 100
      compression.type: snappy
  userName:
    type: string
    default: data-test-username
  userPw:
    type: string
    default: password
  mechanism:
    type: string
    default: scram-sha-256
  topicName:
    type: string
    default: data-test-topic
  partitionCount:
    type: number
    default: 3
  replicationFactor:
    type: number
    default: 3
resources:
  testTopic:
    type: redpanda:Topic
    properties:
      partitionCount: ${partitionCount}
      replicationFactor: ${replicationFactor}
      clusterApiUrl: ${testCluster.clusterApiUrl}
      allowDeletion: true
      configuration: ${topicConfig}
  testUser:
    type: redpanda:User
    properties:
      password: ${userPw}
      mechanism: ${mechanism}
      clusterApiUrl: ${testCluster.clusterApiUrl}
  testAcl:
    type: redpanda:Acl
    properties:
      resourceType: CLUSTER
      resourceName: kafka-cluster
      resourcePatternType: LITERAL
      principal: User:${testUser.name}
      host: '*'
      operation: ALTER
      permissionType: ALLOW
      clusterApiUrl: ${testCluster.clusterApiUrl}
variables:
  testCluster:
    fn::invoke:
      function: redpanda:getCluster
      arguments:
        id: ${clusterId}
Create Cluster Resource
Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.
Constructor syntax
new Cluster(name: string, args: ClusterArgs, opts?: CustomResourceOptions);@overload
def Cluster(resource_name: str,
            args: ClusterArgs,
            opts: Optional[ResourceOptions] = None)
@overload
def Cluster(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            connection_type: Optional[str] = None,
            throughput_tier: Optional[str] = None,
            resource_group_id: Optional[str] = None,
            network_id: Optional[str] = None,
            cluster_type: Optional[str] = None,
            kafka_api: Optional[ClusterKafkaApiArgs] = None,
            cloud_provider: Optional[str] = None,
            customer_managed_resources: Optional[ClusterCustomerManagedResourcesArgs] = None,
            gcp_private_service_connect: Optional[ClusterGcpPrivateServiceConnectArgs] = None,
            http_proxy: Optional[ClusterHttpProxyArgs] = None,
            allow_deletion: Optional[bool] = None,
            kafka_connect: Optional[ClusterKafkaConnectArgs] = None,
            maintenance_window_config: Optional[ClusterMaintenanceWindowConfigArgs] = None,
            name: Optional[str] = None,
            connectivity: Optional[ClusterConnectivityArgs] = None,
            read_replica_cluster_ids: Optional[Sequence[str]] = None,
            redpanda_version: Optional[str] = None,
            region: Optional[str] = None,
            azure_private_link: Optional[ClusterAzurePrivateLinkArgs] = None,
            schema_registry: Optional[ClusterSchemaRegistryArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            aws_private_link: Optional[ClusterAwsPrivateLinkArgs] = None,
            zones: Optional[Sequence[str]] = None)func NewCluster(ctx *Context, name string, args ClusterArgs, opts ...ResourceOption) (*Cluster, error)public Cluster(string name, ClusterArgs args, CustomResourceOptions? opts = null)
public Cluster(String name, ClusterArgs args)
public Cluster(String name, ClusterArgs args, CustomResourceOptions options)
type: redpanda:Cluster
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 ClusterArgs
- 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 ClusterArgs
- 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 ClusterArgs
- The arguments to resource properties.
- opts ResourceOption
- Bag of options to control resource's behavior.
- name string
- The unique name of the resource.
- args ClusterArgs
- The arguments to resource properties.
- opts CustomResourceOptions
- Bag of options to control resource's behavior.
- name String
- The unique name of the resource.
- args ClusterArgs
- 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 clusterResource = new Redpanda.Cluster("clusterResource", new()
{
    ConnectionType = "string",
    ThroughputTier = "string",
    ResourceGroupId = "string",
    NetworkId = "string",
    ClusterType = "string",
    KafkaApi = new Redpanda.Inputs.ClusterKafkaApiArgs
    {
        Mtls = new Redpanda.Inputs.ClusterKafkaApiMtlsArgs
        {
            CaCertificatesPems = new[]
            {
                "string",
            },
            Enabled = false,
            PrincipalMappingRules = new[]
            {
                "string",
            },
        },
        SeedBrokers = new[]
        {
            "string",
        },
    },
    CloudProvider = "string",
    CustomerManagedResources = new Redpanda.Inputs.ClusterCustomerManagedResourcesArgs
    {
        Aws = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsArgs
        {
            AgentInstanceProfile = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsAgentInstanceProfileArgs
            {
                Arn = "string",
            },
            CloudStorageBucket = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsCloudStorageBucketArgs
            {
                Arn = "string",
            },
            ClusterSecurityGroup = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsClusterSecurityGroupArgs
            {
                Arn = "string",
            },
            ConnectorsNodeGroupInstanceProfile = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfileArgs
            {
                Arn = "string",
            },
            ConnectorsSecurityGroup = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsConnectorsSecurityGroupArgs
            {
                Arn = "string",
            },
            K8sClusterRole = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsK8sClusterRoleArgs
            {
                Arn = "string",
            },
            NodeSecurityGroup = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsNodeSecurityGroupArgs
            {
                Arn = "string",
            },
            PermissionsBoundaryPolicy = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicyArgs
            {
                Arn = "string",
            },
            RedpandaAgentSecurityGroup = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroupArgs
            {
                Arn = "string",
            },
            RedpandaNodeGroupInstanceProfile = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfileArgs
            {
                Arn = "string",
            },
            RedpandaNodeGroupSecurityGroup = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroupArgs
            {
                Arn = "string",
            },
            UtilityNodeGroupInstanceProfile = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfileArgs
            {
                Arn = "string",
            },
            UtilitySecurityGroup = new Redpanda.Inputs.ClusterCustomerManagedResourcesAwsUtilitySecurityGroupArgs
            {
                Arn = "string",
            },
        },
    },
    GcpPrivateServiceConnect = new Redpanda.Inputs.ClusterGcpPrivateServiceConnectArgs
    {
        ConsumerAcceptLists = new[]
        {
            new Redpanda.Inputs.ClusterGcpPrivateServiceConnectConsumerAcceptListArgs
            {
                Source = "string",
            },
        },
        Enabled = false,
        GlobalAccessEnabled = false,
        Status = new Redpanda.Inputs.ClusterGcpPrivateServiceConnectStatusArgs
        {
            ConnectedEndpoints = new[]
            {
                new Redpanda.Inputs.ClusterGcpPrivateServiceConnectStatusConnectedEndpointArgs
                {
                    ConnectionId = "string",
                    ConsumerNetwork = "string",
                    Endpoint = "string",
                    Status = "string",
                },
            },
            CreatedAt = "string",
            DeletedAt = "string",
            DnsARecords = new[]
            {
                "string",
            },
            KafkaApiNodeBasePort = 0,
            KafkaApiSeedPort = 0,
            RedpandaProxyNodeBasePort = 0,
            RedpandaProxySeedPort = 0,
            SchemaRegistrySeedPort = 0,
            SeedHostname = "string",
            ServiceAttachment = "string",
        },
    },
    HttpProxy = new Redpanda.Inputs.ClusterHttpProxyArgs
    {
        Mtls = new Redpanda.Inputs.ClusterHttpProxyMtlsArgs
        {
            CaCertificatesPems = new[]
            {
                "string",
            },
            Enabled = false,
            PrincipalMappingRules = new[]
            {
                "string",
            },
        },
        Url = "string",
    },
    AllowDeletion = false,
    KafkaConnect = new Redpanda.Inputs.ClusterKafkaConnectArgs
    {
        Enabled = false,
    },
    MaintenanceWindowConfig = new Redpanda.Inputs.ClusterMaintenanceWindowConfigArgs
    {
        Anytime = false,
        DayHour = new Redpanda.Inputs.ClusterMaintenanceWindowConfigDayHourArgs
        {
            DayOfWeek = "string",
            HourOfDay = 0,
        },
        Unspecified = false,
    },
    Name = "string",
    Connectivity = new Redpanda.Inputs.ClusterConnectivityArgs
    {
        Gcp = new Redpanda.Inputs.ClusterConnectivityGcpArgs
        {
            EnableGlobalAccess = false,
        },
    },
    ReadReplicaClusterIds = new[]
    {
        "string",
    },
    RedpandaVersion = "string",
    Region = "string",
    AzurePrivateLink = new Redpanda.Inputs.ClusterAzurePrivateLinkArgs
    {
        AllowedSubscriptions = new[]
        {
            "string",
        },
        ConnectConsole = false,
        Enabled = false,
        Status = new Redpanda.Inputs.ClusterAzurePrivateLinkStatusArgs
        {
            ApprovedSubscriptions = new[]
            {
                "string",
            },
            ConsolePort = 0,
            CreatedAt = "string",
            DeletedAt = "string",
            DnsARecord = "string",
            KafkaApiNodeBasePort = 0,
            KafkaApiSeedPort = 0,
            PrivateEndpointConnections = new[]
            {
                new Redpanda.Inputs.ClusterAzurePrivateLinkStatusPrivateEndpointConnectionArgs
                {
                    ConnectionId = "string",
                    ConnectionName = "string",
                    CreatedAt = "string",
                    PrivateEndpointId = "string",
                    PrivateEndpointName = "string",
                    Status = "string",
                },
            },
            RedpandaProxyNodeBasePort = 0,
            RedpandaProxySeedPort = 0,
            SchemaRegistrySeedPort = 0,
            ServiceId = "string",
            ServiceName = "string",
        },
    },
    SchemaRegistry = new Redpanda.Inputs.ClusterSchemaRegistryArgs
    {
        Mtls = new Redpanda.Inputs.ClusterSchemaRegistryMtlsArgs
        {
            CaCertificatesPems = new[]
            {
                "string",
            },
            Enabled = false,
            PrincipalMappingRules = new[]
            {
                "string",
            },
        },
        Url = "string",
    },
    Tags = 
    {
        { "string", "string" },
    },
    AwsPrivateLink = new Redpanda.Inputs.ClusterAwsPrivateLinkArgs
    {
        AllowedPrincipals = new[]
        {
            "string",
        },
        ConnectConsole = false,
        Enabled = false,
        Status = new Redpanda.Inputs.ClusterAwsPrivateLinkStatusArgs
        {
            ConsolePort = 0,
            CreatedAt = "string",
            DeletedAt = "string",
            KafkaApiNodeBasePort = 0,
            KafkaApiSeedPort = 0,
            RedpandaProxyNodeBasePort = 0,
            RedpandaProxySeedPort = 0,
            SchemaRegistrySeedPort = 0,
            ServiceId = "string",
            ServiceName = "string",
            ServiceState = "string",
            VpcEndpointConnections = new[]
            {
                new Redpanda.Inputs.ClusterAwsPrivateLinkStatusVpcEndpointConnectionArgs
                {
                    ConnectionId = "string",
                    CreatedAt = "string",
                    DnsEntries = new[]
                    {
                        new Redpanda.Inputs.ClusterAwsPrivateLinkStatusVpcEndpointConnectionDnsEntryArgs
                        {
                            DnsName = "string",
                            HostedZoneId = "string",
                        },
                    },
                    Id = "string",
                    LoadBalancerArns = new[]
                    {
                        "string",
                    },
                    Owner = "string",
                    State = "string",
                },
            },
        },
    },
    Zones = new[]
    {
        "string",
    },
});
example, err := redpanda.NewCluster(ctx, "clusterResource", &redpanda.ClusterArgs{
ConnectionType: pulumi.String("string"),
ThroughputTier: pulumi.String("string"),
ResourceGroupId: pulumi.String("string"),
NetworkId: pulumi.String("string"),
ClusterType: pulumi.String("string"),
KafkaApi: &.ClusterKafkaApiArgs{
Mtls: &.ClusterKafkaApiMtlsArgs{
CaCertificatesPems: pulumi.StringArray{
pulumi.String("string"),
},
Enabled: pulumi.Bool(false),
PrincipalMappingRules: pulumi.StringArray{
pulumi.String("string"),
},
},
SeedBrokers: pulumi.StringArray{
pulumi.String("string"),
},
},
CloudProvider: pulumi.String("string"),
CustomerManagedResources: &.ClusterCustomerManagedResourcesArgs{
Aws: &.ClusterCustomerManagedResourcesAwsArgs{
AgentInstanceProfile: &.ClusterCustomerManagedResourcesAwsAgentInstanceProfileArgs{
Arn: pulumi.String("string"),
},
CloudStorageBucket: &.ClusterCustomerManagedResourcesAwsCloudStorageBucketArgs{
Arn: pulumi.String("string"),
},
ClusterSecurityGroup: &.ClusterCustomerManagedResourcesAwsClusterSecurityGroupArgs{
Arn: pulumi.String("string"),
},
ConnectorsNodeGroupInstanceProfile: &.ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfileArgs{
Arn: pulumi.String("string"),
},
ConnectorsSecurityGroup: &.ClusterCustomerManagedResourcesAwsConnectorsSecurityGroupArgs{
Arn: pulumi.String("string"),
},
K8sClusterRole: &.ClusterCustomerManagedResourcesAwsK8sClusterRoleArgs{
Arn: pulumi.String("string"),
},
NodeSecurityGroup: &.ClusterCustomerManagedResourcesAwsNodeSecurityGroupArgs{
Arn: pulumi.String("string"),
},
PermissionsBoundaryPolicy: &.ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicyArgs{
Arn: pulumi.String("string"),
},
RedpandaAgentSecurityGroup: &.ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroupArgs{
Arn: pulumi.String("string"),
},
RedpandaNodeGroupInstanceProfile: &.ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfileArgs{
Arn: pulumi.String("string"),
},
RedpandaNodeGroupSecurityGroup: &.ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroupArgs{
Arn: pulumi.String("string"),
},
UtilityNodeGroupInstanceProfile: &.ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfileArgs{
Arn: pulumi.String("string"),
},
UtilitySecurityGroup: &.ClusterCustomerManagedResourcesAwsUtilitySecurityGroupArgs{
Arn: pulumi.String("string"),
},
},
},
GcpPrivateServiceConnect: &.ClusterGcpPrivateServiceConnectArgs{
ConsumerAcceptLists: .ClusterGcpPrivateServiceConnectConsumerAcceptListArray{
&.ClusterGcpPrivateServiceConnectConsumerAcceptListArgs{
Source: pulumi.String("string"),
},
},
Enabled: pulumi.Bool(false),
GlobalAccessEnabled: pulumi.Bool(false),
Status: &.ClusterGcpPrivateServiceConnectStatusArgs{
ConnectedEndpoints: .ClusterGcpPrivateServiceConnectStatusConnectedEndpointArray{
&.ClusterGcpPrivateServiceConnectStatusConnectedEndpointArgs{
ConnectionId: pulumi.String("string"),
ConsumerNetwork: pulumi.String("string"),
Endpoint: pulumi.String("string"),
Status: pulumi.String("string"),
},
},
CreatedAt: pulumi.String("string"),
DeletedAt: pulumi.String("string"),
DnsARecords: pulumi.StringArray{
pulumi.String("string"),
},
KafkaApiNodeBasePort: pulumi.Float64(0),
KafkaApiSeedPort: pulumi.Float64(0),
RedpandaProxyNodeBasePort: pulumi.Float64(0),
RedpandaProxySeedPort: pulumi.Float64(0),
SchemaRegistrySeedPort: pulumi.Float64(0),
SeedHostname: pulumi.String("string"),
ServiceAttachment: pulumi.String("string"),
},
},
HttpProxy: &.ClusterHttpProxyArgs{
Mtls: &.ClusterHttpProxyMtlsArgs{
CaCertificatesPems: pulumi.StringArray{
pulumi.String("string"),
},
Enabled: pulumi.Bool(false),
PrincipalMappingRules: pulumi.StringArray{
pulumi.String("string"),
},
},
Url: pulumi.String("string"),
},
AllowDeletion: pulumi.Bool(false),
KafkaConnect: &.ClusterKafkaConnectArgs{
Enabled: pulumi.Bool(false),
},
MaintenanceWindowConfig: &.ClusterMaintenanceWindowConfigArgs{
Anytime: pulumi.Bool(false),
DayHour: &.ClusterMaintenanceWindowConfigDayHourArgs{
DayOfWeek: pulumi.String("string"),
HourOfDay: pulumi.Float64(0),
},
Unspecified: pulumi.Bool(false),
},
Name: pulumi.String("string"),
Connectivity: &.ClusterConnectivityArgs{
Gcp: &.ClusterConnectivityGcpArgs{
EnableGlobalAccess: pulumi.Bool(false),
},
},
ReadReplicaClusterIds: pulumi.StringArray{
pulumi.String("string"),
},
RedpandaVersion: pulumi.String("string"),
Region: pulumi.String("string"),
AzurePrivateLink: &.ClusterAzurePrivateLinkArgs{
AllowedSubscriptions: pulumi.StringArray{
pulumi.String("string"),
},
ConnectConsole: pulumi.Bool(false),
Enabled: pulumi.Bool(false),
Status: &.ClusterAzurePrivateLinkStatusArgs{
ApprovedSubscriptions: pulumi.StringArray{
pulumi.String("string"),
},
ConsolePort: pulumi.Float64(0),
CreatedAt: pulumi.String("string"),
DeletedAt: pulumi.String("string"),
DnsARecord: pulumi.String("string"),
KafkaApiNodeBasePort: pulumi.Float64(0),
KafkaApiSeedPort: pulumi.Float64(0),
PrivateEndpointConnections: .ClusterAzurePrivateLinkStatusPrivateEndpointConnectionArray{
&.ClusterAzurePrivateLinkStatusPrivateEndpointConnectionArgs{
ConnectionId: pulumi.String("string"),
ConnectionName: pulumi.String("string"),
CreatedAt: pulumi.String("string"),
PrivateEndpointId: pulumi.String("string"),
PrivateEndpointName: pulumi.String("string"),
Status: pulumi.String("string"),
},
},
RedpandaProxyNodeBasePort: pulumi.Float64(0),
RedpandaProxySeedPort: pulumi.Float64(0),
SchemaRegistrySeedPort: pulumi.Float64(0),
ServiceId: pulumi.String("string"),
ServiceName: pulumi.String("string"),
},
},
SchemaRegistry: &.ClusterSchemaRegistryArgs{
Mtls: &.ClusterSchemaRegistryMtlsArgs{
CaCertificatesPems: pulumi.StringArray{
pulumi.String("string"),
},
Enabled: pulumi.Bool(false),
PrincipalMappingRules: pulumi.StringArray{
pulumi.String("string"),
},
},
Url: pulumi.String("string"),
},
Tags: pulumi.StringMap{
"string": pulumi.String("string"),
},
AwsPrivateLink: &.ClusterAwsPrivateLinkArgs{
AllowedPrincipals: pulumi.StringArray{
pulumi.String("string"),
},
ConnectConsole: pulumi.Bool(false),
Enabled: pulumi.Bool(false),
Status: &.ClusterAwsPrivateLinkStatusArgs{
ConsolePort: pulumi.Float64(0),
CreatedAt: pulumi.String("string"),
DeletedAt: pulumi.String("string"),
KafkaApiNodeBasePort: pulumi.Float64(0),
KafkaApiSeedPort: pulumi.Float64(0),
RedpandaProxyNodeBasePort: pulumi.Float64(0),
RedpandaProxySeedPort: pulumi.Float64(0),
SchemaRegistrySeedPort: pulumi.Float64(0),
ServiceId: pulumi.String("string"),
ServiceName: pulumi.String("string"),
ServiceState: pulumi.String("string"),
VpcEndpointConnections: .ClusterAwsPrivateLinkStatusVpcEndpointConnectionArray{
&.ClusterAwsPrivateLinkStatusVpcEndpointConnectionArgs{
ConnectionId: pulumi.String("string"),
CreatedAt: pulumi.String("string"),
DnsEntries: .ClusterAwsPrivateLinkStatusVpcEndpointConnectionDnsEntryArray{
&.ClusterAwsPrivateLinkStatusVpcEndpointConnectionDnsEntryArgs{
DnsName: pulumi.String("string"),
HostedZoneId: pulumi.String("string"),
},
},
Id: pulumi.String("string"),
LoadBalancerArns: pulumi.StringArray{
pulumi.String("string"),
},
Owner: pulumi.String("string"),
State: pulumi.String("string"),
},
},
},
},
Zones: pulumi.StringArray{
pulumi.String("string"),
},
})
var clusterResource = new Cluster("clusterResource", ClusterArgs.builder()
    .connectionType("string")
    .throughputTier("string")
    .resourceGroupId("string")
    .networkId("string")
    .clusterType("string")
    .kafkaApi(ClusterKafkaApiArgs.builder()
        .mtls(ClusterKafkaApiMtlsArgs.builder()
            .caCertificatesPems("string")
            .enabled(false)
            .principalMappingRules("string")
            .build())
        .seedBrokers("string")
        .build())
    .cloudProvider("string")
    .customerManagedResources(ClusterCustomerManagedResourcesArgs.builder()
        .aws(ClusterCustomerManagedResourcesAwsArgs.builder()
            .agentInstanceProfile(ClusterCustomerManagedResourcesAwsAgentInstanceProfileArgs.builder()
                .arn("string")
                .build())
            .cloudStorageBucket(ClusterCustomerManagedResourcesAwsCloudStorageBucketArgs.builder()
                .arn("string")
                .build())
            .clusterSecurityGroup(ClusterCustomerManagedResourcesAwsClusterSecurityGroupArgs.builder()
                .arn("string")
                .build())
            .connectorsNodeGroupInstanceProfile(ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfileArgs.builder()
                .arn("string")
                .build())
            .connectorsSecurityGroup(ClusterCustomerManagedResourcesAwsConnectorsSecurityGroupArgs.builder()
                .arn("string")
                .build())
            .k8sClusterRole(ClusterCustomerManagedResourcesAwsK8sClusterRoleArgs.builder()
                .arn("string")
                .build())
            .nodeSecurityGroup(ClusterCustomerManagedResourcesAwsNodeSecurityGroupArgs.builder()
                .arn("string")
                .build())
            .permissionsBoundaryPolicy(ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicyArgs.builder()
                .arn("string")
                .build())
            .redpandaAgentSecurityGroup(ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroupArgs.builder()
                .arn("string")
                .build())
            .redpandaNodeGroupInstanceProfile(ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfileArgs.builder()
                .arn("string")
                .build())
            .redpandaNodeGroupSecurityGroup(ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroupArgs.builder()
                .arn("string")
                .build())
            .utilityNodeGroupInstanceProfile(ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfileArgs.builder()
                .arn("string")
                .build())
            .utilitySecurityGroup(ClusterCustomerManagedResourcesAwsUtilitySecurityGroupArgs.builder()
                .arn("string")
                .build())
            .build())
        .build())
    .gcpPrivateServiceConnect(ClusterGcpPrivateServiceConnectArgs.builder()
        .consumerAcceptLists(ClusterGcpPrivateServiceConnectConsumerAcceptListArgs.builder()
            .source("string")
            .build())
        .enabled(false)
        .globalAccessEnabled(false)
        .status(ClusterGcpPrivateServiceConnectStatusArgs.builder()
            .connectedEndpoints(ClusterGcpPrivateServiceConnectStatusConnectedEndpointArgs.builder()
                .connectionId("string")
                .consumerNetwork("string")
                .endpoint("string")
                .status("string")
                .build())
            .createdAt("string")
            .deletedAt("string")
            .dnsARecords("string")
            .kafkaApiNodeBasePort(0)
            .kafkaApiSeedPort(0)
            .redpandaProxyNodeBasePort(0)
            .redpandaProxySeedPort(0)
            .schemaRegistrySeedPort(0)
            .seedHostname("string")
            .serviceAttachment("string")
            .build())
        .build())
    .httpProxy(ClusterHttpProxyArgs.builder()
        .mtls(ClusterHttpProxyMtlsArgs.builder()
            .caCertificatesPems("string")
            .enabled(false)
            .principalMappingRules("string")
            .build())
        .url("string")
        .build())
    .allowDeletion(false)
    .kafkaConnect(ClusterKafkaConnectArgs.builder()
        .enabled(false)
        .build())
    .maintenanceWindowConfig(ClusterMaintenanceWindowConfigArgs.builder()
        .anytime(false)
        .dayHour(ClusterMaintenanceWindowConfigDayHourArgs.builder()
            .dayOfWeek("string")
            .hourOfDay(0)
            .build())
        .unspecified(false)
        .build())
    .name("string")
    .connectivity(ClusterConnectivityArgs.builder()
        .gcp(ClusterConnectivityGcpArgs.builder()
            .enableGlobalAccess(false)
            .build())
        .build())
    .readReplicaClusterIds("string")
    .redpandaVersion("string")
    .region("string")
    .azurePrivateLink(ClusterAzurePrivateLinkArgs.builder()
        .allowedSubscriptions("string")
        .connectConsole(false)
        .enabled(false)
        .status(ClusterAzurePrivateLinkStatusArgs.builder()
            .approvedSubscriptions("string")
            .consolePort(0)
            .createdAt("string")
            .deletedAt("string")
            .dnsARecord("string")
            .kafkaApiNodeBasePort(0)
            .kafkaApiSeedPort(0)
            .privateEndpointConnections(ClusterAzurePrivateLinkStatusPrivateEndpointConnectionArgs.builder()
                .connectionId("string")
                .connectionName("string")
                .createdAt("string")
                .privateEndpointId("string")
                .privateEndpointName("string")
                .status("string")
                .build())
            .redpandaProxyNodeBasePort(0)
            .redpandaProxySeedPort(0)
            .schemaRegistrySeedPort(0)
            .serviceId("string")
            .serviceName("string")
            .build())
        .build())
    .schemaRegistry(ClusterSchemaRegistryArgs.builder()
        .mtls(ClusterSchemaRegistryMtlsArgs.builder()
            .caCertificatesPems("string")
            .enabled(false)
            .principalMappingRules("string")
            .build())
        .url("string")
        .build())
    .tags(Map.of("string", "string"))
    .awsPrivateLink(ClusterAwsPrivateLinkArgs.builder()
        .allowedPrincipals("string")
        .connectConsole(false)
        .enabled(false)
        .status(ClusterAwsPrivateLinkStatusArgs.builder()
            .consolePort(0)
            .createdAt("string")
            .deletedAt("string")
            .kafkaApiNodeBasePort(0)
            .kafkaApiSeedPort(0)
            .redpandaProxyNodeBasePort(0)
            .redpandaProxySeedPort(0)
            .schemaRegistrySeedPort(0)
            .serviceId("string")
            .serviceName("string")
            .serviceState("string")
            .vpcEndpointConnections(ClusterAwsPrivateLinkStatusVpcEndpointConnectionArgs.builder()
                .connectionId("string")
                .createdAt("string")
                .dnsEntries(ClusterAwsPrivateLinkStatusVpcEndpointConnectionDnsEntryArgs.builder()
                    .dnsName("string")
                    .hostedZoneId("string")
                    .build())
                .id("string")
                .loadBalancerArns("string")
                .owner("string")
                .state("string")
                .build())
            .build())
        .build())
    .zones("string")
    .build());
cluster_resource = redpanda.Cluster("clusterResource",
    connection_type="string",
    throughput_tier="string",
    resource_group_id="string",
    network_id="string",
    cluster_type="string",
    kafka_api={
        "mtls": {
            "ca_certificates_pems": ["string"],
            "enabled": False,
            "principal_mapping_rules": ["string"],
        },
        "seed_brokers": ["string"],
    },
    cloud_provider="string",
    customer_managed_resources={
        "aws": {
            "agent_instance_profile": {
                "arn": "string",
            },
            "cloud_storage_bucket": {
                "arn": "string",
            },
            "cluster_security_group": {
                "arn": "string",
            },
            "connectors_node_group_instance_profile": {
                "arn": "string",
            },
            "connectors_security_group": {
                "arn": "string",
            },
            "k8s_cluster_role": {
                "arn": "string",
            },
            "node_security_group": {
                "arn": "string",
            },
            "permissions_boundary_policy": {
                "arn": "string",
            },
            "redpanda_agent_security_group": {
                "arn": "string",
            },
            "redpanda_node_group_instance_profile": {
                "arn": "string",
            },
            "redpanda_node_group_security_group": {
                "arn": "string",
            },
            "utility_node_group_instance_profile": {
                "arn": "string",
            },
            "utility_security_group": {
                "arn": "string",
            },
        },
    },
    gcp_private_service_connect={
        "consumer_accept_lists": [{
            "source": "string",
        }],
        "enabled": False,
        "global_access_enabled": False,
        "status": {
            "connected_endpoints": [{
                "connection_id": "string",
                "consumer_network": "string",
                "endpoint": "string",
                "status": "string",
            }],
            "created_at": "string",
            "deleted_at": "string",
            "dns_a_records": ["string"],
            "kafka_api_node_base_port": 0,
            "kafka_api_seed_port": 0,
            "redpanda_proxy_node_base_port": 0,
            "redpanda_proxy_seed_port": 0,
            "schema_registry_seed_port": 0,
            "seed_hostname": "string",
            "service_attachment": "string",
        },
    },
    http_proxy={
        "mtls": {
            "ca_certificates_pems": ["string"],
            "enabled": False,
            "principal_mapping_rules": ["string"],
        },
        "url": "string",
    },
    allow_deletion=False,
    kafka_connect={
        "enabled": False,
    },
    maintenance_window_config={
        "anytime": False,
        "day_hour": {
            "day_of_week": "string",
            "hour_of_day": 0,
        },
        "unspecified": False,
    },
    name="string",
    connectivity={
        "gcp": {
            "enable_global_access": False,
        },
    },
    read_replica_cluster_ids=["string"],
    redpanda_version="string",
    region="string",
    azure_private_link={
        "allowed_subscriptions": ["string"],
        "connect_console": False,
        "enabled": False,
        "status": {
            "approved_subscriptions": ["string"],
            "console_port": 0,
            "created_at": "string",
            "deleted_at": "string",
            "dns_a_record": "string",
            "kafka_api_node_base_port": 0,
            "kafka_api_seed_port": 0,
            "private_endpoint_connections": [{
                "connection_id": "string",
                "connection_name": "string",
                "created_at": "string",
                "private_endpoint_id": "string",
                "private_endpoint_name": "string",
                "status": "string",
            }],
            "redpanda_proxy_node_base_port": 0,
            "redpanda_proxy_seed_port": 0,
            "schema_registry_seed_port": 0,
            "service_id": "string",
            "service_name": "string",
        },
    },
    schema_registry={
        "mtls": {
            "ca_certificates_pems": ["string"],
            "enabled": False,
            "principal_mapping_rules": ["string"],
        },
        "url": "string",
    },
    tags={
        "string": "string",
    },
    aws_private_link={
        "allowed_principals": ["string"],
        "connect_console": False,
        "enabled": False,
        "status": {
            "console_port": 0,
            "created_at": "string",
            "deleted_at": "string",
            "kafka_api_node_base_port": 0,
            "kafka_api_seed_port": 0,
            "redpanda_proxy_node_base_port": 0,
            "redpanda_proxy_seed_port": 0,
            "schema_registry_seed_port": 0,
            "service_id": "string",
            "service_name": "string",
            "service_state": "string",
            "vpc_endpoint_connections": [{
                "connection_id": "string",
                "created_at": "string",
                "dns_entries": [{
                    "dns_name": "string",
                    "hosted_zone_id": "string",
                }],
                "id": "string",
                "load_balancer_arns": ["string"],
                "owner": "string",
                "state": "string",
            }],
        },
    },
    zones=["string"])
const clusterResource = new redpanda.Cluster("clusterResource", {
    connectionType: "string",
    throughputTier: "string",
    resourceGroupId: "string",
    networkId: "string",
    clusterType: "string",
    kafkaApi: {
        mtls: {
            caCertificatesPems: ["string"],
            enabled: false,
            principalMappingRules: ["string"],
        },
        seedBrokers: ["string"],
    },
    cloudProvider: "string",
    customerManagedResources: {
        aws: {
            agentInstanceProfile: {
                arn: "string",
            },
            cloudStorageBucket: {
                arn: "string",
            },
            clusterSecurityGroup: {
                arn: "string",
            },
            connectorsNodeGroupInstanceProfile: {
                arn: "string",
            },
            connectorsSecurityGroup: {
                arn: "string",
            },
            k8sClusterRole: {
                arn: "string",
            },
            nodeSecurityGroup: {
                arn: "string",
            },
            permissionsBoundaryPolicy: {
                arn: "string",
            },
            redpandaAgentSecurityGroup: {
                arn: "string",
            },
            redpandaNodeGroupInstanceProfile: {
                arn: "string",
            },
            redpandaNodeGroupSecurityGroup: {
                arn: "string",
            },
            utilityNodeGroupInstanceProfile: {
                arn: "string",
            },
            utilitySecurityGroup: {
                arn: "string",
            },
        },
    },
    gcpPrivateServiceConnect: {
        consumerAcceptLists: [{
            source: "string",
        }],
        enabled: false,
        globalAccessEnabled: false,
        status: {
            connectedEndpoints: [{
                connectionId: "string",
                consumerNetwork: "string",
                endpoint: "string",
                status: "string",
            }],
            createdAt: "string",
            deletedAt: "string",
            dnsARecords: ["string"],
            kafkaApiNodeBasePort: 0,
            kafkaApiSeedPort: 0,
            redpandaProxyNodeBasePort: 0,
            redpandaProxySeedPort: 0,
            schemaRegistrySeedPort: 0,
            seedHostname: "string",
            serviceAttachment: "string",
        },
    },
    httpProxy: {
        mtls: {
            caCertificatesPems: ["string"],
            enabled: false,
            principalMappingRules: ["string"],
        },
        url: "string",
    },
    allowDeletion: false,
    kafkaConnect: {
        enabled: false,
    },
    maintenanceWindowConfig: {
        anytime: false,
        dayHour: {
            dayOfWeek: "string",
            hourOfDay: 0,
        },
        unspecified: false,
    },
    name: "string",
    connectivity: {
        gcp: {
            enableGlobalAccess: false,
        },
    },
    readReplicaClusterIds: ["string"],
    redpandaVersion: "string",
    region: "string",
    azurePrivateLink: {
        allowedSubscriptions: ["string"],
        connectConsole: false,
        enabled: false,
        status: {
            approvedSubscriptions: ["string"],
            consolePort: 0,
            createdAt: "string",
            deletedAt: "string",
            dnsARecord: "string",
            kafkaApiNodeBasePort: 0,
            kafkaApiSeedPort: 0,
            privateEndpointConnections: [{
                connectionId: "string",
                connectionName: "string",
                createdAt: "string",
                privateEndpointId: "string",
                privateEndpointName: "string",
                status: "string",
            }],
            redpandaProxyNodeBasePort: 0,
            redpandaProxySeedPort: 0,
            schemaRegistrySeedPort: 0,
            serviceId: "string",
            serviceName: "string",
        },
    },
    schemaRegistry: {
        mtls: {
            caCertificatesPems: ["string"],
            enabled: false,
            principalMappingRules: ["string"],
        },
        url: "string",
    },
    tags: {
        string: "string",
    },
    awsPrivateLink: {
        allowedPrincipals: ["string"],
        connectConsole: false,
        enabled: false,
        status: {
            consolePort: 0,
            createdAt: "string",
            deletedAt: "string",
            kafkaApiNodeBasePort: 0,
            kafkaApiSeedPort: 0,
            redpandaProxyNodeBasePort: 0,
            redpandaProxySeedPort: 0,
            schemaRegistrySeedPort: 0,
            serviceId: "string",
            serviceName: "string",
            serviceState: "string",
            vpcEndpointConnections: [{
                connectionId: "string",
                createdAt: "string",
                dnsEntries: [{
                    dnsName: "string",
                    hostedZoneId: "string",
                }],
                id: "string",
                loadBalancerArns: ["string"],
                owner: "string",
                state: "string",
            }],
        },
    },
    zones: ["string"],
});
type: redpanda:Cluster
properties:
    allowDeletion: false
    awsPrivateLink:
        allowedPrincipals:
            - string
        connectConsole: false
        enabled: false
        status:
            consolePort: 0
            createdAt: string
            deletedAt: string
            kafkaApiNodeBasePort: 0
            kafkaApiSeedPort: 0
            redpandaProxyNodeBasePort: 0
            redpandaProxySeedPort: 0
            schemaRegistrySeedPort: 0
            serviceId: string
            serviceName: string
            serviceState: string
            vpcEndpointConnections:
                - connectionId: string
                  createdAt: string
                  dnsEntries:
                    - dnsName: string
                      hostedZoneId: string
                  id: string
                  loadBalancerArns:
                    - string
                  owner: string
                  state: string
    azurePrivateLink:
        allowedSubscriptions:
            - string
        connectConsole: false
        enabled: false
        status:
            approvedSubscriptions:
                - string
            consolePort: 0
            createdAt: string
            deletedAt: string
            dnsARecord: string
            kafkaApiNodeBasePort: 0
            kafkaApiSeedPort: 0
            privateEndpointConnections:
                - connectionId: string
                  connectionName: string
                  createdAt: string
                  privateEndpointId: string
                  privateEndpointName: string
                  status: string
            redpandaProxyNodeBasePort: 0
            redpandaProxySeedPort: 0
            schemaRegistrySeedPort: 0
            serviceId: string
            serviceName: string
    cloudProvider: string
    clusterType: string
    connectionType: string
    connectivity:
        gcp:
            enableGlobalAccess: false
    customerManagedResources:
        aws:
            agentInstanceProfile:
                arn: string
            cloudStorageBucket:
                arn: string
            clusterSecurityGroup:
                arn: string
            connectorsNodeGroupInstanceProfile:
                arn: string
            connectorsSecurityGroup:
                arn: string
            k8sClusterRole:
                arn: string
            nodeSecurityGroup:
                arn: string
            permissionsBoundaryPolicy:
                arn: string
            redpandaAgentSecurityGroup:
                arn: string
            redpandaNodeGroupInstanceProfile:
                arn: string
            redpandaNodeGroupSecurityGroup:
                arn: string
            utilityNodeGroupInstanceProfile:
                arn: string
            utilitySecurityGroup:
                arn: string
    gcpPrivateServiceConnect:
        consumerAcceptLists:
            - source: string
        enabled: false
        globalAccessEnabled: false
        status:
            connectedEndpoints:
                - connectionId: string
                  consumerNetwork: string
                  endpoint: string
                  status: string
            createdAt: string
            deletedAt: string
            dnsARecords:
                - string
            kafkaApiNodeBasePort: 0
            kafkaApiSeedPort: 0
            redpandaProxyNodeBasePort: 0
            redpandaProxySeedPort: 0
            schemaRegistrySeedPort: 0
            seedHostname: string
            serviceAttachment: string
    httpProxy:
        mtls:
            caCertificatesPems:
                - string
            enabled: false
            principalMappingRules:
                - string
        url: string
    kafkaApi:
        mtls:
            caCertificatesPems:
                - string
            enabled: false
            principalMappingRules:
                - string
        seedBrokers:
            - string
    kafkaConnect:
        enabled: false
    maintenanceWindowConfig:
        anytime: false
        dayHour:
            dayOfWeek: string
            hourOfDay: 0
        unspecified: false
    name: string
    networkId: string
    readReplicaClusterIds:
        - string
    redpandaVersion: string
    region: string
    resourceGroupId: string
    schemaRegistry:
        mtls:
            caCertificatesPems:
                - string
            enabled: false
            principalMappingRules:
                - string
        url: string
    tags:
        string: string
    throughputTier: string
    zones:
        - string
Cluster Resource Properties
To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.
Inputs
In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.
The Cluster resource accepts the following input properties:
- ClusterType string
- Cluster type. Type is immutable and can only be set on cluster creation.
- ConnectionType string
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- NetworkId string
- Network ID where cluster is placed.
- ResourceGroup stringId 
- Resource group ID of the cluster.
- ThroughputTier string
- Throughput tier of the cluster.
- AllowDeletion bool
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- AwsPrivate ClusterLink Aws Private Link 
- AWS PrivateLink configuration.
- AzurePrivate ClusterLink Azure Private Link 
- Azure Private Link configuration.
- CloudProvider string
- Cloud provider where resources are created.
- Connectivity
ClusterConnectivity 
- Cloud provider-specific connectivity configuration.
- CustomerManaged ClusterResources Customer Managed Resources 
- Customer managed resources configuration for the cluster.
- GcpPrivate ClusterService Connect Gcp Private Service Connect 
- GCP Private Service Connect configuration.
- HttpProxy ClusterHttp Proxy 
- HTTP Proxy properties.
- KafkaApi ClusterKafka Api 
- Cluster's Kafka API properties.
- KafkaConnect ClusterKafka Connect 
- Kafka Connect configuration.
- MaintenanceWindow ClusterConfig Maintenance Window Config 
- Maintenance window configuration for the cluster.
- Name string
- Unique name of the cluster.
- ReadReplica List<string>Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- RedpandaVersion string
- Current Redpanda version of the cluster.
- Region string
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- SchemaRegistry ClusterSchema Registry 
- Schema Registry properties.
- Dictionary<string, string>
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- Zones List<string>
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- ClusterType string
- Cluster type. Type is immutable and can only be set on cluster creation.
- ConnectionType string
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- NetworkId string
- Network ID where cluster is placed.
- ResourceGroup stringId 
- Resource group ID of the cluster.
- ThroughputTier string
- Throughput tier of the cluster.
- AllowDeletion bool
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- AwsPrivate ClusterLink Aws Private Link Args 
- AWS PrivateLink configuration.
- AzurePrivate ClusterLink Azure Private Link Args 
- Azure Private Link configuration.
- CloudProvider string
- Cloud provider where resources are created.
- Connectivity
ClusterConnectivity Args 
- Cloud provider-specific connectivity configuration.
- CustomerManaged ClusterResources Customer Managed Resources Args 
- Customer managed resources configuration for the cluster.
- GcpPrivate ClusterService Connect Gcp Private Service Connect Args 
- GCP Private Service Connect configuration.
- HttpProxy ClusterHttp Proxy Args 
- HTTP Proxy properties.
- KafkaApi ClusterKafka Api Args 
- Cluster's Kafka API properties.
- KafkaConnect ClusterKafka Connect Args 
- Kafka Connect configuration.
- MaintenanceWindow ClusterConfig Maintenance Window Config Args 
- Maintenance window configuration for the cluster.
- Name string
- Unique name of the cluster.
- ReadReplica []stringCluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- RedpandaVersion string
- Current Redpanda version of the cluster.
- Region string
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- SchemaRegistry ClusterSchema Registry Args 
- Schema Registry properties.
- map[string]string
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- Zones []string
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- clusterType String
- Cluster type. Type is immutable and can only be set on cluster creation.
- connectionType String
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- networkId String
- Network ID where cluster is placed.
- resourceGroup StringId 
- Resource group ID of the cluster.
- throughputTier String
- Throughput tier of the cluster.
- allowDeletion Boolean
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- awsPrivate ClusterLink Aws Private Link 
- AWS PrivateLink configuration.
- azurePrivate ClusterLink Azure Private Link 
- Azure Private Link configuration.
- cloudProvider String
- Cloud provider where resources are created.
- connectivity
ClusterConnectivity 
- Cloud provider-specific connectivity configuration.
- customerManaged ClusterResources Customer Managed Resources 
- Customer managed resources configuration for the cluster.
- gcpPrivate ClusterService Connect Gcp Private Service Connect 
- GCP Private Service Connect configuration.
- httpProxy ClusterHttp Proxy 
- HTTP Proxy properties.
- kafkaApi ClusterKafka Api 
- Cluster's Kafka API properties.
- kafkaConnect ClusterKafka Connect 
- Kafka Connect configuration.
- maintenanceWindow ClusterConfig Maintenance Window Config 
- Maintenance window configuration for the cluster.
- name String
- Unique name of the cluster.
- readReplica List<String>Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpandaVersion String
- Current Redpanda version of the cluster.
- region String
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- schemaRegistry ClusterSchema Registry 
- Schema Registry properties.
- Map<String,String>
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- zones List<String>
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- clusterType string
- Cluster type. Type is immutable and can only be set on cluster creation.
- connectionType string
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- networkId string
- Network ID where cluster is placed.
- resourceGroup stringId 
- Resource group ID of the cluster.
- throughputTier string
- Throughput tier of the cluster.
- allowDeletion boolean
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- awsPrivate ClusterLink Aws Private Link 
- AWS PrivateLink configuration.
- azurePrivate ClusterLink Azure Private Link 
- Azure Private Link configuration.
- cloudProvider string
- Cloud provider where resources are created.
- connectivity
ClusterConnectivity 
- Cloud provider-specific connectivity configuration.
- customerManaged ClusterResources Customer Managed Resources 
- Customer managed resources configuration for the cluster.
- gcpPrivate ClusterService Connect Gcp Private Service Connect 
- GCP Private Service Connect configuration.
- httpProxy ClusterHttp Proxy 
- HTTP Proxy properties.
- kafkaApi ClusterKafka Api 
- Cluster's Kafka API properties.
- kafkaConnect ClusterKafka Connect 
- Kafka Connect configuration.
- maintenanceWindow ClusterConfig Maintenance Window Config 
- Maintenance window configuration for the cluster.
- name string
- Unique name of the cluster.
- readReplica string[]Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpandaVersion string
- Current Redpanda version of the cluster.
- region string
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- schemaRegistry ClusterSchema Registry 
- Schema Registry properties.
- {[key: string]: string}
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- zones string[]
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- cluster_type str
- Cluster type. Type is immutable and can only be set on cluster creation.
- connection_type str
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- network_id str
- Network ID where cluster is placed.
- resource_group_ strid 
- Resource group ID of the cluster.
- throughput_tier str
- Throughput tier of the cluster.
- allow_deletion bool
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- aws_private_ Clusterlink Aws Private Link Args 
- AWS PrivateLink configuration.
- azure_private_ Clusterlink Azure Private Link Args 
- Azure Private Link configuration.
- cloud_provider str
- Cloud provider where resources are created.
- connectivity
ClusterConnectivity Args 
- Cloud provider-specific connectivity configuration.
- customer_managed_ Clusterresources Customer Managed Resources Args 
- Customer managed resources configuration for the cluster.
- gcp_private_ Clusterservice_ connect Gcp Private Service Connect Args 
- GCP Private Service Connect configuration.
- http_proxy ClusterHttp Proxy Args 
- HTTP Proxy properties.
- kafka_api ClusterKafka Api Args 
- Cluster's Kafka API properties.
- kafka_connect ClusterKafka Connect Args 
- Kafka Connect configuration.
- maintenance_window_ Clusterconfig Maintenance Window Config Args 
- Maintenance window configuration for the cluster.
- name str
- Unique name of the cluster.
- read_replica_ Sequence[str]cluster_ ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpanda_version str
- Current Redpanda version of the cluster.
- region str
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- schema_registry ClusterSchema Registry Args 
- Schema Registry properties.
- Mapping[str, str]
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- zones Sequence[str]
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- clusterType String
- Cluster type. Type is immutable and can only be set on cluster creation.
- connectionType String
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- networkId String
- Network ID where cluster is placed.
- resourceGroup StringId 
- Resource group ID of the cluster.
- throughputTier String
- Throughput tier of the cluster.
- allowDeletion Boolean
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- awsPrivate Property MapLink 
- AWS PrivateLink configuration.
- azurePrivate Property MapLink 
- Azure Private Link configuration.
- cloudProvider String
- Cloud provider where resources are created.
- connectivity Property Map
- Cloud provider-specific connectivity configuration.
- customerManaged Property MapResources 
- Customer managed resources configuration for the cluster.
- gcpPrivate Property MapService Connect 
- GCP Private Service Connect configuration.
- httpProxy Property Map
- HTTP Proxy properties.
- kafkaApi Property Map
- Cluster's Kafka API properties.
- kafkaConnect Property Map
- Kafka Connect configuration.
- maintenanceWindow Property MapConfig 
- Maintenance window configuration for the cluster.
- name String
- Unique name of the cluster.
- readReplica List<String>Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpandaVersion String
- Current Redpanda version of the cluster.
- region String
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- schemaRegistry Property Map
- Schema Registry properties.
- Map<String>
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- zones List<String>
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
Outputs
All input properties are implicitly available as output properties. Additionally, the Cluster resource produces the following output properties:
- ClusterApi stringUrl 
- The URL of the cluster API.
- CreatedAt string
- Timestamp when the cluster was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- RedpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- State string
- Current state of the cluster.
- StateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- ClusterApi stringUrl 
- The URL of the cluster API.
- CreatedAt string
- Timestamp when the cluster was created.
- Id string
- The provider-assigned unique ID for this managed resource.
- Prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- RedpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- State string
- Current state of the cluster.
- StateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- clusterApi StringUrl 
- The URL of the cluster API.
- createdAt String
- Timestamp when the cluster was created.
- id String
- The provider-assigned unique ID for this managed resource.
- prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- redpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- state String
- Current state of the cluster.
- stateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- clusterApi stringUrl 
- The URL of the cluster API.
- createdAt string
- Timestamp when the cluster was created.
- id string
- The provider-assigned unique ID for this managed resource.
- prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- redpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- state string
- Current state of the cluster.
- stateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- cluster_api_ strurl 
- The URL of the cluster API.
- created_at str
- Timestamp when the cluster was created.
- id str
- The provider-assigned unique ID for this managed resource.
- prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- redpanda_console ClusterRedpanda Console 
- Redpanda Console properties.
- state str
- Current state of the cluster.
- state_description ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- clusterApi StringUrl 
- The URL of the cluster API.
- createdAt String
- Timestamp when the cluster was created.
- id String
- The provider-assigned unique ID for this managed resource.
- prometheus Property Map
- Prometheus metrics endpoint properties.
- redpandaConsole Property Map
- Redpanda Console properties.
- state String
- Current state of the cluster.
- stateDescription Property Map
- Detailed state description when cluster is in a non-ready state.
Look up Existing Cluster Resource
Get an existing Cluster 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?: ClusterState, opts?: CustomResourceOptions): Cluster@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        allow_deletion: Optional[bool] = None,
        aws_private_link: Optional[ClusterAwsPrivateLinkArgs] = None,
        azure_private_link: Optional[ClusterAzurePrivateLinkArgs] = None,
        cloud_provider: Optional[str] = None,
        cluster_api_url: Optional[str] = None,
        cluster_type: Optional[str] = None,
        connection_type: Optional[str] = None,
        connectivity: Optional[ClusterConnectivityArgs] = None,
        created_at: Optional[str] = None,
        customer_managed_resources: Optional[ClusterCustomerManagedResourcesArgs] = None,
        gcp_private_service_connect: Optional[ClusterGcpPrivateServiceConnectArgs] = None,
        http_proxy: Optional[ClusterHttpProxyArgs] = None,
        kafka_api: Optional[ClusterKafkaApiArgs] = None,
        kafka_connect: Optional[ClusterKafkaConnectArgs] = None,
        maintenance_window_config: Optional[ClusterMaintenanceWindowConfigArgs] = None,
        name: Optional[str] = None,
        network_id: Optional[str] = None,
        prometheus: Optional[ClusterPrometheusArgs] = None,
        read_replica_cluster_ids: Optional[Sequence[str]] = None,
        redpanda_console: Optional[ClusterRedpandaConsoleArgs] = None,
        redpanda_version: Optional[str] = None,
        region: Optional[str] = None,
        resource_group_id: Optional[str] = None,
        schema_registry: Optional[ClusterSchemaRegistryArgs] = None,
        state: Optional[str] = None,
        state_description: Optional[ClusterStateDescriptionArgs] = None,
        tags: Optional[Mapping[str, str]] = None,
        throughput_tier: Optional[str] = None,
        zones: Optional[Sequence[str]] = None) -> Clusterfunc GetCluster(ctx *Context, name string, id IDInput, state *ClusterState, opts ...ResourceOption) (*Cluster, error)public static Cluster Get(string name, Input<string> id, ClusterState? state, CustomResourceOptions? opts = null)public static Cluster get(String name, Output<String> id, ClusterState state, CustomResourceOptions options)resources:  _:    type: redpanda:Cluster    get:      id: ${id}- 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.
- AllowDeletion bool
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- AwsPrivate ClusterLink Aws Private Link 
- AWS PrivateLink configuration.
- AzurePrivate ClusterLink Azure Private Link 
- Azure Private Link configuration.
- CloudProvider string
- Cloud provider where resources are created.
- ClusterApi stringUrl 
- The URL of the cluster API.
- ClusterType string
- Cluster type. Type is immutable and can only be set on cluster creation.
- ConnectionType string
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- Connectivity
ClusterConnectivity 
- Cloud provider-specific connectivity configuration.
- CreatedAt string
- Timestamp when the cluster was created.
- CustomerManaged ClusterResources Customer Managed Resources 
- Customer managed resources configuration for the cluster.
- GcpPrivate ClusterService Connect Gcp Private Service Connect 
- GCP Private Service Connect configuration.
- HttpProxy ClusterHttp Proxy 
- HTTP Proxy properties.
- KafkaApi ClusterKafka Api 
- Cluster's Kafka API properties.
- KafkaConnect ClusterKafka Connect 
- Kafka Connect configuration.
- MaintenanceWindow ClusterConfig Maintenance Window Config 
- Maintenance window configuration for the cluster.
- Name string
- Unique name of the cluster.
- NetworkId string
- Network ID where cluster is placed.
- Prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- ReadReplica List<string>Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- RedpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- RedpandaVersion string
- Current Redpanda version of the cluster.
- Region string
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- ResourceGroup stringId 
- Resource group ID of the cluster.
- SchemaRegistry ClusterSchema Registry 
- Schema Registry properties.
- State string
- Current state of the cluster.
- StateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- Dictionary<string, string>
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- ThroughputTier string
- Throughput tier of the cluster.
- Zones List<string>
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- AllowDeletion bool
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- AwsPrivate ClusterLink Aws Private Link Args 
- AWS PrivateLink configuration.
- AzurePrivate ClusterLink Azure Private Link Args 
- Azure Private Link configuration.
- CloudProvider string
- Cloud provider where resources are created.
- ClusterApi stringUrl 
- The URL of the cluster API.
- ClusterType string
- Cluster type. Type is immutable and can only be set on cluster creation.
- ConnectionType string
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- Connectivity
ClusterConnectivity Args 
- Cloud provider-specific connectivity configuration.
- CreatedAt string
- Timestamp when the cluster was created.
- CustomerManaged ClusterResources Customer Managed Resources Args 
- Customer managed resources configuration for the cluster.
- GcpPrivate ClusterService Connect Gcp Private Service Connect Args 
- GCP Private Service Connect configuration.
- HttpProxy ClusterHttp Proxy Args 
- HTTP Proxy properties.
- KafkaApi ClusterKafka Api Args 
- Cluster's Kafka API properties.
- KafkaConnect ClusterKafka Connect Args 
- Kafka Connect configuration.
- MaintenanceWindow ClusterConfig Maintenance Window Config Args 
- Maintenance window configuration for the cluster.
- Name string
- Unique name of the cluster.
- NetworkId string
- Network ID where cluster is placed.
- Prometheus
ClusterPrometheus Args 
- Prometheus metrics endpoint properties.
- ReadReplica []stringCluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- RedpandaConsole ClusterRedpanda Console Args 
- Redpanda Console properties.
- RedpandaVersion string
- Current Redpanda version of the cluster.
- Region string
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- ResourceGroup stringId 
- Resource group ID of the cluster.
- SchemaRegistry ClusterSchema Registry Args 
- Schema Registry properties.
- State string
- Current state of the cluster.
- StateDescription ClusterState Description Args 
- Detailed state description when cluster is in a non-ready state.
- map[string]string
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- ThroughputTier string
- Throughput tier of the cluster.
- Zones []string
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- allowDeletion Boolean
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- awsPrivate ClusterLink Aws Private Link 
- AWS PrivateLink configuration.
- azurePrivate ClusterLink Azure Private Link 
- Azure Private Link configuration.
- cloudProvider String
- Cloud provider where resources are created.
- clusterApi StringUrl 
- The URL of the cluster API.
- clusterType String
- Cluster type. Type is immutable and can only be set on cluster creation.
- connectionType String
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- connectivity
ClusterConnectivity 
- Cloud provider-specific connectivity configuration.
- createdAt String
- Timestamp when the cluster was created.
- customerManaged ClusterResources Customer Managed Resources 
- Customer managed resources configuration for the cluster.
- gcpPrivate ClusterService Connect Gcp Private Service Connect 
- GCP Private Service Connect configuration.
- httpProxy ClusterHttp Proxy 
- HTTP Proxy properties.
- kafkaApi ClusterKafka Api 
- Cluster's Kafka API properties.
- kafkaConnect ClusterKafka Connect 
- Kafka Connect configuration.
- maintenanceWindow ClusterConfig Maintenance Window Config 
- Maintenance window configuration for the cluster.
- name String
- Unique name of the cluster.
- networkId String
- Network ID where cluster is placed.
- prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- readReplica List<String>Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- redpandaVersion String
- Current Redpanda version of the cluster.
- region String
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- resourceGroup StringId 
- Resource group ID of the cluster.
- schemaRegistry ClusterSchema Registry 
- Schema Registry properties.
- state String
- Current state of the cluster.
- stateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- Map<String,String>
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- throughputTier String
- Throughput tier of the cluster.
- zones List<String>
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- allowDeletion boolean
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- awsPrivate ClusterLink Aws Private Link 
- AWS PrivateLink configuration.
- azurePrivate ClusterLink Azure Private Link 
- Azure Private Link configuration.
- cloudProvider string
- Cloud provider where resources are created.
- clusterApi stringUrl 
- The URL of the cluster API.
- clusterType string
- Cluster type. Type is immutable and can only be set on cluster creation.
- connectionType string
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- connectivity
ClusterConnectivity 
- Cloud provider-specific connectivity configuration.
- createdAt string
- Timestamp when the cluster was created.
- customerManaged ClusterResources Customer Managed Resources 
- Customer managed resources configuration for the cluster.
- gcpPrivate ClusterService Connect Gcp Private Service Connect 
- GCP Private Service Connect configuration.
- httpProxy ClusterHttp Proxy 
- HTTP Proxy properties.
- kafkaApi ClusterKafka Api 
- Cluster's Kafka API properties.
- kafkaConnect ClusterKafka Connect 
- Kafka Connect configuration.
- maintenanceWindow ClusterConfig Maintenance Window Config 
- Maintenance window configuration for the cluster.
- name string
- Unique name of the cluster.
- networkId string
- Network ID where cluster is placed.
- prometheus
ClusterPrometheus 
- Prometheus metrics endpoint properties.
- readReplica string[]Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpandaConsole ClusterRedpanda Console 
- Redpanda Console properties.
- redpandaVersion string
- Current Redpanda version of the cluster.
- region string
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- resourceGroup stringId 
- Resource group ID of the cluster.
- schemaRegistry ClusterSchema Registry 
- Schema Registry properties.
- state string
- Current state of the cluster.
- stateDescription ClusterState Description 
- Detailed state description when cluster is in a non-ready state.
- {[key: string]: string}
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- throughputTier string
- Throughput tier of the cluster.
- zones string[]
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- allow_deletion bool
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- aws_private_ Clusterlink Aws Private Link Args 
- AWS PrivateLink configuration.
- azure_private_ Clusterlink Azure Private Link Args 
- Azure Private Link configuration.
- cloud_provider str
- Cloud provider where resources are created.
- cluster_api_ strurl 
- The URL of the cluster API.
- cluster_type str
- Cluster type. Type is immutable and can only be set on cluster creation.
- connection_type str
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- connectivity
ClusterConnectivity Args 
- Cloud provider-specific connectivity configuration.
- created_at str
- Timestamp when the cluster was created.
- customer_managed_ Clusterresources Customer Managed Resources Args 
- Customer managed resources configuration for the cluster.
- gcp_private_ Clusterservice_ connect Gcp Private Service Connect Args 
- GCP Private Service Connect configuration.
- http_proxy ClusterHttp Proxy Args 
- HTTP Proxy properties.
- kafka_api ClusterKafka Api Args 
- Cluster's Kafka API properties.
- kafka_connect ClusterKafka Connect Args 
- Kafka Connect configuration.
- maintenance_window_ Clusterconfig Maintenance Window Config Args 
- Maintenance window configuration for the cluster.
- name str
- Unique name of the cluster.
- network_id str
- Network ID where cluster is placed.
- prometheus
ClusterPrometheus Args 
- Prometheus metrics endpoint properties.
- read_replica_ Sequence[str]cluster_ ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpanda_console ClusterRedpanda Console Args 
- Redpanda Console properties.
- redpanda_version str
- Current Redpanda version of the cluster.
- region str
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- resource_group_ strid 
- Resource group ID of the cluster.
- schema_registry ClusterSchema Registry Args 
- Schema Registry properties.
- state str
- Current state of the cluster.
- state_description ClusterState Description Args 
- Detailed state description when cluster is in a non-ready state.
- Mapping[str, str]
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- throughput_tier str
- Throughput tier of the cluster.
- zones Sequence[str]
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
- allowDeletion Boolean
- Allows deletion of the cluster. Defaults to true. Should probably be set to false for production use.
- awsPrivate Property MapLink 
- AWS PrivateLink configuration.
- azurePrivate Property MapLink 
- Azure Private Link configuration.
- cloudProvider String
- Cloud provider where resources are created.
- clusterApi StringUrl 
- The URL of the cluster API.
- clusterType String
- Cluster type. Type is immutable and can only be set on cluster creation.
- connectionType String
- Cluster connection type. Private clusters are not exposed to the internet. For BYOC clusters, Private is best-practice.
- connectivity Property Map
- Cloud provider-specific connectivity configuration.
- createdAt String
- Timestamp when the cluster was created.
- customerManaged Property MapResources 
- Customer managed resources configuration for the cluster.
- gcpPrivate Property MapService Connect 
- GCP Private Service Connect configuration.
- httpProxy Property Map
- HTTP Proxy properties.
- kafkaApi Property Map
- Cluster's Kafka API properties.
- kafkaConnect Property Map
- Kafka Connect configuration.
- maintenanceWindow Property MapConfig 
- Maintenance window configuration for the cluster.
- name String
- Unique name of the cluster.
- networkId String
- Network ID where cluster is placed.
- prometheus Property Map
- Prometheus metrics endpoint properties.
- readReplica List<String>Cluster Ids 
- IDs of clusters that can create read-only topics from this cluster.
- redpandaConsole Property Map
- Redpanda Console properties.
- redpandaVersion String
- Current Redpanda version of the cluster.
- region String
- Cloud provider region. Region represents the name of the region where the cluster will be provisioned.
- resourceGroup StringId 
- Resource group ID of the cluster.
- schemaRegistry Property Map
- Schema Registry properties.
- state String
- Current state of the cluster.
- stateDescription Property Map
- Detailed state description when cluster is in a non-ready state.
- Map<String>
- Tags placed on cloud resources. If the cloud provider is GCP and the name of a tag has the prefix "gcp.network-tag.", the tag is a network tag that will be added to the Redpanda cluster GKE nodes. Otherwise, the tag is a normal tag. For example, if the name of a tag is "gcp.network-tag.network-tag-foo", the network tag named "network-tag-foo" will be added to the Redpanda cluster GKE nodes. Note: The value of a network tag will be ignored. See the details on network tags at https://cloud.google.com/vpc/docs/add-remove-network-tags.
- throughputTier String
- Throughput tier of the cluster.
- zones List<String>
- Zones of the cluster. Must be valid zones within the selected region. If multiple zones are used, the cluster is a multi-AZ cluster.
Supporting Types
ClusterAwsPrivateLink, ClusterAwsPrivateLinkArgs        
- AllowedPrincipals List<string>
- The ARN of the principals that can access the Redpanda AWS PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- ConnectConsole bool
- Whether Console is connected via PrivateLink.
- Enabled bool
- Whether AWS PrivateLink is enabled.
- Status
ClusterAws Private Link Status 
- Current status of the PrivateLink configuration.
- AllowedPrincipals []string
- The ARN of the principals that can access the Redpanda AWS PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- ConnectConsole bool
- Whether Console is connected via PrivateLink.
- Enabled bool
- Whether AWS PrivateLink is enabled.
- Status
ClusterAws Private Link Status 
- Current status of the PrivateLink configuration.
- allowedPrincipals List<String>
- The ARN of the principals that can access the Redpanda AWS PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connectConsole Boolean
- Whether Console is connected via PrivateLink.
- enabled Boolean
- Whether AWS PrivateLink is enabled.
- status
ClusterAws Private Link Status 
- Current status of the PrivateLink configuration.
- allowedPrincipals string[]
- The ARN of the principals that can access the Redpanda AWS PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connectConsole boolean
- Whether Console is connected via PrivateLink.
- enabled boolean
- Whether AWS PrivateLink is enabled.
- status
ClusterAws Private Link Status 
- Current status of the PrivateLink configuration.
- allowed_principals Sequence[str]
- The ARN of the principals that can access the Redpanda AWS PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connect_console bool
- Whether Console is connected via PrivateLink.
- enabled bool
- Whether AWS PrivateLink is enabled.
- status
ClusterAws Private Link Status 
- Current status of the PrivateLink configuration.
- allowedPrincipals List<String>
- The ARN of the principals that can access the Redpanda AWS PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connectConsole Boolean
- Whether Console is connected via PrivateLink.
- enabled Boolean
- Whether AWS PrivateLink is enabled.
- status Property Map
- Current status of the PrivateLink configuration.
ClusterAwsPrivateLinkStatus, ClusterAwsPrivateLinkStatusArgs          
- ConsolePort double
- Port for Redpanda Console.
- CreatedAt string
- When the PrivateLink service was created.
- DeletedAt string
- When the PrivateLink service was deleted.
- KafkaApi doubleNode Base Port 
- Base port for Kafka API nodes.
- KafkaApi doubleSeed Port 
- Port for Kafka API seed brokers.
- RedpandaProxy doubleNode Base Port 
- Base port for HTTP proxy nodes.
- RedpandaProxy doubleSeed Port 
- Port for HTTP proxy.
- SchemaRegistry doubleSeed Port 
- Port for Schema Registry.
- ServiceId string
- The PrivateLink service ID.
- ServiceName string
- The PrivateLink service name.
- ServiceState string
- Current state of the PrivateLink service.
- VpcEndpoint List<ClusterConnections Aws Private Link Status Vpc Endpoint Connection> 
- List of VPC endpoint connections.
- ConsolePort float64
- Port for Redpanda Console.
- CreatedAt string
- When the PrivateLink service was created.
- DeletedAt string
- When the PrivateLink service was deleted.
- KafkaApi float64Node Base Port 
- Base port for Kafka API nodes.
- KafkaApi float64Seed Port 
- Port for Kafka API seed brokers.
- RedpandaProxy float64Node Base Port 
- Base port for HTTP proxy nodes.
- RedpandaProxy float64Seed Port 
- Port for HTTP proxy.
- SchemaRegistry float64Seed Port 
- Port for Schema Registry.
- ServiceId string
- The PrivateLink service ID.
- ServiceName string
- The PrivateLink service name.
- ServiceState string
- Current state of the PrivateLink service.
- VpcEndpoint []ClusterConnections Aws Private Link Status Vpc Endpoint Connection 
- List of VPC endpoint connections.
- consolePort Double
- Port for Redpanda Console.
- createdAt String
- When the PrivateLink service was created.
- deletedAt String
- When the PrivateLink service was deleted.
- kafkaApi DoubleNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi DoubleSeed Port 
- Port for Kafka API seed brokers.
- redpandaProxy DoubleNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy DoubleSeed Port 
- Port for HTTP proxy.
- schemaRegistry DoubleSeed Port 
- Port for Schema Registry.
- serviceId String
- The PrivateLink service ID.
- serviceName String
- The PrivateLink service name.
- serviceState String
- Current state of the PrivateLink service.
- vpcEndpoint List<ClusterConnections Aws Private Link Status Vpc Endpoint Connection> 
- List of VPC endpoint connections.
- consolePort number
- Port for Redpanda Console.
- createdAt string
- When the PrivateLink service was created.
- deletedAt string
- When the PrivateLink service was deleted.
- kafkaApi numberNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi numberSeed Port 
- Port for Kafka API seed brokers.
- redpandaProxy numberNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy numberSeed Port 
- Port for HTTP proxy.
- schemaRegistry numberSeed Port 
- Port for Schema Registry.
- serviceId string
- The PrivateLink service ID.
- serviceName string
- The PrivateLink service name.
- serviceState string
- Current state of the PrivateLink service.
- vpcEndpoint ClusterConnections Aws Private Link Status Vpc Endpoint Connection[] 
- List of VPC endpoint connections.
- console_port float
- Port for Redpanda Console.
- created_at str
- When the PrivateLink service was created.
- deleted_at str
- When the PrivateLink service was deleted.
- kafka_api_ floatnode_ base_ port 
- Base port for Kafka API nodes.
- kafka_api_ floatseed_ port 
- Port for Kafka API seed brokers.
- redpanda_proxy_ floatnode_ base_ port 
- Base port for HTTP proxy nodes.
- redpanda_proxy_ floatseed_ port 
- Port for HTTP proxy.
- schema_registry_ floatseed_ port 
- Port for Schema Registry.
- service_id str
- The PrivateLink service ID.
- service_name str
- The PrivateLink service name.
- service_state str
- Current state of the PrivateLink service.
- vpc_endpoint_ Sequence[Clusterconnections Aws Private Link Status Vpc Endpoint Connection] 
- List of VPC endpoint connections.
- consolePort Number
- Port for Redpanda Console.
- createdAt String
- When the PrivateLink service was created.
- deletedAt String
- When the PrivateLink service was deleted.
- kafkaApi NumberNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi NumberSeed Port 
- Port for Kafka API seed brokers.
- redpandaProxy NumberNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy NumberSeed Port 
- Port for HTTP proxy.
- schemaRegistry NumberSeed Port 
- Port for Schema Registry.
- serviceId String
- The PrivateLink service ID.
- serviceName String
- The PrivateLink service name.
- serviceState String
- Current state of the PrivateLink service.
- vpcEndpoint List<Property Map>Connections 
- List of VPC endpoint connections.
ClusterAwsPrivateLinkStatusVpcEndpointConnection, ClusterAwsPrivateLinkStatusVpcEndpointConnectionArgs                
- ConnectionId string
- The connection ID.
- CreatedAt string
- When the endpoint connection was created.
- DnsEntries List<ClusterAws Private Link Status Vpc Endpoint Connection Dns Entry> 
- DNS entries for the endpoint.
- Id string
- The endpoint connection ID.
- LoadBalancer List<string>Arns 
- ARNs of associated load balancers.
- Owner string
- Owner of the endpoint connection.
- State string
- State of the endpoint connection.
- ConnectionId string
- The connection ID.
- CreatedAt string
- When the endpoint connection was created.
- DnsEntries []ClusterAws Private Link Status Vpc Endpoint Connection Dns Entry 
- DNS entries for the endpoint.
- Id string
- The endpoint connection ID.
- LoadBalancer []stringArns 
- ARNs of associated load balancers.
- Owner string
- Owner of the endpoint connection.
- State string
- State of the endpoint connection.
- connectionId String
- The connection ID.
- createdAt String
- When the endpoint connection was created.
- dnsEntries List<ClusterAws Private Link Status Vpc Endpoint Connection Dns Entry> 
- DNS entries for the endpoint.
- id String
- The endpoint connection ID.
- loadBalancer List<String>Arns 
- ARNs of associated load balancers.
- owner String
- Owner of the endpoint connection.
- state String
- State of the endpoint connection.
- connectionId string
- The connection ID.
- createdAt string
- When the endpoint connection was created.
- dnsEntries ClusterAws Private Link Status Vpc Endpoint Connection Dns Entry[] 
- DNS entries for the endpoint.
- id string
- The endpoint connection ID.
- loadBalancer string[]Arns 
- ARNs of associated load balancers.
- owner string
- Owner of the endpoint connection.
- state string
- State of the endpoint connection.
- connection_id str
- The connection ID.
- created_at str
- When the endpoint connection was created.
- dns_entries Sequence[ClusterAws Private Link Status Vpc Endpoint Connection Dns Entry] 
- DNS entries for the endpoint.
- id str
- The endpoint connection ID.
- load_balancer_ Sequence[str]arns 
- ARNs of associated load balancers.
- owner str
- Owner of the endpoint connection.
- state str
- State of the endpoint connection.
- connectionId String
- The connection ID.
- createdAt String
- When the endpoint connection was created.
- dnsEntries List<Property Map>
- DNS entries for the endpoint.
- id String
- The endpoint connection ID.
- loadBalancer List<String>Arns 
- ARNs of associated load balancers.
- owner String
- Owner of the endpoint connection.
- state String
- State of the endpoint connection.
ClusterAwsPrivateLinkStatusVpcEndpointConnectionDnsEntry, ClusterAwsPrivateLinkStatusVpcEndpointConnectionDnsEntryArgs                    
- DnsName string
- The DNS name.
- HostedZone stringId 
- The hosted zone ID.
- DnsName string
- The DNS name.
- HostedZone stringId 
- The hosted zone ID.
- dnsName String
- The DNS name.
- hostedZone StringId 
- The hosted zone ID.
- dnsName string
- The DNS name.
- hostedZone stringId 
- The hosted zone ID.
- dns_name str
- The DNS name.
- hosted_zone_ strid 
- The hosted zone ID.
- dnsName String
- The DNS name.
- hostedZone StringId 
- The hosted zone ID.
ClusterAzurePrivateLink, ClusterAzurePrivateLinkArgs        
- AllowedSubscriptions List<string>
- The subscriptions that can access the Redpanda Azure PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- ConnectConsole bool
- Whether Console is connected in Redpanda Azure Private Link Service.
- Enabled bool
- Whether Redpanda Azure Private Link Endpoint Service is enabled.
- Status
ClusterAzure Private Link Status 
- Current status of the Private Link configuration.
- AllowedSubscriptions []string
- The subscriptions that can access the Redpanda Azure PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- ConnectConsole bool
- Whether Console is connected in Redpanda Azure Private Link Service.
- Enabled bool
- Whether Redpanda Azure Private Link Endpoint Service is enabled.
- Status
ClusterAzure Private Link Status 
- Current status of the Private Link configuration.
- allowedSubscriptions List<String>
- The subscriptions that can access the Redpanda Azure PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connectConsole Boolean
- Whether Console is connected in Redpanda Azure Private Link Service.
- enabled Boolean
- Whether Redpanda Azure Private Link Endpoint Service is enabled.
- status
ClusterAzure Private Link Status 
- Current status of the Private Link configuration.
- allowedSubscriptions string[]
- The subscriptions that can access the Redpanda Azure PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connectConsole boolean
- Whether Console is connected in Redpanda Azure Private Link Service.
- enabled boolean
- Whether Redpanda Azure Private Link Endpoint Service is enabled.
- status
ClusterAzure Private Link Status 
- Current status of the Private Link configuration.
- allowed_subscriptions Sequence[str]
- The subscriptions that can access the Redpanda Azure PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connect_console bool
- Whether Console is connected in Redpanda Azure Private Link Service.
- enabled bool
- Whether Redpanda Azure Private Link Endpoint Service is enabled.
- status
ClusterAzure Private Link Status 
- Current status of the Private Link configuration.
- allowedSubscriptions List<String>
- The subscriptions that can access the Redpanda Azure PrivateLink Endpoint Service. To grant permissions to all principals, use an asterisk (*).
- connectConsole Boolean
- Whether Console is connected in Redpanda Azure Private Link Service.
- enabled Boolean
- Whether Redpanda Azure Private Link Endpoint Service is enabled.
- status Property Map
- Current status of the Private Link configuration.
ClusterAzurePrivateLinkStatus, ClusterAzurePrivateLinkStatusArgs          
- ApprovedSubscriptions List<string>
- List of approved Azure subscription IDs.
- ConsolePort double
- Port for Redpanda Console.
- CreatedAt string
- When the Private Link service was created.
- DeletedAt string
- When the Private Link service was deleted.
- DnsARecord string
- DNS A record for the service.
- KafkaApi doubleNode Base Port 
- Base port for Kafka API nodes.
- KafkaApi doubleSeed Port 
- Port for Kafka API seed brokers.
- PrivateEndpoint List<ClusterConnections Azure Private Link Status Private Endpoint Connection> 
- List of private endpoint connections.
- RedpandaProxy doubleNode Base Port 
- Base port for HTTP proxy nodes.
- RedpandaProxy doubleSeed Port 
- Port for HTTP proxy.
- SchemaRegistry doubleSeed Port 
- Port for Schema Registry.
- ServiceId string
- The Private Link service ID.
- ServiceName string
- The Private Link service name.
- ApprovedSubscriptions []string
- List of approved Azure subscription IDs.
- ConsolePort float64
- Port for Redpanda Console.
- CreatedAt string
- When the Private Link service was created.
- DeletedAt string
- When the Private Link service was deleted.
- DnsARecord string
- DNS A record for the service.
- KafkaApi float64Node Base Port 
- Base port for Kafka API nodes.
- KafkaApi float64Seed Port 
- Port for Kafka API seed brokers.
- PrivateEndpoint []ClusterConnections Azure Private Link Status Private Endpoint Connection 
- List of private endpoint connections.
- RedpandaProxy float64Node Base Port 
- Base port for HTTP proxy nodes.
- RedpandaProxy float64Seed Port 
- Port for HTTP proxy.
- SchemaRegistry float64Seed Port 
- Port for Schema Registry.
- ServiceId string
- The Private Link service ID.
- ServiceName string
- The Private Link service name.
- approvedSubscriptions List<String>
- List of approved Azure subscription IDs.
- consolePort Double
- Port for Redpanda Console.
- createdAt String
- When the Private Link service was created.
- deletedAt String
- When the Private Link service was deleted.
- dnsARecord String
- DNS A record for the service.
- kafkaApi DoubleNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi DoubleSeed Port 
- Port for Kafka API seed brokers.
- privateEndpoint List<ClusterConnections Azure Private Link Status Private Endpoint Connection> 
- List of private endpoint connections.
- redpandaProxy DoubleNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy DoubleSeed Port 
- Port for HTTP proxy.
- schemaRegistry DoubleSeed Port 
- Port for Schema Registry.
- serviceId String
- The Private Link service ID.
- serviceName String
- The Private Link service name.
- approvedSubscriptions string[]
- List of approved Azure subscription IDs.
- consolePort number
- Port for Redpanda Console.
- createdAt string
- When the Private Link service was created.
- deletedAt string
- When the Private Link service was deleted.
- dnsARecord string
- DNS A record for the service.
- kafkaApi numberNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi numberSeed Port 
- Port for Kafka API seed brokers.
- privateEndpoint ClusterConnections Azure Private Link Status Private Endpoint Connection[] 
- List of private endpoint connections.
- redpandaProxy numberNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy numberSeed Port 
- Port for HTTP proxy.
- schemaRegistry numberSeed Port 
- Port for Schema Registry.
- serviceId string
- The Private Link service ID.
- serviceName string
- The Private Link service name.
- approved_subscriptions Sequence[str]
- List of approved Azure subscription IDs.
- console_port float
- Port for Redpanda Console.
- created_at str
- When the Private Link service was created.
- deleted_at str
- When the Private Link service was deleted.
- dns_a_ strrecord 
- DNS A record for the service.
- kafka_api_ floatnode_ base_ port 
- Base port for Kafka API nodes.
- kafka_api_ floatseed_ port 
- Port for Kafka API seed brokers.
- private_endpoint_ Sequence[Clusterconnections Azure Private Link Status Private Endpoint Connection] 
- List of private endpoint connections.
- redpanda_proxy_ floatnode_ base_ port 
- Base port for HTTP proxy nodes.
- redpanda_proxy_ floatseed_ port 
- Port for HTTP proxy.
- schema_registry_ floatseed_ port 
- Port for Schema Registry.
- service_id str
- The Private Link service ID.
- service_name str
- The Private Link service name.
- approvedSubscriptions List<String>
- List of approved Azure subscription IDs.
- consolePort Number
- Port for Redpanda Console.
- createdAt String
- When the Private Link service was created.
- deletedAt String
- When the Private Link service was deleted.
- dnsARecord String
- DNS A record for the service.
- kafkaApi NumberNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi NumberSeed Port 
- Port for Kafka API seed brokers.
- privateEndpoint List<Property Map>Connections 
- List of private endpoint connections.
- redpandaProxy NumberNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy NumberSeed Port 
- Port for HTTP proxy.
- schemaRegistry NumberSeed Port 
- Port for Schema Registry.
- serviceId String
- The Private Link service ID.
- serviceName String
- The Private Link service name.
ClusterAzurePrivateLinkStatusPrivateEndpointConnection, ClusterAzurePrivateLinkStatusPrivateEndpointConnectionArgs                
- ConnectionId string
- ID of the connection.
- ConnectionName string
- Name of the connection.
- CreatedAt string
- When the endpoint connection was created.
- PrivateEndpoint stringId 
- ID of the private endpoint.
- PrivateEndpoint stringName 
- Name of the private endpoint.
- Status string
- Status of the endpoint connection.
- ConnectionId string
- ID of the connection.
- ConnectionName string
- Name of the connection.
- CreatedAt string
- When the endpoint connection was created.
- PrivateEndpoint stringId 
- ID of the private endpoint.
- PrivateEndpoint stringName 
- Name of the private endpoint.
- Status string
- Status of the endpoint connection.
- connectionId String
- ID of the connection.
- connectionName String
- Name of the connection.
- createdAt String
- When the endpoint connection was created.
- privateEndpoint StringId 
- ID of the private endpoint.
- privateEndpoint StringName 
- Name of the private endpoint.
- status String
- Status of the endpoint connection.
- connectionId string
- ID of the connection.
- connectionName string
- Name of the connection.
- createdAt string
- When the endpoint connection was created.
- privateEndpoint stringId 
- ID of the private endpoint.
- privateEndpoint stringName 
- Name of the private endpoint.
- status string
- Status of the endpoint connection.
- connection_id str
- ID of the connection.
- connection_name str
- Name of the connection.
- created_at str
- When the endpoint connection was created.
- private_endpoint_ strid 
- ID of the private endpoint.
- private_endpoint_ strname 
- Name of the private endpoint.
- status str
- Status of the endpoint connection.
- connectionId String
- ID of the connection.
- connectionName String
- Name of the connection.
- createdAt String
- When the endpoint connection was created.
- privateEndpoint StringId 
- ID of the private endpoint.
- privateEndpoint StringName 
- Name of the private endpoint.
- status String
- Status of the endpoint connection.
ClusterConnectivity, ClusterConnectivityArgs    
- Gcp
ClusterConnectivity Gcp 
- GCP-specific connectivity settings.
- Gcp
ClusterConnectivity Gcp 
- GCP-specific connectivity settings.
- gcp
ClusterConnectivity Gcp 
- GCP-specific connectivity settings.
- gcp
ClusterConnectivity Gcp 
- GCP-specific connectivity settings.
- gcp
ClusterConnectivity Gcp 
- GCP-specific connectivity settings.
- gcp Property Map
- GCP-specific connectivity settings.
ClusterConnectivityGcp, ClusterConnectivityGcpArgs      
- EnableGlobal boolAccess 
- Whether global access is enabled.
- EnableGlobal boolAccess 
- Whether global access is enabled.
- enableGlobal BooleanAccess 
- Whether global access is enabled.
- enableGlobal booleanAccess 
- Whether global access is enabled.
- enable_global_ boolaccess 
- Whether global access is enabled.
- enableGlobal BooleanAccess 
- Whether global access is enabled.
ClusterCustomerManagedResources, ClusterCustomerManagedResourcesArgs        
ClusterCustomerManagedResourcesAws, ClusterCustomerManagedResourcesAwsArgs          
- AgentInstance ClusterProfile Customer Managed Resources Aws Agent Instance Profile 
- CloudStorage ClusterBucket Customer Managed Resources Aws Cloud Storage Bucket 
- ClusterSecurity ClusterGroup Customer Managed Resources Aws Cluster Security Group 
- ConnectorsNode ClusterGroup Instance Profile Customer Managed Resources Aws Connectors Node Group Instance Profile 
- ConnectorsSecurity ClusterGroup Customer Managed Resources Aws Connectors Security Group 
- K8sCluster ClusterRole Customer Managed Resources Aws K8s Cluster Role 
- NodeSecurity ClusterGroup Customer Managed Resources Aws Node Security Group 
- PermissionsBoundary ClusterPolicy Customer Managed Resources Aws Permissions Boundary Policy 
- RedpandaAgent ClusterSecurity Group Customer Managed Resources Aws Redpanda Agent Security Group 
- RedpandaNode ClusterGroup Instance Profile Customer Managed Resources Aws Redpanda Node Group Instance Profile 
- RedpandaNode ClusterGroup Security Group Customer Managed Resources Aws Redpanda Node Group Security Group 
- UtilityNode ClusterGroup Instance Profile Customer Managed Resources Aws Utility Node Group Instance Profile 
- UtilitySecurity ClusterGroup Customer Managed Resources Aws Utility Security Group 
- AgentInstance ClusterProfile Customer Managed Resources Aws Agent Instance Profile 
- CloudStorage ClusterBucket Customer Managed Resources Aws Cloud Storage Bucket 
- ClusterSecurity ClusterGroup Customer Managed Resources Aws Cluster Security Group 
- ConnectorsNode ClusterGroup Instance Profile Customer Managed Resources Aws Connectors Node Group Instance Profile 
- ConnectorsSecurity ClusterGroup Customer Managed Resources Aws Connectors Security Group 
- K8sCluster ClusterRole Customer Managed Resources Aws K8s Cluster Role 
- NodeSecurity ClusterGroup Customer Managed Resources Aws Node Security Group 
- PermissionsBoundary ClusterPolicy Customer Managed Resources Aws Permissions Boundary Policy 
- RedpandaAgent ClusterSecurity Group Customer Managed Resources Aws Redpanda Agent Security Group 
- RedpandaNode ClusterGroup Instance Profile Customer Managed Resources Aws Redpanda Node Group Instance Profile 
- RedpandaNode ClusterGroup Security Group Customer Managed Resources Aws Redpanda Node Group Security Group 
- UtilityNode ClusterGroup Instance Profile Customer Managed Resources Aws Utility Node Group Instance Profile 
- UtilitySecurity ClusterGroup Customer Managed Resources Aws Utility Security Group 
- agentInstance ClusterProfile Customer Managed Resources Aws Agent Instance Profile 
- cloudStorage ClusterBucket Customer Managed Resources Aws Cloud Storage Bucket 
- clusterSecurity ClusterGroup Customer Managed Resources Aws Cluster Security Group 
- connectorsNode ClusterGroup Instance Profile Customer Managed Resources Aws Connectors Node Group Instance Profile 
- connectorsSecurity ClusterGroup Customer Managed Resources Aws Connectors Security Group 
- k8sCluster ClusterRole Customer Managed Resources Aws K8s Cluster Role 
- nodeSecurity ClusterGroup Customer Managed Resources Aws Node Security Group 
- permissionsBoundary ClusterPolicy Customer Managed Resources Aws Permissions Boundary Policy 
- redpandaAgent ClusterSecurity Group Customer Managed Resources Aws Redpanda Agent Security Group 
- redpandaNode ClusterGroup Instance Profile Customer Managed Resources Aws Redpanda Node Group Instance Profile 
- redpandaNode ClusterGroup Security Group Customer Managed Resources Aws Redpanda Node Group Security Group 
- utilityNode ClusterGroup Instance Profile Customer Managed Resources Aws Utility Node Group Instance Profile 
- utilitySecurity ClusterGroup Customer Managed Resources Aws Utility Security Group 
- agentInstance ClusterProfile Customer Managed Resources Aws Agent Instance Profile 
- cloudStorage ClusterBucket Customer Managed Resources Aws Cloud Storage Bucket 
- clusterSecurity ClusterGroup Customer Managed Resources Aws Cluster Security Group 
- connectorsNode ClusterGroup Instance Profile Customer Managed Resources Aws Connectors Node Group Instance Profile 
- connectorsSecurity ClusterGroup Customer Managed Resources Aws Connectors Security Group 
- k8sCluster ClusterRole Customer Managed Resources Aws K8s Cluster Role 
- nodeSecurity ClusterGroup Customer Managed Resources Aws Node Security Group 
- permissionsBoundary ClusterPolicy Customer Managed Resources Aws Permissions Boundary Policy 
- redpandaAgent ClusterSecurity Group Customer Managed Resources Aws Redpanda Agent Security Group 
- redpandaNode ClusterGroup Instance Profile Customer Managed Resources Aws Redpanda Node Group Instance Profile 
- redpandaNode ClusterGroup Security Group Customer Managed Resources Aws Redpanda Node Group Security Group 
- utilityNode ClusterGroup Instance Profile Customer Managed Resources Aws Utility Node Group Instance Profile 
- utilitySecurity ClusterGroup Customer Managed Resources Aws Utility Security Group 
- agent_instance_ Clusterprofile Customer Managed Resources Aws Agent Instance Profile 
- cloud_storage_ Clusterbucket Customer Managed Resources Aws Cloud Storage Bucket 
- cluster_security_ Clustergroup Customer Managed Resources Aws Cluster Security Group 
- connectors_node_ Clustergroup_ instance_ profile Customer Managed Resources Aws Connectors Node Group Instance Profile 
- connectors_security_ Clustergroup Customer Managed Resources Aws Connectors Security Group 
- k8s_cluster_ Clusterrole Customer Managed Resources Aws K8s Cluster Role 
- node_security_ Clustergroup Customer Managed Resources Aws Node Security Group 
- permissions_boundary_ Clusterpolicy Customer Managed Resources Aws Permissions Boundary Policy 
- redpanda_agent_ Clustersecurity_ group Customer Managed Resources Aws Redpanda Agent Security Group 
- redpanda_node_ Clustergroup_ instance_ profile Customer Managed Resources Aws Redpanda Node Group Instance Profile 
- redpanda_node_ Clustergroup_ security_ group Customer Managed Resources Aws Redpanda Node Group Security Group 
- utility_node_ Clustergroup_ instance_ profile Customer Managed Resources Aws Utility Node Group Instance Profile 
- utility_security_ Clustergroup Customer Managed Resources Aws Utility Security Group 
- agentInstance Property MapProfile 
- cloudStorage Property MapBucket 
- clusterSecurity Property MapGroup 
- connectorsNode Property MapGroup Instance Profile 
- connectorsSecurity Property MapGroup 
- k8sCluster Property MapRole 
- nodeSecurity Property MapGroup 
- permissionsBoundary Property MapPolicy 
- redpandaAgent Property MapSecurity Group 
- redpandaNode Property MapGroup Instance Profile 
- redpandaNode Property MapGroup Security Group 
- utilityNode Property MapGroup Instance Profile 
- utilitySecurity Property MapGroup 
ClusterCustomerManagedResourcesAwsAgentInstanceProfile, ClusterCustomerManagedResourcesAwsAgentInstanceProfileArgs                
- Arn string
- ARN for the agent instance profile
- Arn string
- ARN for the agent instance profile
- arn String
- ARN for the agent instance profile
- arn string
- ARN for the agent instance profile
- arn str
- ARN for the agent instance profile
- arn String
- ARN for the agent instance profile
ClusterCustomerManagedResourcesAwsCloudStorageBucket, ClusterCustomerManagedResourcesAwsCloudStorageBucketArgs                
- Arn string
- ARN for the cloud storage bucket
- Arn string
- ARN for the cloud storage bucket
- arn String
- ARN for the cloud storage bucket
- arn string
- ARN for the cloud storage bucket
- arn str
- ARN for the cloud storage bucket
- arn String
- ARN for the cloud storage bucket
ClusterCustomerManagedResourcesAwsClusterSecurityGroup, ClusterCustomerManagedResourcesAwsClusterSecurityGroupArgs                
- Arn string
- ARN for the cluster security group
- Arn string
- ARN for the cluster security group
- arn String
- ARN for the cluster security group
- arn string
- ARN for the cluster security group
- arn str
- ARN for the cluster security group
- arn String
- ARN for the cluster security group
ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfile, ClusterCustomerManagedResourcesAwsConnectorsNodeGroupInstanceProfileArgs                    
- Arn string
- ARN for the connectors node group instance profile
- Arn string
- ARN for the connectors node group instance profile
- arn String
- ARN for the connectors node group instance profile
- arn string
- ARN for the connectors node group instance profile
- arn str
- ARN for the connectors node group instance profile
- arn String
- ARN for the connectors node group instance profile
ClusterCustomerManagedResourcesAwsConnectorsSecurityGroup, ClusterCustomerManagedResourcesAwsConnectorsSecurityGroupArgs                
- Arn string
- ARN for the connectors security group
- Arn string
- ARN for the connectors security group
- arn String
- ARN for the connectors security group
- arn string
- ARN for the connectors security group
- arn str
- ARN for the connectors security group
- arn String
- ARN for the connectors security group
ClusterCustomerManagedResourcesAwsK8sClusterRole, ClusterCustomerManagedResourcesAwsK8sClusterRoleArgs                
- Arn string
- ARN for the Kubernetes cluster role
- Arn string
- ARN for the Kubernetes cluster role
- arn String
- ARN for the Kubernetes cluster role
- arn string
- ARN for the Kubernetes cluster role
- arn str
- ARN for the Kubernetes cluster role
- arn String
- ARN for the Kubernetes cluster role
ClusterCustomerManagedResourcesAwsNodeSecurityGroup, ClusterCustomerManagedResourcesAwsNodeSecurityGroupArgs                
- Arn string
- ARN for the node security group
- Arn string
- ARN for the node security group
- arn String
- ARN for the node security group
- arn string
- ARN for the node security group
- arn str
- ARN for the node security group
- arn String
- ARN for the node security group
ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicy, ClusterCustomerManagedResourcesAwsPermissionsBoundaryPolicyArgs                
- Arn string
- ARN for the permissions boundary policy
- Arn string
- ARN for the permissions boundary policy
- arn String
- ARN for the permissions boundary policy
- arn string
- ARN for the permissions boundary policy
- arn str
- ARN for the permissions boundary policy
- arn String
- ARN for the permissions boundary policy
ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroup, ClusterCustomerManagedResourcesAwsRedpandaAgentSecurityGroupArgs                  
- Arn string
- ARN for the redpanda agent security group
- Arn string
- ARN for the redpanda agent security group
- arn String
- ARN for the redpanda agent security group
- arn string
- ARN for the redpanda agent security group
- arn str
- ARN for the redpanda agent security group
- arn String
- ARN for the redpanda agent security group
ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfile, ClusterCustomerManagedResourcesAwsRedpandaNodeGroupInstanceProfileArgs                    
- Arn string
- ARN for the redpanda node group instance profile
- Arn string
- ARN for the redpanda node group instance profile
- arn String
- ARN for the redpanda node group instance profile
- arn string
- ARN for the redpanda node group instance profile
- arn str
- ARN for the redpanda node group instance profile
- arn String
- ARN for the redpanda node group instance profile
ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroup, ClusterCustomerManagedResourcesAwsRedpandaNodeGroupSecurityGroupArgs                    
- Arn string
- ARN for the redpanda node group security group
- Arn string
- ARN for the redpanda node group security group
- arn String
- ARN for the redpanda node group security group
- arn string
- ARN for the redpanda node group security group
- arn str
- ARN for the redpanda node group security group
- arn String
- ARN for the redpanda node group security group
ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfile, ClusterCustomerManagedResourcesAwsUtilityNodeGroupInstanceProfileArgs                    
- Arn string
- ARN for the utility node group instance profile
- Arn string
- ARN for the utility node group instance profile
- arn String
- ARN for the utility node group instance profile
- arn string
- ARN for the utility node group instance profile
- arn str
- ARN for the utility node group instance profile
- arn String
- ARN for the utility node group instance profile
ClusterCustomerManagedResourcesAwsUtilitySecurityGroup, ClusterCustomerManagedResourcesAwsUtilitySecurityGroupArgs                
- Arn string
- ARN for the utility security group
- Arn string
- ARN for the utility security group
- arn String
- ARN for the utility security group
- arn string
- ARN for the utility security group
- arn str
- ARN for the utility security group
- arn String
- ARN for the utility security group
ClusterGcpPrivateServiceConnect, ClusterGcpPrivateServiceConnectArgs          
- ConsumerAccept List<ClusterLists Gcp Private Service Connect Consumer Accept List> 
- List of consumers that are allowed to connect to Redpanda GCP PSC (Private Service Connect) service attachment.
- Enabled bool
- Whether Redpanda GCP Private Service Connect is enabled.
- GlobalAccess boolEnabled 
- Whether global access is enabled.
- Status
ClusterGcp Private Service Connect Status 
- Current status of the Private Service Connect configuration.
- ConsumerAccept []ClusterLists Gcp Private Service Connect Consumer Accept List 
- List of consumers that are allowed to connect to Redpanda GCP PSC (Private Service Connect) service attachment.
- Enabled bool
- Whether Redpanda GCP Private Service Connect is enabled.
- GlobalAccess boolEnabled 
- Whether global access is enabled.
- Status
ClusterGcp Private Service Connect Status 
- Current status of the Private Service Connect configuration.
- consumerAccept List<ClusterLists Gcp Private Service Connect Consumer Accept List> 
- List of consumers that are allowed to connect to Redpanda GCP PSC (Private Service Connect) service attachment.
- enabled Boolean
- Whether Redpanda GCP Private Service Connect is enabled.
- globalAccess BooleanEnabled 
- Whether global access is enabled.
- status
ClusterGcp Private Service Connect Status 
- Current status of the Private Service Connect configuration.
- consumerAccept ClusterLists Gcp Private Service Connect Consumer Accept List[] 
- List of consumers that are allowed to connect to Redpanda GCP PSC (Private Service Connect) service attachment.
- enabled boolean
- Whether Redpanda GCP Private Service Connect is enabled.
- globalAccess booleanEnabled 
- Whether global access is enabled.
- status
ClusterGcp Private Service Connect Status 
- Current status of the Private Service Connect configuration.
- consumer_accept_ Sequence[Clusterlists Gcp Private Service Connect Consumer Accept List] 
- List of consumers that are allowed to connect to Redpanda GCP PSC (Private Service Connect) service attachment.
- enabled bool
- Whether Redpanda GCP Private Service Connect is enabled.
- global_access_ boolenabled 
- Whether global access is enabled.
- status
ClusterGcp Private Service Connect Status 
- Current status of the Private Service Connect configuration.
- consumerAccept List<Property Map>Lists 
- List of consumers that are allowed to connect to Redpanda GCP PSC (Private Service Connect) service attachment.
- enabled Boolean
- Whether Redpanda GCP Private Service Connect is enabled.
- globalAccess BooleanEnabled 
- Whether global access is enabled.
- status Property Map
- Current status of the Private Service Connect configuration.
ClusterGcpPrivateServiceConnectConsumerAcceptList, ClusterGcpPrivateServiceConnectConsumerAcceptListArgs                
- Source string
- Either the GCP project number or its alphanumeric ID.
- Source string
- Either the GCP project number or its alphanumeric ID.
- source String
- Either the GCP project number or its alphanumeric ID.
- source string
- Either the GCP project number or its alphanumeric ID.
- source str
- Either the GCP project number or its alphanumeric ID.
- source String
- Either the GCP project number or its alphanumeric ID.
ClusterGcpPrivateServiceConnectStatus, ClusterGcpPrivateServiceConnectStatusArgs            
- ConnectedEndpoints List<ClusterGcp Private Service Connect Status Connected Endpoint> 
- List of connected endpoints.
- CreatedAt string
- When the Private Service Connect service was created.
- DeletedAt string
- When the Private Service Connect service was deleted.
- DnsARecords List<string>
- DNS A records for the service.
- KafkaApi doubleNode Base Port 
- Base port for Kafka API nodes.
- KafkaApi doubleSeed Port 
- Port for Kafka API seed brokers.
- RedpandaProxy doubleNode Base Port 
- Base port for HTTP proxy nodes.
- RedpandaProxy doubleSeed Port 
- Port for HTTP proxy.
- SchemaRegistry doubleSeed Port 
- Port for Schema Registry.
- SeedHostname string
- Hostname for the seed brokers.
- ServiceAttachment string
- The service attachment identifier.
- ConnectedEndpoints []ClusterGcp Private Service Connect Status Connected Endpoint 
- List of connected endpoints.
- CreatedAt string
- When the Private Service Connect service was created.
- DeletedAt string
- When the Private Service Connect service was deleted.
- DnsARecords []string
- DNS A records for the service.
- KafkaApi float64Node Base Port 
- Base port for Kafka API nodes.
- KafkaApi float64Seed Port 
- Port for Kafka API seed brokers.
- RedpandaProxy float64Node Base Port 
- Base port for HTTP proxy nodes.
- RedpandaProxy float64Seed Port 
- Port for HTTP proxy.
- SchemaRegistry float64Seed Port 
- Port for Schema Registry.
- SeedHostname string
- Hostname for the seed brokers.
- ServiceAttachment string
- The service attachment identifier.
- connectedEndpoints List<ClusterGcp Private Service Connect Status Connected Endpoint> 
- List of connected endpoints.
- createdAt String
- When the Private Service Connect service was created.
- deletedAt String
- When the Private Service Connect service was deleted.
- dnsARecords List<String>
- DNS A records for the service.
- kafkaApi DoubleNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi DoubleSeed Port 
- Port for Kafka API seed brokers.
- redpandaProxy DoubleNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy DoubleSeed Port 
- Port for HTTP proxy.
- schemaRegistry DoubleSeed Port 
- Port for Schema Registry.
- seedHostname String
- Hostname for the seed brokers.
- serviceAttachment String
- The service attachment identifier.
- connectedEndpoints ClusterGcp Private Service Connect Status Connected Endpoint[] 
- List of connected endpoints.
- createdAt string
- When the Private Service Connect service was created.
- deletedAt string
- When the Private Service Connect service was deleted.
- dnsARecords string[]
- DNS A records for the service.
- kafkaApi numberNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi numberSeed Port 
- Port for Kafka API seed brokers.
- redpandaProxy numberNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy numberSeed Port 
- Port for HTTP proxy.
- schemaRegistry numberSeed Port 
- Port for Schema Registry.
- seedHostname string
- Hostname for the seed brokers.
- serviceAttachment string
- The service attachment identifier.
- connected_endpoints Sequence[ClusterGcp Private Service Connect Status Connected Endpoint] 
- List of connected endpoints.
- created_at str
- When the Private Service Connect service was created.
- deleted_at str
- When the Private Service Connect service was deleted.
- dns_a_ Sequence[str]records 
- DNS A records for the service.
- kafka_api_ floatnode_ base_ port 
- Base port for Kafka API nodes.
- kafka_api_ floatseed_ port 
- Port for Kafka API seed brokers.
- redpanda_proxy_ floatnode_ base_ port 
- Base port for HTTP proxy nodes.
- redpanda_proxy_ floatseed_ port 
- Port for HTTP proxy.
- schema_registry_ floatseed_ port 
- Port for Schema Registry.
- seed_hostname str
- Hostname for the seed brokers.
- service_attachment str
- The service attachment identifier.
- connectedEndpoints List<Property Map>
- List of connected endpoints.
- createdAt String
- When the Private Service Connect service was created.
- deletedAt String
- When the Private Service Connect service was deleted.
- dnsARecords List<String>
- DNS A records for the service.
- kafkaApi NumberNode Base Port 
- Base port for Kafka API nodes.
- kafkaApi NumberSeed Port 
- Port for Kafka API seed brokers.
- redpandaProxy NumberNode Base Port 
- Base port for HTTP proxy nodes.
- redpandaProxy NumberSeed Port 
- Port for HTTP proxy.
- schemaRegistry NumberSeed Port 
- Port for Schema Registry.
- seedHostname String
- Hostname for the seed brokers.
- serviceAttachment String
- The service attachment identifier.
ClusterGcpPrivateServiceConnectStatusConnectedEndpoint, ClusterGcpPrivateServiceConnectStatusConnectedEndpointArgs                
- ConnectionId string
- The connection ID.
- ConsumerNetwork string
- The consumer network.
- Endpoint string
- The endpoint address.
- Status string
- Status of the endpoint connection.
- ConnectionId string
- The connection ID.
- ConsumerNetwork string
- The consumer network.
- Endpoint string
- The endpoint address.
- Status string
- Status of the endpoint connection.
- connectionId String
- The connection ID.
- consumerNetwork String
- The consumer network.
- endpoint String
- The endpoint address.
- status String
- Status of the endpoint connection.
- connectionId string
- The connection ID.
- consumerNetwork string
- The consumer network.
- endpoint string
- The endpoint address.
- status string
- Status of the endpoint connection.
- connection_id str
- The connection ID.
- consumer_network str
- The consumer network.
- endpoint str
- The endpoint address.
- status str
- Status of the endpoint connection.
- connectionId String
- The connection ID.
- consumerNetwork String
- The consumer network.
- endpoint String
- The endpoint address.
- status String
- Status of the endpoint connection.
ClusterHttpProxy, ClusterHttpProxyArgs      
- Mtls
ClusterHttp Proxy Mtls 
- mTLS configuration.
- Url string
- The HTTP Proxy URL.
- Mtls
ClusterHttp Proxy Mtls 
- mTLS configuration.
- Url string
- The HTTP Proxy URL.
- mtls
ClusterHttp Proxy Mtls 
- mTLS configuration.
- url String
- The HTTP Proxy URL.
- mtls
ClusterHttp Proxy Mtls 
- mTLS configuration.
- url string
- The HTTP Proxy URL.
- mtls
ClusterHttp Proxy Mtls 
- mTLS configuration.
- url str
- The HTTP Proxy URL.
- mtls Property Map
- mTLS configuration.
- url String
- The HTTP Proxy URL.
ClusterHttpProxyMtls, ClusterHttpProxyMtlsArgs        
- CaCertificates List<string>Pems 
- CA certificate in PEM format.
- Enabled bool
- Whether mTLS is enabled.
- PrincipalMapping List<string>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- CaCertificates []stringPems 
- CA certificate in PEM format.
- Enabled bool
- Whether mTLS is enabled.
- PrincipalMapping []stringRules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates List<String>Pems 
- CA certificate in PEM format.
- enabled Boolean
- Whether mTLS is enabled.
- principalMapping List<String>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates string[]Pems 
- CA certificate in PEM format.
- enabled boolean
- Whether mTLS is enabled.
- principalMapping string[]Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- ca_certificates_ Sequence[str]pems 
- CA certificate in PEM format.
- enabled bool
- Whether mTLS is enabled.
- principal_mapping_ Sequence[str]rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates List<String>Pems 
- CA certificate in PEM format.
- enabled Boolean
- Whether mTLS is enabled.
- principalMapping List<String>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
ClusterKafkaApi, ClusterKafkaApiArgs      
- Mtls
ClusterKafka Api Mtls 
- mTLS configuration.
- SeedBrokers List<string>
- List of Kafka broker addresses.
- Mtls
ClusterKafka Api Mtls 
- mTLS configuration.
- SeedBrokers []string
- List of Kafka broker addresses.
- mtls
ClusterKafka Api Mtls 
- mTLS configuration.
- seedBrokers List<String>
- List of Kafka broker addresses.
- mtls
ClusterKafka Api Mtls 
- mTLS configuration.
- seedBrokers string[]
- List of Kafka broker addresses.
- mtls
ClusterKafka Api Mtls 
- mTLS configuration.
- seed_brokers Sequence[str]
- List of Kafka broker addresses.
- mtls Property Map
- mTLS configuration.
- seedBrokers List<String>
- List of Kafka broker addresses.
ClusterKafkaApiMtls, ClusterKafkaApiMtlsArgs        
- CaCertificates List<string>Pems 
- CA certificate in PEM format.
- Enabled bool
- Whether mTLS is enabled.
- PrincipalMapping List<string>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- CaCertificates []stringPems 
- CA certificate in PEM format.
- Enabled bool
- Whether mTLS is enabled.
- PrincipalMapping []stringRules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates List<String>Pems 
- CA certificate in PEM format.
- enabled Boolean
- Whether mTLS is enabled.
- principalMapping List<String>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates string[]Pems 
- CA certificate in PEM format.
- enabled boolean
- Whether mTLS is enabled.
- principalMapping string[]Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- ca_certificates_ Sequence[str]pems 
- CA certificate in PEM format.
- enabled bool
- Whether mTLS is enabled.
- principal_mapping_ Sequence[str]rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates List<String>Pems 
- CA certificate in PEM format.
- enabled Boolean
- Whether mTLS is enabled.
- principalMapping List<String>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
ClusterKafkaConnect, ClusterKafkaConnectArgs      
- Enabled bool
- Whether Kafka Connect is enabled.
- Enabled bool
- Whether Kafka Connect is enabled.
- enabled Boolean
- Whether Kafka Connect is enabled.
- enabled boolean
- Whether Kafka Connect is enabled.
- enabled bool
- Whether Kafka Connect is enabled.
- enabled Boolean
- Whether Kafka Connect is enabled.
ClusterMaintenanceWindowConfig, ClusterMaintenanceWindowConfigArgs        
- Anytime bool
- If true, maintenance can occur at any time.
- DayHour ClusterMaintenance Window Config Day Hour 
- Unspecified bool
- If true, maintenance window is unspecified.
- Anytime bool
- If true, maintenance can occur at any time.
- DayHour ClusterMaintenance Window Config Day Hour 
- Unspecified bool
- If true, maintenance window is unspecified.
- anytime Boolean
- If true, maintenance can occur at any time.
- dayHour ClusterMaintenance Window Config Day Hour 
- unspecified Boolean
- If true, maintenance window is unspecified.
- anytime boolean
- If true, maintenance can occur at any time.
- dayHour ClusterMaintenance Window Config Day Hour 
- unspecified boolean
- If true, maintenance window is unspecified.
- anytime bool
- If true, maintenance can occur at any time.
- day_hour ClusterMaintenance Window Config Day Hour 
- unspecified bool
- If true, maintenance window is unspecified.
- anytime Boolean
- If true, maintenance can occur at any time.
- dayHour Property Map
- unspecified Boolean
- If true, maintenance window is unspecified.
ClusterMaintenanceWindowConfigDayHour, ClusterMaintenanceWindowConfigDayHourArgs            
- day_of_ strweek 
- Day of week.
- hour_of_ floatday 
- Hour of day.
ClusterPrometheus, ClusterPrometheusArgs    
- Url string
- The Prometheus metrics endpoint URL.
- Url string
- The Prometheus metrics endpoint URL.
- url String
- The Prometheus metrics endpoint URL.
- url string
- The Prometheus metrics endpoint URL.
- url str
- The Prometheus metrics endpoint URL.
- url String
- The Prometheus metrics endpoint URL.
ClusterRedpandaConsole, ClusterRedpandaConsoleArgs      
- Url string
- The Redpanda Console URL.
- Url string
- The Redpanda Console URL.
- url String
- The Redpanda Console URL.
- url string
- The Redpanda Console URL.
- url str
- The Redpanda Console URL.
- url String
- The Redpanda Console URL.
ClusterSchemaRegistry, ClusterSchemaRegistryArgs      
- Mtls
ClusterSchema Registry Mtls 
- mTLS configuration.
- Url string
- The Schema Registry URL.
- Mtls
ClusterSchema Registry Mtls 
- mTLS configuration.
- Url string
- The Schema Registry URL.
- mtls
ClusterSchema Registry Mtls 
- mTLS configuration.
- url String
- The Schema Registry URL.
- mtls
ClusterSchema Registry Mtls 
- mTLS configuration.
- url string
- The Schema Registry URL.
- mtls
ClusterSchema Registry Mtls 
- mTLS configuration.
- url str
- The Schema Registry URL.
- mtls Property Map
- mTLS configuration.
- url String
- The Schema Registry URL.
ClusterSchemaRegistryMtls, ClusterSchemaRegistryMtlsArgs        
- CaCertificates List<string>Pems 
- CA certificate in PEM format.
- Enabled bool
- Whether mTLS is enabled.
- PrincipalMapping List<string>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- CaCertificates []stringPems 
- CA certificate in PEM format.
- Enabled bool
- Whether mTLS is enabled.
- PrincipalMapping []stringRules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates List<String>Pems 
- CA certificate in PEM format.
- enabled Boolean
- Whether mTLS is enabled.
- principalMapping List<String>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates string[]Pems 
- CA certificate in PEM format.
- enabled boolean
- Whether mTLS is enabled.
- principalMapping string[]Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- ca_certificates_ Sequence[str]pems 
- CA certificate in PEM format.
- enabled bool
- Whether mTLS is enabled.
- principal_mapping_ Sequence[str]rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
- caCertificates List<String>Pems 
- CA certificate in PEM format.
- enabled Boolean
- Whether mTLS is enabled.
- principalMapping List<String>Rules 
- Principal mapping rules for mTLS authentication. See the Redpanda documentation on configuring authentication.
ClusterStateDescription, ClusterStateDescriptionArgs      
Import
$ pulumi import redpanda:index/cluster:Cluster example clusterId
To learn more about importing existing cloud resources, see Importing resources.
Package Details
- Repository
- redpanda redpanda-data/terraform-provider-redpanda
- License
- Notes
- This Pulumi package is based on the redpandaTerraform Provider.