// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        (unknown)
// source: tars/api_keys/v1/api_keys.proto

package api_keysv1

import (
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/auth/v1"
	_ "github.com/tetrateio/agentrouter-go/genapi/api/tars/docs/v1"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	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 EnterpriseContext struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Customer identifier (e.g. "default", "acme").
	CustomerId string `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	// Workspace identifier (defaults to "default" when empty).
	WorkspaceId string `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	// Organization unit for the user (e.g. "engineering").
	OrganizationUnit string `protobuf:"bytes,3,opt,name=organization_unit,json=organizationUnit,proto3" json:"organization_unit,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*EnterpriseContext) ProtoMessage() {}

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

func (x *EnterpriseContext) GetCustomerId() string {
	if x != nil {
		return x.CustomerId
	}
	return ""
}

func (x *EnterpriseContext) GetWorkspaceId() string {
	if x != nil {
		return x.WorkspaceId
	}
	return ""
}

func (x *EnterpriseContext) GetOrganizationUnit() string {
	if x != nil {
		return x.OrganizationUnit
	}
	return ""
}

type CreateApiKeyRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// User ID that will own the API key.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// User key address input (typically email or user id).
	// Required for API parity with client flows and request provenance checks.
	// In JWT-based issuance, returned key_address is derived from user_id by the token service.
	UserKeyAddress string `protobuf:"bytes,2,opt,name=user_key_address,json=userKeyAddress,proto3" json:"user_key_address,omitempty"`
	// Human-readable key name.
	Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
	// Optional enterprise context overrides for JWT user-token issuance.
	// When omitted, service defaults are used.
	EnterpriseContext *EnterpriseContext `protobuf:"bytes,4,opt,name=enterprise_context,json=enterpriseContext,proto3,oneof" json:"enterprise_context,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*CreateApiKeyRequest) ProtoMessage() {}

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

func (x *CreateApiKeyRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *CreateApiKeyRequest) GetUserKeyAddress() string {
	if x != nil {
		return x.UserKeyAddress
	}
	return ""
}

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

func (x *CreateApiKeyRequest) GetEnterpriseContext() *EnterpriseContext {
	if x != nil {
		return x.EnterpriseContext
	}
	return nil
}

type CreateApiKeyResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Key ID (UUID).
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// User ID that owns the key.
	UserId string `protobuf:"bytes,2,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Plaintext key (returned once).
	ApiKey string `protobuf:"bytes,3,opt,name=api_key,json=apiKey,proto3" json:"api_key,omitempty"`
	// 12-char key prefix.
	Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
	// 64-char hex HMAC hash of the full key.
	KeyHash string `protobuf:"bytes,5,opt,name=key_hash,json=keyHash,proto3" json:"key_hash,omitempty"`
	// 16-char hex key address from the token service (currently xxhash64(user_id) for JWT issuance).
	KeyAddress string `protobuf:"bytes,6,opt,name=key_address,json=keyAddress,proto3" json:"key_address,omitempty"`
	// Last 4 chars of the plaintext key (for display).
	KeySuffix     string `protobuf:"bytes,7,opt,name=key_suffix,json=keySuffix,proto3" json:"key_suffix,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*CreateApiKeyResponse) ProtoMessage() {}

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

func (x *CreateApiKeyResponse) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *CreateApiKeyResponse) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *CreateApiKeyResponse) GetApiKey() string {
	if x != nil {
		return x.ApiKey
	}
	return ""
}

func (x *CreateApiKeyResponse) GetPrefix() string {
	if x != nil {
		return x.Prefix
	}
	return ""
}

func (x *CreateApiKeyResponse) GetKeyHash() string {
	if x != nil {
		return x.KeyHash
	}
	return ""
}

func (x *CreateApiKeyResponse) GetKeyAddress() string {
	if x != nil {
		return x.KeyAddress
	}
	return ""
}

func (x *CreateApiKeyResponse) GetKeySuffix() string {
	if x != nil {
		return x.KeySuffix
	}
	return ""
}

type UpdateApiKeyRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// User ID that owns the API key.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Key ID (UUID).
	KeyId string `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
	// Optional new name.
	Name *string `protobuf:"bytes,3,opt,name=name,proto3,oneof" json:"name,omitempty"`
	// Optional active state.
	IsActive      *bool `protobuf:"varint,4,opt,name=is_active,json=isActive,proto3,oneof" json:"is_active,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateApiKeyRequest) ProtoMessage() {}

func (x *UpdateApiKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_api_keys_v1_api_keys_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 UpdateApiKeyRequest.ProtoReflect.Descriptor instead.
func (*UpdateApiKeyRequest) Descriptor() ([]byte, []int) {
	return file_tars_api_keys_v1_api_keys_proto_rawDescGZIP(), []int{3}
}

func (x *UpdateApiKeyRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *UpdateApiKeyRequest) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

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

func (x *UpdateApiKeyRequest) GetIsActive() bool {
	if x != nil && x.IsActive != nil {
		return *x.IsActive
	}
	return false
}

type UpdateApiKeyResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// True when the update was applied; failures surface as RPC errors instead.
	Success       bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdateApiKeyResponse) ProtoMessage() {}

func (x *UpdateApiKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_api_keys_v1_api_keys_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 UpdateApiKeyResponse.ProtoReflect.Descriptor instead.
func (*UpdateApiKeyResponse) Descriptor() ([]byte, []int) {
	return file_tars_api_keys_v1_api_keys_proto_rawDescGZIP(), []int{4}
}

func (x *UpdateApiKeyResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

type DeleteApiKeyRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// User ID that owns the API key.
	UserId string `protobuf:"bytes,1,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
	// Key ID (UUID).
	KeyId         string `protobuf:"bytes,2,opt,name=key_id,json=keyId,proto3" json:"key_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteApiKeyRequest) ProtoMessage() {}

func (x *DeleteApiKeyRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_api_keys_v1_api_keys_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 DeleteApiKeyRequest.ProtoReflect.Descriptor instead.
func (*DeleteApiKeyRequest) Descriptor() ([]byte, []int) {
	return file_tars_api_keys_v1_api_keys_proto_rawDescGZIP(), []int{5}
}

func (x *DeleteApiKeyRequest) GetUserId() string {
	if x != nil {
		return x.UserId
	}
	return ""
}

func (x *DeleteApiKeyRequest) GetKeyId() string {
	if x != nil {
		return x.KeyId
	}
	return ""
}

type DeleteApiKeyResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// True when the key was soft-deleted; failures surface as RPC errors instead.
	Success       bool `protobuf:"varint,1,opt,name=success,proto3" json:"success,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeleteApiKeyResponse) ProtoMessage() {}

func (x *DeleteApiKeyResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_api_keys_v1_api_keys_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 DeleteApiKeyResponse.ProtoReflect.Descriptor instead.
func (*DeleteApiKeyResponse) Descriptor() ([]byte, []int) {
	return file_tars_api_keys_v1_api_keys_proto_rawDescGZIP(), []int{6}
}

func (x *DeleteApiKeyResponse) GetSuccess() bool {
	if x != nil {
		return x.Success
	}
	return false
}

var File_tars_api_keys_v1_api_keys_proto protoreflect.FileDescriptor

const file_tars_api_keys_v1_api_keys_proto_rawDesc = "" +
	"\n" +
	"\x1ftars/api_keys/v1/api_keys.proto\x12\x10tars.api_keys.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x1ftars/auth/v1/auth_options.proto\x1a\x17tars/docs/v1/docs.proto\"\x84\x01\n" +
	"\x11EnterpriseContext\x12\x1f\n" +
	"\vcustomer_id\x18\x01 \x01(\tR\n" +
	"customerId\x12!\n" +
	"\fworkspace_id\x18\x02 \x01(\tR\vworkspaceId\x12+\n" +
	"\x11organization_unit\x18\x03 \x01(\tR\x10organizationUnit\"\xdc\x01\n" +
	"\x13CreateApiKeyRequest\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\tR\x06userId\x12(\n" +
	"\x10user_key_address\x18\x02 \x01(\tR\x0euserKeyAddress\x12\x12\n" +
	"\x04name\x18\x03 \x01(\tR\x04name\x12W\n" +
	"\x12enterprise_context\x18\x04 \x01(\v2#.tars.api_keys.v1.EnterpriseContextH\x00R\x11enterpriseContext\x88\x01\x01B\x15\n" +
	"\x13_enterprise_context\"\xcb\x01\n" +
	"\x14CreateApiKeyResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x17\n" +
	"\auser_id\x18\x02 \x01(\tR\x06userId\x12\x17\n" +
	"\aapi_key\x18\x03 \x01(\tR\x06apiKey\x12\x16\n" +
	"\x06prefix\x18\x04 \x01(\tR\x06prefix\x12\x19\n" +
	"\bkey_hash\x18\x05 \x01(\tR\akeyHash\x12\x1f\n" +
	"\vkey_address\x18\x06 \x01(\tR\n" +
	"keyAddress\x12\x1d\n" +
	"\n" +
	"key_suffix\x18\a \x01(\tR\tkeySuffix\"\x97\x01\n" +
	"\x13UpdateApiKeyRequest\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x15\n" +
	"\x06key_id\x18\x02 \x01(\tR\x05keyId\x12\x17\n" +
	"\x04name\x18\x03 \x01(\tH\x00R\x04name\x88\x01\x01\x12 \n" +
	"\tis_active\x18\x04 \x01(\bH\x01R\bisActive\x88\x01\x01B\a\n" +
	"\x05_nameB\f\n" +
	"\n" +
	"_is_active\"0\n" +
	"\x14UpdateApiKeyResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess\"E\n" +
	"\x13DeleteApiKeyRequest\x12\x17\n" +
	"\auser_id\x18\x01 \x01(\tR\x06userId\x12\x15\n" +
	"\x06key_id\x18\x02 \x01(\tR\x05keyId\"0\n" +
	"\x14DeleteApiKeyResponse\x12\x18\n" +
	"\asuccess\x18\x01 \x01(\bR\asuccess2\xd8\x03\n" +
	"\x0eApiKeysService\x12\x90\x01\n" +
	"\fCreateApiKey\x12%.tars.api_keys.v1.CreateApiKeyRequest\x1a&.tars.api_keys.v1.CreateApiKeyResponse\"1\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\xaa\xb5\x18\bAPI Keys\x82\xd3\xe4\x93\x02\x11:\x01*\"\f/v1/api-keys\x12\x99\x01\n" +
	"\fUpdateApiKey\x12%.tars.api_keys.v1.UpdateApiKeyRequest\x1a&.tars.api_keys.v1.UpdateApiKeyResponse\":\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\xaa\xb5\x18\bAPI Keys\x82\xd3\xe4\x93\x02\x1a:\x01*2\x15/v1/api-keys/{key_id}\x12\x96\x01\n" +
	"\fDeleteApiKey\x12%.tars.api_keys.v1.DeleteApiKeyRequest\x1a&.tars.api_keys.v1.DeleteApiKeyResponse\"7\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\xaa\xb5\x18\bAPI Keys\x82\xd3\xe4\x93\x02\x17*\x15/v1/api-keys/{key_id}B\xbf\x01\n" +
	"\x14com.tars.api_keys.v1B\fApiKeysProtoP\x01Z;github.com/tetrateio/fraser/api/tars/api_keys/v1;api_keysv1\xa2\x02\x03TAX\xaa\x02\x0fTars.ApiKeys.V1\xca\x02\x0fTars\\ApiKeys\\V1\xe2\x02\x1bTars\\ApiKeys\\V1\\GPBMetadata\xea\x02\x11Tars::ApiKeys::V1b\x06proto3"

var (
	file_tars_api_keys_v1_api_keys_proto_rawDescOnce sync.Once
	file_tars_api_keys_v1_api_keys_proto_rawDescData []byte
)

func file_tars_api_keys_v1_api_keys_proto_rawDescGZIP() []byte {
	file_tars_api_keys_v1_api_keys_proto_rawDescOnce.Do(func() {
		file_tars_api_keys_v1_api_keys_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tars_api_keys_v1_api_keys_proto_rawDesc), len(file_tars_api_keys_v1_api_keys_proto_rawDesc)))
	})
	return file_tars_api_keys_v1_api_keys_proto_rawDescData
}

var file_tars_api_keys_v1_api_keys_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_tars_api_keys_v1_api_keys_proto_goTypes = []any{
	(*EnterpriseContext)(nil),    // 0: tars.api_keys.v1.EnterpriseContext
	(*CreateApiKeyRequest)(nil),  // 1: tars.api_keys.v1.CreateApiKeyRequest
	(*CreateApiKeyResponse)(nil), // 2: tars.api_keys.v1.CreateApiKeyResponse
	(*UpdateApiKeyRequest)(nil),  // 3: tars.api_keys.v1.UpdateApiKeyRequest
	(*UpdateApiKeyResponse)(nil), // 4: tars.api_keys.v1.UpdateApiKeyResponse
	(*DeleteApiKeyRequest)(nil),  // 5: tars.api_keys.v1.DeleteApiKeyRequest
	(*DeleteApiKeyResponse)(nil), // 6: tars.api_keys.v1.DeleteApiKeyResponse
}
var file_tars_api_keys_v1_api_keys_proto_depIdxs = []int32{
	0, // 0: tars.api_keys.v1.CreateApiKeyRequest.enterprise_context:type_name -> tars.api_keys.v1.EnterpriseContext
	1, // 1: tars.api_keys.v1.ApiKeysService.CreateApiKey:input_type -> tars.api_keys.v1.CreateApiKeyRequest
	3, // 2: tars.api_keys.v1.ApiKeysService.UpdateApiKey:input_type -> tars.api_keys.v1.UpdateApiKeyRequest
	5, // 3: tars.api_keys.v1.ApiKeysService.DeleteApiKey:input_type -> tars.api_keys.v1.DeleteApiKeyRequest
	2, // 4: tars.api_keys.v1.ApiKeysService.CreateApiKey:output_type -> tars.api_keys.v1.CreateApiKeyResponse
	4, // 5: tars.api_keys.v1.ApiKeysService.UpdateApiKey:output_type -> tars.api_keys.v1.UpdateApiKeyResponse
	6, // 6: tars.api_keys.v1.ApiKeysService.DeleteApiKey:output_type -> tars.api_keys.v1.DeleteApiKeyResponse
	4, // [4:7] is the sub-list for method output_type
	1, // [1:4] 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_tars_api_keys_v1_api_keys_proto_init() }
func file_tars_api_keys_v1_api_keys_proto_init() {
	if File_tars_api_keys_v1_api_keys_proto != nil {
		return
	}
	file_tars_api_keys_v1_api_keys_proto_msgTypes[1].OneofWrappers = []any{}
	file_tars_api_keys_v1_api_keys_proto_msgTypes[3].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_tars_api_keys_v1_api_keys_proto_rawDesc), len(file_tars_api_keys_v1_api_keys_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   7,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_tars_api_keys_v1_api_keys_proto_goTypes,
		DependencyIndexes: file_tars_api_keys_v1_api_keys_proto_depIdxs,
		MessageInfos:      file_tars_api_keys_v1_api_keys_proto_msgTypes,
	}.Build()
	File_tars_api_keys_v1_api_keys_proto = out.File
	file_tars_api_keys_v1_api_keys_proto_goTypes = nil
	file_tars_api_keys_v1_api_keys_proto_depIdxs = nil
}
