plugin-twilio-infra
Plugin for the Twilio CLI to integrate Pulumi and Twilio in order to create, deploy, and manage Twilio infrastructure using code.
This plugin adds the infra
command to the Twilio CLI. It integrates Pulumi with Twilio and consists of subcommands that let you create, deploy, and manage Twilio infrastructure via code.
Requirements
Install the Pulumi CLI
To get started with the Pulumi CLI, check out the Download and Install page.
Also, you need a backend storage system to keep your infrastructure state. The options are:
- The Pulumi Service backend
- A self-managed backend, either stored locally on your filesystem or remotely using a cloud storage service
See State and Backends for more details.
For quick testing, you can easily create a free Pulumi account and run pulumi login
to your storage backend.
Install the Twilio CLI
Via npm
or yarn
:
$ npm install -g twilio-cli
$ yarn global add twilio-cli
Via homebrew
:
$ brew tap twilio/brew && brew install twilio
Link the Twilio CLI Infra Plugin
To get started, run npm install
to install the plugin package dependencies. Afterwards, run the following command:
$ twilio plugins:install plugin-twilio-infra
You can now start using the twilio infra
commands on your machine.
Usage
$ twilio infra --help
USAGE
$ twilio infra
...
Commands
-
twilio infra:new
: Creates a new project using Pulumi provider -
twilio infra:deploy
: Deploys and updates resources described in this directory to a Twilio project. Additional environment variables can be defined using.env
files -
twilio infra:preview
: Previews changes without deploying them to your Twilio project -
twilio infra:destroy
: Destroy deployed resources associated to a specific environment -
twilio infra:environment:new
: Create a new environment for the current Twilio project -
twilio infra:environment:set
: Get the deployment environment set for the current project -
twilio infra:environment:get
: Set the deployment environment for the current project
To see the usage details and options for each subcommand, run twilio infra:<subcommand> --help
.
Environment variables
Environment variables used by the infra
commands can be store in a .env
file. Each deployment environment can have his own file. The env
file needs to be placed in the directory where the infra command is executed and it needs to respect the following naming convention:
.env.<environment name>
For example, if your environment is called dev
the file needs to be called:
.env.dev
.env
file without suffix will not be loaded automatically by the CLI plugin.
Contributing
This project welcomes contributions from the community. Please see the CONTRIBUTING.md
file for more details.
Code of Conduct
Please be aware that this project has a Code of Conduct. The tldr; is to just be excellent to each other
Acknowledgment and thanks
This plugin is based on the Twilio CLI Serverless Plugin repository. A big thank you to everyone involved in that project! #WeBuild
License
MIT