pulumi / pulumi-terraform-provider

Use any Terraform provider with Pulumi
Apache License 2.0
4 stars 0 forks source link

SDK gen blows up if resources have unexpected prefixes #12

Closed mjeffryes closed 3 weeks ago

mjeffryes commented 3 weeks ago

I just tried generating sdks for a few more providers and found a few that threw a nasty error because the resources didn't have the expected prefix

Using version 0.0.27 of the pulumi-terraform-provider

CheckPointSW/infinity-next

panic: fatal: error An assertion has failed: Failed to apply token mapping. source error: 1 error occurred:

    * resources:

13 errors occurred:

    * token 'inext_access_token' missing package prefix 'infinity-next_'

    * token 'inext_appsec_gateway_profile' missing package prefix 'infinity-next_'

    * token 'inext_docker_profile' missing package prefix 'infinity-next_'

    * token 'inext_embedded_profile' missing package prefix 'infinity-next_'

    * token 'inext_exceptions' missing package prefix 'infinity-next_'

    * token 'inext_kubernetes_profile' missing package prefix 'infinity-next_'

    * token 'inext_log_trigger' missing package prefix 'infinity-next_'

    * token 'inext_trusted_sources' missing package prefix 'infinity-next_'

    * token 'inext_web_api_asset' missing package prefix 'infinity-next_'

    * token 'inext_web_api_practice' missing package prefix 'infinity-next_'

    * token 'inext_web_app_asset' missing package prefix 'infinity-next_'

    * token 'inext_web_app_practice' missing package prefix 'infinity-next_'

    * token 'inext_web_user_response' missing package prefix 'infinity-next_'

goroutine 81 [running]:

github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.failfast(...)

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/go/common/util/contract/failfast.go:23

github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.AssertNoErrorf({0x1026a7400, 0x1400050c1c0}, {0x1018fc423?, 0x1018b6e34?}, {0x0?, 0x14000ab9680?, 0x14000780690?})

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/go/common/util/contract/assert.go:51 +0x10c

github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/info.(*Provider).MustComputeTokens(0x140007e20a0?, {0x14000ab9680?, 0x14000ab96e0?})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pkg/tfbridge/info/external_methods.go:107 +0x40

main.providerInfo({_, _}, {_, _}, {_, _})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/dynamic/info.go:84 +0x49c

main.initialSetup.func3({0x1026cd238, 0x140007ec720}, {{0x1026a7018?, 0x140007b2ae0?}})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/dynamic/main.go:136 +0x51c

github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge.(*provider).ParameterizeWithContext(0x14000d36708, {0x1026cd238?, 0x140007a7c80?}, {{0x1026a7018?, 0x140007b2ae0?}})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pf/tfbridge/provider.go:221 +0xe0

github.com/pulumi/pulumi-terraform-bridge/pf/internal/plugin.forwardServer.Parameterize(...)

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pf/internal/plugin/provider_server.go:154

github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin.(*providerServer).Parameterize(0x1400088d690?, {0x1026cd238?, 0x140007a7c80?}, 0x10107a33c?)

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/go/common/resource/plugin/provider_server.go:155 +0x318

github.com/pulumi/pulumi-terraform-bridge/pf/internal/plugin.(*providerServer).Parameterize(0x14000786600, {0x1026cd238, 0x140007a7c80}, 0x14000176980)

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pf/internal/plugin/provider_server.go:162 +0xdc

github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Parameterize_Handler.func1({0x1026cd238?, 0x140007a7c80?}, {0x1025006c0?, 0x14000176980?})

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/proto/go/provider_grpc.pb.go:468 +0xd0

github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x1026cd238, 0x140007a6240}, {0x1025006c0, 0x14000176980}, 0x1400004c5a0, 0x140007b2ab0)

    /home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x2e4

github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Parameterize_Handler({0x102640620, 0x14000786600}, {0x1026cd238, 0x140007a6240}, 0x14000686000, 0x140008db700)

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/proto/go/provider_grpc.pb.go:470 +0x148

