I'm having an issue with upgrading to `@pulumi/gcp...
# google-cloud
d
I'm having an issue with upgrading to
@pulumi/gcp
v7.29.0 (NodeJS) where many resources are getting marked as
update
with no attributes changing, but GCP rejects the update because no attributes are marked for changing. For many resources I simply destroyed them (using
pulumi destroy --target ...
) but one of them is a database which has data in it:
Copy code
~ gcp:spanner/instance:Instance: (update)
                [id=mimetic-algebra-344104/jester-dev-app-cssm-ledger-instance-b9c8c93]
                [urn=urn:pulumi:dev::jester-cloud-deploy::Keeta:GCP:JesterApp$Keeta:GCP:CSSM$gcp:spanner/instance:Instance::jester-dev-app-cssm-ledger-instance]
                [provider=urn:pulumi:dev::jester-cloud-deploy::pulumi:providers:gcp::gcp-provider::34f023c1-c454-4436-bcfa-3ff6c4cca818]
                config         : "projects/mimetic-algebra-344104/instanceConfigs/regional-us-west1"
                displayName    : "jester-dev-app-cssm Instance"
                forceDestroy   : false
                name           : "jester-dev-app-cssm-ledger-instance-b9c8c93"
                processingUnits: 100
Which fails with:
Copy code
gcp:spanner:Instance (jester-dev-app-cssm-ledger-instance):
    error: 1 error occurred:
    	* updating urn:pulumi:dev::jester-cloud-deploy::Keeta:GCP:JesterApp$Keeta:GCP:CSSM$gcp:spanner/instance:Instance::jester-dev-app-cssm-ledger-instance: 1 error occurred:
    	* Error updating Instance "mimetic-algebra-344104/jester-dev-app-cssm-ledger-instance-b9c8c93": googleapi: Error 400: Invalid UpdateInstance request.
    Details:
    [
      {
        "@type": "<http://type.googleapis.com/google.rpc.BadRequest|type.googleapis.com/google.rpc.BadRequest>",
        "fieldViolations": [
          {
            "description": "Must specify a non-empty field mask.",
            "field": "field_mask"
          }
        ]
      }
    ]
Because nothing is being updated is my guess.
I was able to get past this with a
refresh
(which failed initially because custom resources write the pathname of packages, and if the packages change it cannot be refreshed)