internal/proto: improvements to OpenAPIv2 spec (#4555)

* internal/gen: better API docs

Add various pieces of metadata that can be used by the API docs renderer.
Improve the service labels by specifying explicit tags.
Specify error responses. Specify version at generation time.

* internal/gen: add better errors

The default error entry is now used to cover all errors, as
adding a new error for every possible status code was a bit much.
This also properly includes the real error type now!

* Add various pieces of metadata that can be used by the API docs renderer. Improve the service labels by specifying explicit tags.

* make auth method API docs

* make API docs better

* make auth methods API docs nicer

* internal/gen: better attribute examples

Replace Output Only comments with a field behavior annotation in accounts.
Mark some fields as required.
Add elaborate description for attributes.

* Make API docs better

* Make API docs better

* Make API docs better

* internal/proto: regenerate files

* internal/proto: finish off account service

* Make API docs better

* internal/proto: add better API docs for aliases

* Tidy up service descriptions

* Added description for Boundary controller  API doc

* internal/gen: add better API intro

Copy parts of the API docs into the description

* sdk: add openapi dependency

* internal/gen: move global API doc to separate file

* internal/gen: remove required annotations

Unfortunately, while these help with the creating of resources, they still
appear required in contexts where they are not, such as when
updating a resource.

* Review comments

---------

Co-authored-by: jigar-hashicorp <jigar.shah@hashicorp.com>
Co-authored-by: Isaac Christian (he/him) <112639904+isaacchristian@users.noreply.github.com>
This commit is contained in:
authored and GitHub committed 2024-04-08 13:55:17 -07:00
1 parent b908e7b9da
commit 6b53766aa6
69 files changed
+4339 -1803

No files matched your search

+4 -3
View File
@@ -29,8 +29,9 @@ type WrappedError struct {
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// An string indicating what operation was being run when the wrapped error was created.
Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"`
// A string indicating what operation was being run when the wrapped error occurred.
Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"`
// The wrapped error message.
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
}
@@ -208,7 +209,7 @@ type Error struct {
Op string `protobuf:"bytes,2,opt,name=op,proto3" json:"op,omitempty"`
// A human-readable explanation specific to this occurrence of the error.
Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
// Additional metadata regarding the error. Depending on the error, different fields will be populated.
// Additional metadata regarding the error. Depending on the error, different fields are populated.
Details *ErrorDetails `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"`
}