// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.0
// 	protoc        (unknown)
// source: protoc-gen-openapiv3/options/openapiv3.proto

// Package grpc.gateway.protoc_gen_openapiv3.options defines the minimal set of
// OpenAPI 3.1.0 override messages consumed by protoc-gen-openapiv3.

//go:build !protoopaque

package options

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
)

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)
)

// Document is a file-level override applied to the top of the generated
// OpenAPI document. Only non-empty sub-fields replace the defaults the
// generator would otherwise synthesize from the proto file name.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#openapi-object
type Document struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// Provides metadata about the API. The metadata MAY be used by tooling as
	// required.
	Info *Info `protobuf:"bytes,1,opt,name=info,proto3" json:"info,omitempty"`
	// An array of Server Objects, which provide connectivity information to a
	// target server. If the servers property is not provided, or is an empty
	// array, the default value would be a Server Object with a url value of /.
	Servers []*Server `protobuf:"bytes,2,rep,name=servers,proto3" json:"servers,omitempty"`
	// Additional external documentation.
	ExternalDocs *ExternalDocs `protobuf:"bytes,3,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	// A list of tags used by the document with additional metadata. Tags
	// declared here are merged with the tags derived from proto services: an
	// entry here whose name matches a service's tag replaces the default,
	// and entries with new names are appended. This is the only way to
	// attach a description (or external docs) to a tag referenced by a
	// method-level `openapiv3_operation.tags` override, since those tags
	// would otherwise appear in the document with no metadata.
	Tags          []*Tag `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Document) Reset() {
	*x = Document{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Document) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Document) ProtoMessage() {}

func (x *Document) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Document) GetInfo() *Info {
	if x != nil {
		return x.Info
	}
	return nil
}

func (x *Document) GetServers() []*Server {
	if x != nil {
		return x.Servers
	}
	return nil
}

func (x *Document) GetExternalDocs() *ExternalDocs {
	if x != nil {
		return x.ExternalDocs
	}
	return nil
}

func (x *Document) GetTags() []*Tag {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Document) SetInfo(v *Info) {
	x.Info = v
}

func (x *Document) SetServers(v []*Server) {
	x.Servers = v
}

func (x *Document) SetExternalDocs(v *ExternalDocs) {
	x.ExternalDocs = v
}

func (x *Document) SetTags(v []*Tag) {
	x.Tags = v
}

func (x *Document) HasInfo() bool {
	if x == nil {
		return false
	}
	return x.Info != nil
}

func (x *Document) HasExternalDocs() bool {
	if x == nil {
		return false
	}
	return x.ExternalDocs != nil
}

func (x *Document) ClearInfo() {
	x.Info = nil
}

func (x *Document) ClearExternalDocs() {
	x.ExternalDocs = nil
}

type Document_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// Provides metadata about the API. The metadata MAY be used by tooling as
	// required.
	Info *Info
	// An array of Server Objects, which provide connectivity information to a
	// target server. If the servers property is not provided, or is an empty
	// array, the default value would be a Server Object with a url value of /.
	Servers []*Server
	// Additional external documentation.
	ExternalDocs *ExternalDocs
	// A list of tags used by the document with additional metadata. Tags
	// declared here are merged with the tags derived from proto services: an
	// entry here whose name matches a service's tag replaces the default,
	// and entries with new names are appended. This is the only way to
	// attach a description (or external docs) to a tag referenced by a
	// method-level `openapiv3_operation.tags` override, since those tags
	// would otherwise appear in the document with no metadata.
	Tags []*Tag
}

func (b0 Document_builder) Build() *Document {
	m0 := &Document{}
	b, x := &b0, m0
	_, _ = b, x
	x.Info = b.Info
	x.Servers = b.Servers
	x.ExternalDocs = b.ExternalDocs
	x.Tags = b.Tags
	return m0
}

