// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.9
// 	protoc        v6.31.1
// source: github.com/buildbarn/bb-storage/pkg/proto/icas/icas.proto

package icas

import (
	v2 "github.com/bazelbuild/remote-apis/build/bazel/remote/execution/v2"
	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)
)

type Reference struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Medium:
	//
	//	*Reference_HttpUrl
	//	*Reference_S3_
	//	*Reference_Gcs
	//	*Reference_ContentAddressableStorage_
	Medium        isReference_Medium  `protobuf_oneof:"medium"`
	OffsetBytes   int64               `protobuf:"varint,3,opt,name=offset_bytes,json=offsetBytes,proto3" json:"offset_bytes,omitempty"`
	SizeBytes     int64               `protobuf:"varint,4,opt,name=size_bytes,json=sizeBytes,proto3" json:"size_bytes,omitempty"`
	Decompressor  v2.Compressor_Value `protobuf:"varint,6,opt,name=decompressor,proto3,enum=build.bazel.remote.execution.v2.Compressor_Value" json:"decompressor,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Reference) ProtoMessage() {}

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

func (x *Reference) GetMedium() isReference_Medium {
	if x != nil {
		return x.Medium
	}
	return nil
}

func (x *Reference) GetHttpUrl() string {
	if x != nil {
		if x, ok := x.Medium.(*Reference_HttpUrl); ok {
			return x.HttpUrl
		}
	}
	return ""
}

func (x *Reference) GetS3() *Reference_S3 {
	if x != nil {
		if x, ok := x.Medium.(*Reference_S3_); ok {
			return x.S3
		}
	}
	return nil
}

func (x *Reference) GetGcs() *Reference_GCS {
	if x != nil {
		if x, ok := x.Medium.(*Reference_Gcs); ok {
			return x.Gcs
		}
	}
	return nil
}

func (x *Reference) GetContentAddressableStorage() *Reference_ContentAddressableStorage {
	if x != nil {
		if x, ok := x.Medium.(*Reference_ContentAddressableStorage_); ok {
			return x.ContentAddressableStorage
		}
	}
	return nil
}

func (x *Reference) GetOffsetBytes() int64 {
	if x != nil {
		return x.OffsetBytes
	}
	return 0
}

func (x *Reference) GetSizeBytes() int64 {
	if x != nil {
		return x.SizeBytes
	}
	return 0
}

func (x *Reference) GetDecompressor() v2.Compressor_Value {
	if x != nil {
		return x.Decompressor
	}
	return v2.Compressor_Value(0)
}

type isReference_Medium interface {
	isReference_Medium()
}

type Reference_HttpUrl struct {
	HttpUrl string `protobuf:"bytes,1,opt,name=http_url,json=httpUrl,proto3,oneof"`
}

type Reference_S3_ struct {
	S3 *Reference_S3 `protobuf:"bytes,2,opt,name=s3,proto3,oneof"`
}

type Reference_Gcs struct {
	Gcs *Reference_GCS `protobuf:"bytes,7,opt,name=gcs,proto3,oneof"`
}

type Reference_ContentAddressableStorage_ struct {
	ContentAddressableStorage *Reference_ContentAddressableStorage `protobuf:"bytes,8,opt,name=content_addressable_storage,json=contentAddressableStorage,proto3,oneof"`
}

func (*Reference_HttpUrl) isReference_Medium() {}

func (*Reference_S3_) isReference_Medium() {}

func (*Reference_Gcs) isReference_Medium() {}

func (*Reference_ContentAddressableStorage_) isReference_Medium() {}

type BatchUpdateReferencesRequest struct {
	state          protoimpl.MessageState                  `protogen:"open.v1"`
	InstanceName   string                                  `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
	Requests       []*BatchUpdateReferencesRequest_Request `protobuf:"bytes,2,rep,name=requests,proto3" json:"requests,omitempty"`
	DigestFunction v2.DigestFunction_Value                 `protobuf:"varint,3,opt,name=digest_function,json=digestFunction,proto3,enum=build.bazel.remote.execution.v2.DigestFunction_Value" json:"digest_function,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*BatchUpdateReferencesRequest) ProtoMessage() {}

func (x *BatchUpdateReferencesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_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 BatchUpdateReferencesRequest.ProtoReflect.Descriptor instead.
func (*BatchUpdateReferencesRequest) Descriptor() ([]byte, []int) {
	return file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescGZIP(), []int{1}
}

func (x *BatchUpdateReferencesRequest) GetInstanceName() string {
	if x != nil {
		return x.InstanceName
	}
	return ""
}

func (x *BatchUpdateReferencesRequest) GetRequests() []*BatchUpdateReferencesRequest_Request {
	if x != nil {
		return x.Requests
	}
	return nil
}

func (x *BatchUpdateReferencesRequest) GetDigestFunction() v2.DigestFunction_Value {
	if x != nil {
		return x.DigestFunction
	}
	return v2.DigestFunction_Value(0)
}

type GetReferenceRequest struct {
	state          protoimpl.MessageState  `protogen:"open.v1"`
	InstanceName   string                  `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
	Digest         *v2.Digest              `protobuf:"bytes,2,opt,name=digest,proto3" json:"digest,omitempty"`
	DigestFunction v2.DigestFunction_Value `protobuf:"varint,3,opt,name=digest_function,json=digestFunction,proto3,enum=build.bazel.remote.execution.v2.DigestFunction_Value" json:"digest_function,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*GetReferenceRequest) ProtoMessage() {}

func (x *GetReferenceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_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 GetReferenceRequest.ProtoReflect.Descriptor instead.
func (*GetReferenceRequest) Descriptor() ([]byte, []int) {
	return file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescGZIP(), []int{2}
}

func (x *GetReferenceRequest) GetInstanceName() string {
	if x != nil {
		return x.InstanceName
	}
	return ""
}

func (x *GetReferenceRequest) GetDigest() *v2.Digest {
	if x != nil {
		return x.Digest
	}
	return nil
}

func (x *GetReferenceRequest) GetDigestFunction() v2.DigestFunction_Value {
	if x != nil {
		return x.DigestFunction
	}
	return v2.DigestFunction_Value(0)
}

type Reference_S3 struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Bucket        string                 `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Key           string                 `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Reference_S3) ProtoMessage() {}

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

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

func (x *Reference_S3) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *Reference_S3) GetKey() string {
	if x != nil {
		return x.Key
	}
	return ""
}

type Reference_GCS struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Bucket        string                 `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
	Object        string                 `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Reference_GCS) ProtoMessage() {}

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

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

func (x *Reference_GCS) GetBucket() string {
	if x != nil {
		return x.Bucket
	}
	return ""
}

func (x *Reference_GCS) GetObject() string {
	if x != nil {
		return x.Object
	}
	return ""
}

type Reference_ContentAddressableStorage struct {
	state          protoimpl.MessageState  `protogen:"open.v1"`
	InstanceName   string                  `protobuf:"bytes,1,opt,name=instance_name,json=instanceName,proto3" json:"instance_name,omitempty"`
	DigestFunction v2.DigestFunction_Value `protobuf:"varint,2,opt,name=digest_function,json=digestFunction,proto3,enum=build.bazel.remote.execution.v2.DigestFunction_Value" json:"digest_function,omitempty"`
	BlobDigest     *v2.Digest              `protobuf:"bytes,3,opt,name=blob_digest,json=blobDigest,proto3" json:"blob_digest,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*Reference_ContentAddressableStorage) ProtoMessage() {}

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

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

