Pulumi Google Cloud Classic 7.0

Posted on

The latest major release of the Pulumi Google Cloud Classic Provider is available now! This 7.0 release contains the latest upstream changes to keep you up-to-date along with a highly requested bug fix, keeping your journey in managing Google Cloud resources fresh and smooth.

The Pulumi Google Cloud Classic provider can be used to provision any of the cloud resources available in the upstream provider. It is part of the suite of Pulumi official providers, which means that it is officially maintained and supported by Pulumi. The provider is also open source and available on GitHub for you to contribute and grow.

Join Pulumi on Thursday, November 30, 2023 for a live workshop on getting started with serverless apps on Google Cloud Run, which will feature the new GCP 7.0 provider.

If you are new to Pulumi and would like to get started with the Google Cloud provider, visit any of these pages to jump right in!

  • Getting Started - A guided walkthrough for creating your first project
  • Setup & Install - Instructions on installing the Google Cloud provider
  • How-to guides - Learn how to use the Google Cloud provider to provision specific resources
  • Templates - Use a quickstart template to create a new project
  • Pulumi AI - Ask Pulumi AI to create a new project

Looking back

Since the initial launch of 6.0 almost two years ago, we’ve shipped over 70 releases to deliver the latest upstream enhancements while also adding many of our own. Here are some of the highlights from these releases:

Coverage and Growth

The Google Cloud provider now supports 250+ functions, 800+ resources, 10,000+ input properties. It continues to grow in coverage and features while staying up-to-date with the latest upstream changes. The chart below shows the growth of the provider in the last 2 years.

google-cloud-coverage

New Modules

Version 6.0 of the Google Cloud provider introduced support for several new modules, including:

If you haven’t used these modules yet, now is a great time to try them out! Check out the Pulumi Registry for more information on how to get started or ask Pulumi AI to create a new project for you.

What’s New in 7.0

Service Account Rename

This release includes a fix for the naming of the Service Account resource. For consistency and ease of use, serviceAccount has been renamed to serviceaccount. Node.js, Python, and .Net programs do not require any updates as the resource name has been aliased. However updates are required for Go, Java, and YAML to adjust the import paths and resource type.

- import "github.com/pulumi/pulumi-gcp/sdk/v6/go/gcp/serviceAccount"
+ import "github.com/pulumi/pulumi-gcp/sdk/v7/go/gcp/serviceaccount"
- import com.pulumi.gcp.serviceAccount.*;
+ import com.pulumi.gcp.serviceaccount.*;
- type: gcp:serviceAccount:Account
+ type: gcp:serviceaccount:Account

Labels Rework

Upstream changes for provider, resource, and data source labels are included in this release. Global Google Cloud Platform labels configured on the provider are supported through the new defaultLabels field. Default labels will be applied to all resources with a labels field. Resources that previously contained a single labels field will now contain three fields:

  • The labels field is now non-authoritative and only manages the label keys defined in your configuration for the resource.
  • The output-only pulumiLabels field merges the labels defined in the resource’s labels field and the global defaultLabels. If the same label key exists on both the resource level and provider level, the value on the resource will override the provider-level default.
  • The output-only effectiveLabels will list all the labels present on the resource in GCP, including labels configured through Pulumi.

Due to the two new output fields, a resource that has a labels field may show a diff when upgrading from pulumi-gcp v6 to v7. This diff reflects adding the new resource Output fields and is safe to do.

You can find more information about this change in the upstream documentation.

Upgrading

Upgrading from the previous version of the Google Cloud provider is straightforward. Simply update the version in your dependency manifest file, install the new package based on your language and package manager, then run pulumi up to migrate your existing stack. For Go programs, you will need to update specific imports within your program as well. This information is also available in our migration guide in the Pulumi Registry.

- "@pulumi/gcp": "^6.0.0"
+ "@pulumi/gcp": "^7.0.0"
- pulumi_gcp>=6.0.0,<7.0.0
+ pulumi_gcp>=7.0.0,<8.0.0
- require github.com/pulumi/pulumi-gcp/sdk/v6/go/pulumi v6.0.0
+ require github.com/pulumi/pulumi-gcp/sdk/v7/go/pulumi v7.0.0
- <PackageReference Include="Pulumi.Gcp" Version="6.*" />
+ <PackageReference Include="Pulumi.Gcp" Version="7.*" />
- com.pulumi:pulumi-gcp:6.0.0
+ com.pulumi:pulumi-gcp:7.0.0

Wrapping Up

As always, we welcome your feedback and contributions in the Pulumi Community Slack, GitHub repository, and Pulumi Community Discussions.

New to Pulumi? Signing up is easy and free. Get started today!

Happy coding!