Control Plane v0.0.57 published on Friday, Apr 25, 2025 by pulumiverse
Control Plane (cpln): Installation & Configuration
Installation
The Pulumi Control Plane (cpln) provider is available as a package in all Pulumi languages:
- JavaScript/TypeScript:
@pulumiserve/cpln - Python:
pulumiverse-cpln - Go:
github.com/pulumiverse/pulumi-cpln/sdk/go/cpln - .NET:
Pulumiverse.cpln
Setup
To provision resources with the Pulumi Control Plane (cpln) provider, you need to authenticate with one of the available options.
- CLI
- Install the CLI and execute the command
cpln login. After a successful login, the Pulumi provider will use thedefaultprofile to authenticate. To use a different profile, set theprofilevariable when initializing the provider or set theCPLN_PROFILEenvironment variable.
- Install the CLI and execute the command
- Token
- The
tokenvariable can be set when initializing the provider or by setting theCPLN_TOKENenvironment variable. - The value of
tokencan be either:- The output of running the command
cpln profile token PROFILE_NAME, or - In the case of a Service Account, the value of one of it’s keys
- The output of running the command
- The
- Refresh Token
- The
refreshTokenvariable is used when the provider is required to create an org or update theauthConfigproperty using theOrgresource. TherefreshTokenvariable can be set when initializing the provider or by setting theCPLN_REFRESH_TOKENenvironment variable. - When creating an org, the
refreshTokenmust belong to a user that has the org_creator role for the associated account. - When updating the org
authConfigproperty, therefreshTokenmust belong to a user that was authenticated using SAML. - The
refreshTokencan be obtained by following these steps:- Using the CLI, authenticate with a user account by executing
cpln login. - Browser to the path
~/.config/cpln/profiles. This path will contain JSON files corresponding to the name of the profile (i.e.,default.json). - The contents of the JSON file will contain a key named
refreshToken. Use the value of this key for therefreshTokenvariable.
- Using the CLI, authenticate with a user account by executing
- The
To perform automated tasks using Pulumi, the preferred method is to use a Service Account and one of it’s keys as the token value.
Configuration Options
Use pulumi config set cpln:<option>.
| Option | Required/Optional | Description |
|---|---|---|
org | Required | The Control Plane org that this provider will perform actions against. Can be specified with the CPLN_ORG environment variable. |
endpoint | Optional | The Control Plane Data Service API endpoint. Default is: https://api.cpln.io. Can be specified with the CPLN_ENDPOINT environment variable. |
profile | Optional | The user/service account profile that this provider will use to authenticate to the data service. Can be specified with the CPLN_PROFILE environment variable. |
token | Optional | A generated token that can be used to authenticate to the data service API. Can be specified with the CPLN_TOKEN environment variable |
refreshToken | Optional | A generated token that can be used to authenticate to the data service API. Can be specified with the CPLN_REFRESH_TOKEN environment variable. Used when the provider is required to create an org or update the authConfig property. |