// Info mirrors the fields of the OpenAPI 3.1.0 Info object that users most
// often want to set from proto.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#info-object
type Info struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// The title of the API.
	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	// A short summary of the API.
	Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
	// A description of the API. CommonMark syntax MAY be used for rich text
	// representation.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// A URL to the Terms of Service for the API. This MUST be in the form of a
	// URL.
	TermsOfService string `protobuf:"bytes,4,opt,name=terms_of_service,json=termsOfService,proto3" json:"terms_of_service,omitempty"`
	// The contact information for the exposed API.
	Contact *Contact `protobuf:"bytes,5,opt,name=contact,proto3" json:"contact,omitempty"`
	// The license information for the exposed API.
	License *License `protobuf:"bytes,6,opt,name=license,proto3" json:"license,omitempty"`
	// The version of the OpenAPI document (which is distinct from the OpenAPI
	// Specification version or the API implementation version).
	Version       string `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Info) Reset() {
	*x = Info{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Info) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Info) ProtoMessage() {}

func (x *Info) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Info) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Info) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *Info) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Info) GetTermsOfService() string {
	if x != nil {
		return x.TermsOfService
	}
	return ""
}

func (x *Info) GetContact() *Contact {
	if x != nil {
		return x.Contact
	}
	return nil
}

func (x *Info) GetLicense() *License {
	if x != nil {
		return x.License
	}
	return nil
}

func (x *Info) GetVersion() string {
	if x != nil {
		return x.Version
	}
	return ""
}

func (x *Info) SetTitle(v string) {
	x.Title = v
}

func (x *Info) SetSummary(v string) {
	x.Summary = v
}

func (x *Info) SetDescription(v string) {
	x.Description = v
}

func (x *Info) SetTermsOfService(v string) {
	x.TermsOfService = v
}

func (x *Info) SetContact(v *Contact) {
	x.Contact = v
}

func (x *Info) SetLicense(v *License) {
	x.License = v
}

func (x *Info) SetVersion(v string) {
	x.Version = v
}

func (x *Info) HasContact() bool {
	if x == nil {
		return false
	}
	return x.Contact != nil
}

func (x *Info) HasLicense() bool {
	if x == nil {
		return false
	}
	return x.License != nil
}

func (x *Info) ClearContact() {
	x.Contact = nil
}

func (x *Info) ClearLicense() {
	x.License = nil
}

type Info_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// The title of the API.
	Title string
	// A short summary of the API.
	Summary string
	// A description of the API. CommonMark syntax MAY be used for rich text
	// representation.
	Description string
	// A URL to the Terms of Service for the API. This MUST be in the form of a
	// URL.
	TermsOfService string
	// The contact information for the exposed API.
	Contact *Contact
	// The license information for the exposed API.
	License *License
	// The version of the OpenAPI document (which is distinct from the OpenAPI
	// Specification version or the API implementation version).
	Version string
}

func (b0 Info_builder) Build() *Info {
	m0 := &Info{}
	b, x := &b0, m0
	_, _ = b, x
	x.Title = b.Title
	x.Summary = b.Summary
	x.Description = b.Description
	x.TermsOfService = b.TermsOfService
	x.Contact = b.Contact
	x.License = b.License
	x.Version = b.Version
	return m0
}

// Contact information for the exposed API.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#contact-object
type Contact struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// The identifying name of the contact person/organization.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The URL pointing to the contact information. This MUST be in the form of
	// a URL.
	Url string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	// The email address of the contact person/organization. This MUST be in the
	// form of an email address.
	Email         string `protobuf:"bytes,3,opt,name=email,proto3" json:"email,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Contact) Reset() {
	*x = Contact{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Contact) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Contact) ProtoMessage() {}

func (x *Contact) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Contact) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Contact) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Contact) GetEmail() string {
	if x != nil {
		return x.Email
	}
	return ""
}

func (x *Contact) SetName(v string) {
	x.Name = v
}

func (x *Contact) SetUrl(v string) {
	x.Url = v
}

func (x *Contact) SetEmail(v string) {
	x.Email = v
}