func (x *Reference_ContentAddressableStorage) GetInstanceName() string {
	if x != nil {
		return x.InstanceName
	}
	return ""
}

func (x *Reference_ContentAddressableStorage) GetDigestFunction() v2.DigestFunction_Value {
	if x != nil {
		return x.DigestFunction
	}
	return v2.DigestFunction_Value(0)
}

func (x *Reference_ContentAddressableStorage) GetBlobDigest() *v2.Digest {
	if x != nil {
		return x.BlobDigest
	}
	return nil
}

type BatchUpdateReferencesRequest_Request struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Digest        *v2.Digest             `protobuf:"bytes,1,opt,name=digest,proto3" json:"digest,omitempty"`
	Reference     *Reference             `protobuf:"bytes,2,opt,name=reference,proto3" json:"reference,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*BatchUpdateReferencesRequest_Request) ProtoMessage() {}

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

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

func (x *BatchUpdateReferencesRequest_Request) GetDigest() *v2.Digest {
	if x != nil {
		return x.Digest
	}
	return nil
}

func (x *BatchUpdateReferencesRequest_Request) GetReference() *Reference {
	if x != nil {
		return x.Reference
	}
	return nil
}

var File_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto protoreflect.FileDescriptor

const file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDesc = "" +
	"\n" +
	"9github.com/buildbarn/bb-storage/pkg/proto/icas/icas.proto\x12\x0ebuildbarn.icas\x1a6build/bazel/remote/execution/v2/remote_execution.proto\"\xff\x05\n" +
	"\tReference\x12\x1b\n" +
	"\bhttp_url\x18\x01 \x01(\tH\x00R\ahttpUrl\x12.\n" +
	"\x02s3\x18\x02 \x01(\v2\x1c.buildbarn.icas.Reference.S3H\x00R\x02s3\x121\n" +
	"\x03gcs\x18\a \x01(\v2\x1d.buildbarn.icas.Reference.GCSH\x00R\x03gcs\x12u\n" +
	"\x1bcontent_addressable_storage\x18\b \x01(\v23.buildbarn.icas.Reference.ContentAddressableStorageH\x00R\x19contentAddressableStorage\x12!\n" +
	"\foffset_bytes\x18\x03 \x01(\x03R\voffsetBytes\x12\x1d\n" +
	"\n" +
	"size_bytes\x18\x04 \x01(\x03R\tsizeBytes\x12U\n" +
	"\fdecompressor\x18\x06 \x01(\x0e21.build.bazel.remote.execution.v2.Compressor.ValueR\fdecompressor\x1a.\n" +
	"\x02S3\x12\x16\n" +
	"\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x10\n" +
	"\x03key\x18\x02 \x01(\tR\x03key\x1a5\n" +
	"\x03GCS\x12\x16\n" +
	"\x06bucket\x18\x01 \x01(\tR\x06bucket\x12\x16\n" +
	"\x06object\x18\x02 \x01(\tR\x06object\x1a\xea\x01\n" +
	"\x19ContentAddressableStorage\x12#\n" +
	"\rinstance_name\x18\x01 \x01(\tR\finstanceName\x12^\n" +
	"\x0fdigest_function\x18\x02 \x01(\x0e25.build.bazel.remote.execution.v2.DigestFunction.ValueR\x0edigestFunction\x12H\n" +
	"\vblob_digest\x18\x03 \x01(\v2'.build.bazel.remote.execution.v2.DigestR\n" +
	"blobDigestB\b\n" +
	"\x06mediumJ\x04\b\x05\x10\x06\"\xfb\x02\n" +
	"\x1cBatchUpdateReferencesRequest\x12#\n" +
	"\rinstance_name\x18\x01 \x01(\tR\finstanceName\x12P\n" +
	"\brequests\x18\x02 \x03(\v24.buildbarn.icas.BatchUpdateReferencesRequest.RequestR\brequests\x12^\n" +
	"\x0fdigest_function\x18\x03 \x01(\x0e25.build.bazel.remote.execution.v2.DigestFunction.ValueR\x0edigestFunction\x1a\x83\x01\n" +
	"\aRequest\x12?\n" +
	"\x06digest\x18\x01 \x01(\v2'.build.bazel.remote.execution.v2.DigestR\x06digest\x127\n" +
	"\treference\x18\x02 \x01(\v2\x19.buildbarn.icas.ReferenceR\treference\"\xdb\x01\n" +
	"\x13GetReferenceRequest\x12#\n" +
	"\rinstance_name\x18\x01 \x01(\tR\finstanceName\x12?\n" +
	"\x06digest\x18\x02 \x01(\v2'.build.bazel.remote.execution.v2.DigestR\x06digest\x12^\n" +
	"\x0fdigest_function\x18\x03 \x01(\x0e25.build.bazel.remote.execution.v2.DigestFunction.ValueR\x0edigestFunction2\x85\x03\n" +
	"!IndirectContentAddressableStorage\x12\x8c\x01\n" +
	"\x15FindMissingReferences\x128.build.bazel.remote.execution.v2.FindMissingBlobsRequest\x1a9.build.bazel.remote.execution.v2.FindMissingBlobsResponse\x12\x80\x01\n" +
	"\x15BatchUpdateReferences\x12,.buildbarn.icas.BatchUpdateReferencesRequest\x1a9.build.bazel.remote.execution.v2.BatchUpdateBlobsResponse\x12N\n" +
	"\fGetReference\x12#.buildbarn.icas.GetReferenceRequest\x1a\x19.buildbarn.icas.ReferenceB0Z.github.com/buildbarn/bb-storage/pkg/proto/icasb\x06proto3"

var (
	file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescOnce sync.Once
	file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescData []byte
)

func file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescGZIP() []byte {
	file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescOnce.Do(func() {
		file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDesc), len(file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDesc)))
	})
	return file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDescData
}

var file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_goTypes = []any{
	(*Reference)(nil),                            // 0: buildbarn.icas.Reference
	(*BatchUpdateReferencesRequest)(nil),         // 1: buildbarn.icas.BatchUpdateReferencesRequest
	(*GetReferenceRequest)(nil),                  // 2: buildbarn.icas.GetReferenceRequest
	(*Reference_S3)(nil),                         // 3: buildbarn.icas.Reference.S3
	(*Reference_GCS)(nil),                        // 4: buildbarn.icas.Reference.GCS
	(*Reference_ContentAddressableStorage)(nil),  // 5: buildbarn.icas.Reference.ContentAddressableStorage
	(*BatchUpdateReferencesRequest_Request)(nil), // 6: buildbarn.icas.BatchUpdateReferencesRequest.Request
	(v2.Compressor_Value)(0),                     // 7: build.bazel.remote.execution.v2.Compressor.Value
	(v2.DigestFunction_Value)(0),                 // 8: build.bazel.remote.execution.v2.DigestFunction.Value
	(*v2.Digest)(nil),                            // 9: build.bazel.remote.execution.v2.Digest
	(*v2.FindMissingBlobsRequest)(nil),           // 10: build.bazel.remote.execution.v2.FindMissingBlobsRequest
	(*v2.FindMissingBlobsResponse)(nil),          // 11: build.bazel.remote.execution.v2.FindMissingBlobsResponse
	(*v2.BatchUpdateBlobsResponse)(nil),          // 12: build.bazel.remote.execution.v2.BatchUpdateBlobsResponse
}
var file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_depIdxs = []int32{
	3,  // 0: buildbarn.icas.Reference.s3:type_name -> buildbarn.icas.Reference.S3
	4,  // 1: buildbarn.icas.Reference.gcs:type_name -> buildbarn.icas.Reference.GCS
	5,  // 2: buildbarn.icas.Reference.content_addressable_storage:type_name -> buildbarn.icas.Reference.ContentAddressableStorage
	7,  // 3: buildbarn.icas.Reference.decompressor:type_name -> build.bazel.remote.execution.v2.Compressor.Value
	6,  // 4: buildbarn.icas.BatchUpdateReferencesRequest.requests:type_name -> buildbarn.icas.BatchUpdateReferencesRequest.Request
	8,  // 5: buildbarn.icas.BatchUpdateReferencesRequest.digest_function:type_name -> build.bazel.remote.execution.v2.DigestFunction.Value
	9,  // 6: buildbarn.icas.GetReferenceRequest.digest:type_name -> build.bazel.remote.execution.v2.Digest
	8,  // 7: buildbarn.icas.GetReferenceRequest.digest_function:type_name -> build.bazel.remote.execution.v2.DigestFunction.Value
	8,  // 8: buildbarn.icas.Reference.ContentAddressableStorage.digest_function:type_name -> build.bazel.remote.execution.v2.DigestFunction.Value
	9,  // 9: buildbarn.icas.Reference.ContentAddressableStorage.blob_digest:type_name -> build.bazel.remote.execution.v2.Digest
	9,  // 10: buildbarn.icas.BatchUpdateReferencesRequest.Request.digest:type_name -> build.bazel.remote.execution.v2.Digest
	0,  // 11: buildbarn.icas.BatchUpdateReferencesRequest.Request.reference:type_name -> buildbarn.icas.Reference
	10, // 12: buildbarn.icas.IndirectContentAddressableStorage.FindMissingReferences:input_type -> build.bazel.remote.execution.v2.FindMissingBlobsRequest
	1,  // 13: buildbarn.icas.IndirectContentAddressableStorage.BatchUpdateReferences:input_type -> buildbarn.icas.BatchUpdateReferencesRequest
	2,  // 14: buildbarn.icas.IndirectContentAddressableStorage.GetReference:input_type -> buildbarn.icas.GetReferenceRequest
	11, // 15: buildbarn.icas.IndirectContentAddressableStorage.FindMissingReferences:output_type -> build.bazel.remote.execution.v2.FindMissingBlobsResponse
	12, // 16: buildbarn.icas.IndirectContentAddressableStorage.BatchUpdateReferences:output_type -> build.bazel.remote.execution.v2.BatchUpdateBlobsResponse
	0,  // 17: buildbarn.icas.IndirectContentAddressableStorage.GetReference:output_type -> buildbarn.icas.Reference
	15, // [15:18] is the sub-list for method output_type
	12, // [12:15] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_init() }
func file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_init() {
	if File_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto != nil {
		return
	}
	file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_msgTypes[0].OneofWrappers = []any{
		(*Reference_HttpUrl)(nil),
		(*Reference_S3_)(nil),
		(*Reference_Gcs)(nil),
		(*Reference_ContentAddressableStorage_)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDesc), len(file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   7,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_goTypes,
		DependencyIndexes: file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_depIdxs,
		MessageInfos:      file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_msgTypes,
	}.Build()
	File_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto = out.File
	file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_goTypes = nil
	file_github_com_buildbarn_bb_storage_pkg_proto_icas_icas_proto_depIdxs = nil
}