google.golang.org/grpc.(*Server).processUnaryRPC(0x14000d88c00, {0x1026cd238, 0x140007a6180}, {0x1026e09e0, 0x14000538000}, 0x140004e5440, 0x140007867b0, 0x103978100, 0x0)

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1369 +0xb58

google.golang.org/grpc.(*Server).handleStream(0x14000d88c00, {0x1026e09e0, 0x14000538000}, 0x140004e5440)

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1780 +0xb20

google.golang.org/grpc.(*Server).serveStreams.func2.1()

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1019 +0x8c

created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 71

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1030 +0x13c

error: parameterize: rpc error: code = Unavailable desc = error reading from server: EOF

BetterStackHQ/better-uptime

panic: fatal: error An assertion has failed: Failed to apply token mapping. source error: 2 errors occurred:

    * resources:

24 errors occurred:

    * token 'betteruptime_aws_cloudwatch_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_azure_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_datadog_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_email_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_google_monitoring_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_grafana_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_heartbeat' missing package prefix 'better-uptime_'

    * token 'betteruptime_heartbeat_group' missing package prefix 'better-uptime_'

    * token 'betteruptime_incoming_webhook' missing package prefix 'better-uptime_'

    * token 'betteruptime_metadata' missing package prefix 'better-uptime_'

    * token 'betteruptime_monitor' missing package prefix 'better-uptime_'

    * token 'betteruptime_monitor_group' missing package prefix 'better-uptime_'

    * token 'betteruptime_new_relic_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_pagerduty_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_policy' missing package prefix 'better-uptime_'

    * token 'betteruptime_policy_group' missing package prefix 'better-uptime_'

    * token 'betteruptime_prometheus_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_severity' missing package prefix 'better-uptime_'

    * token 'betteruptime_severity_group' missing package prefix 'better-uptime_'

    * token 'betteruptime_splunk_oncall_integration' missing package prefix 'better-uptime_'

    * token 'betteruptime_status_page' missing package prefix 'better-uptime_'

    * token 'betteruptime_status_page_group' missing package prefix 'better-uptime_'

    * token 'betteruptime_status_page_resource' missing package prefix 'better-uptime_'

    * token 'betteruptime_status_page_section' missing package prefix 'better-uptime_'

    * datasources:

6 errors occurred:

    * token 'betteruptime_incoming_webhook' missing package prefix 'better-uptime_'

    * token 'betteruptime_monitor' missing package prefix 'better-uptime_'

    * token 'betteruptime_on_call_calendar' missing package prefix 'better-uptime_'

    * token 'betteruptime_policy' missing package prefix 'better-uptime_'

    * token 'betteruptime_severity' missing package prefix 'better-uptime_'

    * token 'betteruptime_slack_integration' missing package prefix 'better-uptime_'

goroutine 60 [running]:

github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.failfast(...)

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/go/common/util/contract/failfast.go:23

github.com/pulumi/pulumi/sdk/v3/go/common/util/contract.AssertNoErrorf({0x1050f7400, 0x14000c35440}, {0x10434c423?, 0x104306e34?}, {0x0?, 0x140008ff320?, 0x14000ac8a90?})

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/go/common/util/contract/assert.go:51 +0x10c

github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge/info.(*Provider).MustComputeTokens(0x140009a0b20?, {0x140008ff320?, 0x140008ff380?})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pkg/tfbridge/info/external_methods.go:107 +0x40

main.providerInfo({_, _}, {_, _}, {_, _})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/dynamic/info.go:84 +0x49c

main.initialSetup.func3({0x10511d238, 0x14000c851d0}, {{0x1050f7018?, 0x140008ece10?}})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/dynamic/main.go:136 +0x51c

github.com/pulumi/pulumi-terraform-bridge/pf/tfbridge.(*provider).ParameterizeWithContext(0x140008ee388, {0x10511d238?, 0x14000c84e70?}, {{0x1050f7018?, 0x140008ece10?}})

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pf/tfbridge/provider.go:221 +0xe0