type Contact_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// The identifying name of the contact person/organization.
	Name string
	// The URL pointing to the contact information. This MUST be in the form of
	// a URL.
	Url string
	// The email address of the contact person/organization. This MUST be in the
	// form of an email address.
	Email string
}

func (b0 Contact_builder) Build() *Contact {
	m0 := &Contact{}
	b, x := &b0, m0
	_, _ = b, x
	x.Name = b.Name
	x.Url = b.Url
	x.Email = b.Email
	return m0
}

// License information for the exposed API. `identifier` and `url` are
// mutually exclusive in the OpenAPI 3.1.0 spec, so they are modeled as a
// oneof: setting one clears the other.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#license-object
type License struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// The license name used for the API.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Source identifying the license. Either an SPDX expression or a URL,
	// mutually exclusive per the OpenAPI 3.1.0 spec.
	//
	// Types that are valid to be assigned to Source:
	//
	//	*License_Identifier
	//	*License_Url
	Source        isLicense_Source `protobuf_oneof:"source"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *License) Reset() {
	*x = License{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *License) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*License) ProtoMessage() {}

func (x *License) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *License) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *License) GetSource() isLicense_Source {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *License) GetIdentifier() string {
	if x != nil {
		if x, ok := x.Source.(*License_Identifier); ok {
			return x.Identifier
		}
	}
	return ""
}

func (x *License) GetUrl() string {
	if x != nil {
		if x, ok := x.Source.(*License_Url); ok {
			return x.Url
		}
	}
	return ""
}

func (x *License) SetName(v string) {
	x.Name = v
}

func (x *License) SetIdentifier(v string) {
	x.Source = &License_Identifier{v}
}

func (x *License) SetUrl(v string) {
	x.Source = &License_Url{v}
}

func (x *License) HasSource() bool {
	if x == nil {
		return false
	}
	return x.Source != nil
}

func (x *License) HasIdentifier() bool {
	if x == nil {
		return false
	}
	_, ok := x.Source.(*License_Identifier)
	return ok
}

func (x *License) HasUrl() bool {
	if x == nil {
		return false
	}
	_, ok := x.Source.(*License_Url)
	return ok
}

func (x *License) ClearSource() {
	x.Source = nil
}

func (x *License) ClearIdentifier() {
	if _, ok := x.Source.(*License_Identifier); ok {
		x.Source = nil
	}
}

func (x *License) ClearUrl() {
	if _, ok := x.Source.(*License_Url); ok {
		x.Source = nil
	}
}

const License_Source_not_set_case case_License_Source = 0
const License_Identifier_case case_License_Source = 2
const License_Url_case case_License_Source = 3

func (x *License) WhichSource() case_License_Source {
	if x == nil {
		return License_Source_not_set_case
	}
	switch x.Source.(type) {
	case *License_Identifier:
		return License_Identifier_case
	case *License_Url:
		return License_Url_case
	default:
		return License_Source_not_set_case
	}
}

type License_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// The license name used for the API.
	Name string
	// Source identifying the license. Either an SPDX expression or a URL,
	// mutually exclusive per the OpenAPI 3.1.0 spec.

	// Fields of oneof Source:
	// An SPDX expression for the API.
	Identifier *string
	// A URL to the license used for the API. This MUST be in the form of a
	// URL.
	Url *string
	// -- end of Source
}

func (b0 License_builder) Build() *License {
	m0 := &License{}
	b, x := &b0, m0
	_, _ = b, x
	x.Name = b.Name
	if b.Identifier != nil {
		x.Source = &License_Identifier{*b.Identifier}
	}
	if b.Url != nil {
		x.Source = &License_Url{*b.Url}
	}
	return m0
}

type case_License_Source protoreflect.FieldNumber

func (x case_License_Source) String() string {
	md := file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[3].Descriptor()
	if x == 0 {
		return "not set"
	}
	return protoimpl.X.MessageFieldStringOf(md, protoreflect.FieldNumber(x))
}

type isLicense_Source interface {
	isLicense_Source()
}

type License_Identifier struct {
	// An SPDX expression for the API.
	Identifier string `protobuf:"bytes,2,opt,name=identifier,proto3,oneof"`
}

type License_Url struct {
	// A URL to the license used for the API. This MUST be in the form of a
	// URL.
	Url string `protobuf:"bytes,3,opt,name=url,proto3,oneof"`
}

func (*License_Identifier) isLicense_Source() {}

func (*License_Url) isLicense_Source() {}

// Server represents an API server.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#server-object
type Server struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// A URL to the target host. This URL supports Server Variables and MAY be
	// relative, to indicate that the host location is relative to the location
	// where the OpenAPI document is being served.
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// An optional string describing the host designated by the URL. CommonMark
	// syntax MAY be used for rich text representation.
	Description   string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Server) Reset() {
	*x = Server{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Server) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Server) ProtoMessage() {}

func (x *Server) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Server) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *Server) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Server) SetUrl(v string) {
	x.Url = v
}

func (x *Server) SetDescription(v string) {
	x.Description = v
}

type Server_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// A URL to the target host. This URL supports Server Variables and MAY be
	// relative, to indicate that the host location is relative to the location
	// where the OpenAPI document is being served.
	Url string
	// An optional string describing the host designated by the URL. CommonMark
	// syntax MAY be used for rich text representation.
	Description string
}

func (b0 Server_builder) Build() *Server {
	m0 := &Server{}
	b, x := &b0, m0
	_, _ = b, x
	x.Url = b.Url
	x.Description = b.Description
	return m0
}

// Operation is a method-level override applied to the generated Operation
// object. Non-empty fields replace values the generator would otherwise
// derive from proto comments or defaults.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#operation-object
type Operation struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// A list of tags for API documentation control. Tags can be used for
	// logical grouping of operations by resources or any other qualifier.
	Tags []string `protobuf:"bytes,1,rep,name=tags,proto3" json:"tags,omitempty"`
	// A short summary of what the operation does.
	Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
	// A verbose explanation of the operation behavior. CommonMark syntax MAY
	// be used for rich text representation.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Additional external documentation for this operation.
	ExternalDocs *ExternalDocs `protobuf:"bytes,4,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	// Unique string used to identify the operation. The id MUST be unique among
	// all operations described in the API.
	OperationId string `protobuf:"bytes,5,opt,name=operation_id,json=operationId,proto3" json:"operation_id,omitempty"`
	// Declares this operation to be deprecated. Consumers SHOULD refrain from
	// usage of the declared operation. Default value is false. Setting this to
	// false does not un-deprecate a method that is marked deprecated in proto
	// (`option deprecated = true` on the method, service, or file).
	Deprecated bool `protobuf:"varint,6,opt,name=deprecated,proto3" json:"deprecated,omitempty"`
	// An alternative `servers` array to service this operation. If a `servers`
	// array is specified at the Path Item Object or OpenAPI Object level, it
	// will be overridden by this value.
	Servers       []*Server `protobuf:"bytes,7,rep,name=servers,proto3" json:"servers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Operation) Reset() {
	*x = Operation{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Operation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Operation) ProtoMessage() {}

func (x *Operation) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Operation) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

func (x *Operation) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *Operation) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Operation) GetExternalDocs() *ExternalDocs {
	if x != nil {
		return x.ExternalDocs
	}
	return nil
}

func (x *Operation) GetOperationId() string {
	if x != nil {
		return x.OperationId
	}
	return ""
}

func (x *Operation) GetDeprecated() bool {
	if x != nil {
		return x.Deprecated
	}
	return false
}

func (x *Operation) GetServers() []*Server {
	if x != nil {
		return x.Servers
	}
	return nil
}

func (x *Operation) SetTags(v []string) {
	x.Tags = v
}

func (x *Operation) SetSummary(v string) {
	x.Summary = v
}

func (x *Operation) SetDescription(v string) {
	x.Description = v
}

func (x *Operation) SetExternalDocs(v *ExternalDocs) {
	x.ExternalDocs = v
}

func (x *Operation) SetOperationId(v string) {
	x.OperationId = v
}

func (x *Operation) SetDeprecated(v bool) {
	x.Deprecated = v
}

func (x *Operation) SetServers(v []*Server) {
	x.Servers = v
}

func (x *Operation) HasExternalDocs() bool {
	if x == nil {
		return false
	}
	return x.ExternalDocs != nil
}

func (x *Operation) ClearExternalDocs() {
	x.ExternalDocs = nil
}

type Operation_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// A list of tags for API documentation control. Tags can be used for
	// logical grouping of operations by resources or any other qualifier.
	Tags []string
	// A short summary of what the operation does.
	Summary string
	// A verbose explanation of the operation behavior. CommonMark syntax MAY
	// be used for rich text representation.
	Description string
	// Additional external documentation for this operation.
	ExternalDocs *ExternalDocs
	// Unique string used to identify the operation. The id MUST be unique among
	// all operations described in the API.
	OperationId string
	// Declares this operation to be deprecated. Consumers SHOULD refrain from
	// usage of the declared operation. Default value is false. Setting this to
	// false does not un-deprecate a method that is marked deprecated in proto
	// (`option deprecated = true` on the method, service, or file).
	Deprecated bool
	// An alternative `servers` array to service this operation. If a `servers`
	// array is specified at the Path Item Object or OpenAPI Object level, it
	// will be overridden by this value.
	Servers []*Server
}

func (b0 Operation_builder) Build() *Operation {
	m0 := &Operation{}
	b, x := &b0, m0
	_, _ = b, x
	x.Tags = b.Tags
	x.Summary = b.Summary
	x.Description = b.Description
	x.ExternalDocs = b.ExternalDocs
	x.OperationId = b.OperationId
	x.Deprecated = b.Deprecated
	x.Servers = b.Servers
	return m0
}

// Schema is a message- or field-level override applied to the generated
// JSON Schema. Non-empty fields replace values the generator would
// otherwise derive from proto comments or the proto type.
//
// Both `openapiv3_schema` (on MessageOptions) and `openapiv3_field` (on
// FieldOptions) use this message.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#schema-object
// Underlying dialect: https://json-schema.org/draft/2020-12/json-schema-core
type Schema struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// A preferably short string describing the purpose of the instance
	// described by the schema.
	Title string `protobuf:"bytes,1,opt,name=title,proto3" json:"title,omitempty"`
	// A string providing explanation about the purpose of the instance
	// described by the schema.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Declares this schema to be deprecated. Consumers SHOULD refrain from
	// usage of the declared schema. Default value is false. Setting this to
	// false does not un-deprecate a schema that is marked deprecated in proto
	// (`option deprecated = true` on the message, field, or file).
	Deprecated    bool `protobuf:"varint,3,opt,name=deprecated,proto3" json:"deprecated,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Schema) Reset() {
	*x = Schema{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Schema) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Schema) ProtoMessage() {}

