Skip to content

Commit 6a5e0a1

Browse files
committed
Merge branch 'main' into SBGoods/write-only-attributes
# Conflicts: # ephemeral/close.go # ephemeral/config_validator.go # ephemeral/configure.go # ephemeral/doc.go # ephemeral/ephemeral_resource.go # ephemeral/metadata.go # ephemeral/open.go # ephemeral/renew.go # ephemeral/schema.go # ephemeral/schema/bool_attribute.go # ephemeral/schema/bool_attribute_test.go # ephemeral/schema/doc.go # ephemeral/schema/dynamic_attribute.go # ephemeral/schema/dynamic_attribute_test.go # ephemeral/schema/float32_attribute.go # ephemeral/schema/float32_attribute_test.go # ephemeral/schema/float64_attribute.go # ephemeral/schema/int32_attribute.go # ephemeral/schema/int64_attribute.go # ephemeral/schema/list_attribute.go # ephemeral/schema/list_attribute_test.go # ephemeral/schema/list_nested_attribute.go # ephemeral/schema/list_nested_attribute_test.go # ephemeral/schema/map_attribute.go # ephemeral/schema/map_attribute_test.go # ephemeral/schema/map_nested_attribute.go # ephemeral/schema/map_nested_attribute_test.go # ephemeral/schema/number_attribute.go # ephemeral/schema/number_attribute_test.go # ephemeral/schema/object_attribute.go # ephemeral/schema/set_attribute.go # ephemeral/schema/set_attribute_test.go # ephemeral/schema/set_nested_attribute.go # ephemeral/schema/set_nested_attribute_test.go # ephemeral/schema/single_nested_attribute.go # ephemeral/schema/single_nested_attribute_test.go # ephemeral/schema/string_attribute.go # ephemeral/schema/string_attribute_test.go # ephemeral/validate_config.go # go.mod # go.sum # internal/fromproto5/client_capabilities.go # internal/fromproto5/closeephemeralresource.go # internal/fromproto5/closeephemeralresource_test.go # internal/fromproto5/openephemeralresource.go # internal/fromproto5/openephemeralresource_test.go # internal/fromproto5/renewephemeralresource.go # internal/fromproto5/renewephemeralresource_test.go # internal/fromproto6/client_capabilities.go # internal/fromproto6/closeephemeralresource.go # internal/fromproto6/closeephemeralresource_test.go # internal/fromproto6/openephemeralresource.go # internal/fromproto6/openephemeralresource_test.go # internal/fromproto6/renewephemeralresource.go # internal/fromproto6/renewephemeralresource_test.go # internal/fwschemadata/data_description.go # internal/fwserver/server_closeephemeralresource.go # internal/fwserver/server_closeephemeralresource_test.go # internal/fwserver/server_openephemeralresource.go # internal/fwserver/server_openephemeralresource_test.go # internal/fwserver/server_renewephemeralresource.go # internal/fwserver/server_renewephemeralresource_test.go # internal/fwserver/server_validateephemeralresourceconfig.go # internal/proto5server/server_closeephemeralresource_test.go # internal/proto5server/server_openephemeralresource_test.go # internal/proto5server/server_renewephemeralresource_test.go # internal/proto6server/server_closeephemeralresource_test.go # internal/proto6server/server_openephemeralresource_test.go # internal/proto6server/server_renewephemeralresource_test.go # internal/toproto5/getproviderschema_test.go # internal/toproto5/openephemeralresource.go # internal/toproto5/openephemeralresource_test.go # internal/toproto6/getproviderschema_test.go # internal/toproto6/openephemeralresource.go # internal/toproto6/openephemeralresource_test.go # provider/provider.go
2 parents 23a025b + 4260861 commit 6a5e0a1

File tree

137 files changed

+1319
-1150
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+1319
-1150
lines changed

.changes/1.13.0.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
## 1.13.0 (October 31, 2024)
2+
3+
NOTES:
4+
5+
* Ephemeral resource support is in technical preview and offered without compatibility promises until Terraform 1.10 is generally available. ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
6+
7+
FEATURES:
8+
9+
* ephemeral: New package for implementing ephemeral resources ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
10+
* ephemeral/schema: New package for implementing ephemeral resource schemas ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
11+
12+
ENHANCEMENTS:
13+
14+
* provider: Added `ProviderWithEphemeralResources` interface for implementing ephemeral resources ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
15+
* tfsdk: Added `EphemeralResultData` struct for representing ephemeral values produced by a provider, such as from an ephemeral resource ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
16+
* provider: Added `EphemeralResourceData` to `ConfigureResponse`, to pass provider-defined data to `ephemeral.EphemeralResource` implementations ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
17+

