Before You Begin
Before you get started using Pulumi, let’s run through a few quick steps to ensure your environment is setup correctly.
Install Pulumi on macOS through Homebrew:
$ brew install pulumi
Install Pulumi on Linux by running the installation script:
$ curl -fsSL https://get.pulumi.com | sh
Install Pulumi on Windows using elevated permissions through the Chocolatey package manager:
> choco install pulumi
All Windows examples in this tutorial assume you are running in PowerShell.
For alternative installation instructions (e.g. script-based installation, binaries, etc.) or troubleshooting, see Download and Install.
Next, install the required language runtime, if you have not already.
Install Language Runtime
Choose Your Language
If you're having trouble setting up Node.js up on your machine, see Installing Node.js via Package Manager for alternative installation options.
Install Python version 3.6 or later. To reduce potential issues with setting up your Python environment on Windows or macOS, you should install Python through the official Python installer.
pip is required to install dependencies. If you installed Python from source, with an installer
from python.org, or via
Homebrew you should already have
If Python is installed using your OS package manager, you may have to install
see Installing pip/setuptools/wheel with Linux Package Managers. For example, on Debian/Ubuntu you must run
sudo apt install python3-venv python3-pip.
If you're having trouble setting up Python on your machine, see Python 3 Installation & Setup Guide for detailed installation instructions on various operating systems and distributions.
Install .NET Core 3.1 SDK or later.
Pulumi will need the
dotnet executable in order to build and run your Pulumi .NET
application. Ensure that the
dotnet executable can be found on your path after
Finally, configure Pulumi with Google Cloud.
Configure Pulumi to access your Google Cloud account
Pulumi requires cloud credentials to manage and provision resources. You must use an IAM user or service account that has Programmatic access with rights to deploy and manage your Google Cloud resources.
In this guide, you will need an IAM user account with permissions that can create and populate a Cloud Storage bucket, such as those in the predefined Storage Admin (
roles/storage.admin) or the Storage Legacy Bucket Owner (
gcloud is not configured to interact with your Google Cloud project, set it through the
gcloud config set project <YOUR_GCP_PROJECT_HERE>
Next, Pulumi requires default application credentials to interact with your Google Cloud resources, so run
auth application-default login command to obtain those credentials.
gcloud auth application-default login
For additional information on setting and using Google Cloud credentials, see Google Cloud Setup.
Next, you’ll create a new project.