func (x *Schema) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Schema) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *Schema) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Schema) GetDeprecated() bool {
	if x != nil {
		return x.Deprecated
	}
	return false
}

func (x *Schema) SetTitle(v string) {
	x.Title = v
}

func (x *Schema) SetDescription(v string) {
	x.Description = v
}

func (x *Schema) SetDeprecated(v bool) {
	x.Deprecated = v
}

type Schema_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// A preferably short string describing the purpose of the instance
	// described by the schema.
	Title string
	// A string providing explanation about the purpose of the instance
	// described by the schema.
	Description string
	// Declares this schema to be deprecated. Consumers SHOULD refrain from
	// usage of the declared schema. Default value is false. Setting this to
	// false does not un-deprecate a schema that is marked deprecated in proto
	// (`option deprecated = true` on the message, field, or file).
	Deprecated bool
}

func (b0 Schema_builder) Build() *Schema {
	m0 := &Schema{}
	b, x := &b0, m0
	_, _ = b, x
	x.Title = b.Title
	x.Description = b.Description
	x.Deprecated = b.Deprecated
	return m0
}

// ExternalDocs is a link to external documentation.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#external-documentation-object
type ExternalDocs struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// A description of the target documentation. CommonMark syntax MAY be used
	// for rich text representation.
	Description string `protobuf:"bytes,1,opt,name=description,proto3" json:"description,omitempty"`
	// The URL for the target documentation. This MUST be in the form of a URL.
	Url           string `protobuf:"bytes,2,opt,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ExternalDocs) Reset() {
	*x = ExternalDocs{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExternalDocs) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExternalDocs) ProtoMessage() {}

func (x *ExternalDocs) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *ExternalDocs) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *ExternalDocs) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *ExternalDocs) SetDescription(v string) {
	x.Description = v
}

func (x *ExternalDocs) SetUrl(v string) {
	x.Url = v
}

type ExternalDocs_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// A description of the target documentation. CommonMark syntax MAY be used
	// for rich text representation.
	Description string
	// The URL for the target documentation. This MUST be in the form of a URL.
	Url string
}

func (b0 ExternalDocs_builder) Build() *ExternalDocs {
	m0 := &ExternalDocs{}
	b, x := &b0, m0
	_, _ = b, x
	x.Description = b.Description
	x.Url = b.Url
	return m0
}

// Tag adds metadata to a single tag that is used by the Operation Object. It
// is not mandatory to have a Tag Object per tag defined in the Operation
// Object instances.
//
// Spec: https://spec.openapis.org/oas/v3.1.0#tag-object
type Tag struct {
	state protoimpl.MessageState `protogen:"hybrid.v1"`
	// The name of the tag.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// A description for the tag. CommonMark syntax MAY be used for rich text
	// representation.
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// Additional external documentation for this tag.
	ExternalDocs  *ExternalDocs `protobuf:"bytes,3,opt,name=external_docs,json=externalDocs,proto3" json:"external_docs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Tag) Reset() {
	*x = Tag{}
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Tag) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Tag) ProtoMessage() {}

