Repository: pulumi/pulumi-terraform-bridge
Pull request #341 (2021-04-16 08:09:50)

Upgrade to v3 module for use with Pulumi sdk v3

stack72: unfortunately, downstream providers are not feature-3.0 -> master yet so we won't get any codegen

Patch:
diff --git a/Makefile b/Makefile
index cc7e74c2..2db1df2d 100644
--- a/Makefile
+++ b/Makefile
@@ -7,9 +7,9 @@ PROJECT          := github.com/pulumi/pulumi-terraform-bridge
 TESTPARALLELISM  := 10
 
 build::
-	go build ${PROJECT}/v2/pkg/...
-	go build ${PROJECT}/v2/internal/...
-	go install ${PROJECT}/v2/cmd/...
+	go build ${PROJECT}/v3/pkg/...
+	go build ${PROJECT}/v3/internal/...
+	go install ${PROJECT}/v3/cmd/...
 
 lint::
 	golangci-lint run
diff --git a/go.mod b/go.mod
index 44270e16..50a7411b 100644
--- a/go.mod
+++ b/go.mod
@@ -1,4 +1,4 @@
-module github.com/pulumi/pulumi-terraform-bridge/v2
+module github.com/pulumi/pulumi-terraform-bridge/v3
 
 go 1.16
 
