pulumi / pulumi-gcp

A Google Cloud Platform (GCP) Pulumi resource package, providing multi-language access to GCP
Apache License 2.0
178 stars 52 forks source link

Crash when passing an array of values instead of an object to `gcp.identityplatform.Config` test phone numbers #1548

Closed julienfouilhe closed 1 month ago

julienfouilhe commented 7 months ago

What happened?

I upgraded to v7.6.0 and after upgrading faced multiple errors when running pulumi up. I run into it for a single stack, my other stacks could be upgraded fine (they mostly declare the same resources, it's just a different environment) The error changes a little bit sometimes, but the go stacktrace remains. If I run up with --skip-preview, I get the same error.

Example

Previewing update (infra.production):
     Type                           Name                             Plan        Info
     Type                            Name                             Plan     Info
     pulumi:pulumi:Stack             infrastructure-infra.production           40 messages
     ├─ gcp:serviceaccount:Account   customer-io                               [diff: +disabled-project~__defaults,protect]
     └─ gcp:identityplatform:Config  idpconfig                                 1 error

Diagnostics:
  gcp:identityplatform:Config (idpconfig):
    error: error reading from server: EOF

  pulumi:pulumi:Stack (infrastructure-infra.production):
    panic: value has no attribute of that name
    goroutine 311 [running]:
    github.com/zclconf/go-cty/cty.Value.GetAttr({{{0x1092ddde8?, 0x14002c645b0?}}, {0x108a995e0?, 0x14002c66b40?}}, {0x1079c6312, 0x2})
        /home/runner/go/pkg/mod/github.com/zclconf/go-cty@v1.14.0/cty/value_ops.go:808 +0x270
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2/internal/tf/plans/objchange.proposedNewAttributes(0x14002c5faa0, {{{0x1092ddde8?, 0x14002c64460?}}, {0x108a995e0?, 0x14002c667e0?}}, {{{0x1092ddde8?, 0x14002c645b0?}}, {0x108a995e0?, 0x14002c66b40?}})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/internal/tf/plans/objchange/objchange.go:289 +0x170
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2/internal/tf/plans/objchange.proposedNew(0x14002c5fa70, {{{0x1092ddde8?, 0x14002c64460?}}, {0x108a995e0?, 0x14002c667e0?}}, {{{0x1092ddde8?, 0x14002c645b0?}}, {0x108a995e0?, 0x14002c66b40?}})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/internal/tf/plans/objchange/objchange.go:89 +0xe0
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2/internal/tf/plans/objchange.ProposedNew(0x1092ddbb8?, {{{0x1092ddde8?, 0x14002c64460?}}, {0x108a995e0?, 0x14002c667e0?}}, {{{0x1092ddde8?, 0x14002c645b0?}}, {0x108a995e0?, 0x14002c66b40?}})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/internal/tf/plans/objchange/objchange.go:46 +0xec
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.proposedNew(0x14002c33830?, {{{0x1092ddbb8?, 0x140023e4e10?}}, {0x108a995e0?, 0x14002c5ec00?}}, {{{0x1092ddbb8?, 0x140023e4688?}}, {0x108a995e0?, 0x14002bd8de0?}})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/proposed_new.go:34 +0x104
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.simpleDiffViaPlanState({0x1092dd5b8, 0x14002bd8b70}, 0x1092ddbb8?, 0x140023e4b08?, {{{0x1092ddbb8?, 0x140023e4688?}}, {0x108a995e0?, 0x14002bd8de0?}}, {0x1092506e0, 0x14000718a80})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/provider_diff.go:167 +0xac
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.v2Provider.simpleDiff({0x140017a1140?, {0x14002b88fc0?, 0x14002b60d00?, 0x1f?}}, {0x1092dd5b8, 0x14002bd8b70}, 0x140023ad198?, 0x10533b360?, 0x0?, 0x5000106?, ...)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/provider_diff.go:116 +0x614
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2.v2Provider.DiffWithContext({0x140017a1140?, {0x140004c79f0?, 0x0?, 0x0?}}, {0x1092dd5b8, 0x14002bd8b70}, {0x107a4b107, 0x1f}, {0x1092ddb48?, 0x14001b0cb70}, ...)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfshim/sdk-v2/provider_diff.go:76 +0x218
    github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge.(*Provider).Diff(0x1400054b980, {0x1092dd5b8?, 0x14002bd8720?}, 0x14002fa9400)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.71.0/pkg/tfbridge/provider.go:837 +0x650
    github.com/pulumi/pulumi-terraform-bridge/x/muxer.(*muxer).Diff.func1({0x1092f6c60?, 0x1400054b980?})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7/muxer.go:357 +0x3c
    github.com/pulumi/pulumi-terraform-bridge/x/muxer.resourceMethod[...](0x14002321b00?, 0x140023ad6e8, 0x140023ad6c8?)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7/muxer.go:322 +0xc4
    github.com/pulumi/pulumi-terraform-bridge/x/muxer.(*muxer).Diff(0x140023ad728?, {0x1092dd5b8?, 0x14002bd8720?}, 0x108871b60?)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/x/muxer@v0.0.7/muxer.go:356 +0x5c
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Diff_Handler.func1({0x1092dd5b8, 0x14002bd8720}, {0x109046c80?, 0x14002fa9400})
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.101.1/proto/go/provider_grpc.pb.go:575 +0x74
    github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x1092dd5b8, 0x14002bd81e0}, {0x109046c80, 0x14002fa9400}, 0x14002be8020, 0x14002190c18)
        /home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x2e8
    github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Diff_Handler({0x109203080?, 0x14002321b00}, {0x1092dd5b8, 0x14002bd81e0}, 0x14002fa9380, 0x14001888180)
        /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.101.1/proto/go/provider_grpc.pb.go:577 +0x12c
    google.golang.org/grpc.(*Server).processUnaryRPC(0x1400087c780, {0x1092dd5b8, 0x14002bd8150}, {0x1092f1360, 0x14001ca5d40}, 0x14002be6000, 0x14002374b10, 0x10d1a6c08, 0x0)
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.60.0/server.go:1372 +0xb8c
    google.golang.org/grpc.(*Server).handleStream(0x1400087c780, {0x1092f1360, 0x14001ca5d40}, 0x14002be6000)
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.60.0/server.go:1783 +0xc4c
    google.golang.org/grpc.(*Server).serveStreams.func2.1()
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.60.0/server.go:1016 +0x5c
    created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 88
        /home/runner/go/pkg/mod/google.golang.org/grpc@v1.60.0/server.go:1027 +0x138

