dikhan / terraform-provider-openapi

OpenAPI Terraform Provider that configures itself at runtime with the resources exposed by the service provider (defined in a swagger file)
Apache License 2.0
275 stars 48 forks source link

Upgrade to Terraform SDK 2.0 #268

Closed dikhan closed 3 years ago

dikhan commented 4 years ago

Is your feature request related to a problem?

As an OpenAPI Terraform Operator I want the OpenAPI Terraform plugin to use the newly released Terraform SDK 2.0 So that the OpenAPI Terraform provider stays up to date with the evolution of the SDK integrating the latest updates (non backwards compatible). At the time of writing (Sep 13th, 2020), upgrading to Terraform SDK 2.0 is not mandatory for custom Terraform providers to be able to work with Terraform 0.13; however considering the amount of changes introduced in SDK 2.0 are quite significant getting the provider to adopt these changes is recommended for learning purposes and to ensure compatibility with future version of Terraform.

Describe the solution you'd like

The provider start using Terraform SDK 2.0, this can be achieved following the Terraform Plugin SDK v2 Upgrade Guide. Terraform SDK Version 2.0.0 is a major release and includes significant breaking changes.

Acceptance criteria

What's required to consider this feature request complete?

Example:

Scenario: OpenAPI terraform provider starts using Terraform SDK 2.0
Given the Terraform SDK 2.0 upgrade guide (https://www.terraform.io/docs/extend/guides/v2-upgrade-guide.html#version-2-of-the-module)
When the OpenAPI provider has been upgraded and it's meeting all the upgrade requirements
Then the OpenAPI provider should be released with a major version pump (eg: v1.0.0) indicating in the documentation that support for 0.11 and below has been dropped (as per suggestions in the [Terraform sdk 2.0 upgrade guide](https://www.terraform.io/docs/extend/guides/v2-upgrade-guide.html#dropped-support-for-terraform-0-11-and-below))

Describe alternatives you've considered

A clear and concise description of any alternative solutions or features you've considered.

Additional context

Add any other context or screenshots about the feature request here.

Checklist (for admin only)

Don't forget to go through the checklist to make sure the issue is created properly: