You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/acctests.mdx
+5-4
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,12 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Acceptance Tests'
2
+
page_title: Acceptance tests
3
3
description: >-
4
-
How to write acceptance tests for providers built on the framework. Acceptance
5
-
tests imitate applying configuration files.
4
+
Learn how to write acceptance tests for providers built on the framework.
5
+
Acceptance tests help ensure your provider works as expected by imitating
6
+
Terraform operations.
6
7
---
7
8
8
-
# Acceptance Tests
9
+
# Acceptance tests
9
10
10
11
Implement provider resource and data source acceptance tests with the [terraform-plugin-testing module](/terraform/plugin/testing). These tests are designed to execute Terraform commands against real Terraform configurations, simulating practitioner experiences with creating, refreshing, updating, and deleting infrastructure.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/data-sources/configure.mdx
+4-3
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,11 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Configure Data Sources'
2
+
page_title: Configure data sources
3
3
description: >-
4
-
How to configure data sources with provider data or clients in the provider development framework.
4
+
Learn how to configure data sources with provider data or clients in the
5
+
Terraform plugin framework.
5
6
---
6
7
7
-
# Configure Data Sources
8
+
# Configure data sources
8
9
9
10
[Data sources](/terraform/plugin/framework/data-sources) may require provider-level data or remote system clients to operate correctly. The framework supports the ability to configure this data and/or clients once within the provider, then pass that information to data sources by adding the `Configure` method.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/data-sources/index.mdx
+4-4
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Data Sources'
2
+
page_title: Data sources
3
3
description: >-
4
-
How to build data sources in the provider development framework. Data sources
5
-
allow Terraform to reference external data.
4
+
Data sources allow Terraform to reference external data. Learn how the
5
+
framework can help you implement data sources.
6
6
---
7
7
8
-
# Data Sources
8
+
# Data sources
9
9
10
10
[Data sources](/terraform/language/data-sources) are an abstraction that allow Terraform to reference external data. Unlike [managed resources](/terraform/language/resources), Terraform does not manage the lifecycle of the resource or data. Data sources are intended to have no side-effects.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/data-sources/validate-configuration.mdx
+4-3
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,11 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Validate Data Source Configurations'
2
+
page_title: Validate data source configurations
3
3
description: >-
4
-
How to validate data source configurations with the provider development framework.
4
+
Learn how to validate data source configurations with the Terraform plugin
5
+
framework.
5
6
---
6
7
7
-
# Validate Configuration
8
+
# Validate data source configurations
8
9
9
10
[Data sources](/terraform/plugin/framework/data-sources) support validating an entire practitioner configuration in either declarative or imperative logic. Feedback, such as required syntax or acceptable combinations of values, is returned via [diagnostics](/terraform/plugin/framework/diagnostics).
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/debugging.mdx
+4-3
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,10 @@
1
1
---
2
-
page_title: Plugin Development - Debugging Framework Providers
3
-
description: How to implement debugger support in Framework Terraform providers.
2
+
page_title: Debugging framework providers
3
+
description: >-
4
+
Learn how to implement debugger support in framework Terraform providers.
4
5
---
5
6
6
-
# Debugging Framework Providers
7
+
# Debugging framework Providers
7
8
8
9
This page contains implementation details for inspecting runtime information of a Terraform provider developed with Framework via a debugger tool by adjusting the [provider server](/terraform/plugin/framework/provider-servers) implementation. Review the top level [Debugging](/terraform/plugin/debugging) page for information pertaining to the overall Terraform provider debugging process and other inspection options, such as log-based debugging.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/deprecations.mdx
+5-3
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,11 @@
1
1
---
2
-
page_title: 'Plugin Development - Deprecations, Removals, and Renames Best Practices'
3
-
description: 'Recommendations for deprecations, removals, and renames.'
2
+
page_title: Deprecations, removals, and renames
3
+
description:
4
+
Use the following recommendations to handle deprecations, removals, and
5
+
renames in framework providers.
4
6
---
5
7
6
-
# Deprecations, Removals, and Renames
8
+
# Deprecations, removals, and renames
7
9
8
10
Terraform is trusted for managing many facets of infrastructure across many organizations. Part of that trust is due to consistent versioning guidelines and setting expectations for various levels of upgrades. Ensuring backwards compatibility for all patch and minor releases, potentially in concert with any upcoming major changes, is recommended and supported by the Terraform development framework. This allows operators to iteratively update their Terraform configurations rather than require massive refactoring.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/ephemeral-resources/close.mdx
+3-3
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Open Ephemeral Resources'
2
+
page_title: Closing ephemeral resources
3
3
description: >-
4
-
How to implement ephemeral resource close in the provider development framework.
4
+
Learn how to close ephemeral resource in the Terraform plugin framework.
5
5
---
6
6
7
-
# Close Ephemeral Resources
7
+
# Closing Ephemeral Resources
8
8
9
9
Close is an optional part of the Terraform lifecycle for an ephemeral resource, which is different from the [managed resource lifecycle](https://github.com/hashicorp/terraform/blob/main/docs/resource-instance-change-lifecycle.md). During any Terraform operation (like [`terraform plan`](/terraform/cli/commands/plan) or [`terraform apply`](/terraform/cli/commands/apply)), when an ephemeral resource's data is needed, Terraform initially retrieves that data with the [`Open`](/terraform/plugin/framework/ephemeral-resources/open) lifecycle handler. Once the ephemeral resource data is no longer needed, Terraform calls the provider `CloseEphemeralResource` RPC, in which the framework calls the [`ephemeral.EphemeralResourceWithClose` interface `Close` method](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/ephemeral#EphemeralResourceWithClose). The request contains any `Private` data set in the latest `Open` or `Renew` call.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/ephemeral-resources/configure.mdx
+4-3
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,11 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Configure Ephemeral Resources'
2
+
page_title: Configuring ephemeral resources
3
3
description: >-
4
-
How to configure ephemeral resources with provider data or clients in the provider development framework.
4
+
Learn how to configure ephemeral resources with provider data or clients in
5
+
the Terraform plugin framework.
5
6
---
6
7
7
-
# Configure Ephemeral Resources
8
+
# Configuring ephemeral resources
8
9
9
10
[Ephemeral Resources](/terraform/plugin/framework/ephemeral-resources) may require provider-level data or remote system clients to operate correctly. The framework supports the ability to configure this data and/or clients once within the provider, then pass that information to ephemeral resources by adding the `Configure` method.
Copy file name to clipboardExpand all lines: website/docs/plugin/framework/ephemeral-resources/open.mdx
+3-3
Original file line number
Diff line number
Diff line change
@@ -1,10 +1,10 @@
1
1
---
2
-
page_title: 'Plugin Development - Framework: Open Ephemeral Resources'
2
+
page_title: Opening ephemeral resources
3
3
description: >-
4
-
How to implement ephemeral resource open in the provider development framework.
4
+
Learn how to open ephemeral resource in the Terraform plugin framework.
5
5
---
6
6
7
-
# Open Ephemeral Resources
7
+
# Opening ephemeral resources
8
8
9
9
Open is part of the Terraform lifecycle for an ephemeral resource, which is different from the [managed resource lifecycle](https://github.com/hashicorp/terraform/blob/main/docs/resource-instance-change-lifecycle.md). During any Terraform operation (like [`terraform plan`](/terraform/cli/commands/plan) or [`terraform apply`](/terraform/cli/commands/apply)), when an ephemeral resource's data is needed, Terraform calls the provider `OpenEphemeralResource` RPC, in which the framework calls the [`ephemeral.EphemeralResource` interface `Open` method](https://pkg.go.dev/github.com/hashicorp/terraform-plugin-framework/ephemeral#EphemeralResource.Open). The request contains the configuration supplied to Terraform for the ephemeral resource. The response contains the ephemeral result data. The data is defined by the [schema](/terraform/plugin/framework/handling-data/schemas) of the ephemeral resource.
0 commit comments