Skip to content

Commit 33bf5cf

Browse files
authored
echoprovider: Add a new test-only v6 provider that echoes ephemeral provider data (#389)
* implement EphemeralResoureServer * create testprovider echo * add 1.10.0 version constant * fill out planresourcechange to actually make sense lol * update resource type name * tfversion: Add `SkipIfNotAlpha` version check * changelog * add tests to provider server and go package docs * add copyright headers * add version checks for protov6 * add website docs for ephemeral resources * add changelogs * adjust server implementation to always keep prior state * remove incorrect section about dependency graph * add -v to test runs * add test to verify immutable resource data * comma * documentation updates * doc comment update
1 parent 4a88926 commit 33bf5cf

File tree

12 files changed

+1126
-19
lines changed

12 files changed

+1126
-19
lines changed
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
kind: FEATURES
2+
body: 'echoprovider: Introduced new `echoprovider` package, which contains a v6 Terraform
3+
provider that can be used to test ephemeral resource data.'
4+
time: 2024-11-11T16:53:12.399802-05:00
5+
custom:
6+
Issue: "389"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
kind: NOTES
2+
body: 'echoprovider: The `echoprovider` package is considered experimental and may
3+
be altered or removed in a subsequent release'
4+
time: 2024-11-11T16:52:06.287978-05:00
5+
custom:
6+
Issue: "389"

.github/workflows/ci-go.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
terraform_version: ${{ matrix.terraform }}
4040
terraform_wrapper: false
4141
- run: go mod download
42-
- run: go test -coverprofile=coverage.out ./...
42+
- run: go test -v -coverprofile=coverage.out ./...
4343
env:
4444
TF_ACC: "1"
4545
- name: Remove wildcard suffix from TF version

echoprovider/doc.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
// Copyright (c) HashiCorp, Inc.
2+
// SPDX-License-Identifier: MPL-2.0
3+
4+
// Package echoprovider contains a protocol v6 Terraform provider that can be used to transfer data from
5+
// provider configuration to state via a managed resource. This is only meant for provider acceptance testing
6+
// of data that cannot be stored in Terraform artifacts (plan/state), such as an ephemeral resource.
7+
//
8+
// Example Usage:
9+
//
10+
// // Ephemeral resource that is under test
11+
// ephemeral "examplecloud_thing" "this" {
12+
// name = "thing-one"
13+
// }
14+
//
15+
// provider "echo" {
16+
// data = ephemeral.examplecloud_thing.this
17+
// }
18+
//
19+
// resource "echo" "test" {} // The `echo.test.data` attribute will contain the ephemeral data from `ephemeral.examplecloud_thing.this`
20+
package echoprovider

0 commit comments

Comments
 (0)