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

package registryv1

import (
	_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
	_ "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"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	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)
)

// Request to register a service account.
type RegisterServiceAccountRequest struct {
	state        protoimpl.MessageState `protogen:"open.v1"`
	CustomerId   string                 `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	WorkspaceId  string                 `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	ClientEmail  string                 `protobuf:"bytes,3,opt,name=client_email,json=clientEmail,proto3" json:"client_email,omitempty"`
	PrivateKeyId string                 `protobuf:"bytes,4,opt,name=private_key_id,json=privateKeyId,proto3" json:"private_key_id,omitempty"` // kid reference
	Issuer       string                 `protobuf:"bytes,5,opt,name=issuer,proto3" json:"issuer,omitempty"`
	Audience     string                 `protobuf:"bytes,6,opt,name=audience,proto3" json:"audience,omitempty"`
	JwksUri      *string                `protobuf:"bytes,7,opt,name=jwks_uri,json=jwksUri,proto3,oneof" json:"jwks_uri,omitempty"`
	Scopes       []string               `protobuf:"bytes,8,rep,name=scopes,proto3" json:"scopes,omitempty"`
	ExpiresAt    *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	// Public keys for JWT verification
	PublicKeys []*PublicKey `protobuf:"bytes,10,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"`
	// Optional: Checksum for integrity verification
	Checksum          *string `protobuf:"bytes,11,opt,name=checksum,proto3,oneof" json:"checksum,omitempty"`
	ChecksumAlgorithm *string `protobuf:"bytes,12,opt,name=checksum_algorithm,json=checksumAlgorithm,proto3,oneof" json:"checksum_algorithm,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*RegisterServiceAccountRequest) ProtoMessage() {}

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

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

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

func (x *RegisterServiceAccountRequest) GetClientEmail() string {
	if x != nil {
		return x.ClientEmail
	}
	return ""
}

func (x *RegisterServiceAccountRequest) GetPrivateKeyId() string {
	if x != nil {
		return x.PrivateKeyId
	}
	return ""
}

func (x *RegisterServiceAccountRequest) GetIssuer() string {
	if x != nil {
		return x.Issuer
	}
	return ""
}

func (x *RegisterServiceAccountRequest) GetAudience() string {
	if x != nil {
		return x.Audience
	}
	return ""
}

func (x *RegisterServiceAccountRequest) GetJwksUri() string {
	if x != nil && x.JwksUri != nil {
		return *x.JwksUri
	}
	return ""
}

func (x *RegisterServiceAccountRequest) GetScopes() []string {
	if x != nil {
		return x.Scopes
	}
	return nil
}

func (x *RegisterServiceAccountRequest) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

func (x *RegisterServiceAccountRequest) GetPublicKeys() []*PublicKey {
	if x != nil {
		return x.PublicKeys
	}
	return nil
}

func (x *RegisterServiceAccountRequest) GetChecksum() string {
	if x != nil && x.Checksum != nil {
		return *x.Checksum
	}
	return ""
}

func (x *RegisterServiceAccountRequest) GetChecksumAlgorithm() string {
	if x != nil && x.ChecksumAlgorithm != nil {
		return *x.ChecksumAlgorithm
	}
	return ""
}

type RegisterServiceAccountResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` // UUID of the created service account
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` // Success message
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RegisterServiceAccountResponse) ProtoMessage() {}

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

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

func (x *RegisterServiceAccountResponse) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *RegisterServiceAccountResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Request to revoke a service account.
type RevokeServiceAccountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Reason        *string                `protobuf:"bytes,2,opt,name=reason,proto3,oneof" json:"reason,omitempty"` // Reason for revocation
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RevokeServiceAccountRequest) ProtoMessage() {}

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

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

func (x *RevokeServiceAccountRequest) GetReason() string {
	if x != nil && x.Reason != nil {
		return *x.Reason
	}
	return ""
}

type RevokeServiceAccountResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	RevokedAt     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=revoked_at,json=revokedAt,proto3" json:"revoked_at,omitempty"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*RevokeServiceAccountResponse) ProtoMessage() {}

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

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

func (x *RevokeServiceAccountResponse) GetRevokedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RevokedAt
	}
	return nil
}

func (x *RevokeServiceAccountResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Request to get a service account.
type GetServiceAccountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetServiceAccountRequest) ProtoMessage() {}

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

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

type GetServiceAccountResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccount *ServiceAccountInfo    `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*GetServiceAccountResponse) ProtoMessage() {}

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

func (x *GetServiceAccountResponse) GetServiceAccount() *ServiceAccountInfo {
	if x != nil {
		return x.ServiceAccount
	}
	return nil
}

// Request to lookup a service account by natural key.
type LookupServiceAccountRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	CustomerId    string                 `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	WorkspaceId   string                 `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	PrivateKeyId  string                 `protobuf:"bytes,3,opt,name=private_key_id,json=privateKeyId,proto3" json:"private_key_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*LookupServiceAccountRequest) ProtoMessage() {}

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

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

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

func (x *LookupServiceAccountRequest) GetPrivateKeyId() string {
	if x != nil {
		return x.PrivateKeyId
	}
	return ""
}

type LookupServiceAccountResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccount *ServiceAccountInfo    `protobuf:"bytes,1,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*LookupServiceAccountResponse) ProtoMessage() {}

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

// Deprecated: Use LookupServiceAccountResponse.ProtoReflect.Descriptor instead.
func (*LookupServiceAccountResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{7}
}

func (x *LookupServiceAccountResponse) GetServiceAccount() *ServiceAccountInfo {
	if x != nil {
		return x.ServiceAccount
	}
	return nil
}

// Request to list service accounts.
type ListServiceAccountsRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	CustomerId     *string                `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3,oneof" json:"customer_id,omitempty"`
	WorkspaceId    *string                `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"`
	IncludeRevoked *bool                  `protobuf:"varint,3,opt,name=include_revoked,json=includeRevoked,proto3,oneof" json:"include_revoked,omitempty"` // Include revoked service accounts in results
	PageSize       int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`                         // Default: 25
	PageToken      *string                `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"`                 // For pagination
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*ListServiceAccountsRequest) ProtoMessage() {}

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

// Deprecated: Use ListServiceAccountsRequest.ProtoReflect.Descriptor instead.
func (*ListServiceAccountsRequest) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{8}
}

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

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

func (x *ListServiceAccountsRequest) GetIncludeRevoked() bool {
	if x != nil && x.IncludeRevoked != nil {
		return *x.IncludeRevoked
	}
	return false
}

func (x *ListServiceAccountsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListServiceAccountsRequest) GetPageToken() string {
	if x != nil && x.PageToken != nil {
		return *x.PageToken
	}
	return ""
}

type ListServiceAccountsResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccounts []*ServiceAccountInfo  `protobuf:"bytes,1,rep,name=service_accounts,json=serviceAccounts,proto3" json:"service_accounts,omitempty"`
	NextPageToken   *string                `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3,oneof" json:"next_page_token,omitempty"`
	TotalCount      int32                  `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListServiceAccountsResponse) Reset() {
	*x = ListServiceAccountsResponse{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListServiceAccountsResponse) ProtoMessage() {}

func (x *ListServiceAccountsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[9]
	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 ListServiceAccountsResponse.ProtoReflect.Descriptor instead.
func (*ListServiceAccountsResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{9}
}

func (x *ListServiceAccountsResponse) GetServiceAccounts() []*ServiceAccountInfo {
	if x != nil {
		return x.ServiceAccounts
	}
	return nil
}

func (x *ListServiceAccountsResponse) GetNextPageToken() string {
	if x != nil && x.NextPageToken != nil {
		return *x.NextPageToken
	}
	return ""
}

func (x *ListServiceAccountsResponse) GetTotalCount() int32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

// Request to get public keys for a service account.
type GetServiceAccountPublicKeysRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	ServiceAccountId string                 `protobuf:"bytes,1,opt,name=service_account_id,json=serviceAccountId,proto3" json:"service_account_id,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *GetServiceAccountPublicKeysRequest) Reset() {
	*x = GetServiceAccountPublicKeysRequest{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetServiceAccountPublicKeysRequest) ProtoMessage() {}

func (x *GetServiceAccountPublicKeysRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[10]
	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 GetServiceAccountPublicKeysRequest.ProtoReflect.Descriptor instead.
func (*GetServiceAccountPublicKeysRequest) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{10}
}

func (x *GetServiceAccountPublicKeysRequest) GetServiceAccountId() string {
	if x != nil {
		return x.ServiceAccountId
	}
	return ""
}

type GetServiceAccountPublicKeysResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	PublicKeys    []*PublicKey           `protobuf:"bytes,1,rep,name=public_keys,json=publicKeys,proto3" json:"public_keys,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetServiceAccountPublicKeysResponse) Reset() {
	*x = GetServiceAccountPublicKeysResponse{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*GetServiceAccountPublicKeysResponse) ProtoMessage() {}

func (x *GetServiceAccountPublicKeysResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[11]
	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 GetServiceAccountPublicKeysResponse.ProtoReflect.Descriptor instead.
func (*GetServiceAccountPublicKeysResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{11}
}

func (x *GetServiceAccountPublicKeysResponse) GetPublicKeys() []*PublicKey {
	if x != nil {
		return x.PublicKeys
	}
	return nil
}

// Service account information (without private key).
type ServiceAccountInfo struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	Id                string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CustomerId        string                 `protobuf:"bytes,2,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	WorkspaceId       string                 `protobuf:"bytes,3,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	ClientEmail       string                 `protobuf:"bytes,4,opt,name=client_email,json=clientEmail,proto3" json:"client_email,omitempty"`
	PrivateKeyId      string                 `protobuf:"bytes,5,opt,name=private_key_id,json=privateKeyId,proto3" json:"private_key_id,omitempty"` // kid reference only
	Issuer            string                 `protobuf:"bytes,6,opt,name=issuer,proto3" json:"issuer,omitempty"`
	Audience          string                 `protobuf:"bytes,7,opt,name=audience,proto3" json:"audience,omitempty"`
	JwksUri           *string                `protobuf:"bytes,8,opt,name=jwks_uri,json=jwksUri,proto3,oneof" json:"jwks_uri,omitempty"`
	Scopes            []string               `protobuf:"bytes,9,rep,name=scopes,proto3" json:"scopes,omitempty"`
	CreatedAt         *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	ExpiresAt         *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=expires_at,json=expiresAt,proto3" json:"expires_at,omitempty"`
	RevokedAt         *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=revoked_at,json=revokedAt,proto3,oneof" json:"revoked_at,omitempty"`
	RevokedReason     *string                `protobuf:"bytes,13,opt,name=revoked_reason,json=revokedReason,proto3,oneof" json:"revoked_reason,omitempty"`
	Checksum          *string                `protobuf:"bytes,14,opt,name=checksum,proto3,oneof" json:"checksum,omitempty"`
	ChecksumAlgorithm *string                `protobuf:"bytes,15,opt,name=checksum_algorithm,json=checksumAlgorithm,proto3,oneof" json:"checksum_algorithm,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ServiceAccountInfo) Reset() {
	*x = ServiceAccountInfo{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ServiceAccountInfo) ProtoMessage() {}

func (x *ServiceAccountInfo) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[12]
	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 ServiceAccountInfo.ProtoReflect.Descriptor instead.
func (*ServiceAccountInfo) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{12}
}

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

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

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

func (x *ServiceAccountInfo) GetClientEmail() string {
	if x != nil {
		return x.ClientEmail
	}
	return ""
}

func (x *ServiceAccountInfo) GetPrivateKeyId() string {
	if x != nil {
		return x.PrivateKeyId
	}
	return ""
}

func (x *ServiceAccountInfo) GetIssuer() string {
	if x != nil {
		return x.Issuer
	}
	return ""
}

func (x *ServiceAccountInfo) GetAudience() string {
	if x != nil {
		return x.Audience
	}
	return ""
}

func (x *ServiceAccountInfo) GetJwksUri() string {
	if x != nil && x.JwksUri != nil {
		return *x.JwksUri
	}
	return ""
}

func (x *ServiceAccountInfo) GetScopes() []string {
	if x != nil {
		return x.Scopes
	}
	return nil
}

func (x *ServiceAccountInfo) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *ServiceAccountInfo) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

func (x *ServiceAccountInfo) GetRevokedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RevokedAt
	}
	return nil
}

func (x *ServiceAccountInfo) GetRevokedReason() string {
	if x != nil && x.RevokedReason != nil {
		return *x.RevokedReason
	}
	return ""
}

func (x *ServiceAccountInfo) GetChecksum() string {
	if x != nil && x.Checksum != nil {
		return *x.Checksum
	}
	return ""
}

func (x *ServiceAccountInfo) GetChecksumAlgorithm() string {
	if x != nil && x.ChecksumAlgorithm != nil {
		return *x.ChecksumAlgorithm
	}
	return ""
}

// Public key for JWT verification.
type PublicKey struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Kid           string                 `protobuf:"bytes,1,opt,name=kid,proto3" json:"kid,omitempty"`                     // Key ID
	Alg           string                 `protobuf:"bytes,2,opt,name=alg,proto3" json:"alg,omitempty"`                     // Algorithm (default: ES256)
	Use           string                 `protobuf:"bytes,3,opt,name=use,proto3" json:"use,omitempty"`                     // Usage (default: sig)
	KeyPem        string                 `protobuf:"bytes,4,opt,name=key_pem,json=keyPem,proto3" json:"key_pem,omitempty"` // Public key in PEM format
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PublicKey) Reset() {
	*x = PublicKey{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PublicKey) ProtoMessage() {}

func (x *PublicKey) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[13]
	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 PublicKey.ProtoReflect.Descriptor instead.
func (*PublicKey) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{13}
}

func (x *PublicKey) GetKid() string {
	if x != nil {
		return x.Kid
	}
	return ""
}

func (x *PublicKey) GetAlg() string {
	if x != nil {
		return x.Alg
	}
	return ""
}

func (x *PublicKey) GetUse() string {
	if x != nil {
		return x.Use
	}
	return ""
}

func (x *PublicKey) GetKeyPem() string {
	if x != nil {
		return x.KeyPem
	}
	return ""
}

func (x *PublicKey) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

// Request to create a registry credential.
type CreateRegistryCredentialRequest struct {
	state       protoimpl.MessageState `protogen:"open.v1"`
	CustomerId  string                 `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	WorkspaceId string                 `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	// Human-readable label for this credential (e.g. "GitHub Actions prod CI").
	// Required to force customers to label credentials and avoid an anonymous
	// credential graveyard.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Optional explicit expiry. If unset, the credential never expires (until revoked).
	// CI customers typically do not want surprise mandatory rotations.
	ExpiresAt *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"`
	// Optional scopes. Defaults to ["read"] when empty.
	Scopes        []string `protobuf:"bytes,5,rep,name=scopes,proto3" json:"scopes,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateRegistryCredentialRequest) Reset() {
	*x = CreateRegistryCredentialRequest{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateRegistryCredentialRequest) ProtoMessage() {}

func (x *CreateRegistryCredentialRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[14]
	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 CreateRegistryCredentialRequest.ProtoReflect.Descriptor instead.
func (*CreateRegistryCredentialRequest) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{14}
}

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

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

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

func (x *CreateRegistryCredentialRequest) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

func (x *CreateRegistryCredentialRequest) GetScopes() []string {
	if x != nil {
		return x.Scopes
	}
	return nil
}

// Response containing the created credential. The `password` field is the only
// time the plaintext is ever returned — clients MUST store it immediately.
type CreateRegistryCredentialResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`             // UUID of the created credential
	Username      string                 `protobuf:"bytes,2,opt,name=username,proto3" json:"username,omitempty"` // Server-generated, e.g. "acme-corp-7af3b2"
	Password      string                 `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty"` // PLAINTEXT — returned exactly once
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	Message       string                 `protobuf:"bytes,5,opt,name=message,proto3" json:"message,omitempty"` // Success message + reminder to copy the password now
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateRegistryCredentialResponse) Reset() {
	*x = CreateRegistryCredentialResponse{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreateRegistryCredentialResponse) ProtoMessage() {}

func (x *CreateRegistryCredentialResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[15]
	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 CreateRegistryCredentialResponse.ProtoReflect.Descriptor instead.
func (*CreateRegistryCredentialResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{15}
}

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

func (x *CreateRegistryCredentialResponse) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

func (x *CreateRegistryCredentialResponse) GetPassword() string {
	if x != nil {
		return x.Password
	}
	return ""
}

func (x *CreateRegistryCredentialResponse) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *CreateRegistryCredentialResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Request to list registry credentials.
type ListRegistryCredentialsRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	CustomerId     *string                `protobuf:"bytes,1,opt,name=customer_id,json=customerId,proto3,oneof" json:"customer_id,omitempty"`
	WorkspaceId    *string                `protobuf:"bytes,2,opt,name=workspace_id,json=workspaceId,proto3,oneof" json:"workspace_id,omitempty"`
	IncludeRevoked *bool                  `protobuf:"varint,3,opt,name=include_revoked,json=includeRevoked,proto3,oneof" json:"include_revoked,omitempty"` // Include revoked credentials in results
	PageSize       int32                  `protobuf:"varint,4,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`                         // Default: 25
	PageToken      *string                `protobuf:"bytes,5,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"`                 // For pagination
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ListRegistryCredentialsRequest) Reset() {
	*x = ListRegistryCredentialsRequest{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegistryCredentialsRequest) ProtoMessage() {}

func (x *ListRegistryCredentialsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[16]
	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 ListRegistryCredentialsRequest.ProtoReflect.Descriptor instead.
func (*ListRegistryCredentialsRequest) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{16}
}

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

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

func (x *ListRegistryCredentialsRequest) GetIncludeRevoked() bool {
	if x != nil && x.IncludeRevoked != nil {
		return *x.IncludeRevoked
	}
	return false
}

func (x *ListRegistryCredentialsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListRegistryCredentialsRequest) GetPageToken() string {
	if x != nil && x.PageToken != nil {
		return *x.PageToken
	}
	return ""
}

type ListRegistryCredentialsResponse struct {
	state         protoimpl.MessageState    `protogen:"open.v1"`
	Credentials   []*RegistryCredentialInfo `protobuf:"bytes,1,rep,name=credentials,proto3" json:"credentials,omitempty"`
	NextPageToken *string                   `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3,oneof" json:"next_page_token,omitempty"`
	TotalCount    int32                     `protobuf:"varint,3,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRegistryCredentialsResponse) Reset() {
	*x = ListRegistryCredentialsResponse{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListRegistryCredentialsResponse) ProtoMessage() {}

func (x *ListRegistryCredentialsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[17]
	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 ListRegistryCredentialsResponse.ProtoReflect.Descriptor instead.
func (*ListRegistryCredentialsResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{17}
}

func (x *ListRegistryCredentialsResponse) GetCredentials() []*RegistryCredentialInfo {
	if x != nil {
		return x.Credentials
	}
	return nil
}

func (x *ListRegistryCredentialsResponse) GetNextPageToken() string {
	if x != nil && x.NextPageToken != nil {
		return *x.NextPageToken
	}
	return ""
}

func (x *ListRegistryCredentialsResponse) GetTotalCount() int32 {
	if x != nil {
		return x.TotalCount
	}
	return 0
}

// Request to revoke a registry credential.
type RevokeRegistryCredentialRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	Reason        *string                `protobuf:"bytes,2,opt,name=reason,proto3,oneof" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RevokeRegistryCredentialRequest) Reset() {
	*x = RevokeRegistryCredentialRequest{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RevokeRegistryCredentialRequest) ProtoMessage() {}

func (x *RevokeRegistryCredentialRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[18]
	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 RevokeRegistryCredentialRequest.ProtoReflect.Descriptor instead.
func (*RevokeRegistryCredentialRequest) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{18}
}

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

func (x *RevokeRegistryCredentialRequest) GetReason() string {
	if x != nil && x.Reason != nil {
		return *x.Reason
	}
	return ""
}

type RevokeRegistryCredentialResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	RevokedAt     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=revoked_at,json=revokedAt,proto3" json:"revoked_at,omitempty"`
	Message       string                 `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RevokeRegistryCredentialResponse) Reset() {
	*x = RevokeRegistryCredentialResponse{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RevokeRegistryCredentialResponse) ProtoMessage() {}

func (x *RevokeRegistryCredentialResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[19]
	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 RevokeRegistryCredentialResponse.ProtoReflect.Descriptor instead.
func (*RevokeRegistryCredentialResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{19}
}

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

func (x *RevokeRegistryCredentialResponse) GetRevokedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RevokedAt
	}
	return nil
}

func (x *RevokeRegistryCredentialResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

// Registry credential metadata. Never includes the plaintext password or its
// HMAC-SHA256 digest — those are not returned by any API after the initial
// create call.
type RegistryCredentialInfo struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Id            string                 `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	CustomerId    string                 `protobuf:"bytes,2,opt,name=customer_id,json=customerId,proto3" json:"customer_id,omitempty"`
	WorkspaceId   string                 `protobuf:"bytes,3,opt,name=workspace_id,json=workspaceId,proto3" json:"workspace_id,omitempty"`
	Username      string                 `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
	Description   string                 `protobuf:"bytes,5,opt,name=description,proto3" json:"description,omitempty"`
	Scopes        []string               `protobuf:"bytes,6,rep,name=scopes,proto3" json:"scopes,omitempty"`
	CreatedAt     *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	CreatedBy     string                 `protobuf:"bytes,8,opt,name=created_by,json=createdBy,proto3" json:"created_by,omitempty"`
	ExpiresAt     *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=expires_at,json=expiresAt,proto3,oneof" json:"expires_at,omitempty"`
	LastUsedAt    *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=last_used_at,json=lastUsedAt,proto3,oneof" json:"last_used_at,omitempty"`
	RevokedAt     *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=revoked_at,json=revokedAt,proto3,oneof" json:"revoked_at,omitempty"`
	RevokedReason *string                `protobuf:"bytes,12,opt,name=revoked_reason,json=revokedReason,proto3,oneof" json:"revoked_reason,omitempty"`
	RevokedBy     *string                `protobuf:"bytes,13,opt,name=revoked_by,json=revokedBy,proto3,oneof" json:"revoked_by,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RegistryCredentialInfo) Reset() {
	*x = RegistryCredentialInfo{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*RegistryCredentialInfo) ProtoMessage() {}

func (x *RegistryCredentialInfo) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[20]
	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 RegistryCredentialInfo.ProtoReflect.Descriptor instead.
func (*RegistryCredentialInfo) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{20}
}

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

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

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

func (x *RegistryCredentialInfo) GetUsername() string {
	if x != nil {
		return x.Username
	}
	return ""
}

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

func (x *RegistryCredentialInfo) GetScopes() []string {
	if x != nil {
		return x.Scopes
	}
	return nil
}

func (x *RegistryCredentialInfo) GetCreatedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedAt
	}
	return nil
}

func (x *RegistryCredentialInfo) GetCreatedBy() string {
	if x != nil {
		return x.CreatedBy
	}
	return ""
}

func (x *RegistryCredentialInfo) GetExpiresAt() *timestamppb.Timestamp {
	if x != nil {
		return x.ExpiresAt
	}
	return nil
}

func (x *RegistryCredentialInfo) GetLastUsedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.LastUsedAt
	}
	return nil
}

func (x *RegistryCredentialInfo) GetRevokedAt() *timestamppb.Timestamp {
	if x != nil {
		return x.RevokedAt
	}
	return nil
}

func (x *RegistryCredentialInfo) GetRevokedReason() string {
	if x != nil && x.RevokedReason != nil {
		return *x.RevokedReason
	}
	return ""
}

func (x *RegistryCredentialInfo) GetRevokedBy() string {
	if x != nil && x.RevokedBy != nil {
		return *x.RevokedBy
	}
	return ""
}

// Request to ping the registry service.
type PingRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingRequest) Reset() {
	*x = PingRequest{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PingRequest) ProtoMessage() {}

func (x *PingRequest) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[21]
	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 PingRequest.ProtoReflect.Descriptor instead.
func (*PingRequest) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{21}
}

// Response from ping endpoint.
type PingResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Message       string                 `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`     // Success message
	Timestamp     *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"` // Server timestamp
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PingResponse) Reset() {
	*x = PingResponse{}
	mi := &file_tars_registry_v1_registry_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*PingResponse) ProtoMessage() {}

func (x *PingResponse) ProtoReflect() protoreflect.Message {
	mi := &file_tars_registry_v1_registry_proto_msgTypes[22]
	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 PingResponse.ProtoReflect.Descriptor instead.
func (*PingResponse) Descriptor() ([]byte, []int) {
	return file_tars_registry_v1_registry_proto_rawDescGZIP(), []int{22}
}

func (x *PingResponse) GetMessage() string {
	if x != nil {
		return x.Message
	}
	return ""
}

func (x *PingResponse) GetTimestamp() *timestamppb.Timestamp {
	if x != nil {
		return x.Timestamp
	}
	return nil
}

var File_tars_registry_v1_registry_proto protoreflect.FileDescriptor

const file_tars_registry_v1_registry_proto_rawDesc = "" +
	"\n" +
	"\x1ftars/registry/v1/registry.proto\x12\x10tars.registry.v1\x1a\x1bbuf/validate/validate.proto\x1a\x1cgoogle/api/annotations.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1ftars/auth/v1/auth_options.proto\x1a\x17tars/docs/v1/docs.proto\"\xc6\x05\n" +
	"\x1dRegisterServiceAccountRequest\x12K\n" +
	"\vcustomer_id\x18\x01 \x01(\tB*\xbaH'r%\x10\x01\x18?2\x1f^[a-z0-9]([a-z0-9-]*[a-z0-9])?$R\n" +
	"customerId\x12@\n" +
	"\fworkspace_id\x18\x02 \x01(\tB\x1d\xbaH\x1ar\x18\x10\x01\x18\xfd\x012\x11^[a-zA-Z0-9-_.]+$R\vworkspaceId\x12*\n" +
	"\fclient_email\x18\x03 \x01(\tB\a\xbaH\x04r\x02`\x01R\vclientEmail\x120\n" +
	"\x0eprivate_key_id\x18\x04 \x01(\tB\n" +
	"\xbaH\ar\x05\x10\x01\x18\x80\x02R\fprivateKeyId\x12\"\n" +
	"\x06issuer\x18\x05 \x01(\tB\n" +
	"\xbaH\ar\x05\x10\x01\x18\xfd\x01R\x06issuer\x12&\n" +
	"\baudience\x18\x06 \x01(\tB\n" +
	"\xbaH\ar\x05\x10\x01\x18\xfd\x01R\baudience\x12(\n" +
	"\bjwks_uri\x18\a \x01(\tB\b\xbaH\x05r\x03\x88\x01\x01H\x00R\ajwksUri\x88\x01\x01\x121\n" +
	"\x06scopes\x18\b \x03(\tB\x19\xbaH\x16\x92\x01\x13\x10\n" +
	"\"\x0fr\r\x1822\t^[a-z_]+$R\x06scopes\x12A\n" +
	"\n" +
	"expires_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampB\x06\xbaH\x03\xc8\x01\x01R\texpiresAt\x12F\n" +
	"\vpublic_keys\x18\n" +
	" \x03(\v2\x1b.tars.registry.v1.PublicKeyB\b\xbaH\x05\x92\x01\x02\b\x01R\n" +
	"publicKeys\x12\x1f\n" +
	"\bchecksum\x18\v \x01(\tH\x01R\bchecksum\x88\x01\x01\x122\n" +
	"\x12checksum_algorithm\x18\f \x01(\tH\x02R\x11checksumAlgorithm\x88\x01\x01B\v\n" +
	"\t_jwks_uriB\v\n" +
	"\t_checksumB\x15\n" +
	"\x13_checksum_algorithm\"\x85\x01\n" +
	"\x1eRegisterServiceAccountResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
	"\n" +
	"created_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\"i\n" +
	"\x1bRevokeServiceAccountRequest\x12\x18\n" +
	"\x02id\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12%\n" +
	"\x06reason\x18\x02 \x01(\tB\b\xbaH\x05r\x03\x18\xf4\x03H\x00R\x06reason\x88\x01\x01B\t\n" +
	"\a_reason\"\x83\x01\n" +
	"\x1cRevokeServiceAccountResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
	"\n" +
	"revoked_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\trevokedAt\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\"4\n" +
	"\x18GetServiceAccountRequest\x12\x18\n" +
	"\x02id\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x02id\"j\n" +
	"\x19GetServiceAccountResponse\x12M\n" +
	"\x0fservice_account\x18\x01 \x01(\v2$.tars.registry.v1.ServiceAccountInfoR\x0eserviceAccount\"\xde\x01\n" +
	"\x1bLookupServiceAccountRequest\x12K\n" +
	"\vcustomer_id\x18\x01 \x01(\tB*\xbaH'r%\x10\x01\x18?2\x1f^[a-z0-9]([a-z0-9-]*[a-z0-9])?$R\n" +
	"customerId\x12@\n" +
	"\fworkspace_id\x18\x02 \x01(\tB\x1d\xbaH\x1ar\x18\x10\x01\x18\xfd\x012\x11^[a-zA-Z0-9-_.]+$R\vworkspaceId\x120\n" +
	"\x0eprivate_key_id\x18\x03 \x01(\tB\n" +
	"\xbaH\ar\x05\x10\x01\x18\x80\x02R\fprivateKeyId\"m\n" +
	"\x1cLookupServiceAccountResponse\x12M\n" +
	"\x0fservice_account\x18\x01 \x01(\v2$.tars.registry.v1.ServiceAccountInfoR\x0eserviceAccount\"\xef\x02\n" +
	"\x1aListServiceAccountsRequest\x12N\n" +
	"\vcustomer_id\x18\x01 \x01(\tB(\xbaH%r#\x18?2\x1f^[a-z0-9]([a-z0-9-]*[a-z0-9])?$H\x00R\n" +
	"customerId\x88\x01\x01\x12C\n" +
	"\fworkspace_id\x18\x02 \x01(\tB\x1b\xbaH\x18r\x16\x18\xfd\x012\x11^[a-zA-Z0-9-_.]+$H\x01R\vworkspaceId\x88\x01\x01\x12,\n" +
	"\x0finclude_revoked\x18\x03 \x01(\bH\x02R\x0eincludeRevoked\x88\x01\x01\x12&\n" +
	"\tpage_size\x18\x04 \x01(\x05B\t\xbaH\x06\x1a\x04\x18d(\x01R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x05 \x01(\tH\x03R\tpageToken\x88\x01\x01B\x0e\n" +
	"\f_customer_idB\x0f\n" +
	"\r_workspace_idB\x12\n" +
	"\x10_include_revokedB\r\n" +
	"\v_page_token\"\xd0\x01\n" +
	"\x1bListServiceAccountsResponse\x12O\n" +
	"\x10service_accounts\x18\x01 \x03(\v2$.tars.registry.v1.ServiceAccountInfoR\x0fserviceAccounts\x12+\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01\x12\x1f\n" +
	"\vtotal_count\x18\x03 \x01(\x05R\n" +
	"totalCountB\x12\n" +
	"\x10_next_page_token\"\\\n" +
	"\"GetServiceAccountPublicKeysRequest\x126\n" +
	"\x12service_account_id\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x10serviceAccountId\"c\n" +
	"#GetServiceAccountPublicKeysResponse\x12<\n" +
	"\vpublic_keys\x18\x01 \x03(\v2\x1b.tars.registry.v1.PublicKeyR\n" +
	"publicKeys\"\xa7\x05\n" +
	"\x12ServiceAccountInfo\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
	"\vcustomer_id\x18\x02 \x01(\tR\n" +
	"customerId\x12!\n" +
	"\fworkspace_id\x18\x03 \x01(\tR\vworkspaceId\x12!\n" +
	"\fclient_email\x18\x04 \x01(\tR\vclientEmail\x12$\n" +
	"\x0eprivate_key_id\x18\x05 \x01(\tR\fprivateKeyId\x12\x16\n" +
	"\x06issuer\x18\x06 \x01(\tR\x06issuer\x12\x1a\n" +
	"\baudience\x18\a \x01(\tR\baudience\x12\x1e\n" +
	"\bjwks_uri\x18\b \x01(\tH\x00R\ajwksUri\x88\x01\x01\x12\x16\n" +
	"\x06scopes\x18\t \x03(\tR\x06scopes\x129\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
	"\n" +
	"expires_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\texpiresAt\x12>\n" +
	"\n" +
	"revoked_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampH\x01R\trevokedAt\x88\x01\x01\x12*\n" +
	"\x0erevoked_reason\x18\r \x01(\tH\x02R\rrevokedReason\x88\x01\x01\x12\x1f\n" +
	"\bchecksum\x18\x0e \x01(\tH\x03R\bchecksum\x88\x01\x01\x122\n" +
	"\x12checksum_algorithm\x18\x0f \x01(\tH\x04R\x11checksumAlgorithm\x88\x01\x01B\v\n" +
	"\t_jwks_uriB\r\n" +
	"\v_revoked_atB\x11\n" +
	"\x0f_revoked_reasonB\v\n" +
	"\t_checksumB\x15\n" +
	"\x13_checksum_algorithm\"\xd7\x01\n" +
	"\tPublicKey\x12\x1c\n" +
	"\x03kid\x18\x01 \x01(\tB\n" +
	"\xbaH\ar\x05\x10\x01\x18\x80\x02R\x03kid\x12,\n" +
	"\x03alg\x18\x02 \x01(\tB\x1a\xbaH\x17r\x15R\x05ES256R\x05ES384R\x05ES512R\x03alg\x12!\n" +
	"\x03use\x18\x03 \x01(\tB\x0f\xbaH\fr\n" +
	"R\x03sigR\x03encR\x03use\x12 \n" +
	"\akey_pem\x18\x04 \x01(\tB\a\xbaH\x04r\x02\x10\x01R\x06keyPem\x129\n" +
	"\n" +
	"created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\"\xc5\x02\n" +
	"\x1fCreateRegistryCredentialRequest\x12K\n" +
	"\vcustomer_id\x18\x01 \x01(\tB*\xbaH'r%\x10\x01\x18?2\x1f^[a-z0-9]([a-z0-9-]*[a-z0-9])?$R\n" +
	"customerId\x12@\n" +
	"\fworkspace_id\x18\x02 \x01(\tB\x1d\xbaH\x1ar\x18\x10\x01\x18\xfd\x012\x11^[a-zA-Z0-9-_.]+$R\vworkspaceId\x12,\n" +
	"\vdescription\x18\x03 \x01(\tB\n" +
	"\xbaH\ar\x05\x10\x01\x18\xc8\x01R\vdescription\x12>\n" +
	"\n" +
	"expires_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12\x16\n" +
	"\x06scopes\x18\x05 \x03(\tR\x06scopesB\r\n" +
	"\v_expires_at\"\xbf\x01\n" +
	" CreateRegistryCredentialResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
	"\busername\x18\x02 \x01(\tR\busername\x12\x1a\n" +
	"\bpassword\x18\x03 \x01(\tR\bpassword\x129\n" +
	"\n" +
	"created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x18\n" +
	"\amessage\x18\x05 \x01(\tR\amessage\"\xf3\x02\n" +
	"\x1eListRegistryCredentialsRequest\x12N\n" +
	"\vcustomer_id\x18\x01 \x01(\tB(\xbaH%r#\x18?2\x1f^[a-z0-9]([a-z0-9-]*[a-z0-9])?$H\x00R\n" +
	"customerId\x88\x01\x01\x12C\n" +
	"\fworkspace_id\x18\x02 \x01(\tB\x1b\xbaH\x18r\x16\x18\xfd\x012\x11^[a-zA-Z0-9-_.]+$H\x01R\vworkspaceId\x88\x01\x01\x12,\n" +
	"\x0finclude_revoked\x18\x03 \x01(\bH\x02R\x0eincludeRevoked\x88\x01\x01\x12&\n" +
	"\tpage_size\x18\x04 \x01(\x05B\t\xbaH\x06\x1a\x04\x18d(\x01R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x05 \x01(\tH\x03R\tpageToken\x88\x01\x01B\x0e\n" +
	"\f_customer_idB\x0f\n" +
	"\r_workspace_idB\x12\n" +
	"\x10_include_revokedB\r\n" +
	"\v_page_token\"\xcf\x01\n" +
	"\x1fListRegistryCredentialsResponse\x12J\n" +
	"\vcredentials\x18\x01 \x03(\v2(.tars.registry.v1.RegistryCredentialInfoR\vcredentials\x12+\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tH\x00R\rnextPageToken\x88\x01\x01\x12\x1f\n" +
	"\vtotal_count\x18\x03 \x01(\x05R\n" +
	"totalCountB\x12\n" +
	"\x10_next_page_token\"m\n" +
	"\x1fRevokeRegistryCredentialRequest\x12\x18\n" +
	"\x02id\x18\x01 \x01(\tB\b\xbaH\x05r\x03\xb0\x01\x01R\x02id\x12%\n" +
	"\x06reason\x18\x02 \x01(\tB\b\xbaH\x05r\x03\x18\xf4\x03H\x00R\x06reason\x88\x01\x01B\t\n" +
	"\a_reason\"\x87\x01\n" +
	" RevokeRegistryCredentialResponse\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x129\n" +
	"\n" +
	"revoked_at\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\trevokedAt\x12\x18\n" +
	"\amessage\x18\x03 \x01(\tR\amessage\"\x80\x05\n" +
	"\x16RegistryCredentialInfo\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12\x1f\n" +
	"\vcustomer_id\x18\x02 \x01(\tR\n" +
	"customerId\x12!\n" +
	"\fworkspace_id\x18\x03 \x01(\tR\vworkspaceId\x12\x1a\n" +
	"\busername\x18\x04 \x01(\tR\busername\x12 \n" +
	"\vdescription\x18\x05 \x01(\tR\vdescription\x12\x16\n" +
	"\x06scopes\x18\x06 \x03(\tR\x06scopes\x129\n" +
	"\n" +
	"created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"created_by\x18\b \x01(\tR\tcreatedBy\x12>\n" +
	"\n" +
	"expires_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampH\x00R\texpiresAt\x88\x01\x01\x12A\n" +
	"\flast_used_at\x18\n" +
	" \x01(\v2\x1a.google.protobuf.TimestampH\x01R\n" +
	"lastUsedAt\x88\x01\x01\x12>\n" +
	"\n" +
	"revoked_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampH\x02R\trevokedAt\x88\x01\x01\x12*\n" +
	"\x0erevoked_reason\x18\f \x01(\tH\x03R\rrevokedReason\x88\x01\x01\x12\"\n" +
	"\n" +
	"revoked_by\x18\r \x01(\tH\x04R\trevokedBy\x88\x01\x01B\r\n" +
	"\v_expires_atB\x0f\n" +
	"\r_last_used_atB\r\n" +
	"\v_revoked_atB\x11\n" +
	"\x0f_revoked_reasonB\r\n" +
	"\v_revoked_by\"\r\n" +
	"\vPingRequest\"b\n" +
	"\fPingResponse\x12\x18\n" +
	"\amessage\x18\x01 \x01(\tR\amessage\x128\n" +
	"\ttimestamp\x18\x02 \x01(\v2\x1a.google.protobuf.TimestampR\ttimestamp2\xc7\x0e\n" +
	"\x0fRegistryService\x12\xb3\x01\n" +
	"\x16RegisterServiceAccount\x12/.tars.registry.v1.RegisterServiceAccountRequest\x1a0.tars.registry.v1.RegisterServiceAccountResponse\"6\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02\":\x01*\"\x1d/registry/v1/service-accounts\x12\xb9\x01\n" +
	"\x14RevokeServiceAccount\x12-.tars.registry.v1.RevokeServiceAccountRequest\x1a..tars.registry.v1.RevokeServiceAccountResponse\"B\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02.:\x01*\")/registry/v1/service-accounts/{id}:revoke\x12\xa9\x01\n" +
	"\x11GetServiceAccount\x12*.tars.registry.v1.GetServiceAccountRequest\x1a+.tars.registry.v1.GetServiceAccountResponse\";\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02$\x12\"/registry/v1/service-accounts/{id}\x90\x02\x01\x12\xdb\x01\n" +
	"\x14LookupServiceAccount\x12-.tars.registry.v1.LookupServiceAccountRequest\x1a..tars.registry.v1.LookupServiceAccountResponse\"d\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02M\x12K/registry/v1/service-accounts/{customer_id}/{workspace_id}/{private_key_id}\x90\x02\x01\x12\xaa\x01\n" +
	"\x13ListServiceAccounts\x12,.tars.registry.v1.ListServiceAccountsRequest\x1a-.tars.registry.v1.ListServiceAccountsResponse\"6\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02\x1f\x12\x1d/registry/v1/service-accounts\x90\x02\x01\x12\xe3\x01\n" +
	"\x1bGetServiceAccountPublicKeys\x124.tars.registry.v1.GetServiceAccountPublicKeysRequest\x1a5.tars.registry.v1.GetServiceAccountPublicKeysResponse\"W\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02@\x12>/registry/v1/service-accounts/{service_account_id}/public-keys\x90\x02\x01\x12\xb4\x01\n" +
	"\x18CreateRegistryCredential\x121.tars.registry.v1.CreateRegistryCredentialRequest\x1a2.tars.registry.v1.CreateRegistryCredentialResponse\"1\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02\x1d:\x01*\"\x18/registry/v1/credentials\x12\xb1\x01\n" +
	"\x17ListRegistryCredentials\x120.tars.registry.v1.ListRegistryCredentialsRequest\x1a1.tars.registry.v1.ListRegistryCredentialsResponse\"1\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02\x1a\x12\x18/registry/v1/credentials\x90\x02\x01\x12\xc0\x01\n" +
	"\x18RevokeRegistryCredential\x121.tars.registry.v1.RevokeRegistryCredentialRequest\x1a2.tars.registry.v1.RevokeRegistryCredentialResponse\"=\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02):\x01*\"$/registry/v1/credentials/{id}:revoke\x12q\n" +
	"\x04Ping\x12\x1d.tars.registry.v1.PingRequest\x1a\x1e.tars.registry.v1.PingResponse\"*\x8a\xb5\x18\n" +
	"\n" +
	"\x01\x01\x12\x05admin\x82\xd3\xe4\x93\x02\x13\x12\x11/registry/v1/ping\x90\x02\x01\x1a\x04\xa0\xb5\x18\x01B\xc4\x01\n" +
	"\x14com.tars.registry.v1B\rRegistryProtoP\x01Z;github.com/tetrateio/fraser/api/tars/registry/v1;registryv1\xa2\x02\x03TRX\xaa\x02\x10Tars.Registry.V1\xca\x02\x10Tars\\Registry\\V1\xe2\x02\x1cTars\\Registry\\V1\\GPBMetadata\xea\x02\x12Tars::Registry::V1b\x06proto3"

var (
	file_tars_registry_v1_registry_proto_rawDescOnce sync.Once
	file_tars_registry_v1_registry_proto_rawDescData []byte
)

func file_tars_registry_v1_registry_proto_rawDescGZIP() []byte {
	file_tars_registry_v1_registry_proto_rawDescOnce.Do(func() {
		file_tars_registry_v1_registry_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_tars_registry_v1_registry_proto_rawDesc), len(file_tars_registry_v1_registry_proto_rawDesc)))
	})
	return file_tars_registry_v1_registry_proto_rawDescData
}

var file_tars_registry_v1_registry_proto_msgTypes = make([]protoimpl.MessageInfo, 23)
var file_tars_registry_v1_registry_proto_goTypes = []any{
	(*RegisterServiceAccountRequest)(nil),       // 0: tars.registry.v1.RegisterServiceAccountRequest
	(*RegisterServiceAccountResponse)(nil),      // 1: tars.registry.v1.RegisterServiceAccountResponse
	(*RevokeServiceAccountRequest)(nil),         // 2: tars.registry.v1.RevokeServiceAccountRequest
	(*RevokeServiceAccountResponse)(nil),        // 3: tars.registry.v1.RevokeServiceAccountResponse
	(*GetServiceAccountRequest)(nil),            // 4: tars.registry.v1.GetServiceAccountRequest
	(*GetServiceAccountResponse)(nil),           // 5: tars.registry.v1.GetServiceAccountResponse
	(*LookupServiceAccountRequest)(nil),         // 6: tars.registry.v1.LookupServiceAccountRequest
	(*LookupServiceAccountResponse)(nil),        // 7: tars.registry.v1.LookupServiceAccountResponse
	(*ListServiceAccountsRequest)(nil),          // 8: tars.registry.v1.ListServiceAccountsRequest
	(*ListServiceAccountsResponse)(nil),         // 9: tars.registry.v1.ListServiceAccountsResponse
	(*GetServiceAccountPublicKeysRequest)(nil),  // 10: tars.registry.v1.GetServiceAccountPublicKeysRequest
	(*GetServiceAccountPublicKeysResponse)(nil), // 11: tars.registry.v1.GetServiceAccountPublicKeysResponse
	(*ServiceAccountInfo)(nil),                  // 12: tars.registry.v1.ServiceAccountInfo
	(*PublicKey)(nil),                           // 13: tars.registry.v1.PublicKey
	(*CreateRegistryCredentialRequest)(nil),     // 14: tars.registry.v1.CreateRegistryCredentialRequest
	(*CreateRegistryCredentialResponse)(nil),    // 15: tars.registry.v1.CreateRegistryCredentialResponse
	(*ListRegistryCredentialsRequest)(nil),      // 16: tars.registry.v1.ListRegistryCredentialsRequest
	(*ListRegistryCredentialsResponse)(nil),     // 17: tars.registry.v1.ListRegistryCredentialsResponse
	(*RevokeRegistryCredentialRequest)(nil),     // 18: tars.registry.v1.RevokeRegistryCredentialRequest
	(*RevokeRegistryCredentialResponse)(nil),    // 19: tars.registry.v1.RevokeRegistryCredentialResponse
	(*RegistryCredentialInfo)(nil),              // 20: tars.registry.v1.RegistryCredentialInfo
	(*PingRequest)(nil),                         // 21: tars.registry.v1.PingRequest
	(*PingResponse)(nil),                        // 22: tars.registry.v1.PingResponse
	(*timestamppb.Timestamp)(nil),               // 23: google.protobuf.Timestamp
}
var file_tars_registry_v1_registry_proto_depIdxs = []int32{
	23, // 0: tars.registry.v1.RegisterServiceAccountRequest.expires_at:type_name -> google.protobuf.Timestamp
	13, // 1: tars.registry.v1.RegisterServiceAccountRequest.public_keys:type_name -> tars.registry.v1.PublicKey
	23, // 2: tars.registry.v1.RegisterServiceAccountResponse.created_at:type_name -> google.protobuf.Timestamp
	23, // 3: tars.registry.v1.RevokeServiceAccountResponse.revoked_at:type_name -> google.protobuf.Timestamp
	12, // 4: tars.registry.v1.GetServiceAccountResponse.service_account:type_name -> tars.registry.v1.ServiceAccountInfo
	12, // 5: tars.registry.v1.LookupServiceAccountResponse.service_account:type_name -> tars.registry.v1.ServiceAccountInfo
	12, // 6: tars.registry.v1.ListServiceAccountsResponse.service_accounts:type_name -> tars.registry.v1.ServiceAccountInfo
	13, // 7: tars.registry.v1.GetServiceAccountPublicKeysResponse.public_keys:type_name -> tars.registry.v1.PublicKey
	23, // 8: tars.registry.v1.ServiceAccountInfo.created_at:type_name -> google.protobuf.Timestamp
	23, // 9: tars.registry.v1.ServiceAccountInfo.expires_at:type_name -> google.protobuf.Timestamp
	23, // 10: tars.registry.v1.ServiceAccountInfo.revoked_at:type_name -> google.protobuf.Timestamp
	23, // 11: tars.registry.v1.PublicKey.created_at:type_name -> google.protobuf.Timestamp
	23, // 12: tars.registry.v1.CreateRegistryCredentialRequest.expires_at:type_name -> google.protobuf.Timestamp
	23, // 13: tars.registry.v1.CreateRegistryCredentialResponse.created_at:type_name -> google.protobuf.Timestamp
	20, // 14: tars.registry.v1.ListRegistryCredentialsResponse.credentials:type_name -> tars.registry.v1.RegistryCredentialInfo
	23, // 15: tars.registry.v1.RevokeRegistryCredentialResponse.revoked_at:type_name -> google.protobuf.Timestamp
	23, // 16: tars.registry.v1.RegistryCredentialInfo.created_at:type_name -> google.protobuf.Timestamp
	23, // 17: tars.registry.v1.RegistryCredentialInfo.expires_at:type_name -> google.protobuf.Timestamp
	23, // 18: tars.registry.v1.RegistryCredentialInfo.last_used_at:type_name -> google.protobuf.Timestamp
	23, // 19: tars.registry.v1.RegistryCredentialInfo.revoked_at:type_name -> google.protobuf.Timestamp
	23, // 20: tars.registry.v1.PingResponse.timestamp:type_name -> google.protobuf.Timestamp
	0,  // 21: tars.registry.v1.RegistryService.RegisterServiceAccount:input_type -> tars.registry.v1.RegisterServiceAccountRequest
	2,  // 22: tars.registry.v1.RegistryService.RevokeServiceAccount:input_type -> tars.registry.v1.RevokeServiceAccountRequest
	4,  // 23: tars.registry.v1.RegistryService.GetServiceAccount:input_type -> tars.registry.v1.GetServiceAccountRequest
	6,  // 24: tars.registry.v1.RegistryService.LookupServiceAccount:input_type -> tars.registry.v1.LookupServiceAccountRequest
	8,  // 25: tars.registry.v1.RegistryService.ListServiceAccounts:input_type -> tars.registry.v1.ListServiceAccountsRequest
	10, // 26: tars.registry.v1.RegistryService.GetServiceAccountPublicKeys:input_type -> tars.registry.v1.GetServiceAccountPublicKeysRequest
	14, // 27: tars.registry.v1.RegistryService.CreateRegistryCredential:input_type -> tars.registry.v1.CreateRegistryCredentialRequest
	16, // 28: tars.registry.v1.RegistryService.ListRegistryCredentials:input_type -> tars.registry.v1.ListRegistryCredentialsRequest
	18, // 29: tars.registry.v1.RegistryService.RevokeRegistryCredential:input_type -> tars.registry.v1.RevokeRegistryCredentialRequest
	21, // 30: tars.registry.v1.RegistryService.Ping:input_type -> tars.registry.v1.PingRequest
	1,  // 31: tars.registry.v1.RegistryService.RegisterServiceAccount:output_type -> tars.registry.v1.RegisterServiceAccountResponse
	3,  // 32: tars.registry.v1.RegistryService.RevokeServiceAccount:output_type -> tars.registry.v1.RevokeServiceAccountResponse
	5,  // 33: tars.registry.v1.RegistryService.GetServiceAccount:output_type -> tars.registry.v1.GetServiceAccountResponse
	7,  // 34: tars.registry.v1.RegistryService.LookupServiceAccount:output_type -> tars.registry.v1.LookupServiceAccountResponse
	9,  // 35: tars.registry.v1.RegistryService.ListServiceAccounts:output_type -> tars.registry.v1.ListServiceAccountsResponse
	11, // 36: tars.registry.v1.RegistryService.GetServiceAccountPublicKeys:output_type -> tars.registry.v1.GetServiceAccountPublicKeysResponse
	15, // 37: tars.registry.v1.RegistryService.CreateRegistryCredential:output_type -> tars.registry.v1.CreateRegistryCredentialResponse
	17, // 38: tars.registry.v1.RegistryService.ListRegistryCredentials:output_type -> tars.registry.v1.ListRegistryCredentialsResponse
	19, // 39: tars.registry.v1.RegistryService.RevokeRegistryCredential:output_type -> tars.registry.v1.RevokeRegistryCredentialResponse
	22, // 40: tars.registry.v1.RegistryService.Ping:output_type -> tars.registry.v1.PingResponse
	31, // [31:41] is the sub-list for method output_type
	21, // [21:31] is the sub-list for method input_type
	21, // [21:21] is the sub-list for extension type_name
	21, // [21:21] is the sub-list for extension extendee
	0,  // [0:21] is the sub-list for field type_name
}

func init() { file_tars_registry_v1_registry_proto_init() }
func file_tars_registry_v1_registry_proto_init() {
	if File_tars_registry_v1_registry_proto != nil {
		return
	}
	file_tars_registry_v1_registry_proto_msgTypes[0].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[2].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[8].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[9].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[12].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[14].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[16].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[17].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[18].OneofWrappers = []any{}
	file_tars_registry_v1_registry_proto_msgTypes[20].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_tars_registry_v1_registry_proto_rawDesc), len(file_tars_registry_v1_registry_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   23,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_tars_registry_v1_registry_proto_goTypes,
		DependencyIndexes: file_tars_registry_v1_registry_proto_depIdxs,
		MessageInfos:      file_tars_registry_v1_registry_proto_msgTypes,
	}.Build()
	File_tars_registry_v1_registry_proto = out.File
	file_tars_registry_v1_registry_proto_goTypes = nil
	file_tars_registry_v1_registry_proto_depIdxs = nil
}
