I'm trying to port the HCP Terraform provider (<ht...
# contribute
f
I'm trying to port the HCP Terraform provider (https://github.com/hashicorp/terraform-provider-hcp) to Pulumi, but am running into issues. The provider code itself is in an
internal
folder (https://github.com/hashicorp/terraform-provider-hcp/tree/main/internal), which my non-Go-coding self has discovered is how Go denotes private code that can't be used by other code. Is there some kind of way around this restriction for Pulumi's purposes, or is this provider effectively impossible to convert to Pulumi using the tfbridge? Thanks.
b
Hey @full-artist-27215 you need to follow the same sort of thing we have done in pulumi-azuread where we have a shim that allows us to reach inside the internal folder
f
Cool, thanks for the tip... I'll see if I can get that working.
b
that is the one! Notice the go.mod module name
and then how we import that in provider/go.mod
f
👍
Oh, this is sneaky
@broad-dog-22463 Making more progress, but now I've run into this:
Copy code
make tfgen
[ -x /home/maier/.pulumi/bin/pulumi ] || curl -fsSL <https://get.pulumi.com> | sh
pulumi plugin install resource random 4.3.1
(cd provider && go build -a -o /home/maier/go/src/github.com/christophermaier/pulumi-hcp/bin/pulumi-tfgen-hcp -ldflags "-X <http://github.com/christophermaier/pulumi-hcp/provider/pkg/version.Version=0.0.1-alpha.1639018537+f68ef466.dirty|github.com/christophermaier/pulumi-hcp/provider/pkg/version.Version=0.0.1-alpha.1639018537+f68ef466.dirty>" <http://github.com/christophermaier/pulumi-hcp/provider/cmd/pulumi-tfgen-hcp)|github.com/christophermaier/pulumi-hcp/provider/cmd/pulumi-tfgen-hcp)>
# <http://github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2|github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2>
/home/maier/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.13.0/pkg/tfshim/sdk-v2/upgrade_state.go:38:24: undefined: schema.UpgradeFlatmapState
/home/maier/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.13.0/pkg/tfshim/sdk-v2/upgrade_state.go:44:14: undefined: schema.UpgradeJSONState
/home/maier/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.13.0/pkg/tfshim/sdk-v2/upgrade_state.go:52:2: undefined: schema.RemoveAttributes
/home/maier/go/pkg/mod/github.com/pulumi/pulumi-terraform-bridge/v3@v3.13.0/pkg/tfshim/sdk-v2/upgrade_state.go:69:6: undefined: schema.NormalizeObjectFromLegacySDK
make: *** [Makefile:57: tfgen] Error 2
Have you seen errors like that before? Any suggestions? Thanks 🙇
Ah, never mind... I found a pointer of yours from a few months ago!
👌 1
@broad-dog-22463 I think I've got this working (at least through the "build SDKs" step)... would you all be interested in doing the same thing we did with the Nomad provider?
@broad-dog-22463 Ping on this ☝️