1. Packages
  2. Scaleway
  3. API Docs
  4. kafka
  5. Cluster
Viewing docs for Scaleway v1.44.1
published on Monday, Mar 9, 2026 by pulumiverse
scaleway logo
Viewing docs for Scaleway v1.44.1
published on Monday, Mar 9, 2026 by pulumiverse

    Creates and manages Scaleway Kafka clusters. For more information refer to the product documentation.

    Important: The Kafka product is currently in Public Beta.

    Example Usage

    Basic

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = new scaleway.network.Vpc("main", {
        region: "fr-par",
        name: "my-vpc",
    });
    const pn = new scaleway.network.PrivateNetwork("pn", {
        name: "my-private-network",
        region: "fr-par",
        vpcId: main.id,
    });
    const mainCluster = new scaleway.kafka.Cluster("main", {
        name: "my-kafka-cluster",
        version: "3.9.0",
        nodeAmount: 1,
        nodeType: "KAFK-PLAY-NANO",
        volumeType: "sbs_5k",
        volumeSizeInGb: 10,
        userName: "admin",
        password: "thiZ_is_v&ry_s3cret",
        privateNetwork: {
            pnId: pn.id,
        },
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.network.Vpc("main",
        region="fr-par",
        name="my-vpc")
    pn = scaleway.network.PrivateNetwork("pn",
        name="my-private-network",
        region="fr-par",
        vpc_id=main.id)
    main_cluster = scaleway.kafka.Cluster("main",
        name="my-kafka-cluster",
        version="3.9.0",
        node_amount=1,
        node_type="KAFK-PLAY-NANO",
        volume_type="sbs_5k",
        volume_size_in_gb=10,
        user_name="admin",
        password="thiZ_is_v&ry_s3cret",
        private_network={
            "pn_id": pn.id,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kafka"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := network.NewVpc(ctx, "main", &network.VpcArgs{
    			Region: pulumi.String("fr-par"),
    			Name:   pulumi.String("my-vpc"),
    		})
    		if err != nil {
    			return err
    		}
    		pn, err := network.NewPrivateNetwork(ctx, "pn", &network.PrivateNetworkArgs{
    			Name:   pulumi.String("my-private-network"),
    			Region: pulumi.String("fr-par"),
    			VpcId:  main.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = kafka.NewCluster(ctx, "main", &kafka.ClusterArgs{
    			Name:           pulumi.String("my-kafka-cluster"),
    			Version:        pulumi.String("3.9.0"),
    			NodeAmount:     pulumi.Int(1),
    			NodeType:       pulumi.String("KAFK-PLAY-NANO"),
    			VolumeType:     pulumi.String("sbs_5k"),
    			VolumeSizeInGb: pulumi.Int(10),
    			UserName:       pulumi.String("admin"),
    			Password:       pulumi.String("thiZ_is_v&ry_s3cret"),
    			PrivateNetwork: &kafka.ClusterPrivateNetworkArgs{
    				PnId: pn.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Scaleway.Network.Vpc("main", new()
        {
            Region = "fr-par",
            Name = "my-vpc",
        });
    
        var pn = new Scaleway.Network.PrivateNetwork("pn", new()
        {
            Name = "my-private-network",
            Region = "fr-par",
            VpcId = main.Id,
        });
    
        var mainCluster = new Scaleway.Kafka.Cluster("main", new()
        {
            Name = "my-kafka-cluster",
            Version = "3.9.0",
            NodeAmount = 1,
            NodeType = "KAFK-PLAY-NANO",
            VolumeType = "sbs_5k",
            VolumeSizeInGb = 10,
            UserName = "admin",
            Password = "thiZ_is_v&ry_s3cret",
            PrivateNetwork = new Scaleway.Kafka.Inputs.ClusterPrivateNetworkArgs
            {
                PnId = pn.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.network.Vpc;
    import com.pulumi.scaleway.network.VpcArgs;
    import com.pulumi.scaleway.network.PrivateNetwork;
    import com.pulumi.scaleway.network.PrivateNetworkArgs;
    import com.pulumi.scaleway.kafka.Cluster;
    import com.pulumi.scaleway.kafka.ClusterArgs;
    import com.pulumi.scaleway.kafka.inputs.ClusterPrivateNetworkArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var main = new Vpc("main", VpcArgs.builder()
                .region("fr-par")
                .name("my-vpc")
                .build());
    
            var pn = new PrivateNetwork("pn", PrivateNetworkArgs.builder()
                .name("my-private-network")
                .region("fr-par")
                .vpcId(main.id())
                .build());
    
            var mainCluster = new Cluster("mainCluster", ClusterArgs.builder()
                .name("my-kafka-cluster")
                .version("3.9.0")
                .nodeAmount(1)
                .nodeType("KAFK-PLAY-NANO")
                .volumeType("sbs_5k")
                .volumeSizeInGb(10)
                .userName("admin")
                .password("thiZ_is_v&ry_s3cret")
                .privateNetwork(ClusterPrivateNetworkArgs.builder()
                    .pnId(pn.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      main:
        type: scaleway:network:Vpc
        properties:
          region: fr-par
          name: my-vpc
      pn:
        type: scaleway:network:PrivateNetwork
        properties:
          name: my-private-network
          region: fr-par
          vpcId: ${main.id}
      mainCluster:
        type: scaleway:kafka:Cluster
        name: main
        properties:
          name: my-kafka-cluster
          version: 3.9.0
          nodeAmount: 1
          nodeType: KAFK-PLAY-NANO
          volumeType: sbs_5k
          volumeSizeInGb: 10
          userName: admin
          password: thiZ_is_v&ry_s3cret
          privateNetwork:
            pnId: ${pn.id}
    

    With Tags

    import * as pulumi from "@pulumi/pulumi";
    import * as scaleway from "@pulumiverse/scaleway";
    
    const main = new scaleway.network.Vpc("main", {
        region: "fr-par",
        name: "my-vpc",
    });
    const pn = new scaleway.network.PrivateNetwork("pn", {
        name: "my-private-network",
        region: "fr-par",
        vpcId: main.id,
    });
    const mainCluster = new scaleway.kafka.Cluster("main", {
        name: "my-kafka-cluster",
        version: "3.9.0",
        nodeAmount: 1,
        nodeType: "KAFK-PLAY-NANO",
        volumeType: "sbs_5k",
        volumeSizeInGb: 10,
        userName: "admin",
        password: "thiZ_is_v&ry_s3cret",
        tags: [
            "production",
            "messaging",
        ],
        privateNetwork: {
            pnId: pn.id,
        },
    });
    
    import pulumi
    import pulumiverse_scaleway as scaleway
    
    main = scaleway.network.Vpc("main",
        region="fr-par",
        name="my-vpc")
    pn = scaleway.network.PrivateNetwork("pn",
        name="my-private-network",
        region="fr-par",
        vpc_id=main.id)
    main_cluster = scaleway.kafka.Cluster("main",
        name="my-kafka-cluster",
        version="3.9.0",
        node_amount=1,
        node_type="KAFK-PLAY-NANO",
        volume_type="sbs_5k",
        volume_size_in_gb=10,
        user_name="admin",
        password="thiZ_is_v&ry_s3cret",
        tags=[
            "production",
            "messaging",
        ],
        private_network={
            "pn_id": pn.id,
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/kafka"
    	"github.com/pulumiverse/pulumi-scaleway/sdk/go/scaleway/network"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		main, err := network.NewVpc(ctx, "main", &network.VpcArgs{
    			Region: pulumi.String("fr-par"),
    			Name:   pulumi.String("my-vpc"),
    		})
    		if err != nil {
    			return err
    		}
    		pn, err := network.NewPrivateNetwork(ctx, "pn", &network.PrivateNetworkArgs{
    			Name:   pulumi.String("my-private-network"),
    			Region: pulumi.String("fr-par"),
    			VpcId:  main.ID(),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = kafka.NewCluster(ctx, "main", &kafka.ClusterArgs{
    			Name:           pulumi.String("my-kafka-cluster"),
    			Version:        pulumi.String("3.9.0"),
    			NodeAmount:     pulumi.Int(1),
    			NodeType:       pulumi.String("KAFK-PLAY-NANO"),
    			VolumeType:     pulumi.String("sbs_5k"),
    			VolumeSizeInGb: pulumi.Int(10),
    			UserName:       pulumi.String("admin"),
    			Password:       pulumi.String("thiZ_is_v&ry_s3cret"),
    			Tags: pulumi.StringArray{
    				pulumi.String("production"),
    				pulumi.String("messaging"),
    			},
    			PrivateNetwork: &kafka.ClusterPrivateNetworkArgs{
    				PnId: pn.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Scaleway = Pulumiverse.Scaleway;
    
    return await Deployment.RunAsync(() => 
    {
        var main = new Scaleway.Network.Vpc("main", new()
        {
            Region = "fr-par",
            Name = "my-vpc",
        });
    
        var pn = new Scaleway.Network.PrivateNetwork("pn", new()
        {
            Name = "my-private-network",
            Region = "fr-par",
            VpcId = main.Id,
        });
    
        var mainCluster = new Scaleway.Kafka.Cluster("main", new()
        {
            Name = "my-kafka-cluster",
            Version = "3.9.0",
            NodeAmount = 1,
            NodeType = "KAFK-PLAY-NANO",
            VolumeType = "sbs_5k",
            VolumeSizeInGb = 10,
            UserName = "admin",
            Password = "thiZ_is_v&ry_s3cret",
            Tags = new[]
            {
                "production",
                "messaging",
            },
            PrivateNetwork = new Scaleway.Kafka.Inputs.ClusterPrivateNetworkArgs
            {
                PnId = pn.Id,
            },
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.scaleway.network.Vpc;
    import com.pulumi.scaleway.network.VpcArgs;
    import com.pulumi.scaleway.network.PrivateNetwork;
    import com.pulumi.scaleway.network.PrivateNetworkArgs;
    import com.pulumi.scaleway.kafka.Cluster;
    import com.pulumi.scaleway.kafka.ClusterArgs;
    import com.pulumi.scaleway.kafka.inputs.ClusterPrivateNetworkArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var main = new Vpc("main", VpcArgs.builder()
                .region("fr-par")
                .name("my-vpc")
                .build());
    
            var pn = new PrivateNetwork("pn", PrivateNetworkArgs.builder()
                .name("my-private-network")
                .region("fr-par")
                .vpcId(main.id())
                .build());
    
            var mainCluster = new Cluster("mainCluster", ClusterArgs.builder()
                .name("my-kafka-cluster")
                .version("3.9.0")
                .nodeAmount(1)
                .nodeType("KAFK-PLAY-NANO")
                .volumeType("sbs_5k")
                .volumeSizeInGb(10)
                .userName("admin")
                .password("thiZ_is_v&ry_s3cret")
                .tags(            
                    "production",
                    "messaging")
                .privateNetwork(ClusterPrivateNetworkArgs.builder()
                    .pnId(pn.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      main:
        type: scaleway:network:Vpc
        properties:
          region: fr-par
          name: my-vpc
      pn:
        type: scaleway:network:PrivateNetwork
        properties:
          name: my-private-network
          region: fr-par
          vpcId: ${main.id}
      mainCluster:
        type: scaleway:kafka:Cluster
        name: main
        properties:
          name: my-kafka-cluster
          version: 3.9.0
          nodeAmount: 1
          nodeType: KAFK-PLAY-NANO
          volumeType: sbs_5k
          volumeSizeInGb: 10
          userName: admin
          password: thiZ_is_v&ry_s3cret
          tags:
            - production
            - messaging
          privateNetwork:
            pnId: ${pn.id}
    

    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,
                node_amount: Optional[int] = None,
                node_type: Optional[str] = None,
                version: Optional[str] = None,
                volume_size_in_gb: Optional[int] = None,
                volume_type: Optional[str] = None,
                name: Optional[str] = None,
                password: Optional[str] = None,
                private_network: Optional[ClusterPrivateNetworkArgs] = None,
                project_id: Optional[str] = None,
                region: Optional[str] = None,
                tags: Optional[Sequence[str]] = None,
                user_name: Optional[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: scaleway:kafka: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 Scaleway.Kafka.Cluster("clusterResource", new()
    {
        NodeAmount = 0,
        NodeType = "string",
        Version = "string",
        VolumeSizeInGb = 0,
        VolumeType = "string",
        Name = "string",
        Password = "string",
        PrivateNetwork = new Scaleway.Kafka.Inputs.ClusterPrivateNetworkArgs
        {
            PnId = "string",
            DnsRecords = new[]
            {
                "string",
            },
            Id = "string",
            Port = 0,
        },
        ProjectId = "string",
        Region = "string",
        Tags = new[]
        {
            "string",
        },
        UserName = "string",
    });
    
    example, err := kafka.NewCluster(ctx, "clusterResource", &kafka.ClusterArgs{
    	NodeAmount:     pulumi.Int(0),
    	NodeType:       pulumi.String("string"),
    	Version:        pulumi.String("string"),
    	VolumeSizeInGb: pulumi.Int(0),
    	VolumeType:     pulumi.String("string"),
    	Name:           pulumi.String("string"),
    	Password:       pulumi.String("string"),
    	PrivateNetwork: &kafka.ClusterPrivateNetworkArgs{
    		PnId: pulumi.String("string"),
    		DnsRecords: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		Id:   pulumi.String("string"),
    		Port: pulumi.Int(0),
    	},
    	ProjectId: pulumi.String("string"),
    	Region:    pulumi.String("string"),
    	Tags: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	UserName: pulumi.String("string"),
    })
    
    var clusterResource = new com.pulumi.scaleway.kafka.Cluster("clusterResource", com.pulumi.scaleway.kafka.ClusterArgs.builder()
        .nodeAmount(0)
        .nodeType("string")
        .version("string")
        .volumeSizeInGb(0)
        .volumeType("string")
        .name("string")
        .password("string")
        .privateNetwork(ClusterPrivateNetworkArgs.builder()
            .pnId("string")
            .dnsRecords("string")
            .id("string")
            .port(0)
            .build())
        .projectId("string")
        .region("string")
        .tags("string")
        .userName("string")
        .build());
    
    cluster_resource = scaleway.kafka.Cluster("clusterResource",
        node_amount=0,
        node_type="string",
        version="string",
        volume_size_in_gb=0,
        volume_type="string",
        name="string",
        password="string",
        private_network={
            "pn_id": "string",
            "dns_records": ["string"],
            "id": "string",
            "port": 0,
        },
        project_id="string",
        region="string",
        tags=["string"],
        user_name="string")
    
    const clusterResource = new scaleway.kafka.Cluster("clusterResource", {
        nodeAmount: 0,
        nodeType: "string",
        version: "string",
        volumeSizeInGb: 0,
        volumeType: "string",
        name: "string",
        password: "string",
        privateNetwork: {
            pnId: "string",
            dnsRecords: ["string"],
            id: "string",
            port: 0,
        },
        projectId: "string",
        region: "string",
        tags: ["string"],
        userName: "string",
    });
    
    type: scaleway:kafka:Cluster
    properties:
        name: string
        nodeAmount: 0
        nodeType: string
        password: string
        privateNetwork:
            dnsRecords:
                - string
            id: string
            pnId: string
            port: 0
        projectId: string
        region: string
        tags:
            - string
        userName: string
        version: string
        volumeSizeInGb: 0
        volumeType: 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:

    NodeAmount int
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    NodeType string
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    Version string
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    VolumeSizeInGb int
    Volume size in GB. Changing this forces recreation of the cluster.
    VolumeType string
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    Name string
    Name of the Kafka cluster.
    Password string
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    PrivateNetwork Pulumiverse.Scaleway.Kafka.Inputs.ClusterPrivateNetwork
    Private network endpoint information.
    ProjectId string
    project_id) The ID of the project the cluster is associated with.
    Region string
    region) The region in which the cluster should be created.
    Tags List<string>
    List of tags to apply to the cluster.
    UserName string
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    NodeAmount int
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    NodeType string
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    Version string
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    VolumeSizeInGb int
    Volume size in GB. Changing this forces recreation of the cluster.
    VolumeType string
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    Name string
    Name of the Kafka cluster.
    Password string
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    PrivateNetwork ClusterPrivateNetworkArgs
    Private network endpoint information.
    ProjectId string
    project_id) The ID of the project the cluster is associated with.
    Region string
    region) The region in which the cluster should be created.
    Tags []string
    List of tags to apply to the cluster.
    UserName string
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    nodeAmount Integer
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    nodeType String
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    version String
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volumeSizeInGb Integer
    Volume size in GB. Changing this forces recreation of the cluster.
    volumeType String
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    name String
    Name of the Kafka cluster.
    password String
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    privateNetwork ClusterPrivateNetwork
    Private network endpoint information.
    projectId String
    project_id) The ID of the project the cluster is associated with.
    region String
    region) The region in which the cluster should be created.
    tags List<String>
    List of tags to apply to the cluster.
    userName String
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    nodeAmount number
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    nodeType string
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    version string
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volumeSizeInGb number
    Volume size in GB. Changing this forces recreation of the cluster.
    volumeType string
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    name string
    Name of the Kafka cluster.
    password string
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    privateNetwork ClusterPrivateNetwork
    Private network endpoint information.
    projectId string
    project_id) The ID of the project the cluster is associated with.
    region string
    region) The region in which the cluster should be created.
    tags string[]
    List of tags to apply to the cluster.
    userName string
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    node_amount int
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    node_type str
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    version str
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volume_size_in_gb int
    Volume size in GB. Changing this forces recreation of the cluster.
    volume_type str
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    name str
    Name of the Kafka cluster.
    password str
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    private_network ClusterPrivateNetworkArgs
    Private network endpoint information.
    project_id str
    project_id) The ID of the project the cluster is associated with.
    region str
    region) The region in which the cluster should be created.
    tags Sequence[str]
    List of tags to apply to the cluster.
    user_name str
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    nodeAmount Number
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    nodeType String
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    version String
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volumeSizeInGb Number
    Volume size in GB. Changing this forces recreation of the cluster.
    volumeType String
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    name String
    Name of the Kafka cluster.
    password String
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    privateNetwork Property Map
    Private network endpoint information.
    projectId String
    project_id) The ID of the project the cluster is associated with.
    region String
    region) The region in which the cluster should be created.
    tags List<String>
    List of tags to apply to the cluster.
    userName String
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.

    Outputs

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

    CreatedAt string
    Date and time of cluster creation (RFC 3339 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    PublicNetworks List<Pulumiverse.Scaleway.Kafka.Outputs.ClusterPublicNetwork>
    Public endpoint information.
    Status string
    The status of the cluster (e.g., "ready", "creating", "configuring").
    UpdatedAt string
    Date and time of cluster last update (RFC 3339 format).
    CreatedAt string
    Date and time of cluster creation (RFC 3339 format).
    Id string
    The provider-assigned unique ID for this managed resource.
    PublicNetworks []ClusterPublicNetwork
    Public endpoint information.
    Status string
    The status of the cluster (e.g., "ready", "creating", "configuring").
    UpdatedAt string
    Date and time of cluster last update (RFC 3339 format).
    createdAt String
    Date and time of cluster creation (RFC 3339 format).
    id String
    The provider-assigned unique ID for this managed resource.
    publicNetworks List<ClusterPublicNetwork>
    Public endpoint information.
    status String
    The status of the cluster (e.g., "ready", "creating", "configuring").
    updatedAt String
    Date and time of cluster last update (RFC 3339 format).
    createdAt string
    Date and time of cluster creation (RFC 3339 format).
    id string
    The provider-assigned unique ID for this managed resource.
    publicNetworks ClusterPublicNetwork[]
    Public endpoint information.
    status string
    The status of the cluster (e.g., "ready", "creating", "configuring").
    updatedAt string
    Date and time of cluster last update (RFC 3339 format).
    created_at str
    Date and time of cluster creation (RFC 3339 format).
    id str
    The provider-assigned unique ID for this managed resource.
    public_networks Sequence[ClusterPublicNetwork]
    Public endpoint information.
    status str
    The status of the cluster (e.g., "ready", "creating", "configuring").
    updated_at str
    Date and time of cluster last update (RFC 3339 format).
    createdAt String
    Date and time of cluster creation (RFC 3339 format).
    id String
    The provider-assigned unique ID for this managed resource.
    publicNetworks List<Property Map>
    Public endpoint information.
    status String
    The status of the cluster (e.g., "ready", "creating", "configuring").
    updatedAt String
    Date and time of cluster last update (RFC 3339 format).

    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,
            created_at: Optional[str] = None,
            name: Optional[str] = None,
            node_amount: Optional[int] = None,
            node_type: Optional[str] = None,
            password: Optional[str] = None,
            private_network: Optional[ClusterPrivateNetworkArgs] = None,
            project_id: Optional[str] = None,
            public_networks: Optional[Sequence[ClusterPublicNetworkArgs]] = None,
            region: Optional[str] = None,
            status: Optional[str] = None,
            tags: Optional[Sequence[str]] = None,
            updated_at: Optional[str] = None,
            user_name: Optional[str] = None,
            version: Optional[str] = None,
            volume_size_in_gb: Optional[int] = None,
            volume_type: Optional[str] = None) -> Cluster
    func 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: scaleway:kafka: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.
    The following state arguments are supported:
    CreatedAt string
    Date and time of cluster creation (RFC 3339 format).
    Name string
    Name of the Kafka cluster.
    NodeAmount int
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    NodeType string
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    Password string
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    PrivateNetwork Pulumiverse.Scaleway.Kafka.Inputs.ClusterPrivateNetwork
    Private network endpoint information.
    ProjectId string
    project_id) The ID of the project the cluster is associated with.
    PublicNetworks List<Pulumiverse.Scaleway.Kafka.Inputs.ClusterPublicNetwork>
    Public endpoint information.
    Region string
    region) The region in which the cluster should be created.
    Status string
    The status of the cluster (e.g., "ready", "creating", "configuring").
    Tags List<string>
    List of tags to apply to the cluster.
    UpdatedAt string
    Date and time of cluster last update (RFC 3339 format).
    UserName string
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    Version string
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    VolumeSizeInGb int
    Volume size in GB. Changing this forces recreation of the cluster.
    VolumeType string
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    CreatedAt string
    Date and time of cluster creation (RFC 3339 format).
    Name string
    Name of the Kafka cluster.
    NodeAmount int
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    NodeType string
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    Password string
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    PrivateNetwork ClusterPrivateNetworkArgs
    Private network endpoint information.
    ProjectId string
    project_id) The ID of the project the cluster is associated with.
    PublicNetworks []ClusterPublicNetworkArgs
    Public endpoint information.
    Region string
    region) The region in which the cluster should be created.
    Status string
    The status of the cluster (e.g., "ready", "creating", "configuring").
    Tags []string
    List of tags to apply to the cluster.
    UpdatedAt string
    Date and time of cluster last update (RFC 3339 format).
    UserName string
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    Version string
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    VolumeSizeInGb int
    Volume size in GB. Changing this forces recreation of the cluster.
    VolumeType string
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    createdAt String
    Date and time of cluster creation (RFC 3339 format).
    name String
    Name of the Kafka cluster.
    nodeAmount Integer
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    nodeType String
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    password String
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    privateNetwork ClusterPrivateNetwork
    Private network endpoint information.
    projectId String
    project_id) The ID of the project the cluster is associated with.
    publicNetworks List<ClusterPublicNetwork>
    Public endpoint information.
    region String
    region) The region in which the cluster should be created.
    status String
    The status of the cluster (e.g., "ready", "creating", "configuring").
    tags List<String>
    List of tags to apply to the cluster.
    updatedAt String
    Date and time of cluster last update (RFC 3339 format).
    userName String
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    version String
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volumeSizeInGb Integer
    Volume size in GB. Changing this forces recreation of the cluster.
    volumeType String
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    createdAt string
    Date and time of cluster creation (RFC 3339 format).
    name string
    Name of the Kafka cluster.
    nodeAmount number
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    nodeType string
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    password string
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    privateNetwork ClusterPrivateNetwork
    Private network endpoint information.
    projectId string
    project_id) The ID of the project the cluster is associated with.
    publicNetworks ClusterPublicNetwork[]
    Public endpoint information.
    region string
    region) The region in which the cluster should be created.
    status string
    The status of the cluster (e.g., "ready", "creating", "configuring").
    tags string[]
    List of tags to apply to the cluster.
    updatedAt string
    Date and time of cluster last update (RFC 3339 format).
    userName string
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    version string
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volumeSizeInGb number
    Volume size in GB. Changing this forces recreation of the cluster.
    volumeType string
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    created_at str
    Date and time of cluster creation (RFC 3339 format).
    name str
    Name of the Kafka cluster.
    node_amount int
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    node_type str
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    password str
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    private_network ClusterPrivateNetworkArgs
    Private network endpoint information.
    project_id str
    project_id) The ID of the project the cluster is associated with.
    public_networks Sequence[ClusterPublicNetworkArgs]
    Public endpoint information.
    region str
    region) The region in which the cluster should be created.
    status str
    The status of the cluster (e.g., "ready", "creating", "configuring").
    tags Sequence[str]
    List of tags to apply to the cluster.
    updated_at str
    Date and time of cluster last update (RFC 3339 format).
    user_name str
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    version str
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volume_size_in_gb int
    Volume size in GB. Changing this forces recreation of the cluster.
    volume_type str
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.
    createdAt String
    Date and time of cluster creation (RFC 3339 format).
    name String
    Name of the Kafka cluster.
    nodeAmount Number
    Number of nodes in the cluster. Changing this forces recreation of the cluster.
    nodeType String
    Node type to use for the cluster. Changing this forces recreation of the cluster.
    password String
    Password for the Kafka user. Required if user_name is specified. Changing this forces recreation of the cluster.
    privateNetwork Property Map
    Private network endpoint information.
    projectId String
    project_id) The ID of the project the cluster is associated with.
    publicNetworks List<Property Map>
    Public endpoint information.
    region String
    region) The region in which the cluster should be created.
    status String
    The status of the cluster (e.g., "ready", "creating", "configuring").
    tags List<String>
    List of tags to apply to the cluster.
    updatedAt String
    Date and time of cluster last update (RFC 3339 format).
    userName String
    Username for the Kafka user. If not specified, no user will be created. Changing this forces recreation of the cluster.
    version String
    Kafka version to use (e.g., "3.9.0"). Changing this forces recreation of the cluster.
    volumeSizeInGb Number
    Volume size in GB. Changing this forces recreation of the cluster.
    volumeType String
    Type of volume where data is stored (e.g., <span pulumi-lang-nodejs=""sbs5k"" pulumi-lang-dotnet=""Sbs5k"" pulumi-lang-go=""sbs5k"" pulumi-lang-python=""sbs_5k"" pulumi-lang-yaml=""sbs5k"" pulumi-lang-java=""sbs5k"">"sbs_5k", <span pulumi-lang-nodejs=""sbs15k"" pulumi-lang-dotnet=""Sbs15k"" pulumi-lang-go=""sbs15k"" pulumi-lang-python=""sbs_15k"" pulumi-lang-yaml=""sbs15k"" pulumi-lang-java=""sbs15k"">"sbs_15k"). Changing this forces recreation of the cluster.

    Supporting Types

    ClusterPrivateNetwork, ClusterPrivateNetworkArgs

    PnId string
    The private network ID (same as input).
    DnsRecords List<string>
    List of DNS records for the private endpoint.
    Id string
    The ID of the private endpoint.
    Port int
    TCP port number.
    PnId string
    The private network ID (same as input).
    DnsRecords []string
    List of DNS records for the private endpoint.
    Id string
    The ID of the private endpoint.
    Port int
    TCP port number.
    pnId String
    The private network ID (same as input).
    dnsRecords List<String>
    List of DNS records for the private endpoint.
    id String
    The ID of the private endpoint.
    port Integer
    TCP port number.
    pnId string
    The private network ID (same as input).
    dnsRecords string[]
    List of DNS records for the private endpoint.
    id string
    The ID of the private endpoint.
    port number
    TCP port number.
    pn_id str
    The private network ID (same as input).
    dns_records Sequence[str]
    List of DNS records for the private endpoint.
    id str
    The ID of the private endpoint.
    port int
    TCP port number.
    pnId String
    The private network ID (same as input).
    dnsRecords List<String>
    List of DNS records for the private endpoint.
    id String
    The ID of the private endpoint.
    port Number
    TCP port number.

    ClusterPublicNetwork, ClusterPublicNetworkArgs

    DnsRecords List<string>
    List of DNS records for the private endpoint.
    Id string
    The ID of the private endpoint.
    Port int
    TCP port number.
    DnsRecords []string
    List of DNS records for the private endpoint.
    Id string
    The ID of the private endpoint.
    Port int
    TCP port number.
    dnsRecords List<String>
    List of DNS records for the private endpoint.
    id String
    The ID of the private endpoint.
    port Integer
    TCP port number.
    dnsRecords string[]
    List of DNS records for the private endpoint.
    id string
    The ID of the private endpoint.
    port number
    TCP port number.
    dns_records Sequence[str]
    List of DNS records for the private endpoint.
    id str
    The ID of the private endpoint.
    port int
    TCP port number.
    dnsRecords List<String>
    List of DNS records for the private endpoint.
    id String
    The ID of the private endpoint.
    port Number
    TCP port number.

    Import

    Kafka clusters can be imported using the {region}/{id}, e.g.

    bash

    $ pulumi import scaleway:kafka/cluster:Cluster main fr-par/11111111-1111-1111-1111-111111111111
    

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

    Package Details

    Repository
    scaleway pulumiverse/pulumi-scaleway
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the scaleway Terraform Provider.
    scaleway logo
    Viewing docs for Scaleway v1.44.1
    published on Monday, Mar 9, 2026 by pulumiverse
      Try Pulumi Cloud free. Your team will thank you.