From 08acc358d754fcd38b08a66d9ea5602a45d76b81 Mon Sep 17 00:00:00 2001 From: Vishnu Ravindra Date: Fri, 30 Sep 2022 10:32:26 -0400 Subject: [PATCH 1/4] readme update --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 06d62d748..10d486229 100644 --- a/README.md +++ b/README.md @@ -2,15 +2,21 @@ # Terraform Plugin Framework -terraform-plugin-framework is a module for building Terraform providers. It is built on [terraform-plugin-go](https://github.com/hashicorp/terraform-plugin-go). It aims to provide as much of the power, predictability, and versatility of terraform-plugin-go as it can while abstracting away implementation details and repetitive, verbose tasks. +terraform-plugin-framework is a module for building [Terraform providers](https://www.terraform.io/language/providers). It is built on [terraform-plugin-go](https://github.com/hashicorp/terraform-plugin-go). It aims to provide as much of the power, predictability, and versatility of terraform-plugin-go as it can while abstracting away implementation details and repetitive, verbose tasks. + +## Getting Started + +Developers can get started to build the providers using our new [HashiCorp Learn collections](https://developer.hashicorp.com/terraform/tutorials/providers/plugin-framework-create) or upgrade their existing provider using our [migration guide](https://www.terraform.io/plugin/framework/migrating). + +Learn more about [Terraform Plugin Framework](https://www.terraform.io/plugin/framework). ## Status -terraform-plugin-framework is still in **technical preview**. We are committed to moving forward with the module, but cannot guarantee any of its interfaces will not change as long as it is in version 0. We're waiting for more feedback, usage, and maturity before we're comfortable committing to APIs with the same years-long support timelines that [terraform-plugin-sdk](https://github.com/hashicorp/terraform-plugin-sdk) brings. We do not expect practitioner experiences to break or change as a result of these changes, only the abstractions surfaced to provider developers. +terraform-plugin-framework has reached **Public Beta** phase. We are committed to moving forward with the module, but cannot guarantee any of its interfaces will not change as long as it is in version 0. We're waiting for additional feedback, usage, and maturity before we're comfortable committing to APIs with the same years-long support timelines that [terraform-plugin-sdk](https://github.com/hashicorp/terraform-plugin-sdk) brings. We do not expect practitioner experiences to break or change as a result of these changes, only the abstractions surfaced to provider developers. -terraform-plugin-framework is also not at full feature parity with terraform-plugin-sdk yet. Notably, it doesn't offer support for [using timeouts](https://github.com/hashicorp/terraform-plugin-framework/issues/62). We plan to add these features soon. See [Which SDK Should I Use?](https://terraform.io/docs/plugin/which-sdk.html) on terraform.io for more information. +terraform-plugin-framework is also not at full feature parity with terraform-plugin-sdk yet. See [Which SDK Should I Use?](https://terraform.io/docs/plugin/which-sdk.html) for more information. -We believe terraform-plugin-framework is still a suitable and reliable module to build Terraform providers on, and encourage community members that can afford occasional breaking changes to build with it. terraform-plugin-framework will eventually become a new major version of terraform-plugin-sdk, at which point its interfaces will be stable, but we need real-world use and feedback before we can be comfortable making those commitments. When that happens, this repository will be archived. +We believe terraform-plugin-framework is a suitable and reliable module to build Terraform providers on, and encourage community members that can afford occasional breaking changes to build with it. terraform-plugin-framework will eventually become a new major version at which point its interfaces will be stable, but we need real-world use and feedback before we can be comfortable making those commitments. We recommend only using tagged releases of this module, and examining the CHANGELOG when upgrading to a new release. Breaking changes will only be made in minor versions; patch releases will always maintain backwards compatibility. @@ -26,12 +32,6 @@ This project follows the [support policy](https://golang.org/doc/devel/release.h Currently, that means Go **1.18** or later must be used when including this project as a dependency. -## Getting Started - -Documentation for terraform-plugin-framework is still in development. In the meantime, the [GoDoc](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework) is the best source of documentation. - -The [`provider.Provider`](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/provider#Provider) type is the root of your provider implementation. From there, [`provider.ResourceType`](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/provider#ResourceType) and [`provider.DataSourceType`](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/provider#DataSourceType) implementations define the [schema](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/tfsdk#Schema) of your resources and data sources, and how to create [`resource.Resource`](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/resource#Resource) and [`datasource.DataSource`](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/datasource#DataSource) implementations that talk to the API. - ## Contributing See [`.github/CONTRIBUTING.md`](https://github.com/hashicorp/terraform-plugin-framework/blob/main/.github/CONTRIBUTING.md) @@ -39,3 +39,4 @@ See [`.github/CONTRIBUTING.md`](https://github.com/hashicorp/terraform-plugin-fr ## License [Mozilla Public License v2.0](https://github.com/hashicorp/terraform-plugin-framework/blob/main/LICENSE) + From 3c2f8fa8d68c18db8bb829d8629c3bf3b0e9018c Mon Sep 17 00:00:00 2001 From: Vishnu Ravindra Date: Fri, 30 Sep 2022 10:36:00 -0400 Subject: [PATCH 2/4] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 10d486229..8002bb321 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ terraform-plugin-framework has reached **Public Beta** phase. We are committed t terraform-plugin-framework is also not at full feature parity with terraform-plugin-sdk yet. See [Which SDK Should I Use?](https://terraform.io/docs/plugin/which-sdk.html) for more information. -We believe terraform-plugin-framework is a suitable and reliable module to build Terraform providers on, and encourage community members that can afford occasional breaking changes to build with it. terraform-plugin-framework will eventually become a new major version at which point its interfaces will be stable, but we need real-world use and feedback before we can be comfortable making those commitments. +We believe terraform-plugin-framework is a suitable and reliable module to build Terraform providers on, and encourage community members that can afford occasional breaking changes to build with it. terraform-plugin-framework will eventually become GA with a new major version release, at which point its interfaces will be stable, but we need real-world use and feedback before we can be comfortable making those commitments. We recommend only using tagged releases of this module, and examining the CHANGELOG when upgrading to a new release. Breaking changes will only be made in minor versions; patch releases will always maintain backwards compatibility. @@ -39,4 +39,3 @@ See [`.github/CONTRIBUTING.md`](https://github.com/hashicorp/terraform-plugin-fr ## License [Mozilla Public License v2.0](https://github.com/hashicorp/terraform-plugin-framework/blob/main/LICENSE) - From 8311d332710dc7aa5064f915abdfb2a428738068 Mon Sep 17 00:00:00 2001 From: Vishnu Ravindra Date: Fri, 30 Sep 2022 11:03:54 -0400 Subject: [PATCH 3/4] Apply suggestions from docs review Co-authored-by: Brian Flad --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 8002bb321..891cc2ade 100644 --- a/README.md +++ b/README.md @@ -14,9 +14,9 @@ Learn more about [Terraform Plugin Framework](https://www.terraform.io/plugin/fr terraform-plugin-framework has reached **Public Beta** phase. We are committed to moving forward with the module, but cannot guarantee any of its interfaces will not change as long as it is in version 0. We're waiting for additional feedback, usage, and maturity before we're comfortable committing to APIs with the same years-long support timelines that [terraform-plugin-sdk](https://github.com/hashicorp/terraform-plugin-sdk) brings. We do not expect practitioner experiences to break or change as a result of these changes, only the abstractions surfaced to provider developers. -terraform-plugin-framework is also not at full feature parity with terraform-plugin-sdk yet. See [Which SDK Should I Use?](https://terraform.io/docs/plugin/which-sdk.html) for more information. +Refer to [Which SDK Should I Use?](https://terraform.io/docs/plugin/which-sdk.html) for more information. -We believe terraform-plugin-framework is a suitable and reliable module to build Terraform providers on, and encourage community members that can afford occasional breaking changes to build with it. terraform-plugin-framework will eventually become GA with a new major version release, at which point its interfaces will be stable, but we need real-world use and feedback before we can be comfortable making those commitments. +We believe terraform-plugin-framework is a suitable and reliable module to build Terraform providers on, and encourage community members that can afford occasional breaking changes to build with it. terraform-plugin-framework will eventually become generally available with a new major version release, at which point its interfaces will be stable, but we need real-world use and feedback before we can be comfortable making those commitments. We recommend only using tagged releases of this module, and examining the CHANGELOG when upgrading to a new release. Breaking changes will only be made in minor versions; patch releases will always maintain backwards compatibility. From 77db76d6828a90261170a7cfec10d214b5260447 Mon Sep 17 00:00:00 2001 From: Vishnu Ravindra Date: Fri, 30 Sep 2022 11:05:38 -0400 Subject: [PATCH 4/4] Update README.md --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 891cc2ade..eb74ed612 100644 --- a/README.md +++ b/README.md @@ -6,9 +6,13 @@ terraform-plugin-framework is a module for building [Terraform providers](https: ## Getting Started -Developers can get started to build the providers using our new [HashiCorp Learn collections](https://developer.hashicorp.com/terraform/tutorials/providers/plugin-framework-create) or upgrade their existing provider using our [migration guide](https://www.terraform.io/plugin/framework/migrating). +* Try the [Terraform Plugin Framework collection](https://learn.hashicorp.com/collections/terraform/providers-plugin-framework) on HashiCorp Learn. +* Clone the [terraform-provider-scaffolding-framework](https://github.com/hashicorp/terraform-provider-scaffolding-framework) template repository on GitHub for new providers. +* Follow the [Terraform Plugin Framework migration guide](https://www.terraform.io/plugin/framework/migrating) for converting existing terraform-plugin-sdk providers. +* Read the [Terraform Plugin Framework website](https://www.terraform.io/plugin/framework) for full documentation. +* Browse the [terraform-plugin-framework module](http://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework) on the Go package documentation website. +* Ask questions in the [Terraform Plugin Development section](https://discuss.hashicorp.com/c/terraform-providers/tf-plugin-sdk/43) on HashiCorp Discuss. -Learn more about [Terraform Plugin Framework](https://www.terraform.io/plugin/framework). ## Status