@@ -33,8 +33,8 @@ require (
 	github.com/mitchellh/mapstructure v1.4.0
 	github.com/mitchellh/reflectwalk v1.0.1
 	github.com/pkg/errors v0.9.1
-	github.com/pulumi/pulumi/pkg/v2 v2.24.1-0.20210411193841-b7d403204449
-	github.com/pulumi/pulumi/sdk/v2 v2.24.1
+	github.com/pulumi/pulumi/pkg/v3 v3.0.0-rc.1
+	github.com/pulumi/pulumi/sdk/v3 v3.0.0-rc.1
 	github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e
 	github.com/spf13/afero v1.2.2
 	github.com/spf13/cobra v1.0.0
diff --git a/go.sum b/go.sum
index 540a588e..4515a2a7 100644
--- a/go.sum
+++ b/go.sum
@@ -689,13 +689,18 @@ github.com/prometheus/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA
 github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU=
 github.com/pulumi/pulumi/pkg/v2 v2.22.1-0.20210310211618-1f16423ede4c h1:ozWoZFocQfHmPahclxia6CGhP3eZ73XK6xznr4J5/cU=
 github.com/pulumi/pulumi/pkg/v2 v2.22.1-0.20210310211618-1f16423ede4c/go.mod h1:cghYgU9E3gorp3W0gIZshlUib4LtCh36XBTAzLQO7qI=
-github.com/pulumi/pulumi/pkg/v2 v2.24.1-0.20210411193841-b7d403204449 h1:KTj+B7YhRbU7PsOMBr58RFwNJy+OkGILpA+6/RSuhhw=
-github.com/pulumi/pulumi/pkg/v2 v2.24.1-0.20210411193841-b7d403204449/go.mod h1:hq6KcDEklytmMrL5aexH19GP2f5GX2IeveICJXaKHc0=
-github.com/pulumi/pulumi/sdk/v2 v2.2.1/go.mod h1:QNbWpL4gvf3X0lUFT7TXA2Jo1ff/Ti2l97AyFGYwvW4=
-github.com/pulumi/pulumi/sdk/v2 v2.22.1-0.20210310211618-1f16423ede4c h1:fQ8iJ0AwJSUt1j7A1CRpJSsi5Cr48b2XUxG6sl9vX2A=
-github.com/pulumi/pulumi/sdk/v2 v2.22.1-0.20210310211618-1f16423ede4c/go.mod h1:fCFhRV6NmidWetmgDPA76efL+s0JqLlS54JJIwfOt+o=
-github.com/pulumi/pulumi/sdk/v2 v2.24.1 h1:bmFDjdlYinnjQu5jeR+D4+k8aQuEhxIfJ/N3nOSaYiY=
-github.com/pulumi/pulumi/sdk/v2 v2.24.1/go.mod h1:sHQdzD0/cIopR5uLeoikXi1pNBv5SwA4M617VqdIA3E=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-20210323100828-ae9253ac9b76 h1:zCWwJe+6kPDcuotzoW/eR1r31DJm9EGfnNOOlIsAwns=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-20210323100828-ae9253ac9b76/go.mod h1:eMwJviOF/gL0fubZg6bW5CgleNqjNg90UE/Ww0MPtqg=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-20210324220902-b543e235f01d h1:1avqGOvRbUcsTMbAjhIdlpSOX23gdLXuBBq0YoHa5I4=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-20210324220902-b543e235f01d/go.mod h1:eMwJviOF/gL0fubZg6bW5CgleNqjNg90UE/Ww0MPtqg=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-beta.2 h1:9ZrTeR2CKNmyYjx4GprltxHGMRguno4shKRWedWBRvo=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-beta.2/go.mod h1:JCl+sZFEEeDQF1CLAYkxmQv7jxGsNVR7Sn2+gXTu/ag=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-rc.1 h1:Wqtq1v+Q3Jpx8cxDh24iEWvsZ6y6672maA5Kw9pBGU4=
+github.com/pulumi/pulumi/pkg/v3 v3.0.0-rc.1/go.mod h1:Ollz7eH01VTWzhhzwJ7jp01nS1wD4CEgpZltrwymrfs=
+github.com/pulumi/pulumi/sdk/v3 v3.0.0-beta.2 h1:uw3nUFEtygkBTSVjL+kvE12pS8imafKcALPewEFVv1c=
+github.com/pulumi/pulumi/sdk/v3 v3.0.0-beta.2/go.mod h1:GBHyQ7awNQSRmiKp/p8kIKrGrMOZeA/k2czoM/GOqds=
+github.com/pulumi/pulumi/sdk/v3 v3.0.0-rc.1 h1:RJcy2x1UJOsWJOUzDO7yC98yEd5w9lR4shaQD0dhJkE=
+github.com/pulumi/pulumi/sdk/v3 v3.0.0-rc.1/go.mod h1:GBHyQ7awNQSRmiKp/p8kIKrGrMOZeA/k2czoM/GOqds=
 github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e h1:Dik4Qe/+xguB8JagPyXNlbOnRiXGmq/PSPQTGunYnTk=
 github.com/pulumi/terraform-diff-reader v0.0.0-20201211191010-ad4715e9285e/go.mod h1:sZ9FUzGO+yM41hsQHs/yIcj/Y993qMdBxBU5mpDmAfQ=
 github.com/pulumi/terraform-plugin-sdk/v2 v2.0.0-20201219002103-53f910a1ea61 h1:n44snmoisMPJuF1LF3/kkKf1BBiGaYyEapFRLIlAHRc=
@@ -987,7 +992,6 @@ golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7w
 golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200317113312-5766fd39f98d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
 golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
diff --git a/pkg/tf2pulumi/convert/convert.go b/pkg/tf2pulumi/convert/convert.go
index 8147499e..65251456 100644
--- a/pkg/tf2pulumi/convert/convert.go
+++ b/pkg/tf2pulumi/convert/convert.go
@@ -21,17 +21,17 @@ import (
 	"os"
 
 	"github.com/hashicorp/hcl/v2"
-	hcl2dotnet "github.com/pulumi/pulumi/pkg/v2/codegen/dotnet"
-	hcl2go "github.com/pulumi/pulumi/pkg/v2/codegen/go"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2/syntax"
-	hcl2nodejs "github.com/pulumi/pulumi/pkg/v2/codegen/nodejs"
-	hcl2python "github.com/pulumi/pulumi/pkg/v2/codegen/python"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	hcl2dotnet "github.com/pulumi/pulumi/pkg/v3/codegen/dotnet"
+	hcl2go "github.com/pulumi/pulumi/pkg/v3/codegen/go"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2/syntax"
+	hcl2nodejs "github.com/pulumi/pulumi/pkg/v3/codegen/nodejs"
+	hcl2python "github.com/pulumi/pulumi/pkg/v3/codegen/python"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 const (
diff --git a/pkg/tf2pulumi/convert/tf11.go b/pkg/tf2pulumi/convert/tf11.go
index c7eae956..d42712d1 100644
--- a/pkg/tf2pulumi/convert/tf11.go
+++ b/pkg/tf2pulumi/convert/tf11.go
@@ -12,14 +12,14 @@ import (
 	"github.com/hashicorp/hcl/v2/hclsyntax"
 	"github.com/hashicorp/hil/ast"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
-
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen/nodejs"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen/python"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	tf11module "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config/module"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
+
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen/nodejs"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen/python"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	tf11module "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config/module"
 )
 
 // convertTF11 converts a TF11 graph to a set of TF12 files.
diff --git a/pkg/tf2pulumi/convert/tf12.go b/pkg/tf2pulumi/convert/tf12.go
index 032aaf41..0452b0f9 100644
--- a/pkg/tf2pulumi/convert/tf12.go
+++ b/pkg/tf2pulumi/convert/tf12.go
@@ -9,20 +9,20 @@ import (
 
 	"github.com/hashicorp/hcl/v2"
 	"github.com/hashicorp/hcl/v2/hclsyntax"
-	"github.com/pulumi/pulumi/pkg/v2/codegen"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2/model"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2/syntax"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/pkg/v3/codegen"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2/model"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2/syntax"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 	"github.com/zclconf/go-cty/cty"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/addrs"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/configs"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/addrs"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/configs"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
 )
 
 func parseFile(parser *syntax.Parser, fs afero.Fs, path string) error {
diff --git a/pkg/tf2pulumi/convert/tf12_eval.go b/pkg/tf2pulumi/convert/tf12_eval.go
index 1d049c04..235ad3aa 100644
--- a/pkg/tf2pulumi/convert/tf12_eval.go
+++ b/pkg/tf2pulumi/convert/tf12_eval.go
@@ -2,9 +2,9 @@ package convert
 
 import (
 	"github.com/hashicorp/hcl/v2"
-	"github.com/pulumi/pulumi/pkg/v2/codegen"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2/model"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/pkg/v3/codegen"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2/model"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/zclconf/go-cty/cty"
 	"github.com/zclconf/go-cty/cty/convert"
 )
diff --git a/pkg/tf2pulumi/convert/tf12_names.go b/pkg/tf2pulumi/convert/tf12_names.go
index 5f387aac..9664c218 100644
--- a/pkg/tf2pulumi/convert/tf12_names.go
+++ b/pkg/tf2pulumi/convert/tf12_names.go
@@ -22,10 +22,10 @@ import (
 	"unicode/utf8"
 
 	"github.com/hashicorp/hcl/v2"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 type nameTable struct {
diff --git a/pkg/tf2pulumi/gen/emit.go b/pkg/tf2pulumi/gen/emit.go
index 4be96b1e..d8d8690c 100644
--- a/pkg/tf2pulumi/gen/emit.go
+++ b/pkg/tf2pulumi/gen/emit.go
@@ -4,9 +4,9 @@ import (
 	"fmt"
 	"io"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 // HILGenerator is an interface that
diff --git a/pkg/tf2pulumi/gen/gen.go b/pkg/tf2pulumi/gen/gen.go
index 01b0685c..02d6535d 100644
--- a/pkg/tf2pulumi/gen/gen.go
+++ b/pkg/tf2pulumi/gen/gen.go
@@ -19,7 +19,7 @@ import (
 
 	"github.com/pkg/errors"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 // Generator defines the interface that a language-specific code generator must expose in order to generate code for a
diff --git a/pkg/tf2pulumi/gen/nodejs/archive.go b/pkg/tf2pulumi/gen/nodejs/archive.go
index f45e1d23..e89fcb70 100644
--- a/pkg/tf2pulumi/gen/nodejs/archive.go
+++ b/pkg/tf2pulumi/gen/nodejs/archive.go
@@ -19,9 +19,9 @@ import (
 	"fmt"
 
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 // computeArchiveInputs computes the inputs for a call to the pulumi.AssetArchive constructor based on the values
diff --git a/pkg/tf2pulumi/gen/nodejs/assign_names.go b/pkg/tf2pulumi/gen/nodejs/assign_names.go
index 18456b8a..fe9520a2 100644
--- a/pkg/tf2pulumi/gen/nodejs/assign_names.go
+++ b/pkg/tf2pulumi/gen/nodejs/assign_names.go
@@ -20,9 +20,9 @@ import (
 	"unicode"
 	"unicode/utf8"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 type nameTable struct {
diff --git a/pkg/tf2pulumi/gen/nodejs/assign_names_apply.go b/pkg/tf2pulumi/gen/nodejs/assign_names_apply.go
index 3eb027be..4e59475c 100644
--- a/pkg/tf2pulumi/gen/nodejs/assign_names_apply.go
+++ b/pkg/tf2pulumi/gen/nodejs/assign_names_apply.go
@@ -18,11 +18,11 @@ import (
 	"fmt"
 	"strings"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 type applyNameTable struct {
diff --git a/pkg/tf2pulumi/gen/nodejs/generator.go b/pkg/tf2pulumi/gen/nodejs/generator.go
index 445726fa..bda65d25 100644
--- a/pkg/tf2pulumi/gen/nodejs/generator.go
+++ b/pkg/tf2pulumi/gen/nodejs/generator.go
@@ -24,13 +24,13 @@ import (
 
 	"github.com/blang/semver"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // Options defines parameters that are specific to the NodeJS code generator.
diff --git a/pkg/tf2pulumi/gen/nodejs/hil.go b/pkg/tf2pulumi/gen/nodejs/hil.go
index 2f1116c4..b6d66a48 100644
--- a/pkg/tf2pulumi/gen/nodejs/hil.go
+++ b/pkg/tf2pulumi/gen/nodejs/hil.go
@@ -20,11 +20,11 @@ import (
 	"strings"
 
 	"github.com/hashicorp/hil/ast"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 // This file contains the code necessary to generate code for bound expression trees. It is the responsibility of each
diff --git a/pkg/tf2pulumi/gen/nodejs/http.go b/pkg/tf2pulumi/gen/nodejs/http.go
index f5cb34bb..61fd2a39 100644
--- a/pkg/tf2pulumi/gen/nodejs/http.go
+++ b/pkg/tf2pulumi/gen/nodejs/http.go
@@ -19,9 +19,9 @@ import (
 	"fmt"
 
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 // computeHTTPInputs computes the arguments for a call to request-promise-native's single function from the bound input
diff --git a/pkg/tf2pulumi/gen/nodejs/intrinsics.go b/pkg/tf2pulumi/gen/nodejs/intrinsics.go
index 2949937e..38f8da40 100644
--- a/pkg/tf2pulumi/gen/nodejs/intrinsics.go
+++ b/pkg/tf2pulumi/gen/nodejs/intrinsics.go
@@ -15,9 +15,9 @@
 package nodejs
 
 import (
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 const (
diff --git a/pkg/tf2pulumi/gen/nodejs/lower.go b/pkg/tf2pulumi/gen/nodejs/lower.go
index f440dafd..8407f9ee 100644
--- a/pkg/tf2pulumi/gen/nodejs/lower.go
+++ b/pkg/tf2pulumi/gen/nodejs/lower.go
@@ -17,10 +17,10 @@ package nodejs
 import (
 	"path/filepath"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 // lowerToLiterals lowers certain elements--namely Module and Root path references--to bound literals. This allows the
diff --git a/pkg/tf2pulumi/gen/nodejs/properties.go b/pkg/tf2pulumi/gen/nodejs/properties.go
index 363c89f2..19856467 100644
--- a/pkg/tf2pulumi/gen/nodejs/properties.go
+++ b/pkg/tf2pulumi/gen/nodejs/properties.go
@@ -18,9 +18,9 @@ import (
 	"fmt"
 	"io"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // genListProperty generates code for as single list property.
diff --git a/pkg/tf2pulumi/gen/python/generator.go b/pkg/tf2pulumi/gen/python/generator.go
index a6998adf..c665b8fc 100644
--- a/pkg/tf2pulumi/gen/python/generator.go
+++ b/pkg/tf2pulumi/gen/python/generator.go
@@ -26,11 +26,11 @@ import (
 	"unicode"
 
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 // New creates a new Python Generator that writes to the given writer and uses the given project name.
diff --git a/pkg/tf2pulumi/gen/python/hil.go b/pkg/tf2pulumi/gen/python/hil.go
index 2c5352f8..5219402a 100644
--- a/pkg/tf2pulumi/gen/python/hil.go
+++ b/pkg/tf2pulumi/gen/python/hil.go
@@ -18,11 +18,11 @@ import (
 	"fmt"
 	"io"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 const (
diff --git a/pkg/tf2pulumi/gen/python/intrinsics.go b/pkg/tf2pulumi/gen/python/intrinsics.go
index 8fc9e233..789e3ee9 100644
--- a/pkg/tf2pulumi/gen/python/intrinsics.go
+++ b/pkg/tf2pulumi/gen/python/intrinsics.go
@@ -15,8 +15,8 @@
 package python
 
 import (
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 const (
diff --git a/pkg/tf2pulumi/gen/python/rewriters.go b/pkg/tf2pulumi/gen/python/rewriters.go
index 6a9bc454..37c3f22f 100644
--- a/pkg/tf2pulumi/gen/python/rewriters.go
+++ b/pkg/tf2pulumi/gen/python/rewriters.go
@@ -15,7 +15,7 @@
 package python
 
 import (
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 type trivialApplyRewriter struct{}
diff --git a/pkg/tf2pulumi/gen/util.go b/pkg/tf2pulumi/gen/util.go
index 7402ab63..2c4180a0 100644
--- a/pkg/tf2pulumi/gen/util.go
+++ b/pkg/tf2pulumi/gen/util.go
@@ -18,7 +18,7 @@ import (
 	"reflect"
 	"sort"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // SortedKeys returns a sorted list of keys for the given map. The map's key type must be of kind string.
diff --git a/pkg/tf2pulumi/il/binder_hil.go b/pkg/tf2pulumi/il/binder_hil.go
index ddd54bf5..c432eafa 100644
--- a/pkg/tf2pulumi/il/binder_hil.go
+++ b/pkg/tf2pulumi/il/binder_hil.go
@@ -20,7 +20,7 @@ import (
 	"github.com/hashicorp/hil/ast"
 	"github.com/pkg/errors"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 // bindArithmetic binds an HIL arithmetic expression.
diff --git a/pkg/tf2pulumi/il/binder_properties.go b/pkg/tf2pulumi/il/binder_properties.go
index 99498691..0e2dafb4 100644
--- a/pkg/tf2pulumi/il/binder_properties.go
+++ b/pkg/tf2pulumi/il/binder_properties.go
@@ -20,10 +20,10 @@ import (
 
 	"github.com/hashicorp/hil"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // propertyBinder is used to convert Terraform configuration properties into a form better suited for static analysis
diff --git a/pkg/tf2pulumi/il/boundTree.go b/pkg/tf2pulumi/il/boundTree.go
index 66850cc4..29cb4635 100644
--- a/pkg/tf2pulumi/il/boundTree.go
+++ b/pkg/tf2pulumi/il/boundTree.go
@@ -20,9 +20,9 @@ import (
 	"strings"
 
 	"github.com/hashicorp/hil/ast"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 // Type represents the type of a single node in a bound property tree. Types are fairly simplistic: in addition to the
diff --git a/pkg/tf2pulumi/il/boundTree_visitor.go b/pkg/tf2pulumi/il/boundTree_visitor.go
index 0974bcff..3765491a 100644
--- a/pkg/tf2pulumi/il/boundTree_visitor.go
+++ b/pkg/tf2pulumi/il/boundTree_visitor.go
@@ -18,7 +18,7 @@ import (
 	"sort"
 
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // A BoundNodeVisitor is a function that visits and optionally replaces a node in a bound property tree.
diff --git a/pkg/tf2pulumi/il/builtin_providers.go b/pkg/tf2pulumi/il/builtin_providers.go
index 4cf2b810..2eae6767 100644
--- a/pkg/tf2pulumi/il/builtin_providers.go
+++ b/pkg/tf2pulumi/il/builtin_providers.go
@@ -19,8 +19,8 @@ import (
 	"github.com/terraform-providers/terraform-provider-archive/archive"
 	"github.com/terraform-providers/terraform-provider-http/http"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
 )
 
 // builtinProviderInfo provides a static map from provider name to propvider information for the small set of providers
diff --git a/pkg/tf2pulumi/il/graph.go b/pkg/tf2pulumi/il/graph.go
index afeac9bf..3b592a79 100644
--- a/pkg/tf2pulumi/il/graph.go
+++ b/pkg/tf2pulumi/il/graph.go
@@ -24,13 +24,13 @@ import (
 
 	"github.com/hashicorp/hcl/hcl/token"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config/module"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config/module"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
 )
 
 // TODO
diff --git a/pkg/tf2pulumi/il/graph_comments.go b/pkg/tf2pulumi/il/graph_comments.go
index 88804666..0788da01 100644
--- a/pkg/tf2pulumi/il/graph_comments.go
+++ b/pkg/tf2pulumi/il/graph_comments.go
@@ -22,10 +22,10 @@ import (
 	"github.com/hashicorp/hcl"
 	"github.com/hashicorp/hcl/hcl/ast"
 	"github.com/hashicorp/hcl/hcl/token"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 // locatable is an interface shared by the IL's top-level nodes.
diff --git a/pkg/tf2pulumi/il/intrinsics.go b/pkg/tf2pulumi/il/intrinsics.go
index 5b451ff9..5f833cb6 100644
--- a/pkg/tf2pulumi/il/intrinsics.go
+++ b/pkg/tf2pulumi/il/intrinsics.go
@@ -15,7 +15,7 @@
 package il
 
 import (
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 const (
diff --git a/pkg/tf2pulumi/il/plugin_info.go b/pkg/tf2pulumi/il/plugin_info.go
index 73d691e5..6f4ee3d1 100644
--- a/pkg/tf2pulumi/il/plugin_info.go
+++ b/pkg/tf2pulumi/il/plugin_info.go
@@ -23,10 +23,10 @@ import (
 
 	jsoniter "github.com/json-iterator/go"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/workspace"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/workspace"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 // ProviderInfoSource abstracts the ability to fetch tfbridge information for a Terraform provider. This is abstracted
diff --git a/pkg/tf2pulumi/il/rewriters.go b/pkg/tf2pulumi/il/rewriters.go
index caa1caa2..43390453 100644
--- a/pkg/tf2pulumi/il/rewriters.go
+++ b/pkg/tf2pulumi/il/rewriters.go
@@ -17,10 +17,10 @@ package il
 import (
 	"sort"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 // The applyRewriter is responsible for transforming expressions involving Pulumi output properties into a call to the
diff --git a/pkg/tf2pulumi/il/schemas.go b/pkg/tf2pulumi/il/schemas.go
index f6b641ba..6a9c61c6 100644
--- a/pkg/tf2pulumi/il/schemas.go
+++ b/pkg/tf2pulumi/il/schemas.go
@@ -17,10 +17,10 @@ package il
 import (
 	"strconv"
 
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2/model"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2/model"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // Schemas bundles a property's Terraform and Pulumi schema information into a single type. This information is then
diff --git a/pkg/tf2pulumi/internal/config/module/tree.go b/pkg/tf2pulumi/internal/config/module/tree.go
index 8a9cabb1..33bd3ae7 100644
--- a/pkg/tf2pulumi/internal/config/module/tree.go
+++ b/pkg/tf2pulumi/internal/config/module/tree.go
@@ -10,7 +10,7 @@ import (
 	"sync"
 
 	getter "github.com/hashicorp/go-getter"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 	"github.com/spf13/afero"
 )
 
diff --git a/pkg/tf2pulumi/internal/config/module/tree_gob.go b/pkg/tf2pulumi/internal/config/module/tree_gob.go
index edf14223..fd7172bf 100644
--- a/pkg/tf2pulumi/internal/config/module/tree_gob.go
+++ b/pkg/tf2pulumi/internal/config/module/tree_gob.go
@@ -4,7 +4,7 @@ import (
 	"bytes"
 	"encoding/gob"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 func (t *Tree) GobDecode(bs []byte) error {
diff --git a/pkg/tfbridge/assets.go b/pkg/tfbridge/assets.go
index d30c0ebb..94f59318 100644
--- a/pkg/tfbridge/assets.go
+++ b/pkg/tfbridge/assets.go
@@ -20,8 +20,8 @@ import (
 	"os"
 	"path/filepath"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // AssetTranslation instructs the bridge how to translate assets into something Terraform can use.
diff --git a/pkg/tfbridge/diff.go b/pkg/tfbridge/diff.go
index 234a5bb5..5fa73ec6 100644
--- a/pkg/tfbridge/diff.go
+++ b/pkg/tfbridge/diff.go
@@ -19,10 +19,10 @@ import (
 	"strconv"
 	"strings"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	pulumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // containsComputedValues returns true if the given property value is or contains a computed value.
diff --git a/pkg/tfbridge/info.go b/pkg/tfbridge/info.go
index bf61af67..adacd821 100644
--- a/pkg/tfbridge/info.go
+++ b/pkg/tfbridge/info.go
@@ -17,13 +17,13 @@ package tfbridge
 import (
 	"fmt"
 	"github.com/blang/semver"
-	pschema "github.com/pulumi/pulumi/pkg/v2/codegen/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	pschema "github.com/pulumi/pulumi/pkg/v3/codegen/schema"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
 )
 
 const (
diff --git a/pkg/tfbridge/log.go b/pkg/tfbridge/log.go
index 142aa33d..8a27a2c7 100644
--- a/pkg/tfbridge/log.go
+++ b/pkg/tfbridge/log.go
@@ -19,9 +19,9 @@ import (
 	"context"
 	"strings"
 
-	"github.com/pulumi/pulumi/pkg/v2/resource/provider"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/diag"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/pkg/v3/resource/provider"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // LogRedirector creates a new redirection writer that takes as input plugin stderr output, and routes it to the
diff --git a/pkg/tfbridge/main.go b/pkg/tfbridge/main.go
index 040fac50..382eec04 100644
--- a/pkg/tfbridge/main.go
+++ b/pkg/tfbridge/main.go
@@ -20,8 +20,8 @@ import (
 	"fmt"
 	"os"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/cmdutil"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // Main launches the tfbridge plugin for a given package pkg and provider prov.
diff --git a/pkg/tfbridge/names.go b/pkg/tfbridge/names.go
index 2ee28125..00a0a7b3 100644
--- a/pkg/tfbridge/names.go
+++ b/pkg/tfbridge/names.go
@@ -20,10 +20,10 @@ import (
 	"github.com/pkg/errors"
 
 	"github.com/gedex/inflector"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // PulumiToTerraformName performs a standard transformation on the given name string, from Pulumi's PascalCasing or
diff --git a/pkg/tfbridge/provider.go b/pkg/tfbridge/provider.go
index 6dd941ed..e2b6369e 100644
--- a/pkg/tfbridge/provider.go
+++ b/pkg/tfbridge/provider.go
@@ -18,7 +18,7 @@ import (
 	"encoding/json"
 	"fmt"
 	"github.com/hashicorp/go-cty/cty"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/diagnostics"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/diagnostics"
 	"log"
 	"regexp"
 	"strings"
@@ -33,16 +33,16 @@ import (
 	"golang.org/x/net/context"
 	"google.golang.org/grpc/codes"
 
-	"github.com/pulumi/pulumi/pkg/v2/resource/provider"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/diag"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/rpcutil/rpcerror"
-	pulumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"
+	"github.com/pulumi/pulumi/pkg/v3/resource/provider"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/rpcutil/rpcerror"
+	pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // Provider implements the Pulumi resource provider operations for any Terraform plugin.
diff --git a/pkg/tfbridge/schema.go b/pkg/tfbridge/schema.go
index e7e9d4b6..12a70412 100644
--- a/pkg/tfbridge/schema.go
+++ b/pkg/tfbridge/schema.go
@@ -27,12 +27,12 @@ import (
 	pbstruct "github.com/golang/protobuf/ptypes/struct"
 	"github.com/mitchellh/copystructure"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
 )
 
 // TerraformUnknownVariableValue is the sentinal defined in github.com/hashicorp/terraform/configs/hcl2shim,
@@ -1141,7 +1141,8 @@ func extractInputsFromOutputs(oldInputs, outs resource.PropertyMap,
 	var inputs resource.PropertyValue
 	if isRefresh {
 		// If this is a refresh, only extract new values for inputs that are already present.
-		inputs, _ = extractInputs(resource.NewObjectProperty(oldInputs), resource.NewObjectProperty(outs), sch, pss, false)
+		inputs, _ = extractInputs(resource.NewObjectProperty(oldInputs),
+			resource.NewObjectProperty(outs), sch, pss, false)
 	} else {
 		// Otherwise, take a schema-directed approach that fills out all input-only properties.
 		v, err := extractSchemaInputs(resource.NewObjectProperty(outs), tfs, ps)
diff --git a/pkg/tfbridge/serve.go b/pkg/tfbridge/serve.go
index f32b4a2e..7fb9f022 100644
--- a/pkg/tfbridge/serve.go
+++ b/pkg/tfbridge/serve.go
@@ -17,8 +17,8 @@ package tfbridge
 import (
 	"context"
 
-	"github.com/pulumi/pulumi/pkg/v2/resource/provider"
-	lumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"
+	"github.com/pulumi/pulumi/pkg/v3/resource/provider"
+	lumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
 )
 
 // Serve fires up a Pulumi resource provider listening to inbound gRPC traffic,
diff --git a/pkg/tfbridge/transforms.go b/pkg/tfbridge/transforms.go
index 9a3aa5a4..d4dd4c7d 100644
--- a/pkg/tfbridge/transforms.go
+++ b/pkg/tfbridge/transforms.go
@@ -18,7 +18,7 @@ import (
 	"encoding/json"
 
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
 )
 
 // TransformJSONDocument permits either a string, which is presumed to represent an already-stringified JSON document,
diff --git a/pkg/tfgen/docs.go b/pkg/tfgen/docs.go
index 7c536711..51a84554 100644
--- a/pkg/tfgen/docs.go
+++ b/pkg/tfgen/docs.go
@@ -27,11 +27,11 @@ import (
 	"sort"
 	"strings"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/convert"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/convert"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 // argumentDocs contains the documentation metadata for an argument of the resource.
diff --git a/pkg/tfgen/generate.go b/pkg/tfgen/generate.go
index 5f5311fa..570ebb7e 100644
--- a/pkg/tfgen/generate.go
+++ b/pkg/tfgen/generate.go
@@ -27,24 +27,24 @@ import (
 
 	"github.com/hashicorp/go-multierror"
 	"github.com/pkg/errors"
-	"github.com/pulumi/pulumi/pkg/v2/codegen"
-	dotnetgen "github.com/pulumi/pulumi/pkg/v2/codegen/dotnet"
-	gogen "github.com/pulumi/pulumi/pkg/v2/codegen/go"
-	"github.com/pulumi/pulumi/pkg/v2/codegen/hcl2"
-	nodejsgen "github.com/pulumi/pulumi/pkg/v2/codegen/nodejs"
-	pygen "github.com/pulumi/pulumi/pkg/v2/codegen/python"
-	pschema "github.com/pulumi/pulumi/pkg/v2/codegen/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/diag"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/cmdutil"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/pkg/v3/codegen"
+	dotnetgen "github.com/pulumi/pulumi/pkg/v3/codegen/dotnet"
+	gogen "github.com/pulumi/pulumi/pkg/v3/codegen/go"
+	"github.com/pulumi/pulumi/pkg/v3/codegen/hcl2"
+	nodejsgen "github.com/pulumi/pulumi/pkg/v3/codegen/nodejs"
+	pygen "github.com/pulumi/pulumi/pkg/v3/codegen/python"
+	pschema "github.com/pulumi/pulumi/pkg/v3/codegen/schema"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/diag"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
 )
 
 const (
diff --git a/pkg/tfgen/generate_schema.go b/pkg/tfgen/generate_schema.go
index ed021277..940a5543 100644
--- a/pkg/tfgen/generate_schema.go
+++ b/pkg/tfgen/generate_schema.go
@@ -26,13 +26,13 @@ import (
 	"strings"
 
 	"github.com/gedex/inflector"
-	"github.com/pulumi/pulumi/pkg/v2/codegen"
-	pschema "github.com/pulumi/pulumi/pkg/v2/codegen/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/pkg/v3/codegen"
+	pschema "github.com/pulumi/pulumi/pkg/v3/codegen/schema"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 type schemaGenerator struct {
diff --git a/pkg/tfgen/main.go b/pkg/tfgen/main.go
index 7eea303b..57a0462e 100644
--- a/pkg/tfgen/main.go
+++ b/pkg/tfgen/main.go
@@ -21,9 +21,9 @@ import (
 	"runtime/pprof"
 
 	"github.com/golang/glog"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/cmdutil"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/cmdutil"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 	"github.com/spf13/cobra"
 )
diff --git a/pkg/tfgen/pluginHost.go b/pkg/tfgen/pluginHost.go
index f11581ee..c0ce07c8 100644
--- a/pkg/tfgen/pluginHost.go
+++ b/pkg/tfgen/pluginHost.go
@@ -5,11 +5,11 @@ import (
 	"sync"
 
 	"github.com/blang/semver"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 type inmemoryProvider struct {
diff --git a/pkg/tfgen/writer.go b/pkg/tfgen/writer.go
index 2b4879c2..d19d3274 100644
--- a/pkg/tfgen/writer.go
+++ b/pkg/tfgen/writer.go
@@ -20,7 +20,7 @@ import (
 	"io"
 	"os"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/spf13/afero"
 )
 
diff --git a/pkg/tfshim/schema/provider.go b/pkg/tfshim/schema/provider.go
index 6b4320e0..584d325d 100644
--- a/pkg/tfshim/schema/provider.go
+++ b/pkg/tfshim/schema/provider.go
@@ -1,7 +1,7 @@
 package schema
 
 import (
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 type Provider struct {
diff --git a/pkg/tfshim/schema/resource.go b/pkg/tfshim/schema/resource.go
index 48d37f2b..bdeab637 100644
--- a/pkg/tfshim/schema/resource.go
+++ b/pkg/tfshim/schema/resource.go
@@ -3,7 +3,7 @@ package schema
 import (
 	"fmt"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.ResourceMap(ResourceMap{})
diff --git a/pkg/tfshim/schema/schema.go b/pkg/tfshim/schema/schema.go
index 16bfc64f..64154351 100644
--- a/pkg/tfshim/schema/schema.go
+++ b/pkg/tfshim/schema/schema.go
@@ -1,7 +1,7 @@
 package schema
 
 import (
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 // UnknownVariableValue is the sentinal defined in github.com/hashicorp/terraform/configs/hcl2shim,
diff --git a/pkg/tfshim/sdk-v1/flatten.go b/pkg/tfshim/sdk-v1/flatten.go
index 730d6769..4b70d2f2 100644
--- a/pkg/tfshim/sdk-v1/flatten.go
+++ b/pkg/tfshim/sdk-v1/flatten.go
@@ -4,7 +4,7 @@ import (
 	"strconv"
 
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // flattenValue takes a single value and recursively flattens its properties into the given string -> string map under
diff --git a/pkg/tfshim/sdk-v1/instance_diff.go b/pkg/tfshim/sdk-v1/instance_diff.go
index e2e94473..9dcd3881 100644
--- a/pkg/tfshim/sdk-v1/instance_diff.go
+++ b/pkg/tfshim/sdk-v1/instance_diff.go
@@ -6,7 +6,7 @@ import (
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/terraform"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.InstanceDiff(v1InstanceDiff{})
diff --git a/pkg/tfshim/sdk-v1/instance_state.go b/pkg/tfshim/sdk-v1/instance_state.go
index cfa38036..fa3b2664 100644
--- a/pkg/tfshim/sdk-v1/instance_state.go
+++ b/pkg/tfshim/sdk-v1/instance_state.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 	diff_reader "github.com/pulumi/terraform-diff-reader/sdk-v1"
 )
 
diff --git a/pkg/tfshim/sdk-v1/provider.go b/pkg/tfshim/sdk-v1/provider.go
index 6aa786cb..a931464f 100644
--- a/pkg/tfshim/sdk-v1/provider.go
+++ b/pkg/tfshim/sdk-v1/provider.go
@@ -4,7 +4,7 @@ import (
 	"github.com/hashicorp/terraform-plugin-sdk/helper/logging"
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.Provider(v1Provider{})
diff --git a/pkg/tfshim/sdk-v1/resource.go b/pkg/tfshim/sdk-v1/resource.go
index d0f4cadd..4e420118 100644
--- a/pkg/tfshim/sdk-v1/resource.go
+++ b/pkg/tfshim/sdk-v1/resource.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.Resource(v1Resource{})
diff --git a/pkg/tfshim/sdk-v1/resource_config.go b/pkg/tfshim/sdk-v1/resource_config.go
index 4638f909..c4c940cd 100644
--- a/pkg/tfshim/sdk-v1/resource_config.go
+++ b/pkg/tfshim/sdk-v1/resource_config.go
@@ -3,7 +3,7 @@ package sdkv1
 import (
 	"github.com/hashicorp/terraform-plugin-sdk/terraform"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.ResourceConfig(v1ResourceConfig{})
diff --git a/pkg/tfshim/sdk-v1/schema.go b/pkg/tfshim/sdk-v1/schema.go
index d2984b84..66c3f95b 100644
--- a/pkg/tfshim/sdk-v1/schema.go
+++ b/pkg/tfshim/sdk-v1/schema.go
@@ -3,7 +3,7 @@ package sdkv1
 import (
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.Schema(v1Schema{})
diff --git a/pkg/tfshim/sdk-v2/diagnostics.go b/pkg/tfshim/sdk-v2/diagnostics.go
index e056632d..03cb0133 100644
--- a/pkg/tfshim/sdk-v2/diagnostics.go
+++ b/pkg/tfshim/sdk-v2/diagnostics.go
@@ -3,7 +3,7 @@ package sdkv2
 import (
 	"github.com/hashicorp/go-multierror"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/diag"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/diagnostics"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/diagnostics"
 )
 
 func warningsAndErrors(diags diag.Diagnostics) ([]string, []error) {
diff --git a/pkg/tfshim/sdk-v2/flatten.go b/pkg/tfshim/sdk-v2/flatten.go
index 8f3ffae3..11865a4e 100644
--- a/pkg/tfshim/sdk-v2/flatten.go
+++ b/pkg/tfshim/sdk-v2/flatten.go
@@ -4,7 +4,7 @@ import (
 	"strconv"
 
 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // flattenValue takes a single value and recursively flattens its properties into the given string -> string map under
diff --git a/pkg/tfshim/sdk-v2/instance_diff.go b/pkg/tfshim/sdk-v2/instance_diff.go
index 80d4888d..94d2f750 100644
--- a/pkg/tfshim/sdk-v2/instance_diff.go
+++ b/pkg/tfshim/sdk-v2/instance_diff.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.InstanceDiff(v2InstanceDiff{})
diff --git a/pkg/tfshim/sdk-v2/instance_state.go b/pkg/tfshim/sdk-v2/instance_state.go
index 49ba544e..2c4a6544 100644
--- a/pkg/tfshim/sdk-v2/instance_state.go
+++ b/pkg/tfshim/sdk-v2/instance_state.go
@@ -5,7 +5,7 @@ import (
 
 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 	diff_reader "github.com/pulumi/terraform-diff-reader/sdk-v2"
 )
 
diff --git a/pkg/tfshim/sdk-v2/provider.go b/pkg/tfshim/sdk-v2/provider.go
index 91f516ea..26b93454 100644
--- a/pkg/tfshim/sdk-v2/provider.go
+++ b/pkg/tfshim/sdk-v2/provider.go
@@ -8,7 +8,7 @@ import (
 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
 	testing "github.com/mitchellh/go-testing-interface"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.Provider(v2Provider{})
diff --git a/pkg/tfshim/sdk-v2/resource.go b/pkg/tfshim/sdk-v2/resource.go
index c02afac9..aa461fd7 100644
--- a/pkg/tfshim/sdk-v2/resource.go
+++ b/pkg/tfshim/sdk-v2/resource.go
@@ -6,7 +6,7 @@ import (
 
 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.Resource(v2Resource{})
diff --git a/pkg/tfshim/sdk-v2/resource_config.go b/pkg/tfshim/sdk-v2/resource_config.go
index d0aff3f1..59e43061 100644
--- a/pkg/tfshim/sdk-v2/resource_config.go
+++ b/pkg/tfshim/sdk-v2/resource_config.go
@@ -3,7 +3,7 @@ package sdkv2
 import (
 	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.ResourceConfig(v2ResourceConfig{})
diff --git a/pkg/tfshim/sdk-v2/schema.go b/pkg/tfshim/sdk-v2/schema.go
index aa8a12e6..685c2fad 100644
--- a/pkg/tfshim/sdk-v2/schema.go
+++ b/pkg/tfshim/sdk-v2/schema.go
@@ -3,7 +3,7 @@ package sdkv2
 import (
 	"github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.Schema(v2Schema{})
diff --git a/pkg/tfshim/tfplugin5/cty.go b/pkg/tfshim/tfplugin5/cty.go
index 4a1858d4..79ea9388 100644
--- a/pkg/tfshim/tfplugin5/cty.go
+++ b/pkg/tfshim/tfplugin5/cty.go
@@ -5,7 +5,7 @@ import (
 	"reflect"
 
 	"github.com/hashicorp/go-cty/cty"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // ctyToGo converts a cty.Value to a plain Go value with the notable exception of sets, which are left as-is. Sets can
diff --git a/pkg/tfshim/tfplugin5/diagnostics.go b/pkg/tfshim/tfplugin5/diagnostics.go
index 12568fb4..c9bf8f49 100644
--- a/pkg/tfshim/tfplugin5/diagnostics.go
+++ b/pkg/tfshim/tfplugin5/diagnostics.go
@@ -3,9 +3,9 @@ package tfplugin5
 import (
 	"github.com/hashicorp/go-cty/cty"
 	"github.com/hashicorp/go-multierror"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/diagnostics"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/diagnostics"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
 )
 
 // unmarshalWarningsAndErrors converts a set of diagnostics from its wire format to a list of warnings and a list of
diff --git a/pkg/tfshim/tfplugin5/instance_diff.go b/pkg/tfshim/tfplugin5/instance_diff.go
index bc7cea05..f4f7a59b 100644
--- a/pkg/tfshim/tfplugin5/instance_diff.go
+++ b/pkg/tfshim/tfplugin5/instance_diff.go
@@ -9,9 +9,9 @@ import (
 	"github.com/hashicorp/go-cty/cty"
 	"github.com/hashicorp/go-cty/cty/convert"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // This corresponds to the TF plugin SDK's timeouts key.
diff --git a/pkg/tfshim/tfplugin5/instance_state.go b/pkg/tfshim/tfplugin5/instance_state.go
index c2481926..61b22a55 100644
--- a/pkg/tfshim/tfplugin5/instance_state.go
+++ b/pkg/tfshim/tfplugin5/instance_state.go
@@ -4,7 +4,7 @@ import (
 	"github.com/hashicorp/go-cty/cty"
 	"github.com/hashicorp/go-cty/cty/msgpack"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
 )
 
 var _ = shim.InstanceState((*instanceState)(nil))
diff --git a/pkg/tfshim/tfplugin5/marshal.go b/pkg/tfshim/tfplugin5/marshal.go
index 3edfbcfb..fd9568aa 100644
--- a/pkg/tfshim/tfplugin5/marshal.go
+++ b/pkg/tfshim/tfplugin5/marshal.go
@@ -5,11 +5,11 @@ import (
 	fmt "fmt"
 
 	"github.com/hashicorp/go-cty/cty"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
 )
 
 func deprecationMessage(propertyName string, isDeprecated bool) string {
diff --git a/pkg/tfshim/tfplugin5/provider.go b/pkg/tfshim/tfplugin5/provider.go
index d866414f..0372635f 100644
--- a/pkg/tfshim/tfplugin5/provider.go
+++ b/pkg/tfshim/tfplugin5/provider.go
@@ -9,8 +9,8 @@ import (
 	"github.com/hashicorp/go-cty/cty"
 	"github.com/hashicorp/go-cty/cty/msgpack"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
 )
 
 type provider struct {
diff --git a/pkg/tfshim/tfplugin5/provider_plugin.go b/pkg/tfshim/tfplugin5/provider_plugin.go
index bdbade2e..c8d8c7e0 100644
--- a/pkg/tfshim/tfplugin5/provider_plugin.go
+++ b/pkg/tfshim/tfplugin5/provider_plugin.go
@@ -10,8 +10,8 @@ import (
 	"github.com/hashicorp/go-plugin"
 	"google.golang.org/grpc"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
 )
 
 var Handshake = plugin.HandshakeConfig{
diff --git a/pkg/tfshim/tfplugin5/resource.go b/pkg/tfshim/tfplugin5/resource.go
index 169c32ae..9cc13866 100644
--- a/pkg/tfshim/tfplugin5/resource.go
+++ b/pkg/tfshim/tfplugin5/resource.go
@@ -5,8 +5,8 @@ import (
 	"time"
 
 	"github.com/hashicorp/go-cty/cty"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
 )
 
 var _ = shim.Resource((*resource)(nil))
diff --git a/pkg/tfshim/tfplugin5/schema.go b/pkg/tfshim/tfplugin5/schema.go
index beab1c48..cedc00fa 100644
--- a/pkg/tfshim/tfplugin5/schema.go
+++ b/pkg/tfshim/tfplugin5/schema.go
@@ -3,8 +3,8 @@ package tfplugin5
 import (
 	"github.com/hashicorp/go-cty/cty"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 // UnknownVariableValue is the sentinal defined in github.com/hashicorp/terraform/configs/hcl2shim,


Test patch:
diff --git a/cmd/pulumi-terraform-bridge-test-provider/main.go b/cmd/pulumi-terraform-bridge-test-provider/main.go
index fbc14916..89c880f0 100644
--- a/cmd/pulumi-terraform-bridge-test-provider/main.go
+++ b/cmd/pulumi-terraform-bridge-test-provider/main.go
@@ -4,7 +4,7 @@ import (
 	"github.com/hashicorp/go-hclog"
 	"github.com/hashicorp/terraform-plugin-sdk/v2/plugin"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/internal/testprovider"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/internal/testprovider"
 )
 
 func main() {
diff --git a/pkg/tf2pulumi/gen/gen_test.go b/pkg/tf2pulumi/gen/gen_test.go
index 181455aa..8cf28d94 100644
--- a/pkg/tf2pulumi/gen/gen_test.go
+++ b/pkg/tf2pulumi/gen/gen_test.go
@@ -5,10 +5,10 @@ import (
 
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config/module"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/test"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config/module"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/test"
 )
 
 type testGen struct {
diff --git a/pkg/tf2pulumi/gen/nodejs/assign_names_test.go b/pkg/tf2pulumi/gen/nodejs/assign_names_test.go
index 091da4d6..88ae9279 100644
--- a/pkg/tf2pulumi/gen/nodejs/assign_names_test.go
+++ b/pkg/tf2pulumi/gen/nodejs/assign_names_test.go
@@ -18,13 +18,13 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 func outputs(names []string) map[string]*il.OutputNode {
diff --git a/pkg/tf2pulumi/gen/nodejs/generator_test.go b/pkg/tf2pulumi/gen/nodejs/generator_test.go
index 54e1a427..f67e59c8 100644
--- a/pkg/tf2pulumi/gen/nodejs/generator_test.go
+++ b/pkg/tf2pulumi/gen/nodejs/generator_test.go
@@ -9,11 +9,11 @@ import (
 
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config/module"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/test"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config/module"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/test"
 )
 
 func TestLegalIdentifiers(t *testing.T) {
diff --git a/pkg/tf2pulumi/gen/nodejs/intrinsics_test.go b/pkg/tf2pulumi/gen/nodejs/intrinsics_test.go
index c948aebb..c43fdf5d 100644
--- a/pkg/tf2pulumi/gen/nodejs/intrinsics_test.go
+++ b/pkg/tf2pulumi/gen/nodejs/intrinsics_test.go
@@ -17,7 +17,7 @@ package nodejs
 import (
 	"testing"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 	"github.com/stretchr/testify/assert"
 )
 
diff --git a/pkg/tf2pulumi/gen/python/hil_test.go b/pkg/tf2pulumi/gen/python/hil_test.go
index e995d9cf..c0980324 100644
--- a/pkg/tf2pulumi/gen/python/hil_test.go
+++ b/pkg/tf2pulumi/gen/python/hil_test.go
@@ -20,8 +20,8 @@ import (
 
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/gen"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/il"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/gen"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/il"
 )
 
 func runGen(node il.BoundNode) string {
diff --git a/pkg/tf2pulumi/il/graph_comments_test.go b/pkg/tf2pulumi/il/graph_comments_test.go
index 67099f12..9d1d9a95 100644
--- a/pkg/tf2pulumi/il/graph_comments_test.go
+++ b/pkg/tf2pulumi/il/graph_comments_test.go
@@ -20,11 +20,11 @@ import (
 	"path"
 	"testing"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/test"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/test"
 )
 
 func assertLeading(t *testing.T, c *Comments, expected ...string) {
diff --git a/pkg/tf2pulumi/il/graph_test.go b/pkg/tf2pulumi/il/graph_test.go
index fe83e853..768e8f21 100644
--- a/pkg/tf2pulumi/il/graph_test.go
+++ b/pkg/tf2pulumi/il/graph_test.go
@@ -5,9 +5,9 @@ import (
 
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config/module"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/test"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config/module"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/test"
 )
 
 func newLocal(t *testing.T, name, value string) *config.Local {
diff --git a/pkg/tf2pulumi/il/rewriters_test.go b/pkg/tf2pulumi/il/rewriters_test.go
index e478a1cf..9689331d 100644
--- a/pkg/tf2pulumi/il/rewriters_test.go
+++ b/pkg/tf2pulumi/il/rewriters_test.go
@@ -6,11 +6,11 @@ import (
 	"path"
 	"testing"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/test"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/test"
 )
 
 func TestMarkPromptDataSources(t *testing.T) {
diff --git a/pkg/tf2pulumi/internal/config/module/module_test.go b/pkg/tf2pulumi/internal/config/module/module_test.go
index 96249243..77257321 100644
--- a/pkg/tf2pulumi/internal/config/module/module_test.go
+++ b/pkg/tf2pulumi/internal/config/module/module_test.go
@@ -7,7 +7,7 @@ import (
 	"path/filepath"
 	"testing"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tf2pulumi/internal/config"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tf2pulumi/internal/config"
 )
 
 func init() {
diff --git a/pkg/tf2pulumi/test/provider_info.go b/pkg/tf2pulumi/test/provider_info.go
index f3275936..bc30a829 100644
--- a/pkg/tf2pulumi/test/provider_info.go
+++ b/pkg/tf2pulumi/test/provider_info.go
@@ -20,9 +20,9 @@ import (
 	"path/filepath"
 	"sync"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 )
 
 type ProviderInfoSource struct {
diff --git a/pkg/tfbridge/assets_test.go b/pkg/tfbridge/assets_test.go
index f25c9c1c..5d60ecb9 100644
--- a/pkg/tfbridge/assets_test.go
+++ b/pkg/tfbridge/assets_test.go
@@ -19,7 +19,7 @@ import (
 	"strings"
 	"testing"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
 	"github.com/stretchr/testify/assert"
 )
 
diff --git a/pkg/tfbridge/diff_test.go b/pkg/tfbridge/diff_test.go
index 9948233c..3fb44b56 100644
--- a/pkg/tfbridge/diff_test.go
+++ b/pkg/tfbridge/diff_test.go
@@ -4,11 +4,11 @@ import (
 	"testing"
 
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	pulumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
 	"github.com/stretchr/testify/assert"
 
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
 )
 
 type DiffKind = pulumirpc.PropertyDiff_Kind
diff --git a/pkg/tfbridge/names_test.go b/pkg/tfbridge/names_test.go
index 7fdc6787..f7fa9384 100644
--- a/pkg/tfbridge/names_test.go
+++ b/pkg/tfbridge/names_test.go
@@ -19,10 +19,10 @@ import (
 	"testing"
 
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
 	"github.com/stretchr/testify/assert"
 
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
 )
 
 func TestPulumiToTerraformName(t *testing.T) {
diff --git a/pkg/tfbridge/provider_test.go b/pkg/tfbridge/provider_test.go
index 52405cd6..af185629 100644
--- a/pkg/tfbridge/provider_test.go
+++ b/pkg/tfbridge/provider_test.go
@@ -6,15 +6,15 @@ import (
 	"sort"
 	"testing"
 
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	pulumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
 	"github.com/stretchr/testify/assert"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
-	shimv2 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v2"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
+	shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2"
 )
 
 func TestConvertStringToPropertyValue(t *testing.T) {
diff --git a/pkg/tfbridge/schema_provider_test.go b/pkg/tfbridge/schema_provider_test.go
index 1ee7af2f..fb6f024a 100644
--- a/pkg/tfbridge/schema_provider_test.go
+++ b/pkg/tfbridge/schema_provider_test.go
@@ -6,11 +6,11 @@ import (
 	schemav2 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
 	terraformv2 "github.com/hashicorp/terraform-plugin-sdk/v2/terraform"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/internal/testprovider"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
-	shimv2 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v2"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/internal/testprovider"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
+	shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2"
 )
 
 func schemaMap(m map[string]*schema.Schema) shim.SchemaMap {
diff --git a/pkg/tfbridge/schema_test.go b/pkg/tfbridge/schema_test.go
index 94a44f57..0cd0f953 100644
--- a/pkg/tfbridge/schema_test.go
+++ b/pkg/tfbridge/schema_test.go
@@ -25,18 +25,18 @@ import (
 	structpb "github.com/golang/protobuf/ptypes/struct"
 	schemav1 "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	schemav2 "github.com/hashicorp/terraform-plugin-sdk/v2/helper/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/resource/plugin"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/tokens"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
-	pulumirpc "github.com/pulumi/pulumi/sdk/v2/proto/go"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/resource/plugin"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/tokens"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
+	pulumirpc "github.com/pulumi/pulumi/sdk/v3/proto/go"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/internal/testprovider"
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
-	shimv2 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v2"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/internal/testprovider"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
+	shimv2 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v2"
 )
 
 func makeTerraformInputs(olds, news resource.PropertyMap,
diff --git a/pkg/tfgen/docs_test.go b/pkg/tfgen/docs_test.go
index 174217bf..f7e7b8a5 100644
--- a/pkg/tfgen/docs_test.go
+++ b/pkg/tfgen/docs_test.go
@@ -19,7 +19,7 @@ import (
 	"fmt"
 	"testing"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfbridge"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfbridge"
 	"github.com/stretchr/testify/assert"
 )
 
diff --git a/pkg/tfgen/generate_test.go b/pkg/tfgen/generate_test.go
index 5c297dcb..f99f1bc2 100644
--- a/pkg/tfgen/generate_test.go
+++ b/pkg/tfgen/generate_test.go
@@ -6,7 +6,7 @@ import (
 	"github.com/hashicorp/terraform-plugin-sdk/helper/schema"
 	"github.com/stretchr/testify/assert"
 
-	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/sdk-v1"
+	shimv1 "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/sdk-v1"
 )
 
 func Test_DeprecationFromTFSchema(t *testing.T) {
diff --git a/pkg/tfshim/tfplugin5/diagnostics_test.go b/pkg/tfshim/tfplugin5/diagnostics_test.go
index 879e22f5..8d511aff 100644
--- a/pkg/tfshim/tfplugin5/diagnostics_test.go
+++ b/pkg/tfshim/tfplugin5/diagnostics_test.go
@@ -1,13 +1,13 @@
 package tfplugin5
 
 import (
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/diagnostics"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/diagnostics"
 	"testing"
 
 	"github.com/hashicorp/go-multierror"
 	"github.com/stretchr/testify/assert"
 
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
 )
 
 var warningsOnly = []*proto.Diagnostic{
diff --git a/pkg/tfshim/tfplugin5/instance_diff_test.go b/pkg/tfshim/tfplugin5/instance_diff_test.go
index a828e891..9f3648a4 100644
--- a/pkg/tfshim/tfplugin5/instance_diff_test.go
+++ b/pkg/tfshim/tfplugin5/instance_diff_test.go
@@ -6,8 +6,8 @@ import (
 	"github.com/hashicorp/go-cty/cty"
 	"github.com/stretchr/testify/assert"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/tfplugin5/proto"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/tfplugin5/proto"
 )
 
 func add(new string, replace bool) shim.ResourceAttrDiff {
diff --git a/pkg/tfshim/tfplugin5/provider_test.go b/pkg/tfshim/tfplugin5/provider_test.go
index 2a0e4091..29cb3f6f 100644
--- a/pkg/tfshim/tfplugin5/provider_test.go
+++ b/pkg/tfshim/tfplugin5/provider_test.go
@@ -15,10 +15,10 @@ import (
 	goplugin "github.com/hashicorp/go-plugin"
 	"github.com/stretchr/testify/assert"
 
-	shim "github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/diagnostics"
-	"github.com/pulumi/pulumi-terraform-bridge/v2/pkg/tfshim/schema"
-	"github.com/pulumi/pulumi/sdk/v2/go/common/util/contract"
+	shim "github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/diagnostics"
+	"github.com/pulumi/pulumi-terraform-bridge/v3/pkg/tfshim/schema"
+	"github.com/pulumi/pulumi/sdk/v3/go/common/util/contract"
 )
 
 type testLogger struct {