Create a New Project
Now that you have set up your environment by installing Pulumi, installing your preferred language runtime, and configuring your AWS credentials, let’s create your first Pulumi program.
$ mkdir quickstart && cd quickstart $ pulumi new aws-typescript
$ mkdir quickstart && cd quickstart $ pulumi new aws-python
$ mkdir quickstart && cd quickstart $ pulumi new aws-go
$ mkdir quickstart && cd quickstart $ pulumi new aws-csharp
$ mkdir quickstart && cd quickstart $ pulumi new aws-java
$ mkdir quickstart && cd quickstart $ pulumi new aws-yaml
pulumi new command creates a new Pulumi project with some basic scaffolding based on the cloud and language specified.
If this is your first time running
pulumi new or other
pulumi commands, you may be prompted to log in to the
Pulumi Service. The Pulumi CLI and Pulumi Service work in tandem
to deliver a reliable experience. It's free for individual use, with features available for teams, and
self-managed options are also available. Hitting Enter at the prompt opens a browser for you to sign in or
After logging in, the CLI will proceed with walking you through creating a new project.
First, you will be asked for a project name and project description. Hit
ENTER to accept the default values or specify new values.
This command will walk you through creating a new Pulumi project. Enter a value or leave blank to accept the (default), and press <ENTER>. Press ^C at any time to quit. project name: (quickstart) project description: (A minimal AWS Pulumi program) Created project 'quickstart'
Next, you will be asked for a stack name. Hit
ENTER to accept the default value of
Please enter your desired stack name. To create a stack in an organization, use the format <org-name>/<stack-name> (e.g. `acmecorp/dev`). stack name: (dev) Created stack 'dev'
Finally, you will be prompted for some configuration values for the stack. For AWS projects, you will be prompted for the AWS region. You can accept the default value or choose another value like
aws:region: The AWS region to deploy into: (us-west-2) Saved config
What are projects and stacks? Pulumi projects and stacks let you organize Pulumi code. Consider a Pulumi project to be analogous to a GitHub repo—a single place for code—and a stack to be an instance of that code with a separate configuration. For instance, Project Foo may have multiple stacks for different development environments (Dev, Test, or Prod), or perhaps for different cloud configurations (geographic region for example). See Organizing Projects and Stacks for some best practices on organizing your Pulumi projects and stacks.
Next, we’ll review the generated project files.