Output of pulumi about

CLI
Version      3.102.0
Go Version   go1.21.6
Go Compiler  gc

Plugins
NAME    VERSION
nodejs  unknown

Host
OS       darwin
Version  14.2.1
Arch     arm64

This project is written in nodejs: executable='/private/var/folders/s9/x9s630sd4xd287p7xfg6r49h0000gn/T/xfs-e31860da/node' version='v20.8.1'

Current Stack: infra.production

TYPE                                                                           URN
pulumi:pulumi:Stack                                                            urn:pulumi:infra.production::infrastructure::pulumi:pulumi:Stack::infrastructure-infra.production
pulumi:providers:gcp                                                           urn:pulumi:infra.production::infrastructure::pulumi:providers:gcp::default_6_67_1
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::resource-manager
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::recaptchaenterprise
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::dns
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::secretmanager
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::maps-android
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::retool-bigquery-user
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::firestore
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::github-actions-roles/secretmanager.admin
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::firebaserules
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::cloudscheduler
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::maps-static
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::iam
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::compute
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::retool-bigquery-dataViewer
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::vpcaccess
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::run
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::github-actions-roles/iam.securityAdmin
gcp:compute/network:Network                                                    urn:pulumi:infra.production::infrastructure::gcp:compute/network:Network::network
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::apikeys
gcp:compute/address:Address                                                    urn:pulumi:infra.production::infrastructure::gcp:compute/address:Address::nat-ip-address-europe-west4
gcp:compute/networkFirewallPolicy:NetworkFirewallPolicy                        urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicy:NetworkFirewallPolicy::allow-egress-firewall-policy
gcp:compute/address:Address                                                    urn:pulumi:infra.production::infrastructure::gcp:compute/address:Address::nat-ip-address-europe-west1
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::cloudtasks
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::github-actions-roles/editor
gcp:projects/service:Service                                                   urn:pulumi:infra.production::infrastructure::gcp:projects/service:Service::bigquerydatatransfer
pulumi:providers:pulumi                                                        urn:pulumi:infra.production::infrastructure::pulumi:providers:pulumi::default
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-iam-logging-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-run-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-biquery-metadata-viewer
gcp:bigquery/iamMember:IamMember                                               urn:pulumi:infra.production::infrastructure::gcp:bigquery/iamMember:IamMember::mixpanel-bigquery-mixpanel-banking-domain-events-data-viewer
gcp:bigquery/iamMember:IamMember                                               urn:pulumi:infra.production::infrastructure::gcp:bigquery/iamMember:IamMember::mixpanel-bigquery-users-data-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-pubsub-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-cloudscheduler-viewer
gcp:bigquery/iamMember:IamMember                                               urn:pulumi:infra.production::infrastructure::gcp:bigquery/iamMember:IamMember::mixpanel-bigquery-domain-events-banking-data-viewer
gcp:bigquery/iamMember:IamMember                                               urn:pulumi:infra.production::infrastructure::gcp:bigquery/iamMember:IamMember::mixpanel-bigquery-mixpanel-core-domain-events-data-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-biquery-resource-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::organization-admins-storage-object-admin
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-errorreporting-viewer
gcp:bigquery/dataset:Dataset                                                   urn:pulumi:infra.production::infrastructure::gcp:bigquery/dataset:Dataset::domain-events
gcp:projects/iAMAuditConfig:IAMAuditConfig                                     urn:pulumi:infra.production::infrastructure::gcp:projects/iAMAuditConfig:IAMAuditConfig::datastore-audit-config
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::backoffice-bigquery-job-user
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-cloudtrace-user
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::mixpanel-bigquery-job-user
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-bigquery-jobUser
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-firestore-viewer
gcp:projects/iAMCustomRole:IAMCustomRole                                       urn:pulumi:infra.production::infrastructure::gcp:projects/iAMCustomRole:IAMCustomRole::customerio-fcm-push-role
gcp:bigquery/iamMember:IamMember                                               urn:pulumi:infra.production::infrastructure::gcp:bigquery/iamMember:IamMember::mixpanel-bigquery-domain-events-core-data-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-iam-browser
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::backoffice-bigquery-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-firebase-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::mixpanel-bigquery-metadata-viewer
gcp:bigquery/iamMember:IamMember                                               urn:pulumi:infra.production::infrastructure::gcp:bigquery/iamMember:IamMember::mixpanel-bigquery-mixpanel-users-data-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-bigquery-viewer
gcp:projects/iAMMember:IAMMember                                               urn:pulumi:infra.production::infrastructure::gcp:projects/iAMMember:IAMMember::devops-bigquery-resourceViewer
gcp:artifactregistry/repositoryIamMember:RepositoryIamMember                   urn:pulumi:infra.production::infrastructure::gcp:artifactregistry/repositoryIamMember:RepositoryIamMember::artifactregistry-api-run
gcp:appengine/application:Application                                          urn:pulumi:infra.production::infrastructure::gcp:appengine/application:Application::firestore
gcp:compute/router:Router                                                      urn:pulumi:infra.production::infrastructure::gcp:compute/router:Router::vpc-connector-router-europe-west1
gcp:compute/router:Router                                                      urn:pulumi:infra.production::infrastructure::gcp:compute/router:Router::vpc-connector-router-europe-west4
gcp:compute/subnetwork:Subnetwork                                              urn:pulumi:infra.production::infrastructure::gcp:compute/subnetwork:Subnetwork::vpc-connector-subnetwork-europe-west4
gcp:compute/subnetwork:Subnetwork                                              urn:pulumi:infra.production::infrastructure::gcp:compute/subnetwork:Subnetwork::vpc-connector-subnetwork-europe-west1
gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule                urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule::deny-all-egress-firewall-policy-rule-ipv6
pulumi:pulumi:StackReference                                                   urn:pulumi:infra.production::infrastructure::pulumi:pulumi:StackReference::banking.production
gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule                urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule::allow-intrum-sftp
pulumi:pulumi:StackReference                                                   urn:pulumi:infra.production::infrastructure::pulumi:pulumi:StackReference::notification.production
pulumi:pulumi:StackReference                                                   urn:pulumi:infra.production::infrastructure::pulumi:pulumi:StackReference::core.production
gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule                urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule::deny-all-egress-firewall-policy-rule
gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule                urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule::allow-intrum-sftp-ipv6
gcp:compute/networkFirewallPolicyAssociation:NetworkFirewallPolicyAssociation  urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyAssociation:NetworkFirewallPolicyAssociation::firewall-policy-association
gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule                urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule::allow-authorized-egress-firewall-policy-rule
gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule                urn:pulumi:infra.production::infrastructure::gcp:compute/networkFirewallPolicyRule:NetworkFirewallPolicyRule::allow-authorized-egress-firewall-policy-rule-ipv6
gcp:projects/apiKey:ApiKey                                                     urn:pulumi:infra.production::infrastructure::gcp:projects/apiKey:ApiKey::android
pulumi:providers:command                                                       urn:pulumi:infra.production::infrastructure::pulumi:providers:command::default_0_9_2
pulumi:providers:gcp                                                           urn:pulumi:infra.production::infrastructure::pulumi:providers:gcp::default_6_67_0
pulumi:providers:gcp                                                           urn:pulumi:infra.production::infrastructure::pulumi:providers:gcp::default_7_6_0
gcp:vpcaccess/connector:Connector                                              urn:pulumi:infra.production::infrastructure::gcp:vpcaccess/connector:Connector::vpc-connector-europe-west1
gcp:vpcaccess/connector:Connector                                              urn:pulumi:infra.production::infrastructure::gcp:vpcaccess/connector:Connector::vpc-connector-europe-west4
gcp:compute/routerNat:RouterNat                                                urn:pulumi:infra.production::infrastructure::gcp:compute/routerNat:RouterNat::vpc-connector-nat-europe-west4
gcp:compute/routerNat:RouterNat                                                urn:pulumi:infra.production::infrastructure::gcp:compute/routerNat:RouterNat::vpc-connector-nat-europe-west1
command:local:Command                                                          urn:pulumi:infra.production::infrastructure::command:local:Command::firestore-rules
command:local:Command                                                          urn:pulumi:infra.production::infrastructure::command:local:Command::firestore-indexes
gcp:identityplatform/projectDefaultConfig:ProjectDefaultConfig                 urn:pulumi:infra.production::infrastructure::gcp:identityplatform/projectDefaultConfig:ProjectDefaultConfig::idpconfig
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::notification-rest-europe-west1
gcp:compute/backendBucket:BackendBucket                                        urn:pulumi:infra.production::infrastructure::gcp:compute/backendBucket:BackendBucket::core-assets
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::core-http-europe-west4
gcp:compute/managedSslCertificate:ManagedSslCertificate                        urn:pulumi:infra.production::infrastructure::gcp:compute/managedSslCertificate:ManagedSslCertificate::external-ssl-certificate
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::banking-rest-europe-west1
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::banking-rest-europe-west4
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::core-grpc-europe-west1
gcp:compute/globalAddress:GlobalAddress                                        urn:pulumi:infra.production::infrastructure::gcp:compute/globalAddress:GlobalAddress::external-address
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::core-grpc-europe-west4
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::notification-rest-europe-west4
gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup              urn:pulumi:infra.production::infrastructure::gcp:compute/regionNetworkEndpointGroup:RegionNetworkEndpointGroup::core-http-europe-west1
gcp:compute/backendService:BackendService                                      urn:pulumi:infra.production::infrastructure::gcp:compute/backendService:BackendService::external-banking-rest
gcp:dns/recordSet:RecordSet                                                    urn:pulumi:infra.production::infrastructure::gcp:dns/recordSet:RecordSet::lb-core-assets.getjasp.com
gcp:dns/recordSet:RecordSet                                                    urn:pulumi:infra.production::infrastructure::gcp:dns/recordSet:RecordSet::lb-core.getjasp.com
gcp:dns/recordSet:RecordSet                                                    urn:pulumi:infra.production::infrastructure::gcp:dns/recordSet:RecordSet::lb-core-services.getjasp.com
gcp:dns/recordSet:RecordSet                                                    urn:pulumi:infra.production::infrastructure::gcp:dns/recordSet:RecordSet::lb-banking.getjasp.com
gcp:dns/recordSet:RecordSet                                                    urn:pulumi:infra.production::infrastructure::gcp:dns/recordSet:RecordSet::lb-notification-services.getjasp.com
gcp:compute/backendService:BackendService                                      urn:pulumi:infra.production::infrastructure::gcp:compute/backendService:BackendService::external-core-grpc
gcp:compute/backendService:BackendService                                      urn:pulumi:infra.production::infrastructure::gcp:compute/backendService:BackendService::external-notification-rest
gcp:compute/backendService:BackendService                                      urn:pulumi:infra.production::infrastructure::gcp:compute/backendService:BackendService::external-core-http
gcp:compute/uRLMap:URLMap                                                      urn:pulumi:infra.production::infrastructure::gcp:compute/uRLMap:URLMap::external-url-map
gcp:compute/targetHttpsProxy:TargetHttpsProxy                                  urn:pulumi:infra.production::infrastructure::gcp:compute/targetHttpsProxy:TargetHttpsProxy::external-https-proxy
gcp:compute/globalForwardingRule:GlobalForwardingRule                          urn:pulumi:infra.production::infrastructure::gcp:compute/globalForwardingRule:GlobalForwardingRule::external-forwarding-rule

