Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Google Cloud Platform Scaffolding

This repo is a Pulumi Package used to deploy create a Google Cloud Project, connect it to a billing account and be able to enable any APIs for the project

It's written in Go, but thanks to Pulumi's multi language SDK generating capability, it create usable SDKs for all of Pulumi's supported languages

:warning: This package is a work in progress: Please do not use this in a production environment!

Building and Installing

Building from source

But if you need to build it yourself, just download this repository, install Task:

go get github.com/go-task/task/v3/cmd/task

And run the following command to build and install the plugin in the correct folder (resolved automatically based on the current Operating System):

task install

Install Plugin Binary

Before you begin, you'll need to install the latest version of the Pulumi Plugin using pulumi plugin install:

pulumi plugin install resource gcp-scaffold v0.3.0 --server https://cobraz.jfrog.io/artifactory/pulumi-packages/pulumi-gcp-scaffold

This installs the plugin into ~/.pulumi/plugins.

Install your chosen SDK

Next, you need to install your desired language SDK using your languages package manager.

Python

pip3 install cobraz-pulumi-gcp-scaffold

NodeJS

npm install @cobraz/pulumi-gcp-scaffold

DotNet

Coming Soon

Go

go get -t github.com/cobraz/pulumi-gcp-scaffold/sdk/go/gcp

Usage

Once you've installed all the dependencies, you can use the library like any other Pulumi SDK. See the examples directory for examples of how you might use it.

To create a Google Cloud Project and enable some APIs then you would use the following example:

import * as pulumi from "@pulumi/pulumi";
import * as scaffold from "@cobraz/pulumi-gcp-scaffold";

const proj = new scaffold.Project("my-project", {
    projectID: "my-project-name",
    orgID: "<my gcp org id>",
    billingAccountID: "<my billing account id>",
    activatedApis: [
        "compute.googleapis.com",
        "container.googleapis.com",
        "cloudbilling.googleapis.com"
    ]
})

export const projectName = proj.projectName;
export const projectID = proj.projectID;

Limitations

This package currently requires the user to be aware of the orgID and billingAccountID. There are plans to make this easier.

Release files for cobraz-pulumi-gcp-scaffold 0.1.1a1624185341

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cobraz-pulumi-gcp-scaffold 0.1.1a1624185341
File Size Uploaded
cobraz_pulumi_gcp_scaffold-0.1.1a1624185341.tar.gz 8.2 kB Details

Release files / cobraz_pulumi_gcp_scaffold-0.1.1a1624185341.tar.gz

Download URL cobraz_pulumi_gcp_scaffold-0.1.1a1624185341.tar.gz
Size 8.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b9e59305ed1c353be5fde4c75e9200bcdd58a7a0f1a9cca0c6cb855266fb60ea
BLAKE2b-256 checksum
How to use checksums
c4e0cc76eed5d2633f0c17688e997de8750f1cc249820a80f3cd2317817f3521
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.5.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.5
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page