.github/workflows/ci-changie.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
runs-on: ubuntu-latest
2020
steps:
2121
# Ensure terraform-devex-repos is updated on version changes.
22-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
22+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2323
# Ensure terraform-devex-repos is updated on version changes.
2424
- uses: miniscruff/changie-action@6dcc2533cac0495148ed4046c438487e4dceaa23 # v2.0.0
2525
with:

.github/workflows/ci-github-actions.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ jobs:
1313
actionlint:
1414
runs-on: ubuntu-latest
1515
steps:
16-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
17-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
16+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
17+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
1818
with:
1919
go-version-file: 'go.mod'
2020
- run: go install github.com/rhysd/actionlint/cmd/actionlint@latest

.github/workflows/ci-go.yml

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,25 +16,25 @@ jobs:
1616
golangci-lint:
1717
runs-on: ubuntu-latest
1818
steps:
19-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
20-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
19+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
20+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
2121
with:
2222
go-version-file: 'go.mod'
2323
- run: go mod download
24-
- uses: golangci/golangci-lint-action@aaa42aa0628b4ae2578232a66b541047968fac86 # v6.1.0
24+
- uses: golangci/golangci-lint-action@971e284b6050e8a5849b72094c50ab08da042db8 # v6.1.1
2525
terraform-provider-corner-tfprotov5:
2626
defaults:
2727
run:
2828
working-directory: terraform-provider-corner
2929
name: terraform-provider-corner (tfprotov5 / Terraform ${{ matrix.terraform}})
3030
runs-on: ubuntu-latest
3131
steps:
32-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
33-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
32+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
33+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
3434
with:
3535
path: terraform-provider-corner
3636
repository: hashicorp/terraform-provider-corner
37-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
37+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
3838
with:
3939
go-version-file: 'go.mod'
4040
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
@@ -55,12 +55,12 @@ jobs:
5555
name: terraform-provider-corner (tfprotov6 / Terraform ${{ matrix.terraform}})
5656
runs-on: ubuntu-latest
5757
steps:
58-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
59-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
58+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
59+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
6060
with:
6161
path: terraform-provider-corner
6262
repository: hashicorp/terraform-provider-corner
63-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
63+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
6464
with:
6565
go-version-file: 'go.mod'
6666
- uses: hashicorp/setup-terraform@b9cd54a3c349d3f38e8881555d616ced269862dd # v3.1.2
@@ -81,14 +81,14 @@ jobs:
8181
matrix:
8282
go-version: [ '1.23', '1.22' ]
8383
steps:
84-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
85-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
84+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
85+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
8686
with:
8787
go-version: ${{ matrix.go-version }}
8888
- run: go mod download
8989
- run: go test -coverprofile=coverage.out ./...
9090
- run: go tool cover -html=coverage.out -o coverage.html
91-
- uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0
91+
- uses: actions/upload-artifact@b4b15b8c7c6ac21ea08fcf65892d2ee8f75cf882 # v4.4.3
9292
with:
9393
name: go-${{ matrix.go-version }}-coverage
9494
path: coverage.html

.github/workflows/ci-goreleaser.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,10 @@ jobs:
1414
check:
1515
runs-on: ubuntu-latest
1616
steps:
17-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
18-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
17+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
18+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
1919
with:
2020
go-version-file: 'go.mod'
21-
- uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
21+
- uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
2222
with:
2323
args: check

.github/workflows/compliance.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
copywrite:
1212
runs-on: ubuntu-latest
1313
steps:
14-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
14+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
1515
- uses: hashicorp/setup-copywrite@32638da2d4e81d56a0764aa1547882fc4d209636 # v1.1.3
1616
- run: copywrite headers --plan
1717
- run: copywrite license --plan