Found no pending operations associated with infra.production

Backend
Name           Juliens-MBP
URL            gs://cash-global-345215-pulumi-state
User           julien
Organizations
Token type     personal

Pulumi locates its logs in /var/folders/s9/x9s630sd4xd287p7xfg6r49h0000gn/T/ by default
warning: Failed to get information about the Pulumi program's dependencies: could not find either /Users/julien/cash/backend/apps/infrastructure/pulumi/yarn.lock or /Users/julien/cash/backend/apps/infrastructure/pulumi/package-lock.json

Additional context

No response

Contributing

No response

iwahbe commented 7 months ago

Hey @julienfouilhe. I'm sorry to hear that. Can you post a program that reproduces the panic so we can fix it?

julienfouilhe commented 7 months ago

Hi,

It actually seems not to be linked with the upgrade to v7 but to the declaration of

new gcp.identityplatform.Config("idpconfig", {
    authorizedDomains: ["localhost", domain],
    project: gcp.config.project ?? "",
    signIn: {
      allowDuplicateEmails: false,
      phoneNumber: {
        enabled: true,
        testPhoneNumbers,
      },
    },
  });

I migrated to this from a deprecated similar resource, and testPhoneNumbers was set to config.requireObject("testPhoneNumbers"). My stack yaml was configured this way:

