mirror of
https://github.com/hashicorp/vault.git
synced 2025-08-23 23:51:08 +02:00
We have many hand-written String() methods (and similar) for enums. These require more maintenance and are more error-prone than using automatically generated methods. In addition, the auto-generated versions can be more efficient. Here, we switch to using https://github.com/loggerhead/enumer, itself a fork of https://github.com/diegostamigni/enumer, no longer maintained, and a fork of the mostly standard tool https://pkg.go.dev/golang.org/x/tools/cmd/stringer. We use this fork of enumer for Go 1.20+ compatibility and because we require the `-transform` flag to be able to generate constants that match our current code base. Some enums were not targeted for this change:
HashiCorp-internal libs
Do not use these unless you know what you're doing.
These libraries are used by other HashiCorp software to reduce code duplication and increase consistency. They are not libraries needed by Vault plugins -- those are in the sdk/ module.
There are no compatibility guarantees. Things in here may change or move or disappear at any time.
If you are a Vault plugin author and think you need a library in here in your plugin, please open an issue for discussion.