// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.4
// 	protoc        v5.29.0
// source: core/v1/httpclient.proto

package v1

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	kernel "github.com/aileron-gateway/aileron-gateway/apis/kernel"
	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)
)

// HTTPClient resource definition.
// apiVersion="core/v1", kind="HTTPClient".
type HTTPClient struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	APIVersion    string                 `protobuf:"bytes,1,opt,name=APIVersion,json=apiVersion,proto3" json:"APIVersion,omitempty"`
	Kind          string                 `protobuf:"bytes,2,opt,name=Kind,json=kind,proto3" json:"Kind,omitempty"`
	Metadata      *kernel.Metadata       `protobuf:"bytes,3,opt,name=Metadata,json=metadata,proto3" json:"Metadata,omitempty"`
	Spec          *HTTPClientSpec        `protobuf:"bytes,4,opt,name=Spec,json=spec,proto3" json:"Spec,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HTTPClient) ProtoMessage() {}

func (x *HTTPClient) ProtoReflect() protoreflect.Message {
	mi := &file_core_v1_httpclient_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 HTTPClient.ProtoReflect.Descriptor instead.
func (*HTTPClient) Descriptor() ([]byte, []int) {
	return file_core_v1_httpclient_proto_rawDescGZIP(), []int{0}
}

func (x *HTTPClient) GetAPIVersion() string {
	if x != nil {
		return x.APIVersion
	}
	return ""
}

func (x *HTTPClient) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *HTTPClient) GetMetadata() *kernel.Metadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *HTTPClient) GetSpec() *HTTPClientSpec {
	if x != nil {
		return x.Spec
	}
	return nil
}

// HTTPClientSpec is the specifications for the HTTPClient object.
type HTTPClientSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// Tripperwares is the list of references to Tripperwares object.
	// Referred object must implement Tripperware interface.
	// Default is not set.
	Tripperwares []*kernel.Reference `protobuf:"bytes,1,rep,name=Tripperwares,json=tripperwares,proto3" json:"Tripperwares,omitempty"`
	// [OPTIONAL]
	// RetryConfig is the configuration for retrying.
	// Retry tripperware will be appended to the last of
	// all other tripperware specified in Tripperwares field.
	RetryConfig *RetryConfig `protobuf:"bytes,2,opt,name=RetryConfig,json=retryConfig,proto3" json:"RetryConfig,omitempty"`
	// Types that are valid to be assigned to Transports:
	//
	//	*HTTPClientSpec_HTTPTransportConfig
	//	*HTTPClientSpec_HTTP2TransportConfig
	//	*HTTPClientSpec_HTTP3TransportConfig
	Transports    isHTTPClientSpec_Transports `protobuf_oneof:"Transports"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*HTTPClientSpec) ProtoMessage() {}

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

// Deprecated: Use HTTPClientSpec.ProtoReflect.Descriptor instead.
func (*HTTPClientSpec) Descriptor() ([]byte, []int) {
	return file_core_v1_httpclient_proto_rawDescGZIP(), []int{1}
}

func (x *HTTPClientSpec) GetTripperwares() []*kernel.Reference {
	if x != nil {
		return x.Tripperwares
	}
	return nil
}

func (x *HTTPClientSpec) GetRetryConfig() *RetryConfig {
	if x != nil {
		return x.RetryConfig
	}
	return nil
}

func (x *HTTPClientSpec) GetTransports() isHTTPClientSpec_Transports {
	if x != nil {
		return x.Transports
	}
	return nil
}

func (x *HTTPClientSpec) GetHTTPTransportConfig() *kernel.HTTPTransportConfig {
	if x != nil {
		if x, ok := x.Transports.(*HTTPClientSpec_HTTPTransportConfig); ok {
			return x.HTTPTransportConfig
		}
	}
	return nil
}

func (x *HTTPClientSpec) GetHTTP2TransportConfig() *kernel.HTTP2TransportConfig {
	if x != nil {
		if x, ok := x.Transports.(*HTTPClientSpec_HTTP2TransportConfig); ok {
			return x.HTTP2TransportConfig
		}
	}
	return nil
}

func (x *HTTPClientSpec) GetHTTP3TransportConfig() *kernel.HTTP3TransportConfig {
	if x != nil {
		if x, ok := x.Transports.(*HTTPClientSpec_HTTP3TransportConfig); ok {
			return x.HTTP3TransportConfig
		}
	}
	return nil
}

type isHTTPClientSpec_Transports interface {
	isHTTPClientSpec_Transports()
}

type HTTPClientSpec_HTTPTransportConfig struct {
	// [OPTIONAL]
	// HTTPTransportConfig is the configuration for a http round tripper.
	// HTTP/1.1 or HTTP/2 can be used with this config.
	// The configuration configures the Transport provided by http package.
	// See https://pkg.go.dev/net/http#Transport.
	// Default is not set.
	HTTPTransportConfig *kernel.HTTPTransportConfig `protobuf:"bytes,3,opt,name=HTTPTransportConfig,json=httpTransportConfig,proto3,oneof"`
}

type HTTPClientSpec_HTTP2TransportConfig struct {
	// [OPTIONAL]
	// HTTP2TransportConfig is the configuration for a http2 roundTripper.
	// The configuration configures the Transport provided by http2 package.
	// See https://pkg.go.dev/golang.org/x/net/http2
	// Default is not set.
	HTTP2TransportConfig *kernel.HTTP2TransportConfig `protobuf:"bytes,4,opt,name=HTTP2TransportConfig,json=http2TransportConfig,proto3,oneof"`
}

type HTTPClientSpec_HTTP3TransportConfig struct {
	// [OPTIONAL]
	// HTTP3TransportConfig is the configuration for a http3 roundTripper.
	// The configuration configures the Transport provided by http3 package.
	// See https://pkg.go.dev/github.com/quic-go/quic-go/http3#RoundTripper.
	// Default is not set.
	HTTP3TransportConfig *kernel.HTTP3TransportConfig `protobuf:"bytes,5,opt,name=HTTP3TransportConfig,json=http3TransportConfig,proto3,oneof"`
}

func (*HTTPClientSpec_HTTPTransportConfig) isHTTPClientSpec_Transports() {}

func (*HTTPClientSpec_HTTP2TransportConfig) isHTTPClientSpec_Transports() {}

func (*HTTPClientSpec_HTTP3TransportConfig) isHTTPClientSpec_Transports() {}

