The Control Plane Pulumi provider lets you manage Control Plane resources as code across JavaScript/TypeScript, Python, Go, and .NET (C#).

See full resource & data source reference on the Control Plane Pulumi Registry.

Install Pulumi CLI

choco install pulumi

Need a different installer or hit an error? Check Pulumi’s download & install guide for platform-specific binaries, installer options, and troubleshooting tips: Pulumi Download & Install

Login to Manage Pulumi State

By default, Pulumi stores state in the Pulumi Service. To authenticate:

pulumi login

This opens a browser to sign in.

Create a New Pulumi Project

1

Create Directory

Create an empty directory, e.g:

mkdir pulumi-cpln-infra && cd pulumi-cpln-infra
2

Initialize Project

Run the Pulumi project initializer:

pulumi new javascript
3

Select Language

From the list of templates, choose your language (TypeScript, Python, Go, .NET (C#)).

4

Project Name

Enter a project name (e.g. pulumi-cpln-infra).

5

Stack Name

Accept or change the default stack name (dev).

The initializer will scaffold a basic project for your chosen language; you’ll add the Control Plane provider next.

Install the Control Plane Provider

# npm
npm install @pulumiverse/cpln

# yarn
yarn add @pulumiverse/cpln

# pnpm
pnpm add @pulumiverse/cpln

Upgrading the Provider

Keep your Pulumi Control Plane provider up to date by upgrading the package in your project:

# npm
npm install @pulumiverse/cpln@latest

# yarn
yarn upgrade @pulumiverse/cpln@latest

# pnpm
pnpm add @pulumiverse/cpln@latest
🔄 After upgrading, run pulumi up to apply any necessary changes.

Configure the Provider

For more configuration information refer to the Control Plane Installation & Configuration page.

Set your Control Plane proiver configuration:

# Required
pulumi config set cpln:org                   <your-org>

# Optional
pulumi config set cpln:endpoint              <api-endpoint-url>
pulumi config set cpln:profile               <profile-name>
pulumi config set --secret cpln:token        <your-token>
pulumi config set --secret cpln:refreshToken <your-refresh-token>

Using Environment Variables

You can also supply your Control Plane credentials via environment variables.

OptionEnv VarDefault
orgCPLN_ORGNone (Required)
endpointCPLN_ENDPOINThttps://api.cpln.io (Optional)
profileCPLN_PROFILEThe default CLI profile (Optional)
tokenCPLN_TOKENNone (Optional)
refreshTokenCPLN_REFRESH_TOKENNone (Optional)

Create & Deploy a Resource

Defining Resource

Edit the generated code (e.g. index.ts, __main__.py, main.go, Program.cs) to define a resource.

import * as pulumi from '@pulumi/pulumi';
import * as cpln from '@pulumiverse/cpln';

const gvc = new cpln.Gvc('example', {
  name: 'example',
  // …other args
});

Refer to the Pulumi GVC resource documentation page for the full list of args.

Deploying Resource

Run the following command to deploy your resources to the Control Plane platform:

pulumi up

Destroying Resource

When you need to tear down your Control Plane infrastructure, run the following command:

pulumi destroy

Removing the Stack

After destroying resources, you can delete the stack itself:

pulumi stack rm

Migrating from Terraform

If you’re moving existing Terraform projects to Pulumi, you can:

1

Convert HCL to Pulumi Code

Ensure your Terraform configuration files are in the current working directory, then run the converter:

pulumi convert --from terraform --language javascript --out pulumi-cpln-infra-javascript
2

Create a New Pulumi Stack

Before importing your Terraform state, initialize (or select) a Pulumi stack to hold it. Replace <stackName> with your desired name (e.g. migrate):

pulumi stack init migrate
3

Import Terraform State

Specify the correct path to your Terraform state file, then run the import command:

pulumi import --from terraform /path/to/terraform.tfstate

Replace /path/to/terraform.tfstate with the location of your state file. This reads the specified state and merges its resources into your Pulumi stack’s state.

4

Review Code

Review and refine the generated Pulumi code.

For full details, examples, and advanced workflows, see the Pulumi guide on Migrating from Terraform to Pulumi.

Next Steps

Dive into all Control Plane resources & data sources at the Control Plane Pulumi Registry. Check the registry docs regularly for new releases, resources, and data sources.