github.com/pulumi/pulumi-terraform-bridge/pf/internal/plugin.forwardServer.Parameterize(...)

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pf/internal/plugin/provider_server.go:154

github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin.(*providerServer).Parameterize(0x14000c1f690?, {0x10511d238?, 0x14000c84e70?}, 0x103aca33c?)

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/go/common/resource/plugin/provider_server.go:155 +0x318

github.com/pulumi/pulumi-terraform-bridge/pf/internal/plugin.(*providerServer).Parameterize(0x140008c4ea0, {0x10511d238, 0x14000c84e70}, 0x14000895a00)

    /home/runner/work/pulumi-terraform-provider/pulumi-terraform-provider/bridge/pf/internal/plugin/provider_server.go:162 +0xdc

github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Parameterize_Handler.func1({0x10511d238?, 0x14000c84e70?}, {0x104f506c0?, 0x14000895a00?})

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/proto/go/provider_grpc.pb.go:468 +0xd0

github.com/grpc-ecosystem/grpc-opentracing/go/otgrpc.OpenTracingServerInterceptor.func1({0x10511d238, 0x14000c841e0}, {0x104f506c0, 0x14000895a00}, 0x140008aae60, 0x140008ecde0)

    /home/runner/go/pkg/mod/github.com/grpc-ecosystem/grpc-opentracing@v0.0.0-20180507213350-8e809c8a8645/go/otgrpc/server.go:57 +0x2e4

github.com/pulumi/pulumi/sdk/v3/proto/go._ResourceProvider_Parameterize_Handler({0x105090620, 0x140008c4ea0}, {0x10511d238, 0x14000c841e0}, 0x140008b4b00, 0x140008aaa00)

    /home/runner/go/pkg/mod/github.com/pulumi/pulumi/sdk/v3@v3.125.1-0.20240720005025-a3aef6c6522f/proto/go/provider_grpc.pb.go:470 +0x148

google.golang.org/grpc.(*Server).processUnaryRPC(0x14000851800, {0x10511d238, 0x14000c84150}, {0x1051309e0, 0x14000a77800}, 0x140008f8360, 0x140008c4f30, 0x1063c8100, 0x0)

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1369 +0xb58

google.golang.org/grpc.(*Server).handleStream(0x14000851800, {0x1051309e0, 0x14000a77800}, 0x140008f8360)

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1780 +0xb20

google.golang.org/grpc.(*Server).serveStreams.func2.1()

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1019 +0x8c

created by google.golang.org/grpc.(*Server).serveStreams.func2 in goroutine 57

    /home/runner/go/pkg/mod/google.golang.org/grpc@v1.63.2/server.go:1030 +0x13c

error: parameterize: rpc error: code = Unavailable desc = error reading from server: EOF

pulumi about

❯ pulumi about
CLI
Version      3.126.0
Go Version   go1.22.5
Go Compiler  gc

Plugins
KIND      NAME           VERSION
resource  pulumi_scp     1.2.1
resource  pulumi_vercel  1.12.0
language  python         unknown

Host
OS       darwin
Version  14.0
Arch     arm64

This project is written in python: executable='/Volumes/Data/workspace/python-repros/venv/bin/python' version='3.11.4'

Current Stack: mjeffryes-pulumi-corp/python-repros/python-repros

Found no resources associated with python-repros

Found no pending operations associated with python-repros

Backend
Name           pulumi.com
URL            https://app.pulumi.com/mjeffryes-pulumi-corp
User           mjeffryes-pulumi-corp
Organizations  mjeffryes-pulumi-corp, pulumi
Token type     personal

Dependencies:
NAME           VERSION
pip            23.1.2
pulumi_scp     1.2.1
pulumi_vercel  1.12.0
setuptools     65.5.0
cleverguy25 commented 3 weeks ago

Added to epic https://github.com/pulumi/home/issues/3371