func (x *Tag) ProtoReflect() protoreflect.Message {
	mi := &file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

func (x *Tag) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Tag) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Tag) GetExternalDocs() *ExternalDocs {
	if x != nil {
		return x.ExternalDocs
	}
	return nil
}

func (x *Tag) SetName(v string) {
	x.Name = v
}

func (x *Tag) SetDescription(v string) {
	x.Description = v
}

func (x *Tag) SetExternalDocs(v *ExternalDocs) {
	x.ExternalDocs = v
}

func (x *Tag) HasExternalDocs() bool {
	if x == nil {
		return false
	}
	return x.ExternalDocs != nil
}

func (x *Tag) ClearExternalDocs() {
	x.ExternalDocs = nil
}

type Tag_builder struct {
	_ [0]func() // Prevents comparability and use of unkeyed literals for the builder.

	// The name of the tag.
	Name string
	// A description for the tag. CommonMark syntax MAY be used for rich text
	// representation.
	Description string
	// Additional external documentation for this tag.
	ExternalDocs *ExternalDocs
}

func (b0 Tag_builder) Build() *Tag {
	m0 := &Tag{}
	b, x := &b0, m0
	_, _ = b, x
	x.Name = b.Name
	x.Description = b.Description
	x.ExternalDocs = b.ExternalDocs
	return m0
}