// RetryConfig is the configuration for retry.
type RetryConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// [OPTIONAL]
	// MaxRetry is the maximum count of retry to send a request.
	// The initial request is not included in this count.
	// It means the requests can be sent MaxRetry+1 times at the maximum.
	// If not set, default value 1 will be used.
	// Default is [1].
	MaxRetry uint32 `protobuf:"varint,1,opt,name=MaxRetry,json=maxRetry,proto3" json:"MaxRetry,omitempty"`
	// [OPTIONAL]
	// MaxContentLength is the maximum content length in bytes that can be retried.
	// Retry is not applied to the requests that exceed this content length.
	// Because request bodies are temporarily kept on memory, do not set this too large.
	// It may cause unexpected high memory consumption.
	// Default is [1,048,576] bytes or 1MiB.
	MaxContentLength int32 `protobuf:"varint,2,opt,name=MaxContentLength,json=maxContentLength,proto3" json:"MaxContentLength,omitempty"`
	// [OPTIONAL]
	// RetryStatusCodes is the list of HTTP status codes that should be retried.
	// Only networking layer errors are retried when this field is not set.
	// Default is not set.
	RetryStatusCodes []int32 `protobuf:"varint,3,rep,packed,name=RetryStatusCodes,json=retryStatusCodes,proto3" json:"RetryStatusCodes,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*RetryConfig) ProtoMessage() {}

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

// Deprecated: Use RetryConfig.ProtoReflect.Descriptor instead.
func (*RetryConfig) Descriptor() ([]byte, []int) {
	return file_core_v1_httpclient_proto_rawDescGZIP(), []int{2}
}

func (x *RetryConfig) GetMaxRetry() uint32 {
	if x != nil {
		return x.MaxRetry
	}
	return 0
}

func (x *RetryConfig) GetMaxContentLength() int32 {
	if x != nil {
		return x.MaxContentLength
	}
	return 0
}

func (x *RetryConfig) GetRetryStatusCodes() []int32 {
	if x != nil {
		return x.RetryStatusCodes
	}
	return nil
}

var File_core_v1_httpclient_proto protoreflect.FileDescriptor

var file_core_v1_httpclient_proto_rawDesc = string([]byte{
	0x0a, 0x18, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x74, 0x74, 0x70, 0x63, 0x6c,
	0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x07, 0x63, 0x6f, 0x72, 0x65,
	0x2e, 0x76, 0x31, 0x1a, 0x1b, 0x62, 0x75, 0x66, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74,
	0x65, 0x2f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
	0x1a, 0x14, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
	0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x15, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2f, 0x72,
	0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01,
	0x0a, 0x0a, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x0a, 0x0a,
	0x41, 0x50, 0x49, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
	0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04,
	0x4b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64,
	0x12, 0x2c, 0x0a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01,
	0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x4d, 0x65, 0x74, 0x61,
	0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2b,
	0x0a, 0x04, 0x53, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x63,
	0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x43, 0x6c, 0x69, 0x65, 0x6e,
	0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x86, 0x03, 0x0a, 0x0e,
	0x48, 0x54, 0x54, 0x50, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35,
	0x0a, 0x0c, 0x54, 0x72, 0x69, 0x70, 0x70, 0x65, 0x72, 0x77, 0x61, 0x72, 0x65, 0x73, 0x18, 0x01,
	0x20, 0x03, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x52, 0x65,
	0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x74, 0x72, 0x69, 0x70, 0x70, 0x65, 0x72,
	0x77, 0x61, 0x72, 0x65, 0x73, 0x12, 0x36, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x72,
	0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
	0x52, 0x0b, 0x72, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x4f, 0x0a,
	0x13, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x6b, 0x65, 0x72,
	0x6e, 0x65, 0x6c, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72,
	0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x13, 0x68, 0x74, 0x74, 0x70, 0x54,
	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x52,
	0x0a, 0x14, 0x48, 0x54, 0x54, 0x50, 0x32, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x6b,
	0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x32, 0x54, 0x72, 0x61, 0x6e, 0x73,
	0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00, 0x52, 0x14, 0x68, 0x74,
	0x74, 0x70, 0x32, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66,
	0x69, 0x67, 0x12, 0x52, 0x0a, 0x14, 0x48, 0x54, 0x54, 0x50, 0x33, 0x54, 0x72, 0x61, 0x6e, 0x73,
	0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
	0x32, 0x1c, 0x2e, 0x6b, 0x65, 0x72, 0x6e, 0x65, 0x6c, 0x2e, 0x48, 0x54, 0x54, 0x50, 0x33, 0x54,
	0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x48, 0x00,
	0x52, 0x14, 0x68, 0x74, 0x74, 0x70, 0x33, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70, 0x6f, 0x72, 0x74,
	0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0c, 0x0a, 0x0a, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x70,
	0x6f, 0x72, 0x74, 0x73, 0x22, 0xa2, 0x01, 0x0a, 0x0b, 0x52, 0x65, 0x74, 0x72, 0x79, 0x43, 0x6f,
	0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x08, 0x4d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79,
	0x18, 0x01, 0x20, 0x01, 0x28, 0x0d, 0x42, 0x07, 0xba, 0x48, 0x04, 0x2a, 0x02, 0x18, 0x64, 0x52,
	0x08, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x10, 0x4d, 0x61, 0x78,
	0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x02, 0x20,
	0x01, 0x28, 0x05, 0x42, 0x0c, 0xba, 0x48, 0x09, 0x1a, 0x07, 0x18, 0x80, 0x80, 0x80, 0x08, 0x28,
	0x00, 0x52, 0x10, 0x6d, 0x61, 0x78, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x65, 0x6e,
	0x67, 0x74, 0x68, 0x12, 0x34, 0x0a, 0x10, 0x52, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74,
	0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x05, 0x42, 0x08, 0xba,
	0x48, 0x05, 0x92, 0x01, 0x02, 0x18, 0x01, 0x52, 0x10, 0x72, 0x65, 0x74, 0x72, 0x79, 0x53, 0x74,
	0x61, 0x74, 0x75, 0x73, 0x43, 0x6f, 0x64, 0x65, 0x73, 0x42, 0x39, 0x5a, 0x37, 0x67, 0x69, 0x74,
	0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x6f, 0x6e, 0x2d,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x61, 0x69, 0x6c, 0x65, 0x72, 0x6f, 0x6e, 0x2d,
	0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6f, 0x72,
	0x65, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
})

var (
	file_core_v1_httpclient_proto_rawDescOnce sync.Once
	file_core_v1_httpclient_proto_rawDescData []byte
)

func file_core_v1_httpclient_proto_rawDescGZIP() []byte {
	file_core_v1_httpclient_proto_rawDescOnce.Do(func() {
		file_core_v1_httpclient_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_core_v1_httpclient_proto_rawDesc), len(file_core_v1_httpclient_proto_rawDesc)))
	})
	return file_core_v1_httpclient_proto_rawDescData
}

var file_core_v1_httpclient_proto_msgTypes = make([]protoimpl.MessageInfo, 3)
var file_core_v1_httpclient_proto_goTypes = []any{
	(*HTTPClient)(nil),                  // 0: core.v1.HTTPClient
	(*HTTPClientSpec)(nil),              // 1: core.v1.HTTPClientSpec
	(*RetryConfig)(nil),                 // 2: core.v1.RetryConfig
	(*kernel.Metadata)(nil),             // 3: kernel.Metadata
	(*kernel.Reference)(nil),            // 4: kernel.Reference
	(*kernel.HTTPTransportConfig)(nil),  // 5: kernel.HTTPTransportConfig
	(*kernel.HTTP2TransportConfig)(nil), // 6: kernel.HTTP2TransportConfig
	(*kernel.HTTP3TransportConfig)(nil), // 7: kernel.HTTP3TransportConfig
}
var file_core_v1_httpclient_proto_depIdxs = []int32{
	3, // 0: core.v1.HTTPClient.Metadata:type_name -> kernel.Metadata
	1, // 1: core.v1.HTTPClient.Spec:type_name -> core.v1.HTTPClientSpec
	4, // 2: core.v1.HTTPClientSpec.Tripperwares:type_name -> kernel.Reference
	2, // 3: core.v1.HTTPClientSpec.RetryConfig:type_name -> core.v1.RetryConfig
	5, // 4: core.v1.HTTPClientSpec.HTTPTransportConfig:type_name -> kernel.HTTPTransportConfig
	6, // 5: core.v1.HTTPClientSpec.HTTP2TransportConfig:type_name -> kernel.HTTP2TransportConfig
	7, // 6: core.v1.HTTPClientSpec.HTTP3TransportConfig:type_name -> kernel.HTTP3TransportConfig
	7, // [7:7] is the sub-list for method output_type
	7, // [7:7] is the sub-list for method input_type
	7, // [7:7] is the sub-list for extension type_name
	7, // [7:7] is the sub-list for extension extendee
	0, // [0:7] is the sub-list for field type_name
}

func init() { file_core_v1_httpclient_proto_init() }
func file_core_v1_httpclient_proto_init() {
	if File_core_v1_httpclient_proto != nil {
		return
	}
	file_core_v1_httpclient_proto_msgTypes[1].OneofWrappers = []any{
		(*HTTPClientSpec_HTTPTransportConfig)(nil),
		(*HTTPClientSpec_HTTP2TransportConfig)(nil),
		(*HTTPClientSpec_HTTP3TransportConfig)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_core_v1_httpclient_proto_rawDesc), len(file_core_v1_httpclient_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   3,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_core_v1_httpclient_proto_goTypes,
		DependencyIndexes: file_core_v1_httpclient_proto_depIdxs,
		MessageInfos:      file_core_v1_httpclient_proto_msgTypes,
	}.Build()
	File_core_v1_httpclient_proto = out.File
	file_core_v1_httpclient_proto_goTypes = nil
	file_core_v1_httpclient_proto_depIdxs = nil
}