infrastructure:testPhoneNumbers:
    - "+16505552775": 000000

Which returned an array of key value objects, instead of that way:

infrastructure:testPhoneNumbers:
    "+16505552775": 123456

which returns directly an object, which is what is expected. I would have expected requireObject or typescript to complain but it seemed like everything was fine.

iwahbe commented 7 months ago

@julienfouilhe Thanks for explaining, that makes it much easier to understand.

We can fully reproduce the bug in GCP with this program:

import * as gcp from "@pulumi/gcp";

const testPhoneNumbers: any = [{ "+16505552775": "000000" }];

new gcp.identityplatform.Config("idpconfig", {
  signIn: {
    phoneNumber: {
      enabled: true,
      testPhoneNumbers,
    },
  },
});

The bug for the crash is https://github.com/pulumi/pulumi-terraform-bridge/issues/1328.

The bug for the implicit type cast is https://github.com/pulumi/pulumi/issues/8520.

VenelinMartinov commented 1 month ago

This was fixed in https://github.com/pulumi/pulumi-terraform-bridge/issues/1328

the error message now explains the issue:

  gcp:identityplatform:Config (idpconfig):
    warning: Type checking failed:
    warning: Unexpected type at field "signIn.phoneNumber.testPhoneNumbers":
               expected object type, got [] type
    warning: Type checking is still experimental. If you believe that a warning is incorrect,
    please let us know by creating an issue at https://github.com/pulumi/pulumi-terraform-bridge/issues.
    This will become a hard error in the future.
    error: Preview failed: diffing urn:pulumi:dev::gcp_1548::gcp:identityplatform/config:Config::idpconfig: panicked: "value has no attribute of that name"