Changelog
- 490b32a: build(deps): bump github.com/hashicorp/terraform-plugin-sdk/v2 (#640) (@dependabot[bot])
- f777e1f: build(deps): bump actions/checkout from 6.0.1 to 6.0.2 (@dependabot[bot])
- b39f695: build(deps): bump actions/cache from 5.0.1 to 5.0.3 (@dependabot[bot])
- c4b649d: build(deps): bump golang.org/x/tools from 0.40.0 to 0.42.0 (@dependabot[bot])
- 1f49ce9: build(deps): bump actions/setup-go from 6.2.0 to 6.3.0 (@dependabot[bot])
- 2104ed3: build(deps): bump goreleaser/goreleaser-action from 6.4.0 to 7.0.0 (@dependabot[bot])
- cde3ccb: build(deps): bump github.com/cloudflare/circl from 1.6.1 to 1.6.3 (@dependabot[bot])
- dd6f63a: build(deps): bump crazy-max/ghaction-import-gpg from 6.3.0 to 7.0.0 (@dependabot[bot])
- b209337: build(deps): bump crazy-max/ghaction-import-gpg from 6.3.0 to 7.0.0 (@dependabot[bot])
- dd6daa5: data_source_acl: migrate to plugin framework (@alexwlchan)
- 23fc22c: resource_aws_external_id: migrate to plugin framework (@alexwlchan)
- 03ed78a: build(deps): bump terraform-plugin-{framework,go,mux,sdk} (@alexwlchan)
- ebbcfaf: build(deps): bump tailscale.com from 1.94.1 to 1.96.1 (@dependabot[bot])
- 5182c69: build(deps): bump golang.org/x/tools from 0.42.0 to 0.43.0 (@dependabot[bot])
- df0737a: build(deps): bump tailscale.com/client/tailscale/v2 from 2.8.0 to 2.9.0 (@dependabot[bot])
- 4489cc0: build(deps): bump tailscale.com from 1.96.1 to 1.96.2 (@dependabot[bot])
- 6ce73ca: build(deps): bump tailscale.com from 1.96.2 to 1.96.3 (@dependabot[bot])
- ff46f77: build(deps): bump actions/cache from 5.0.3 to 5.0.4 (@dependabot[bot])
- badaf42: build(deps): bump google.golang.org/grpc from 1.79.2 to 1.79.3 (@dependabot[bot])
- baba668: build(deps): bump tailscale.com from 1.96.3 to 1.96.4 (@dependabot[bot])
- daafc73: README: add instructions for updating the docs (@neinkeinkaffee)
- 2400e3e: data_source_device: migrate to plugin framework (@neinkeinkaffee)
- ae27452: data_source_device: avoid setting tags to empty set (@neinkeinkaffee)
- 0b41024: data_source_device: normalise client response instead of conversion result (@neinkeinkaffee)
- 37b946e: build(deps): bump actions/setup-go from 6.3.0 to 6.4.0 (@dependabot[bot])
- 65f273f: build(deps): bump tailscale.com from 1.96.4 to 1.96.5 (@dependabot[bot])
- 40839f1: resource_device_key: migrate to plugin framework (#667) (@neinkeinkaffee)
- 57b48bf: add tailscale_service resource and data source (#658) (@jof)
- 70c19b8: resource_device_subnet_routes: migrate to plugin framework (@neinkeinkaffee)
- 1231f54: data_source_4via6: migrate to plugin framework (@alexwlchan)
- 6a9ab00: build(deps): bump golang.org/x/tools from 0.43.0 to 0.44.0 (@dependabot[bot])
- 957d720: resource_dns_preferences: migrate to plugin framework (@alexwlchan)
- 474c87c: resource_dns_split_nameservers: migrate to plugin framework (@alexwlchan)
- ec49cbe: resource_device_authorization: migrate to plugin framework (@neinkeinkaffee)
- f56409a: build(deps): bump github.com/hashicorp/terraform-plugin-mux (@dependabot[bot])
- 2aa6897: tailscale: fix error message when device is not found (@mpminardi)
- b044f5b: resource_device_tags: migrate to plugin framework (#673) (@neinkeinkaffee)
- d8848da: resource_service: document the ID field as the Service name (#680) (@hwh33)
- a1c0ec2: data_source_device: port wait_for to plugin framework (#678) (@neinkeinkaffee)
- a058ef3: build(deps): bump actions/cache from 5.0.4 to 5.0.5 (@dependabot[bot])
- 64e90db: resource_dns_search_paths: migrate to plugin framework (@alexwlchan)
- 8f75f49: Support reading the workload identity token from
TFC_WORKLOAD_IDENTITY_TOKEN_TAILSCALE. (@chrisgavin) - f7e807b: Allow specifying which environment variable to fetch the identity token from in the provider configuration. (@chrisgavin)
- a8a646d: Remove use of
ConflictsWithsince it is not used anywhere else. (@chrisgavin) - e62cf6f: Run
go generate. (@chrisgavin) - 3318fa0: resource_device_authorization: preserve state ID on update (#691) (@neinkeinkaffee)
- 129be9a: .github/workflows: install Terraform (@neinkeinkaffee)
- 4cea0bb: resource_dns_nameservers: migrate to plugin framework (@alexwlchan)
- 33c4aee: build(deps): bump github.com/hashicorp/terraform-plugin-docs (@dependabot[bot])
- 608340d: resource_dns_configuration: migrate to plugin framework (@alexwlchan)
- 6f7c98b: resource_dns_configuration: fix the name of
configurationvariable (@alexwlchan) - 22779f8: build(deps): bump goreleaser/goreleaser-action from 7.0.0 to 7.1.0 (@dependabot[bot])
- 3e684be: build(deps): bump goreleaser/goreleaser-action from 7.1.0 to 7.2.1 (@dependabot[bot])
- 8ea49f9: resource_webhook: migrate to plugin framework (@alexwlchan)
- 401dd9a: resource_logstream_configuration: test no-op plan for alt JSON formatting (@alexwlchan)
- bd8bff9: CONTRIBUTING.md: document updated Go version (#705) (@zofrex)
- bd0e64b: data_source_devices: sanitize device names used as resource names in tests (#706) (@zofrex)
- cd31a08: build(deps): bump github.com/hashicorp/terraform-plugin-sdk/v2 (@dependabot[bot])
- eb87e91: resource_posture_integration: migrate to plugin framework (#707) (@zofrex)
- 11b41d9: resource_device_authorization: update comment on Delete being no-op (@neinkeinkaffee)
- 112b2f3: resource_device_authorization: return on create error (@neinkeinkaffee)
- 96e6682: tailscale: consolidate device error messages (@neinkeinkaffee)
- 51d8e54: README: explain how to run a single acceptance test (@alexwlchan)
- 9090978: data_source_{user,users}: migrate to plugin framework (@alexwlchan)
- fa34393: data_source_devices: migrate to plugin framework (@alexwlchan)
- 0665070: tailscale: auto-recover from device not found (@neinkeinkaffee)
- 3a8e96b: resource_webhook: treat empty string provider as null (#709) (@zofrex)
- f4deb87: resource_contacts: migrate to plugin framework (@alexwlchan)
- 09a65da: data_source_service: migrate to plugin framework (@alexwlchan)
- 614c735: resource_logstream_configuration: migrate to plugin framework (@alexwlchan)
- 917d6a7: plan_modifiers: move PreserveEmptyStringAsNull into plan_modifiers.go (@alexwlchan)
- 1af5787: plan_modifiers: add some basic unit tests (@alexwlchan)
- fcb33ee: build(deps): bump tailscale.com from 1.96.5 to 1.98.0 (@dependabot[bot])
- 2382aa3: resource_service: migrate to plugin framework (@alexwlchan)
- 5718f82: all: add
SetOfStringValueandListOfStringValuehelpers (@alexwlchan) - 186fabe: provider: auto-discover OIDC tokens from runtime for workload identity federation (#718) (@keeleysam)
- b570a0f: all: pull the
ImportStatehelper into the base trait (@alexwlchan) - fa3dd93: plan_modifiers: add more test cases; add a HuJSON plan modifier (@alexwlchan)
- b695729: validators: extract the two existing validators; add test cases (@alexwlchan)
- 196c520: data_source_device: add tests for invalid config (@alexwlchan)
- d19d57d: data_source_4via6: add a missing test for invalid
cidrvalue (@alexwlchan) - 348af44: resource_oauth_client: migrate to plugin framework (@alexwlchan)
- cecc876: plan_modifiers: add a HuJSON plan modifier (@alexwlchan)
- 74fd9f1: validators: add a HuJSON string validator (@alexwlchan)
- 773c2a9: resource_acl: migrate to plugin framework (@alexwlchan)
- 500f203: build(deps): bump tailscale.com from 1.98.0 to 1.98.1 (@dependabot[bot])
- 53706ce: resource_{acl,oauth_client}: use
ResourceImportedByID(@alexwlchan) - f4499a0: resource_tailnet_key: migrate to plugin framework (#726) (@zofrex)
- 194d5a5: resource_tailnet_settings: migrate to plugin framework (#730) (@zofrex)
- 1921cae: resource_federated_identity: migrate to plugin framework (#676) (@danni-popova)
- 1535df5: build(deps): bump golang.org/x/tools from 0.44.0 to 0.45.0 (@dependabot[bot])
- cdf5a18: all: replace deprecated
ptr.Towithnew(…)(@alexwlchan) - db6a4ab: provider_sdk: remove a collection of now-unused functions (@alexwlchan)
- ef4e800: tailscale: add missing compile-time interface assertions (@mpminardi)
- 188d077: provider_sdk: migrate validateProviderCreds to use Go error types (@alexwlchan)
- 4b571a6: tailnet_key: remove an unused helper function; use
new(…)function (@alexwlchan) - 328dca6: provider_sdk: fix a missing import in
provider_sdk.go(@alexwlchan) - c02ba26: all: migrate from terraform-plugin-sdk to terraform-plugin-testing (@alexwlchan)
- 2667552: tailscale: remove PreserveEmptyStringAsNull plan modifier (@mpminardi)
- 95245d2: provider_test: tidy up the
test*globals inprovider_test.go(@alexwlchan) - dae2afc: all: remove the old Plugin SDKv2 provider (@alexwlchan)
- fc21870: resource_oauth_client: fix drift when tags are empty (#743) (@zofrex)
- 82675d0: resource_oauth_client: fix drift when description is null (#744) (@zofrex)
- 28767cc: resource_service: fix drift when tags are empty (#745) (@zofrex)
- 4b5bb8d: resource_service: fix drift when comment is null (#746) (@zofrex)
- 6fd289c: build(deps): bump hashicorp/setup-terraform from 4.0.0 to 4.0.1 (@dependabot[bot])
- 811e41f: resource_logstream_configuration: fix drift when optional strings are empty (#749) (@zofrex)
- 479e662: resource_logstream_configuration: fix drift when gcs_scopes is empty (#751) (@zofrex)
- 426ceb0: resource_logstream_configuration: fix drift when upload_period_minutes is 0 (#750) (@zofrex)
- ad92e37: tailscale: allow for reading some provider args from disk (@mpminardi)
- 64967f7: resource_federated_identity: don't permit empty audience (#752) (@zofrex)
- 9601fc6: resource_device_tags: fix drift when tags are empty (#747) (@zofrex)
- 90a66ce: resource_dns_configuration: fix drift when search paths are empty (@mpminardi)
- e460168: resource_dns_configuration: error if no nameservers provided for splitdns (#755) (@zofrex)
- 63f0c4f: resource_dns_split_nameservers: fix drift when nameservers is empty (#754) (@zofrex)
- 5a580d2: resource_dns_search_paths: treat nil paths as empty (#756) (@zofrex)
- ca8ce06: resource_device_subnet_routes: treat nil routes as empty (#757) (@zofrex)
- a53ca02: resource_tailnet_settings: use UUID for ID (@mpminardi)
- d4ec7b4: resource_device_key: fix drift when key_expiry_disabled is null (#758) (@zofrex)
- aa3371c: resource_contacts: error if contacts are not set exactly once each (#760) (@zofrex)