- Move most of the implementation of the converter into
pulumi-terraform-bridge
. #207
-
Turn NYIs into diagnostic errors. #191
-
Add preliminary Go support. #179
-
Add preliminary C# support. #179
- Improve Python support. #160
- Add preliminary HCL2 (TF0.12) support. #160
- Note: This release includes changes to the CLI interface for the
tf2pulumi
tool. Output is now generated by default into files in the current working directory instead of being emitted onstdout
. The--tar
option is available to emit output to STDOUT, but will emit as a tar archive.
- Support importing resources from existing
.tfstate
files. #142 - Update documentation.
- Defaulting
typescript.synchronous-data-sources
tofalse
as sync data sources are being deprecated in Pulumi 2.0.
- Fix bad code generation for variable accesses that involve index expressions or optional properties.
- Support first-class providers when targeting Node.JS.
- Fix ordering for resources and module instantiations with explicit providers.
- Do not generate empty argument bags for nilary data source invocations.
- Add a command line option,
-record-locations
, that indicates that each resource, data source, etc. in the generated code should be annotated with the location of its original definition in the source Terraform config. - Fix code generation for
replace
when the pattern is a regex. - Generate resources that are instantiated at most exactly once using
if
statements rather thanfor
loops. - Improve the generated code so that resources are generated in source order except where their dependencies dictate otherwise.
- Add support for the
timeouts
andignore_changes
properties.
- Added a command line option,
-typescript.synchronous-data-sources
, to indicate that the generated code should use synchronous data source invocations. - Bumped the default target SDK version to 0.17.28.
- Added a command line option,
-target-sdk-version
, to indicate the SDK version targeted by the generated code. Note that this option defaults to0.17.1
, which will by default generate code that is not compatible with older SDKs. - Simplified the generation of output property accesses and string interpolations when targeting SDKs newer than version 0.17.0.
- Auto-named properties can now be optionally filtered from the generated source using schema information. This gives better results than the previous filtering, which sometimes removed properties that overlapped with auto-named properties but were not themselves auto-names.
- Allow references to
terraform.workspace
(tf2pulumi#68) - Allow normal references to counted resources. Terraform allows this when a resource's count evaluates to 1, so we code generate this as a reference to the first resource in the counted resource's list.
- Data sources with inputs that are outputs of other resources and data sources are now generated correctly.
- String literals are now statically coerced to numbers and booleans where possible (tf2pulumi#57)
- Comments are now extracted from HCL and generated into the output program. This is a best-effort process, so some comments may be omitted (tf2pulumi#59).
- For NodeJS, names for top-level variables and apply arguments are now more idiomatic (and generally easier to read) (tf2pulumi#60, tf2pulumi#65)
- Name properties can now be optionally filtered from the generated source in order to take advantage of the Pulumi auto-naming capabilities.
- Added support for the Pulumi f5bigip provider
- Simplified string literal generation for literals that contain a single leading or trailing newline
- Improved the CLI experience. Note that this requires that
-allow-missing-{plugins,variables}
are now preceded by two dashes rather than one. - Fixed a bug where tf2pulumi would generate object keys that contained invalid characters
- Improved string literal generation to emit template literals for strings that contain newlines
- Improved template literal generation to avoid emitting interpolations that are string literals (e.g.
${"."}
)
- Added the ability to continue code generation in the face of references to missing resources, data sources, etc. by
passing the
-allow-missing-variables
flag
- Fixed a bug where unknown resources would cause
tf2pulumi
to crash - Fixed a bug where circular local references would cause
tf2pulumi
to crash - Fixed a bug where forward references between locals would cause
tf2pulumi
to crash