.github/workflows/release.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ jobs:
2525
runs-on: ubuntu-latest
2626
steps:
2727
- name: Checkout
28-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
28+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
2929
with:
3030
fetch-depth: 0
3131
# Avoid persisting GITHUB_TOKEN credentials as they take priority over our service account PAT for `git push` operations
@@ -54,7 +54,7 @@ jobs:
5454
runs-on: ubuntu-latest
5555
steps:
5656
- name: Checkout
57-
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
57+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
5858
with:
5959
fetch-depth: 0
6060
# Default input is the SHA that initially triggered the workflow. As we created a new commit in the previous job,
@@ -79,12 +79,12 @@ jobs:
7979
contents: write # Needed for goreleaser to create GitHub release
8080
issues: write # Needed for goreleaser to close associated milestone
8181
steps:
82-
- uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
82+
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
8383
with:
8484
ref: ${{ inputs.versionNumber }}
8585
fetch-depth: 0
8686

87-
- uses: actions/setup-go@0a12ed9d6a96ab950c8f026ed9f722fe0da7ef32 # v5.0.2
87+
- uses: actions/setup-go@41dfa10bad2bb2ae585af6ee5bb4d7d973ad74ed # v5.1.0
8888
with:
8989
go-version-file: 'go.mod'
9090

@@ -93,7 +93,7 @@ jobs:
9393
cd .changes
9494
sed -e "1{/# /d;}" -e "2{/^$/d;}" ${{ needs.changelog-version.outputs.version }}.md > /tmp/release-notes.txt
9595
96-
- uses: goreleaser/goreleaser-action@286f3b13b1b49da4ac219696163fb8c1c93e1200 # v6.0.0
96+
- uses: goreleaser/goreleaser-action@9ed2f89a662bf1735a48bc8557fd212fa902bebf # v6.1.0
9797
env:
9898
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
9999
with:

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,20 @@
1+
## 1.13.0 (October 31, 2024)
2+
3+
NOTES:
4+
5+
* Ephemeral resource support is in technical preview and offered without compatibility promises until Terraform 1.10 is generally available. ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
6+
7+
FEATURES:
8+
9+
* ephemeral: New package for implementing ephemeral resources ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
10+
* ephemeral/schema: New package for implementing ephemeral resource schemas ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
11+
12+
ENHANCEMENTS:
13+
14+
* provider: Added `ProviderWithEphemeralResources` interface for implementing ephemeral resources ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
15+
* tfsdk: Added `EphemeralResultData` struct for representing ephemeral values produced by a provider, such as from an ephemeral resource ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
16+
* provider: Added `EphemeralResourceData` to `ConfigureResponse`, to pass provider-defined data to `ephemeral.EphemeralResource` implementations ([#1050](https://github.com/hashicorp/terraform-plugin-framework/issues/1050))
17+
118
## 1.12.0 (September 18, 2024)
219

320
NOTES:

ephemeral/close.go

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
// Copyright (c) HashiCorp, Inc.
22
// SPDX-License-Identifier: MPL-2.0
3+
34
package ephemeral
45

56
import (
67
"github.com/hashicorp/terraform-plugin-framework/diag"
78
"github.com/hashicorp/terraform-plugin-framework/internal/privatestate"
8-
"github.com/hashicorp/terraform-plugin-framework/tfsdk"
99
)
1010

1111
// CloseRequest represents a request for the provider to close an ephemeral
1212
// resource. An instance of this request struct is supplied as an argument to
1313
// the ephemeral resource's Close function.
1414
type CloseRequest struct {
15-
// State is the object representing the values of the ephemeral
16-
// resource following the Open operation.
17-
State tfsdk.EphemeralState
18-
1915
// Private is provider-defined ephemeral resource private state data
2016
// which was previously provided by the latest Open or Renew operation.
2117
//
@@ -28,7 +24,7 @@ type CloseRequest struct {
2824
// to the ephemeral resource's Close function, in which the provider
2925
// should set values on the CloseResponse as appropriate.
3026
type CloseResponse struct {
31-
// Diagnostics report errors or warnings related to creating the
27+
// Diagnostics report errors or warnings related to closing the
3228
// resource. An empty slice indicates a successful operation with no
3329
// warnings or errors generated.
3430
Diagnostics diag.Diagnostics

ephemeral/config_validator.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// Copyright (c) HashiCorp, Inc.
22
// SPDX-License-Identifier: MPL-2.0
3+
34
package ephemeral
45

56
import "context"

0 commit comments

Comments
 (0)