* 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>
419 lines
14 KiB
Go
419 lines
14 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: MPL-2.0
|
|
|
|
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
// versions:
|
|
// protoc-gen-go v1.33.0
|
|
// protoc (unknown)
|
|
// source: controller/api/v1/error.proto
|
|
|
|
package api
|
|
|
|
import (
|
|
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
reflect "reflect"
|
|
sync "sync"
|
|
)
|
|
|
|
const (
|
|
// Verify that this generated code is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
)
|
|
|
|
// Error information relevant to an error that was wrapped by the backend.
|
|
type WrappedError struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// 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"`
|
|
}
|
|
|
|
func (x *WrappedError) Reset() {
|
|
*x = WrappedError{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[0]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *WrappedError) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*WrappedError) ProtoMessage() {}
|
|
|
|
func (x *WrappedError) ProtoReflect() protoreflect.Message {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[0]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use WrappedError.ProtoReflect.Descriptor instead.
|
|
func (*WrappedError) Descriptor() ([]byte, []int) {
|
|
return file_controller_api_v1_error_proto_rawDescGZIP(), []int{0}
|
|
}
|
|
|
|
func (x *WrappedError) GetOp() string {
|
|
if x != nil {
|
|
return x.Op
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *WrappedError) GetMessage() string {
|
|
if x != nil {
|
|
return x.Message
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Additional details regarding a specific error.
|
|
type ErrorDetails struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// Request-field-specific error details.
|
|
RequestFields []*FieldError `protobuf:"bytes,1,rep,name=request_fields,proto3" json:"request_fields,omitempty"`
|
|
// The errors that were wrapped in the backend for this returned error.
|
|
WrappedErrors []*WrappedError `protobuf:"bytes,2,rep,name=wrapped_errors,proto3" json:"wrapped_errors,omitempty"`
|
|
}
|
|
|
|
func (x *ErrorDetails) Reset() {
|
|
*x = ErrorDetails{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[1]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *ErrorDetails) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*ErrorDetails) ProtoMessage() {}
|
|
|
|
func (x *ErrorDetails) ProtoReflect() protoreflect.Message {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[1]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use ErrorDetails.ProtoReflect.Descriptor instead.
|
|
func (*ErrorDetails) Descriptor() ([]byte, []int) {
|
|
return file_controller_api_v1_error_proto_rawDescGZIP(), []int{1}
|
|
}
|
|
|
|
func (x *ErrorDetails) GetRequestFields() []*FieldError {
|
|
if x != nil {
|
|
return x.RequestFields
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func (x *ErrorDetails) GetWrappedErrors() []*WrappedError {
|
|
if x != nil {
|
|
return x.WrappedErrors
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// FieldErrors contains error information on a per field basis.
|
|
type FieldError struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The name of the field.
|
|
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
|
// The description of the error.
|
|
Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
|
|
}
|
|
|
|
func (x *FieldError) Reset() {
|
|
*x = FieldError{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[2]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *FieldError) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*FieldError) ProtoMessage() {}
|
|
|
|
func (x *FieldError) ProtoReflect() protoreflect.Message {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[2]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use FieldError.ProtoReflect.Descriptor instead.
|
|
func (*FieldError) Descriptor() ([]byte, []int) {
|
|
return file_controller_api_v1_error_proto_rawDescGZIP(), []int{2}
|
|
}
|
|
|
|
func (x *FieldError) GetName() string {
|
|
if x != nil {
|
|
return x.Name
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *FieldError) GetDescription() string {
|
|
if x != nil {
|
|
return x.Description
|
|
}
|
|
return ""
|
|
}
|
|
|
|
// Error is returned by the JSON API when an error occurs.
|
|
type Error struct {
|
|
state protoimpl.MessageState
|
|
sizeCache protoimpl.SizeCache
|
|
unknownFields protoimpl.UnknownFields
|
|
|
|
// The kind of error this is.
|
|
Kind string `protobuf:"bytes,1,opt,name=kind,proto3" json:"kind,omitempty"`
|
|
// An string indicating what operation was being run when the error was returned.
|
|
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 are populated.
|
|
Details *ErrorDetails `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"`
|
|
}
|
|
|
|
func (x *Error) Reset() {
|
|
*x = Error{}
|
|
if protoimpl.UnsafeEnabled {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[3]
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
}
|
|
|
|
func (x *Error) String() string {
|
|
return protoimpl.X.MessageStringOf(x)
|
|
}
|
|
|
|
func (*Error) ProtoMessage() {}
|
|
|
|
func (x *Error) ProtoReflect() protoreflect.Message {
|
|
mi := &file_controller_api_v1_error_proto_msgTypes[3]
|
|
if protoimpl.UnsafeEnabled && x != nil {
|
|
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
if ms.LoadMessageInfo() == nil {
|
|
ms.StoreMessageInfo(mi)
|
|
}
|
|
return ms
|
|
}
|
|
return mi.MessageOf(x)
|
|
}
|
|
|
|
// Deprecated: Use Error.ProtoReflect.Descriptor instead.
|
|
func (*Error) Descriptor() ([]byte, []int) {
|
|
return file_controller_api_v1_error_proto_rawDescGZIP(), []int{3}
|
|
}
|
|
|
|
func (x *Error) GetKind() string {
|
|
if x != nil {
|
|
return x.Kind
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Error) GetOp() string {
|
|
if x != nil {
|
|
return x.Op
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Error) GetMessage() string {
|
|
if x != nil {
|
|
return x.Message
|
|
}
|
|
return ""
|
|
}
|
|
|
|
func (x *Error) GetDetails() *ErrorDetails {
|
|
if x != nil {
|
|
return x.Details
|
|
}
|
|
return nil
|
|
}
|
|
|
|
var File_controller_api_v1_error_proto protoreflect.FileDescriptor
|
|
|
|
var file_controller_api_v1_error_proto_rawDesc = []byte{
|
|
0x0a, 0x1d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69,
|
|
0x2f, 0x76, 0x31, 0x2f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12,
|
|
0x11, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e,
|
|
0x76, 0x31, 0x22, 0x38, 0x0a, 0x0c, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72,
|
|
0x6f, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
|
0x6f, 0x70, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
|
|
0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x9e, 0x01, 0x0a,
|
|
0x0c, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x12, 0x45, 0x0a,
|
|
0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18,
|
|
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c,
|
|
0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45,
|
|
0x72, 0x72, 0x6f, 0x72, 0x52, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x66, 0x69,
|
|
0x65, 0x6c, 0x64, 0x73, 0x12, 0x47, 0x0a, 0x0e, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f,
|
|
0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63,
|
|
0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31,
|
|
0x2e, 0x57, 0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x0e, 0x77,
|
|
0x72, 0x61, 0x70, 0x70, 0x65, 0x64, 0x5f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x73, 0x22, 0x42, 0x0a,
|
|
0x0a, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e,
|
|
0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
|
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
|
|
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
|
|
0x6e, 0x22, 0x80, 0x01, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6b,
|
|
0x69, 0x6e, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12,
|
|
0x0e, 0x0a, 0x02, 0x6f, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6f, 0x70, 0x12,
|
|
0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
|
0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x39, 0x0a, 0x07, 0x64, 0x65, 0x74,
|
|
0x61, 0x69, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x63, 0x6f, 0x6e,
|
|
0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45,
|
|
0x72, 0x72, 0x6f, 0x72, 0x44, 0x65, 0x74, 0x61, 0x69, 0x6c, 0x73, 0x52, 0x07, 0x64, 0x65, 0x74,
|
|
0x61, 0x69, 0x6c, 0x73, 0x42, 0x3f, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63,
|
|
0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75,
|
|
0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67,
|
|
0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70,
|
|
0x69, 0x3b, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
}
|
|
|
|
var (
|
|
file_controller_api_v1_error_proto_rawDescOnce sync.Once
|
|
file_controller_api_v1_error_proto_rawDescData = file_controller_api_v1_error_proto_rawDesc
|
|
)
|
|
|
|
func file_controller_api_v1_error_proto_rawDescGZIP() []byte {
|
|
file_controller_api_v1_error_proto_rawDescOnce.Do(func() {
|
|
file_controller_api_v1_error_proto_rawDescData = protoimpl.X.CompressGZIP(file_controller_api_v1_error_proto_rawDescData)
|
|
})
|
|
return file_controller_api_v1_error_proto_rawDescData
|
|
}
|
|
|
|
var file_controller_api_v1_error_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
|
|
var file_controller_api_v1_error_proto_goTypes = []interface{}{
|
|
(*WrappedError)(nil), // 0: controller.api.v1.WrappedError
|
|
(*ErrorDetails)(nil), // 1: controller.api.v1.ErrorDetails
|
|
(*FieldError)(nil), // 2: controller.api.v1.FieldError
|
|
(*Error)(nil), // 3: controller.api.v1.Error
|
|
}
|
|
var file_controller_api_v1_error_proto_depIdxs = []int32{
|
|
2, // 0: controller.api.v1.ErrorDetails.request_fields:type_name -> controller.api.v1.FieldError
|
|
0, // 1: controller.api.v1.ErrorDetails.wrapped_errors:type_name -> controller.api.v1.WrappedError
|
|
1, // 2: controller.api.v1.Error.details:type_name -> controller.api.v1.ErrorDetails
|
|
3, // [3:3] is the sub-list for method output_type
|
|
3, // [3:3] is the sub-list for method input_type
|
|
3, // [3:3] is the sub-list for extension type_name
|
|
3, // [3:3] is the sub-list for extension extendee
|
|
0, // [0:3] is the sub-list for field type_name
|
|
}
|
|
|
|
func init() { file_controller_api_v1_error_proto_init() }
|
|
func file_controller_api_v1_error_proto_init() {
|
|
if File_controller_api_v1_error_proto != nil {
|
|
return
|
|
}
|
|
if !protoimpl.UnsafeEnabled {
|
|
file_controller_api_v1_error_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*WrappedError); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_controller_api_v1_error_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*ErrorDetails); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_controller_api_v1_error_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*FieldError); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
file_controller_api_v1_error_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
|
|
switch v := v.(*Error); i {
|
|
case 0:
|
|
return &v.state
|
|
case 1:
|
|
return &v.sizeCache
|
|
case 2:
|
|
return &v.unknownFields
|
|
default:
|
|
return nil
|
|
}
|
|
}
|
|
}
|
|
type x struct{}
|
|
out := protoimpl.TypeBuilder{
|
|
File: protoimpl.DescBuilder{
|
|
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
RawDescriptor: file_controller_api_v1_error_proto_rawDesc,
|
|
NumEnums: 0,
|
|
NumMessages: 4,
|
|
NumExtensions: 0,
|
|
NumServices: 0,
|
|
},
|
|
GoTypes: file_controller_api_v1_error_proto_goTypes,
|
|
DependencyIndexes: file_controller_api_v1_error_proto_depIdxs,
|
|
MessageInfos: file_controller_api_v1_error_proto_msgTypes,
|
|
}.Build()
|
|
File_controller_api_v1_error_proto = out.File
|
|
file_controller_api_v1_error_proto_rawDesc = nil
|
|
file_controller_api_v1_error_proto_goTypes = nil
|
|
file_controller_api_v1_error_proto_depIdxs = nil
|
|
}
|