Skip to content

Bump github.com/hashicorp/terraform-plugin-go from 0.23.0 to 0.26.0 #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 23, 2025

Bumps github.com/hashicorp/terraform-plugin-go from 0.23.0 to 0.26.0.

Release notes

Sourced from github.com/hashicorp/terraform-plugin-go's releases.

v0.26.0

BREAKING CHANGES:

  • tfprotov5+tfprotov6: EphemeralResourceServer interface is now required in ProviderServer. Implementations not needing ephemeral resource support can return errors from the *EphemeralResource methods. (#442)
  • tfprotov5+tfprotov6: Removed temporary ProviderServerWithEphemeralResources interface type. Use EphemeralResourceServer instead. (#442)

NOTES:

FEATURES:

  • tfprotov5+tfprotov6: Upgraded protocols and added types to support write-only attributes (#462)

v0.25.0

NOTES:

  • tfprotov5+tfprotov6: An upcoming release will require the EphemeralResourceServer implementation as part of ProviderServer. (#441)

FEATURES:

  • tfprotov5+tfprotov6: Upgraded protocols and added types to support the new ephemeral resource type (#441)

v0.24.0

BREAKING CHANGES:

  • tfprotov5+tfprotov6: Removed temporary ResourceServerWithMoveResourceState interface type. Use ResourceServer instead. (#408)

NOTES:

  • all: If using terraform-plugin-mux, it must be upgraded to v0.16.0 or later to prevent compilation errors (#408)
  • all: This Go module has been updated to Go 1.22 per the Go support policy. It is recommended to review the Go 1.22 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#428)

BUG FIXES:

  • logging: Add existing MoveResourceState server capability to v5 and v6 logging (#432)
Changelog

Sourced from github.com/hashicorp/terraform-plugin-go's changelog.

0.26.0 (January 22, 2025)

BREAKING CHANGES:

  • tfprotov5+tfprotov6: EphemeralResourceServer interface is now required in ProviderServer. Implementations not needing ephemeral resource support can return errors from the *EphemeralResource methods. (#442)
  • tfprotov5+tfprotov6: Removed temporary ProviderServerWithEphemeralResources interface type. Use EphemeralResourceServer instead. (#442)

NOTES:

FEATURES:

  • tfprotov5+tfprotov6: Upgraded protocols and added types to support write-only attributes (#462)

0.25.0 (October 30, 2024)

NOTES:

  • tfprotov5+tfprotov6: An upcoming release will require the EphemeralResourceServer implementation as part of ProviderServer. (#441)

FEATURES:

  • tfprotov5+tfprotov6: Upgraded protocols and added types to support the new ephemeral resource type (#441)

0.24.0 (September 18, 2024)

BREAKING CHANGES:

  • tfprotov5+tfprotov6: Removed temporary ResourceServerWithMoveResourceState interface type. Use ResourceServer instead. (#408)

NOTES:

  • all: If using terraform-plugin-mux, it must be upgraded to v0.16.0 or later to prevent compilation errors (#408)
  • all: This Go module has been updated to Go 1.22 per the Go support policy. It is recommended to review the Go 1.22 release notes before upgrading. Any consumers building on earlier Go versions may experience errors. (#428)

BUG FIXES:

  • logging: Add existing MoveResourceState server capability to v5 and v6 logging (#432)
Commits
  • a106af9 Update changelog
  • eeca0d0 build(deps): Bump golang.org/x/net from 0.29.0 to 0.33.0 in /tools (#464)
  • 7ff6ef6 tfprotov5+tfprotov6: Require EphemeralResourceServer in ProviderServer (#...
  • afd18f1 tfprotov5+tfprotov6: Write-only Attribute Implementation (#462)
  • 707c7af build(deps): Bump google.golang.org/protobuf from 1.36.2 to 1.36.3 (#461)
  • f9370f2 build(deps): Bump github.com/hashicorp/terraform-registry-address (#460)
  • 5da0acf build(deps): Bump google.golang.org/grpc from 1.69.2 to 1.69.4 (#459)
  • a54e1cc build(deps): Bump google.golang.org/protobuf from 1.36.1 to 1.36.2 (#458)
  • 54b2010 Result of tsccr-helper -log-level=info gha update -latest .github/ (#457)
  • f946e2a build(deps): Bump google.golang.org/protobuf from 1.35.2 to 1.36.1 (#455)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/hashicorp/terraform-plugin-go](https://github.com/hashicorp/terraform-plugin-go) from 0.23.0 to 0.26.0.
- [Release notes](https://github.com/hashicorp/terraform-plugin-go/releases)
- [Changelog](https://github.com/hashicorp/terraform-plugin-go/blob/main/CHANGELOG.md)
- [Commits](hashicorp/terraform-plugin-go@v0.23.0...v0.26.0)

---
updated-dependencies:
- dependency-name: github.com/hashicorp/terraform-plugin-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Jan 23, 2025
austin-denoble added a commit that referenced this pull request Apr 19, 2025
…ps (#39)

## Problem
It has been a long while since we've updated the terraform provider, and
the [go-pinecone](https://github.com/pinecone-io/go-pinecone) client the
provider depends on has seen several major version bumps since then.

There are a number of new index features the provider does not currently
support:
- Deletion protection
- Index tags
- Sparse / Dense indexes
- Integrated inference

There are also a number of other dependencies that could use updating,
as dependabot has dutifully let us know:
- #30
- #31
- #33
- #35
- #36
- #37

## Solution
- Bump go-pinecone to the latest version: v3.1.0
- Bump various dependencies around the terraform-plugin-framework and go
(see the list above).
- Update index resource and data source schemas to support new index
configurations: `deletion_protection`, `tags`, `embed`, and
`vector_type`.
- Previously, the `IndexResource` `Update` method was basically a noop,
this has now been updated to support updating index tags,
deletion_protection, and embed properties. Check out the `Update` method
in `index_resource.go` for specifics on how this is handled.
- The `IndexResource` `Create` method also has a lot of changes to
support creating various index types.
- The schemas for both `IndexDataSource` and `IndexResource` have been
updated to include all of the new index configuration fields. For
context: in terraform a "resource" is the managed thing you're creating
/ updating, and a data source is a "read only" representation of that
thing.
- I've done an overhaul on how we're testing some things in
`index_resource_test.go`, and a few other places. This was primarily to
cover certain error cases and the full flow from create -> update ->
destroy for indexes.
- Collections are unchanged in this update.

## Type of Change
- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [X] Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] This change requires a documentation update
- [ ] Infrastructure change (CI configs, etc)
- [ ] Non-code change (docs, etc)
- [ ] None of the above: (explain here)

## Test Plan
You'll need to install the terraform CLI locally. Easiest way is
probably through brew:

```sh
brew tap hashicorp/tap
brew install hashicorp/tap/terraform
terraform -version
```

After installing terraform, find your `~/.terraformrc` file, clone this
repo, and add a dev override for wherever you've built the provider
binary locally. It should look something like this:

```
provider_installation {
	dev_overrides {
		"pinecone-io/pinecone" = "/Users/austin/workspace/terraform-provider-pinecone"
	}

  # For all other providers, install them directly from their origin provider
  # registries as normal. If you omit this, Terraform will _only_ use
  # the dev_overrides block, and so no other providers will be available.
  direct {}
}
```

Create a folder for testing the locally built provider from the cloned
repo, and add a new hcl file (something like `main.tf`):

```sh
mkdir pinecone-terraform-test
cd pinecone-terraform-test
touch main.tf
```

Update the `main.tf` file with your desired configuration. For example,
here's a serverless integrated index:

```tf
terraform {
  required_providers {
    pinecone = {
      source = "pinecone-io/pinecone"
    }
  }
}

provider "pinecone" {
}

resource "pinecone_index" "testsls" {
  name = "tftestslsindex22"
  deletion_protection = "disabled"
  metric = "cosine"
  spec = {
    serverless = {
      cloud = "aws"
      region = "us-west-2"
    }
  }
  tags = {
    test = "test1"
    blah = "foo"
  }
  embed = {
    model = "multilingual-e5-large"
    field_map = {
      text = "chunk_text"
    }
  }
}
```
Once you've updated your `main.tf` file, you can run the following:

```sh
# generally only need to init the first time with a new tf file
terraform init 
# plan will give you a preview of the resource you're about to create or update
terraform plan 
# apply will actually create or update the thing
terraform apply
```

From there you can make changes to the resource, or add new resources to
the configuration file and rerun `terraform plan / terraform apply`. Use
the Pinecone console to validate the external resource is created and
updated as expected.

---
- To see the specific tasks where the Asana app for GitHub is being
used, see below:
  - https://app.asana.com/0/0/1208748187516169
Copy link
Contributor Author

dependabot bot commented on behalf of github Apr 19, 2025

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot dependabot bot deleted the dependabot/go_modules/github.com/hashicorp/terraform-plugin-go-0.26.0 branch April 19, 2025 03:19
@austin-denoble
Copy link
Contributor

implemented in: #39

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant