terranova icon indicating copy to clipboard operation
terranova copied to clipboard

[Feature] Support Providers using Terraform Plugin SDK

Open johandry opened this issue 5 years ago • 3 comments

Is your feature request related to a problem? Please describe. A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] Or, the use case of this feature. Ex: This feature will help us to [...] Please keep this section focused on the problem and not on the suggested solution.

Describe the solution you'd like Support the latest version of providers that uses Terraform Plugin SDK. Terranova only supports the providers using the Terraform Core or Legacy SDK.

On September 2019 Hashicorp announced that all the providers should use the Terraform Plugin SDK. The way Terranova communicates with providers is same as if they were developed using Terraform Core or Legacy SDK.

Describe alternatives you've considered At this time the only way to use a provider is to choose on the go.mod file the latest version using the Terraform Legacy SDK.

Proposal In order to use the latest versions or support the providers developed with Terraform Plugin SDK, Terranova has to change the way it communicates with them. It may be good to use the function AddProvider() to include the providers developed with the Plugin SDK and have other function AddLegacyProvider() to deal with providers developed with the Legacy SDK.

As the new providers supports gRPC maybe consider to have AddRemoteProvider(), this provider may not be embedded in the binary, it could be running in other remote or local binary.

Additional context At this time Terranova/Terraform prints at the logs a warning that a legacy provider is in use. This is just a warning now but in the future may be an error it Terraform stop supporting such providers.

References List any other GitHub issues, whether open or closed, that are related to the problem you've described above or to the suggested solution.

johandry avatar Jan 28 '20 21:01 johandry

Hello, first of all kudos for this awesome project. This is really what I've been looking for :)

I'm running into an issue while trying to reuse some terraform files written for a recent version of the AWS provider. Unfortunately the AWS provider that is currently supported by terranova cannot understand them.

Is there any plan, or even advice, on how to add support for the terraform plugins that are using the new SDK? This would allow me to use the most recent AWS plugin -> no need to rewrite my terraform files.

flavio avatar Oct 19 '20 16:10 flavio

Hi Flavio,

Thanks for the feedback.

To use Providers made with the Terraform SDK is a critical feature. I need it for other projects too but unfortunately I haven't had enough time to spend on this feature. Neither I have a workaround :(

I'll put on hold every other features - mostly easy to implement - to assign more weight into this one. I can't give you an ETA but I'll update this issue every week until it's solved.

johandry avatar Oct 20 '20 01:10 johandry

Hey, thanks for your work! Any update on that?

tsauzeau avatar Mar 16 '21 11:03 tsauzeau