// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v6.33.2
// source: envoy/type/v3/http_status.proto

package typev3

import (
	_ "github.com/cncf/xds/go/udpa/annotations"
	_ "github.com/envoyproxy/protoc-gen-validate/validate"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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

// HTTP response codes supported in Envoy.
// For more details: https://www.iana.org/assignments/http-status-codes/http-status-codes.xhtml
type StatusCode int32

const (
	// Empty - This code not part of the HTTP status code specification, but it is needed for proto
	// `enum` type.
	StatusCode_Empty StatusCode = 0
	// Continue - “100“ status code.
	StatusCode_Continue StatusCode = 100
	// OK - “200“ status code.
	StatusCode_OK StatusCode = 200
	// Created - “201“ status code.
	StatusCode_Created StatusCode = 201
	// Accepted - “202“ status code.
	StatusCode_Accepted StatusCode = 202
	// NonAuthoritativeInformation - “203“ status code.
	StatusCode_NonAuthoritativeInformation StatusCode = 203
	// NoContent - “204“ status code.
	StatusCode_NoContent StatusCode = 204
	// ResetContent - “205“ status code.
	StatusCode_ResetContent StatusCode = 205
	// PartialContent - “206“ status code.
	StatusCode_PartialContent StatusCode = 206
	// MultiStatus - “207“ status code.
	StatusCode_MultiStatus StatusCode = 207
	// AlreadyReported - “208“ status code.
	StatusCode_AlreadyReported StatusCode = 208
	// IMUsed - “226“ status code.
	StatusCode_IMUsed StatusCode = 226
	// MultipleChoices - “300“ status code.
	StatusCode_MultipleChoices StatusCode = 300
	// MovedPermanently - “301“ status code.
	StatusCode_MovedPermanently StatusCode = 301
	// Found - “302“ status code.
	StatusCode_Found StatusCode = 302
	// SeeOther - “303“ status code.
	StatusCode_SeeOther StatusCode = 303
	// NotModified - “304“ status code.
	StatusCode_NotModified StatusCode = 304
	// UseProxy - “305“ status code.
	StatusCode_UseProxy StatusCode = 305
	// TemporaryRedirect - “307“ status code.
	StatusCode_TemporaryRedirect StatusCode = 307
	// PermanentRedirect - “308“ status code.
	StatusCode_PermanentRedirect StatusCode = 308
	// BadRequest - “400“ status code.
	StatusCode_BadRequest StatusCode = 400
	// Unauthorized - “401“ status code.
	StatusCode_Unauthorized StatusCode = 401
	// PaymentRequired - “402“ status code.
	StatusCode_PaymentRequired StatusCode = 402
	// Forbidden - “403“ status code.
	StatusCode_Forbidden StatusCode = 403
	// NotFound - “404“ status code.
	StatusCode_NotFound StatusCode = 404
	// MethodNotAllowed - “405“ status code.
	StatusCode_MethodNotAllowed StatusCode = 405
	// NotAcceptable - “406“ status code.
	StatusCode_NotAcceptable StatusCode = 406
	// ProxyAuthenticationRequired - “407“ status code.
	StatusCode_ProxyAuthenticationRequired StatusCode = 407
	// RequestTimeout - “408“ status code.
	StatusCode_RequestTimeout StatusCode = 408
	// Conflict - “409“ status code.
	StatusCode_Conflict StatusCode = 409
	// Gone - “410“ status code.
	StatusCode_Gone StatusCode = 410
	// LengthRequired - “411“ status code.
	StatusCode_LengthRequired StatusCode = 411
	// PreconditionFailed - “412“ status code.
	StatusCode_PreconditionFailed StatusCode = 412
	// PayloadTooLarge - “413“ status code.
	StatusCode_PayloadTooLarge StatusCode = 413
	// URITooLong - “414“ status code.
	StatusCode_URITooLong StatusCode = 414
	// UnsupportedMediaType - “415“ status code.
	StatusCode_UnsupportedMediaType StatusCode = 415
	// RangeNotSatisfiable - “416“ status code.
	StatusCode_RangeNotSatisfiable StatusCode = 416
	// ExpectationFailed - “417“ status code.
	StatusCode_ExpectationFailed StatusCode = 417
	// MisdirectedRequest - “421“ status code.
	StatusCode_MisdirectedRequest StatusCode = 421
	// UnprocessableEntity - “422“ status code.
	StatusCode_UnprocessableEntity StatusCode = 422
	// Locked - “423“ status code.
	StatusCode_Locked StatusCode = 423
	// FailedDependency - “424“ status code.
	StatusCode_FailedDependency StatusCode = 424
	// UpgradeRequired - “426“ status code.
	StatusCode_UpgradeRequired StatusCode = 426
	// PreconditionRequired - “428“ status code.
	StatusCode_PreconditionRequired StatusCode = 428
	// TooManyRequests - “429“ status code.
	StatusCode_TooManyRequests StatusCode = 429
	// RequestHeaderFieldsTooLarge - “431“ status code.
	StatusCode_RequestHeaderFieldsTooLarge StatusCode = 431
	// InternalServerError - “500“ status code.
	StatusCode_InternalServerError StatusCode = 500
	// NotImplemented - “501“ status code.
	StatusCode_NotImplemented StatusCode = 501
	// BadGateway - “502“ status code.
	StatusCode_BadGateway StatusCode = 502
	// ServiceUnavailable - “503“ status code.
	StatusCode_ServiceUnavailable StatusCode = 503
	// GatewayTimeout - “504“ status code.
	StatusCode_GatewayTimeout StatusCode = 504
	// HTTPVersionNotSupported - “505“ status code.
	StatusCode_HTTPVersionNotSupported StatusCode = 505
	// VariantAlsoNegotiates - “506“ status code.
	StatusCode_VariantAlsoNegotiates StatusCode = 506
	// InsufficientStorage - “507“ status code.
	StatusCode_InsufficientStorage StatusCode = 507
	// LoopDetected - “508“ status code.
	StatusCode_LoopDetected StatusCode = 508
	// NotExtended - “510“ status code.
	StatusCode_NotExtended StatusCode = 510
	// NetworkAuthenticationRequired - “511“ status code.
	StatusCode_NetworkAuthenticationRequired StatusCode = 511
)

// Enum value maps for StatusCode.
var (
	StatusCode_name = map[int32]string{
		0:   "Empty",
		100: "Continue",
		200: "OK",
		201: "Created",
		202: "Accepted",
		203: "NonAuthoritativeInformation",
		204: "NoContent",
		205: "ResetContent",
		206: "PartialContent",
		207: "MultiStatus",
		208: "AlreadyReported",
		226: "IMUsed",
		300: "MultipleChoices",
		301: "MovedPermanently",
		302: "Found",
		303: "SeeOther",
		304: "NotModified",
		305: "UseProxy",
		307: "TemporaryRedirect",
		308: "PermanentRedirect",
		400: "BadRequest",
		401: "Unauthorized",
		402: "PaymentRequired",
		403: "Forbidden",
		404: "NotFound",
		405: "MethodNotAllowed",
		406: "NotAcceptable",
		407: "ProxyAuthenticationRequired",
		408: "RequestTimeout",
		409: "Conflict",
		410: "Gone",
		411: "LengthRequired",
		412: "PreconditionFailed",
		413: "PayloadTooLarge",
		414: "URITooLong",
		415: "UnsupportedMediaType",
		416: "RangeNotSatisfiable",
		417: "ExpectationFailed",
		421: "MisdirectedRequest",
		422: "UnprocessableEntity",
		423: "Locked",
		424: "FailedDependency",
		426: "UpgradeRequired",
		428: "PreconditionRequired",
		429: "TooManyRequests",
		431: "RequestHeaderFieldsTooLarge",
		500: "InternalServerError",
		501: "NotImplemented",
		502: "BadGateway",
		503: "ServiceUnavailable",
		504: "GatewayTimeout",
		505: "HTTPVersionNotSupported",
		506: "VariantAlsoNegotiates",
		507: "InsufficientStorage",
		508: "LoopDetected",
		510: "NotExtended",
		511: "NetworkAuthenticationRequired",
	}
	StatusCode_value = map[string]int32{
		"Empty":                         0,
		"Continue":                      100,
		"OK":                            200,
		"Created":                       201,
		"Accepted":                      202,
		"NonAuthoritativeInformation":   203,
		"NoContent":                     204,
		"ResetContent":                  205,
		"PartialContent":                206,
		"MultiStatus":                   207,
		"AlreadyReported":               208,
		"IMUsed":                        226,
		"MultipleChoices":               300,
		"MovedPermanently":              301,
		"Found":                         302,
		"SeeOther":                      303,
		"NotModified":                   304,
		"UseProxy":                      305,
		"TemporaryRedirect":             307,
		"PermanentRedirect":             308,
		"BadRequest":                    400,
		"Unauthorized":                  401,
		"PaymentRequired":               402,
		"Forbidden":                     403,
		"NotFound":                      404,
		"MethodNotAllowed":              405,
		"NotAcceptable":                 406,
		"ProxyAuthenticationRequired":   407,
		"RequestTimeout":                408,
		"Conflict":                      409,
		"Gone":                          410,
		"LengthRequired":                411,
		"PreconditionFailed":            412,
		"PayloadTooLarge":               413,
		"URITooLong":                    414,
		"UnsupportedMediaType":          415,
		"RangeNotSatisfiable":           416,
		"ExpectationFailed":             417,
		"MisdirectedRequest":            421,
		"UnprocessableEntity":           422,
		"Locked":                        423,
		"FailedDependency":              424,
		"UpgradeRequired":               426,
		"PreconditionRequired":          428,
		"TooManyRequests":               429,
		"RequestHeaderFieldsTooLarge":   431,
		"InternalServerError":           500,
		"NotImplemented":                501,
		"BadGateway":                    502,
		"ServiceUnavailable":            503,
		"GatewayTimeout":                504,
		"HTTPVersionNotSupported":       505,
		"VariantAlsoNegotiates":         506,
		"InsufficientStorage":           507,
		"LoopDetected":                  508,
		"NotExtended":                   510,
		"NetworkAuthenticationRequired": 511,
	}
)

func (x StatusCode) Enum() *StatusCode {
	p := new(StatusCode)
	*p = x
	return p
}

func (x StatusCode) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (StatusCode) Descriptor() protoreflect.EnumDescriptor {
	return file_envoy_type_v3_http_status_proto_enumTypes[0].Descriptor()
}

func (StatusCode) Type() protoreflect.EnumType {
	return &file_envoy_type_v3_http_status_proto_enumTypes[0]
}

func (x StatusCode) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use StatusCode.Descriptor instead.
func (StatusCode) EnumDescriptor() ([]byte, []int) {
	return file_envoy_type_v3_http_status_proto_rawDescGZIP(), []int{0}
}

// HTTP status.
type HttpStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Supplies HTTP response code.
	Code          StatusCode `protobuf:"varint,1,opt,name=code,proto3,enum=envoy.type.v3.StatusCode" json:"code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HttpStatus) ProtoMessage() {}

func (x *HttpStatus) ProtoReflect() protoreflect.Message {
	mi := &file_envoy_type_v3_http_status_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)
}

// Deprecated: Use HttpStatus.ProtoReflect.Descriptor instead.
func (*HttpStatus) Descriptor() ([]byte, []int) {
	return file_envoy_type_v3_http_status_proto_rawDescGZIP(), []int{0}
}

func (x *HttpStatus) GetCode() StatusCode {
	if x != nil {
		return x.Code
	}
	return StatusCode_Empty
}

var File_envoy_type_v3_http_status_proto protoreflect.FileDescriptor

const file_envoy_type_v3_http_status_proto_rawDesc = "" +
	"\n" +
	"\x1fenvoy/type/v3/http_status.proto\x12\renvoy.type.v3\x1a\x1dudpa/annotations/status.proto\x1a!udpa/annotations/versioning.proto\x1a\x17validate/validate.proto\"e\n" +
	"\n" +
	"HttpStatus\x129\n" +
	"\x04code\x18\x01 \x01(\x0e2\x19.envoy.type.v3.StatusCodeB\n" +
	"\xfaB\a\x82\x01\x04\x10\x01 \x00R\x04code:\x1c\x9aň\x1e\x17\n" +
	"\x15envoy.type.HttpStatus*\xb5\t\n" +
	"\n" +
	"StatusCode\x12\t\n" +
	"\x05Empty\x10\x00\x12\f\n" +
	"\bContinue\x10d\x12\a\n" +
	"\x02OK\x10\xc8\x01\x12\f\n" +
	"\aCreated\x10\xc9\x01\x12\r\n" +
	"\bAccepted\x10\xca\x01\x12 \n" +
	"\x1bNonAuthoritativeInformation\x10\xcb\x01\x12\x0e\n" +
	"\tNoContent\x10\xcc\x01\x12\x11\n" +
	"\fResetContent\x10\xcd\x01\x12\x13\n" +
	"\x0ePartialContent\x10\xce\x01\x12\x10\n" +
	"\vMultiStatus\x10\xcf\x01\x12\x14\n" +
	"\x0fAlreadyReported\x10\xd0\x01\x12\v\n" +
	"\x06IMUsed\x10\xe2\x01\x12\x14\n" +
	"\x0fMultipleChoices\x10\xac\x02\x12\x15\n" +
	"\x10MovedPermanently\x10\xad\x02\x12\n" +
	"\n" +
	"\x05Found\x10\xae\x02\x12\r\n" +
	"\bSeeOther\x10\xaf\x02\x12\x10\n" +
	"\vNotModified\x10\xb0\x02\x12\r\n" +
	"\bUseProxy\x10\xb1\x02\x12\x16\n" +
	"\x11TemporaryRedirect\x10\xb3\x02\x12\x16\n" +
	"\x11PermanentRedirect\x10\xb4\x02\x12\x0f\n" +
	"\n" +
	"BadRequest\x10\x90\x03\x12\x11\n" +
	"\fUnauthorized\x10\x91\x03\x12\x14\n" +
	"\x0fPaymentRequired\x10\x92\x03\x12\x0e\n" +
	"\tForbidden\x10\x93\x03\x12\r\n" +
	"\bNotFound\x10\x94\x03\x12\x15\n" +
	"\x10MethodNotAllowed\x10\x95\x03\x12\x12\n" +
	"\rNotAcceptable\x10\x96\x03\x12 \n" +
	"\x1bProxyAuthenticationRequired\x10\x97\x03\x12\x13\n" +
	"\x0eRequestTimeout\x10\x98\x03\x12\r\n" +
	"\bConflict\x10\x99\x03\x12\t\n" +
	"\x04Gone\x10\x9a\x03\x12\x13\n" +
	"\x0eLengthRequired\x10\x9b\x03\x12\x17\n" +
	"\x12PreconditionFailed\x10\x9c\x03\x12\x14\n" +
	"\x0fPayloadTooLarge\x10\x9d\x03\x12\x0f\n" +
	"\n" +
	"URITooLong\x10\x9e\x03\x12\x19\n" +
	"\x14UnsupportedMediaType\x10\x9f\x03\x12\x18\n" +
	"\x13RangeNotSatisfiable\x10\xa0\x03\x12\x16\n" +
	"\x11ExpectationFailed\x10\xa1\x03\x12\x17\n" +
	"\x12MisdirectedRequest\x10\xa5\x03\x12\x18\n" +
	"\x13UnprocessableEntity\x10\xa6\x03\x12\v\n" +
	"\x06Locked\x10\xa7\x03\x12\x15\n" +
	"\x10FailedDependency\x10\xa8\x03\x12\x14\n" +
	"\x0fUpgradeRequired\x10\xaa\x03\x12\x19\n" +
	"\x14PreconditionRequired\x10\xac\x03\x12\x14\n" +
	"\x0fTooManyRequests\x10\xad\x03\x12 \n" +
	"\x1bRequestHeaderFieldsTooLarge\x10\xaf\x03\x12\x18\n" +
	"\x13InternalServerError\x10\xf4\x03\x12\x13\n" +
	"\x0eNotImplemented\x10\xf5\x03\x12\x0f\n" +
	"\n" +
	"BadGateway\x10\xf6\x03\x12\x17\n" +
	"\x12ServiceUnavailable\x10\xf7\x03\x12\x13\n" +
	"\x0eGatewayTimeout\x10\xf8\x03\x12\x1c\n" +
	"\x17HTTPVersionNotSupported\x10\xf9\x03\x12\x1a\n" +
	"\x15VariantAlsoNegotiates\x10\xfa\x03\x12\x18\n" +
	"\x13InsufficientStorage\x10\xfb\x03\x12\x11\n" +
	"\fLoopDetected\x10\xfc\x03\x12\x10\n" +
	"\vNotExtended\x10\xfe\x03\x12\"\n" +
	"\x1dNetworkAuthenticationRequired\x10\xff\x03Bu\xba\x80\xc8\xd1\x06\x02\x10\x02\n" +
	"\x1bio.envoyproxy.envoy.type.v3B\x0fHttpStatusProtoP\x01Z;github.com/envoyproxy/go-control-plane/envoy/type/v3;typev3b\x06proto3"

var (
	file_envoy_type_v3_http_status_proto_rawDescOnce sync.Once
	file_envoy_type_v3_http_status_proto_rawDescData []byte
)

func file_envoy_type_v3_http_status_proto_rawDescGZIP() []byte {
	file_envoy_type_v3_http_status_proto_rawDescOnce.Do(func() {
		file_envoy_type_v3_http_status_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_envoy_type_v3_http_status_proto_rawDesc), len(file_envoy_type_v3_http_status_proto_rawDesc)))
	})
	return file_envoy_type_v3_http_status_proto_rawDescData
}

var file_envoy_type_v3_http_status_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_envoy_type_v3_http_status_proto_msgTypes = make([]protoimpl.MessageInfo, 1)
var file_envoy_type_v3_http_status_proto_goTypes = []any{
	(StatusCode)(0),    // 0: envoy.type.v3.StatusCode
	(*HttpStatus)(nil), // 1: envoy.type.v3.HttpStatus
}
var file_envoy_type_v3_http_status_proto_depIdxs = []int32{
	0, // 0: envoy.type.v3.HttpStatus.code:type_name -> envoy.type.v3.StatusCode
	1, // [1:1] is the sub-list for method output_type
	1, // [1:1] is the sub-list for method input_type
	1, // [1:1] is the sub-list for extension type_name
	1, // [1:1] is the sub-list for extension extendee
	0, // [0:1] is the sub-list for field type_name
}

func init() { file_envoy_type_v3_http_status_proto_init() }
func file_envoy_type_v3_http_status_proto_init() {
	if File_envoy_type_v3_http_status_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_envoy_type_v3_http_status_proto_rawDesc), len(file_envoy_type_v3_http_status_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   1,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_envoy_type_v3_http_status_proto_goTypes,
		DependencyIndexes: file_envoy_type_v3_http_status_proto_depIdxs,
		EnumInfos:         file_envoy_type_v3_http_status_proto_enumTypes,
		MessageInfos:      file_envoy_type_v3_http_status_proto_msgTypes,
	}.Build()
	File_envoy_type_v3_http_status_proto = out.File
	file_envoy_type_v3_http_status_proto_goTypes = nil
	file_envoy_type_v3_http_status_proto_depIdxs = nil
}