var File_protoc_gen_openapiv3_options_openapiv3_proto protoreflect.FileDescriptor

var file_protoc_gen_openapiv3_options_openapiv3_proto_rawDesc = []byte{
	0x0a, 0x2c, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65,
	0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x6f,
	0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29,
	0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f,
	0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76,
	0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xbe, 0x02, 0x0a, 0x08, 0x44, 0x6f,
	0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x43, 0x0a, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x01,
	0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f,
	0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x04, 0x69, 0x6e, 0x66, 0x6f, 0x12, 0x4b, 0x0a, 0x07, 0x73,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67,
	0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74,
	0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33,
	0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52,
	0x07, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x73, 0x12, 0x5c, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32,
	0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70,
	0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70,
	0x69, 0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65,
	0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e,
	0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x42, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65,
	0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f,
	0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73,
	0x2e, 0x54, 0x61, 0x67, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0xb8, 0x02, 0x0a, 0x04, 0x49,
	0x6e, 0x66, 0x6f, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x73, 0x75, 0x6d,
	0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, 0x6d, 0x6d,
	0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69,
	0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69,
	0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x10, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x5f, 0x6f,
	0x66, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
	0x0e, 0x74, 0x65, 0x72, 0x6d, 0x73, 0x4f, 0x66, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
	0x4c, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x32, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61,
	0x70, 0x69, 0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x43, 0x6f, 0x6e,
	0x74, 0x61, 0x63, 0x74, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74, 0x12, 0x4c, 0x0a,
	0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32,
	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
	0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x4c, 0x69, 0x63, 0x65, 0x6e,
	0x73, 0x65, 0x52, 0x07, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76,
	0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x76, 0x65,
	0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x45, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x63, 0x74,
	0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
	0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
	0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18,
	0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x5d, 0x0a, 0x07,
	0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18,
	0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0a, 0x69,
	0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48,
	0x00, 0x52, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x12, 0x12, 0x0a,
	0x03, 0x75, 0x72, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x03, 0x75, 0x72,
	0x6c, 0x42, 0x08, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3c, 0x0a, 0x06, 0x53,
	0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c, 0x18, 0x01, 0x20, 0x01,
	0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 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, 0xc9, 0x02, 0x0a, 0x09, 0x4f, 0x70,
	0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18,
	0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x73,
	0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75,
	0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63,
	0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5c, 0x0a, 0x0d, 0x65, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37,
	0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72,
	0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69,
	0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61,
	0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x69,
	0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6f, 0x70, 0x65,
	0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72,
	0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65,
	0x70, 0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, 0x4b, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76,
	0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x72, 0x70, 0x63,
	0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f,
	0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2e, 0x6f, 0x70,
	0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, 0x07, 0x73, 0x65,
	0x72, 0x76, 0x65, 0x72, 0x73, 0x22, 0x60, 0x0a, 0x06, 0x53, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x12,
	0x14, 0x0a, 0x05, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
	0x74, 0x69, 0x74, 0x6c, 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, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, 0x70, 0x72, 0x65,
	0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x64, 0x65, 0x70,
	0x72, 0x65, 0x63, 0x61, 0x74, 0x65, 0x64, 0x22, 0x42, 0x0a, 0x0c, 0x45, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
	0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
	0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x75, 0x72, 0x6c,
	0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x75, 0x72, 0x6c, 0x22, 0x99, 0x01, 0x0a, 0x03,
	0x54, 0x61, 0x67, 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, 0x12, 0x5c, 0x0a, 0x0d, 0x65, 0x78, 0x74,
	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x64, 0x6f, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x37, 0x2e, 0x67, 0x72, 0x70, 0x63, 0x2e, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2e,
	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x5f, 0x67, 0x65, 0x6e, 0x5f, 0x6f, 0x70, 0x65, 0x6e, 0x61,
	0x70, 0x69, 0x76, 0x33, 0x2e, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x45, 0x78, 0x74,
	0x65, 0x72, 0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x52, 0x0c, 0x65, 0x78, 0x74, 0x65, 0x72,
	0x6e, 0x61, 0x6c, 0x44, 0x6f, 0x63, 0x73, 0x42, 0x48, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75,
	0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x65, 0x63, 0x6f, 0x73, 0x79,
	0x73, 0x74, 0x65, 0x6d, 0x2f, 0x67, 0x72, 0x70, 0x63, 0x2d, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61,
	0x79, 0x2f, 0x76, 0x32, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d,
	0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x33, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e,
	0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}

