Skip to content

feat: ephemeral resource support (proto 6.9), write_only, Map/List types#1

Closed
rhencke wants to merge 3 commits into
masterfrom
feat/ephemeral-resources
Closed

feat: ephemeral resource support (proto 6.9), write_only, Map/List types#1
rhencke wants to merge 3 commits into
masterfrom
feat/ephemeral-resources

Conversation

@rhencke

@rhencke rhencke commented Mar 24, 2026

Copy link
Copy Markdown
Owner

Summary

  • Upgrades to tfplugin6.9 proto, adding ephemeral resource RPCs, write_only attribute flag, and resource identity stubs
  • Adds EphemeralResource protocol to iface.py with get_name, get_schema, validate, open, close
  • Extends Provider interface with get_ephemeral_resources() / new_ephemeral_resource()
  • Adds four ephemeral lifecycle RPCs to ProviderServicer: ValidateEphemeralResourceConfig, OpenEphemeralResource, RenewEphemeralResource, CloseEphemeralResource
  • Adds write_only field to schema.Attribute (secrets that are provided via config but omitted from state)
  • Updates protobuf dependency to >=6.0.0 (gencode now requires 6.x runtime)
  • Comprehensive TDD test suite in tf/tests/test_ephemeral.py (19 tests)

Related

Companion to hfern#18 (Map/List types).

Test plan

  • uv run --active pytest tf/ -q passes (159 tests)
  • All ephemeral tests green (19 new tests)

rhencke added 3 commits March 24, 2026 19:31
Map(value_type) provides map(string→T) support.
Wire format: ["map", <value_type>], matches go-cty encoding.
Encode/decode delegate to value_type per value.
Handles None and Unknown sentinels like List/Set.
…te_only

- Upgrade to tfplugin6.9 proto (ephemeral RPCs, write_only attribute, resource identity stubs)
- Add EphemeralResource protocol to iface.py with get_name/get_schema/validate/open/close
- Add get_ephemeral_resources/new_ephemeral_resource to Provider iface
- Add ValidateEphemeralResourceConfig, OpenEphemeralResource, RenewEphemeralResource, CloseEphemeralResource RPCs to ProviderServicer
- Add write_only field to schema.Attribute
- Update protobuf constraint to >=6.0.0 (gencode requires 6.x)
- Update Makefile to reference tfplugin6.9.proto
- Add comprehensive tests for ephemeral resource support
@rhencke rhencke closed this Mar 29, 2026
@rhencke rhencke deleted the feat/ephemeral-resources branch March 29, 2026 01:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant