Pulumi GCP Provider Version Upgrade Guide
Version 9.0.0 of the GCP provider for Pulumi is a major release and includes changes that you need to consider when upgrading.
This guide will help with that process and focuses only on changes from version 8.x to version 9.0.0.
See the Version 8 Upgrade Guide for information on upgrading from 7.x to version 8.0.0.
Breaking changes
GCP provider v9.0 includes several breaking changes to a few resources and invokes. Here are the details:
-
Resource
gcp.alloydb.Cluster
:- The field
deletionProtection
has been added with a default value oftrue
. This field destroying or recreating the cluster duringpulumi up
. In 9.0.0, existing clusters will havedeletionProtection
set to true during the next refresh unless otherwise set in the program configuration.
- The field
-
Resource
gcp.apigee.KeystoresAliasesKeyCertFile
:- The field
certsInfo
is no longer an input and instead is only available as an output property.
- The field
-
Resource
gcp.artifactregistry.Repository
:- Default values have been removed, if you are relying on defaults, you might need to explicitly set them in your program configuration.
-
Resource
gcp.beyondcorp.Application
removed:- Associated resources
ApplicationIamBinding
,ApplicationIamMember
, andApplicationIamPolicy
have also been removed. - Please use the new resource
gcp.beyondcorp.SecurityGatewayApplication
instead.
- Associated resources
-
Resource
gcp.bigquery.Table
:- Field
view.useLegacySql
No longer has a default value oftrue
. You may need to explicitly set this field in your program configuration.
- Field
-
Resource
gcp.bigtable.TableIamBinding
:- Field
instance
is now removed in favor ofinstanceName
.
- Field
-
Resource
gcp.bigtable.TableIamMember
:- Field
instance
is now removed in favor ofinstanceName
.
- Field
-
Resource
gcp.bigtable.TableIamPolicy
:- Field
instance
is now removed in favor ofinstanceName
.
- Field
-
Resource
gcp.cloudfunctionsv2.Function
:-
Field
eventTrigger.eventType
is now a required field. -
Field
serviceConfig.service
is now only available as an output property. Remove it from your program configuration when upgrading.
-
-
Resource
gcp.cloudrunv2.WorkerPool
:- Field
template.containers.dependsOn
is removed.
- Field
-
Resource
gcp.colab.RuntimeTemplate
:- Field
postStartupScriptConfig
is removed.
- Field
-
Resource
gcp.compute.InstanceTemplate
:- Field
disks.diskType
,disks.mode
,disks.interface
no longer use provider defaults and instead will be set by the API. See the API documentation for more details.
- Field
-
Resource
gcp.compute.RegionInstanceTemplate
:- Field
disks.diskType
,disks.mode
,disks.interface
no longer use provider defaults and instead will be set by the API. See the API documentation for more details.
- Field
-
Resource
gcp.compute.Subnetwork
:- Field
enableFlowLogs
has been removed in favor oflogConfig
.
- Field
-
Resource
gcp.gkehub.Membership
:- Field
description
has been removed.
- Field
-
Resource
gcp.gkehub.FeatureMembership
:- Field
configmanagement.binauthz
has been removed.
- Field
-
Resource
gcp.memorystore.Instance
:- Field
allowFewerZonesDeployment
has been removed.
- Field
-
Resource
gcp.networkservices.LbTrafficExtension
:- Field
loadBalancingScheme
is now required. It was already needed for this resource to function correctly so no changes should be necessary.
- Field
-
Resource
gcp.notebooks.Location
is removed because it was not a functional resource. -
Resource
gcp.projects.Service
:- Field
disableOnDestroy
no longer defaults totrue
.
- Field
-
Resource
gcp.redis.Cluster
:- Field
allowFewerZonesDeployment
has been removed.
- Field
-
Resource
gcp.securesourcemanager.Instance
:- Field
deletionPolicy
has had its default value changed toPREVENT
.
- Field
-
Resource
gcp.storage.TransferJob
: -
Several
path
fields have improved validation and now are required to not start with/
. -
Resource
gcp.storage.Bucket
:- Field
retentionPeriod
has had its type changed tostring
.
- Field
-
Resource
gcp.storage.Notification
:- Field
topic
now requires a new format and must be provided in the formatprojects/{{project}}/topics/{{topic}}
.
- Field
-
Resource
gcp.tpu.Node
has been removed in favor ofgcp.tpu.V2Vm
. For moving from TPU Node to TPU VM architecture, see https://cloud.google.com/tpu/docs/system-architecture-tpu-vm#from-tpu-node-to-tpu-vm. -
Resource
gcp.vertex.AiIndex
:- Field
metadata
andmetadata.config
are now required. These fields were already required for resource functionality, so no change is necessary to existing configurations.
- Field
Bucket Label Import
In v9, we are removing a patch that changed the Import behavior on gcp.storage.Bucket
.
This patch allowed for a pulumi import
to directly import cloud labels to the Bucket's labels
field.
Going forward, the Import behavior for labels will be on par with all other resources: on a fresh import, the labels will be written to the output-only effectiveLabels
field in the Pulumi state, and not to the bucket's labels
.
The generated code will not include labels
.
To bring Bucket labels under Pulumi management after an import, you now need to explicitly set them on the Bucket's labels
field.
You may discover any such potential labels from the Bucket's effectiveLabels
field.
Read more about label handling here.
This change is a bug fix for #3337.
New Contributors
- @Zaid-Ajaj made their first contribution in #3355
Full Changelog: v8.41.1...v9.0.0