var file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_protoc_gen_openapiv3_options_openapiv3_proto_goTypes = []any{
	(*Document)(nil),     // 0: grpc.gateway.protoc_gen_openapiv3.options.Document
	(*Info)(nil),         // 1: grpc.gateway.protoc_gen_openapiv3.options.Info
	(*Contact)(nil),      // 2: grpc.gateway.protoc_gen_openapiv3.options.Contact
	(*License)(nil),      // 3: grpc.gateway.protoc_gen_openapiv3.options.License
	(*Server)(nil),       // 4: grpc.gateway.protoc_gen_openapiv3.options.Server
	(*Operation)(nil),    // 5: grpc.gateway.protoc_gen_openapiv3.options.Operation
	(*Schema)(nil),       // 6: grpc.gateway.protoc_gen_openapiv3.options.Schema
	(*ExternalDocs)(nil), // 7: grpc.gateway.protoc_gen_openapiv3.options.ExternalDocs
	(*Tag)(nil),          // 8: grpc.gateway.protoc_gen_openapiv3.options.Tag
}
var file_protoc_gen_openapiv3_options_openapiv3_proto_depIdxs = []int32{
	1, // 0: grpc.gateway.protoc_gen_openapiv3.options.Document.info:type_name -> grpc.gateway.protoc_gen_openapiv3.options.Info
	4, // 1: grpc.gateway.protoc_gen_openapiv3.options.Document.servers:type_name -> grpc.gateway.protoc_gen_openapiv3.options.Server
	7, // 2: grpc.gateway.protoc_gen_openapiv3.options.Document.external_docs:type_name -> grpc.gateway.protoc_gen_openapiv3.options.ExternalDocs
	8, // 3: grpc.gateway.protoc_gen_openapiv3.options.Document.tags:type_name -> grpc.gateway.protoc_gen_openapiv3.options.Tag
	2, // 4: grpc.gateway.protoc_gen_openapiv3.options.Info.contact:type_name -> grpc.gateway.protoc_gen_openapiv3.options.Contact
	3, // 5: grpc.gateway.protoc_gen_openapiv3.options.Info.license:type_name -> grpc.gateway.protoc_gen_openapiv3.options.License
	7, // 6: grpc.gateway.protoc_gen_openapiv3.options.Operation.external_docs:type_name -> grpc.gateway.protoc_gen_openapiv3.options.ExternalDocs
	4, // 7: grpc.gateway.protoc_gen_openapiv3.options.Operation.servers:type_name -> grpc.gateway.protoc_gen_openapiv3.options.Server
	7, // 8: grpc.gateway.protoc_gen_openapiv3.options.Tag.external_docs:type_name -> grpc.gateway.protoc_gen_openapiv3.options.ExternalDocs
	9, // [9:9] is the sub-list for method output_type
	9, // [9:9] is the sub-list for method input_type
	9, // [9:9] is the sub-list for extension type_name
	9, // [9:9] is the sub-list for extension extendee
	0, // [0:9] is the sub-list for field type_name
}

func init() { file_protoc_gen_openapiv3_options_openapiv3_proto_init() }
func file_protoc_gen_openapiv3_options_openapiv3_proto_init() {
	if File_protoc_gen_openapiv3_options_openapiv3_proto != nil {
		return
	}
	file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes[3].OneofWrappers = []any{
		(*License_Identifier)(nil),
		(*License_Url)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: file_protoc_gen_openapiv3_options_openapiv3_proto_rawDesc,
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_protoc_gen_openapiv3_options_openapiv3_proto_goTypes,
		DependencyIndexes: file_protoc_gen_openapiv3_options_openapiv3_proto_depIdxs,
		MessageInfos:      file_protoc_gen_openapiv3_options_openapiv3_proto_msgTypes,
	}.Build()
	File_protoc_gen_openapiv3_options_openapiv3_proto = out.File
	file_protoc_gen_openapiv3_options_openapiv3_proto_rawDesc = nil
	file_protoc_gen_openapiv3_options_openapiv3_proto_goTypes = nil
	file_protoc_gen_openapiv3_options_openapiv3_proto_depIdxs = nil
}
