<a id="confluent-pulumi-provider"></a>

# Confluent Cloud Provider for Pulumi

Use Pulumi with Confluent Cloud to provision and manage Apache Kafka® clusters and other
resources using standard programming languages instead of domain-specific
configuration files.
[Pulumi](http://pulumi.com/) is an open source infrastructure-as-code tool
that uses popular programming languages to provision and manage cloud
resources. The
[Confluent Cloud provider for Pulumi](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/)
is built on the official [Confluent Terraform Provider for Confluent Cloud](terraform-provider.md#confluent-terraform-provider) and supports
TypeScript, JavaScript, Python, Go, .NET, Java, and YAML.

## Using the Confluent Cloud provider for Pulumi

The Confluent Cloud provider for Pulumi lets you provision environments and Kafka
clusters using C#, TypeScript, Python, Go, Java, or YAML. The following
example provisions a Confluent Cloud environment and a Kafka cluster using C#:

```csharp
public void CreateEnvironment(
    string envName,
    string clusterName)
{
    EnvironmentArgs args = new()
    {
        DisplayName = envName
    };

    Pulumi.ConfluentCloud.Environment env = new(envName, args);

    KafkaClusterEnvironmentArgs clusterEnvArgs = new()
    {
        Id = env.Id
    };

    KafkaClusterArgs clusterArgs = new()
    {
        Availability = "SINGLE_ZONE",
        Basics = new KafkaClusterBasicArgs(),
        Cloud = "AWS",
        DisplayName = clusterName,
        Environment = clusterEnvArgs,
        Region = "us-west-2",
    };

    KafkaCluster cluster = new(clusterName, clusterArgs);
}
```

### Resources you can manage

You can manage the following Confluent Cloud resources using the Pulumi provider:

- [API keys](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/apikey)
- [Connectors](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/connector)
- [Confluent Cloud Environments](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/environment/)
- [Kafka ACLs](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/kafkaacl/)
- [Kafka clusters](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/kafkacluster/)
- [Kafka topics](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/kafkatopic/)
- [Networks](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/network/)
- [Peering networks](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/peering/)
- [Private Link Access](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/privatelinkaccess/)
- [Role bindings](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/rolebinding/)
- [Service accounts](https://www.pulumi.com/registry/packages/confluentcloud/api-docs/serviceaccount/)

## Get started with Pulumi

To start using Pulumi with Confluent Cloud:

1. [Get started with Pulumi](https://www.pulumi.com/docs/get-started/).
2. Install the [Confluent Cloud provider for Pulumi](https://www.pulumi.com/registry/packages/confluentcloud/).

## Related content

- [Pulumi Documentation](https://www.pulumi.com/docs/)
- [Confluent Terraform Provider for Confluent Cloud](terraform-provider.md#confluent-terraform-provider)
- [Kafka Cluster Types in Confluent Cloud](cluster-types.md#cloud-cluster-types)
