Pulumi & Google Cloud: Review project
Let’s review some of the generated project files:
Pulumi.yaml
defines the project.
Pulumi.yaml
defines both the project and the program that manages your stack resources.
Pulumi.dev.yaml
contains configuration values for the stack you initialized.
src/main/java/myproject
defines the project’s Java package root.
__main__.py
is the Pulumi program that defines your stack resources.
is the Pulumi program that defines your stack resources.index.js
index.ts
main.py
main.go
Program.cs
Program.fs
Program.vb
App.java
Pulumi.yaml
Let’s examine index.js
index.ts
__main__.py
main.go
Program.cs
Program.fs
Program.vb
App.java
Pulumi.yaml
"use strict";
const pulumi = require("@pulumi/pulumi");
const gcp = require("@pulumi/gcp");
// Create a Google Cloud resource (Storage Bucket)
const bucket = new gcp.storage.Bucket("my-bucket", {
location: "US"
});
// Export the DNS name of the bucket
exports.bucketName = bucket.url;
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
// Create a Google Cloud resource (Storage Bucket)
const bucket = new gcp.storage.Bucket("my-bucket", {
location: "US",
});
// Export the DNS name of the bucket
export const bucketName = bucket.url;
import pulumi
from pulumi_gcp import storage
# Create a Google Cloud resource (Storage Bucket)
bucket = storage.Bucket("my-bucket", location="US")
# Export the DNS name of the bucket
pulumi.export("bucket_name", bucket.url)
package main
import (
"github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/storage"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
// Create a Google Cloud resource (Storage Bucket)
bucket, err := storage.NewBucket(ctx, "my-bucket", &storage.BucketArgs{
Location: pulumi.String("US"),
})
if err != nil {
return err
}
// Export the DNS name of the bucket
ctx.Export("bucketName", bucket.Url)
return nil
})
}
using Pulumi;
using Pulumi.Gcp.Storage;
using System.Collections.Generic;
return await Deployment.RunAsync(() =>
{
// Create a Google Cloud resource (Storage Bucket).
var bucket = new Bucket("my-bucket", new BucketArgs
{
Location = "US",
});
// Export the DNS name of the bucket.
return new Dictionary<string, object?>
{
["bucketName"] = bucket.Url,
};
});
package myproject;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.storage.Bucket;
import com.pulumi.gcp.storage.BucketArgs;
public class App {
public static void main(String[] args) {
Pulumi.run(ctx -> {
// Create a Google Cloud resource (Storage Bucket)
var bucket = new Bucket("my-bucket", BucketArgs.builder()
.location("US")
.build());
// Export the DNS name of the bucket
ctx.export("bucketName", bucket.url());
});
}
}
name: quickstart
runtime: yaml
description: A minimal Google Cloud Pulumi YAML program
resources:
# Create a Google Cloud resource (Storage Bucket)
my-bucket:
type: gcp:storage:Bucket
properties:
location: US
outputs:
# Export the DNS name of the bucket
bucketName: ${my-bucket.url}
This Pulumi program creates a new storage bucket and exports the DNS name of the bucket.
exports.bucketName = bucket.url;
export const bucketName = bucket.url;
pulumi.export("bucket_name", bucket.url)
ctx.Export("bucketName", bucket.Url)
return new Dictionary<string, object?>
{
["bucketName"] = bucket.Url,
};
ctx.export("bucketName", bucket.url());
outputs:
bucketName: ${my-bucket.url}
Next, you’ll deploy your stack, which will provision your storage bucket.
Thank you for your feedback!
If you have a question about how to use Pulumi, reach out in Community Slack.
Open an issue on GitHub to report a problem or suggest an improvement.