blob: 5092709fe3a3e7e472bc4c9bc6e1ef3514b6dee2 [file] [log] [blame]
// Copyright 2016 The LUCI Authors. All rights reserved.
// Use of this source code is governed under the Apache License, Version 2.0
// that can be found in the LICENSE file.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.25.0-devel
// protoc v3.12.1
// source: go.chromium.org/luci/tokenserver/api/admin/v1/admin.proto
package admin
import (
messages "go.chromium.org/luci/server/auth/delegation/messages"
api "go.chromium.org/luci/tokenserver/api"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
emptypb "google.golang.org/protobuf/types/known/emptypb"
reflect "reflect"
sync "sync"
)
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)
)
// ImportedConfigs is returned by Import<something>Configs methods on success.
type ImportedConfigs struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The revision of the configs that are now in the datastore.
//
// It's either the imported revision, if configs change, or a previously known
// revision, if configs at HEAD are same.
Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"`
}
func (x *ImportedConfigs) Reset() {
*x = ImportedConfigs{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ImportedConfigs) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ImportedConfigs) ProtoMessage() {}
func (x *ImportedConfigs) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use ImportedConfigs.ProtoReflect.Descriptor instead.
func (*ImportedConfigs) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{0}
}
func (x *ImportedConfigs) GetRevision() string {
if x != nil {
return x.Revision
}
return ""
}
// InspectMachineTokenRequest is body of InspectMachineToken RPC call.
//
// It contains machine token of some kind.
type InspectMachineTokenRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The type of token being checked.
//
// Currently only LUCI_MACHINE_TOKEN is supported. This is also the default.
TokenType api.MachineTokenType `protobuf:"varint,1,opt,name=token_type,json=tokenType,proto3,enum=tokenserver.MachineTokenType" json:"token_type,omitempty"`
// The token body. Exact meaning depends on token_type.
Token string `protobuf:"bytes,2,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *InspectMachineTokenRequest) Reset() {
*x = InspectMachineTokenRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InspectMachineTokenRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectMachineTokenRequest) ProtoMessage() {}
func (x *InspectMachineTokenRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[1]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectMachineTokenRequest.ProtoReflect.Descriptor instead.
func (*InspectMachineTokenRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{1}
}
func (x *InspectMachineTokenRequest) GetTokenType() api.MachineTokenType {
if x != nil {
return x.TokenType
}
return api.MachineTokenType_UNKNOWN_TYPE
}
func (x *InspectMachineTokenRequest) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
// InspectMachineTokenResponse is return value of InspectMachineToken RPC call.
type InspectMachineTokenResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// True if the token is valid.
//
// A token is valid if its signature is correct, it hasn't expired yet and
// the credentials it was built from (e.g. a certificate) wasn't revoked.
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
// Human readable summary of why token is invalid.
//
// Summarizes the rest of the fields of this struct. Set only if 'valid' is
// false.
InvalidityReason string `protobuf:"bytes,2,opt,name=invalidity_reason,json=invalidityReason,proto3" json:"invalidity_reason,omitempty"`
// True if the token signature was verified.
//
// It means the token was generated by the token server and its body is not
// a garbage. Note that a token can be correctly signed, but invalid (if it
// has expired or was revoked).
//
// If 'signed' is false, the fields below may (or may not) be a garbage.
//
// The token server uses private keys managed by Google Cloud Platform, they
// are constantly being rotated and "old" signatures become invalid over time
// (when corresponding keys are rotated out of existence).
//
// If 'signed' is false, use the rest of the response only as FYI, possibly
// invalid or even maliciously constructed.
Signed bool `protobuf:"varint,3,opt,name=signed,proto3" json:"signed,omitempty"`
// True if the token signature was verified and token hasn't expired yet.
//
// We use "non_" prefix to make default 'false' value safer.
NonExpired bool `protobuf:"varint,4,opt,name=non_expired,json=nonExpired,proto3" json:"non_expired,omitempty"`
// True if the token signature was verified and the token wasn't revoked.
//
// It is possible for an expired token to be non revoked. They are independent
// properties.
//
// We use "non_" prefix to make default 'false' value safer.
NonRevoked bool `protobuf:"varint,5,opt,name=non_revoked,json=nonRevoked,proto3" json:"non_revoked,omitempty"`
// Id of a private key used to sign this token, if applicable.
SigningKeyId string `protobuf:"bytes,6,opt,name=signing_key_id,json=signingKeyId,proto3" json:"signing_key_id,omitempty"`
// Name of a CA that issued the cert the token is based on, if applicable.
//
// Resolved from 'ca_id' field of the token body.
CertCaName string `protobuf:"bytes,7,opt,name=cert_ca_name,json=certCaName,proto3" json:"cert_ca_name,omitempty"`
// The decoded token body (depends on token_type request parameter). Empty if
// token was malformed and couldn't be deserialized.
//
// Types that are assignable to TokenType:
// *InspectMachineTokenResponse_LuciMachineToken
TokenType isInspectMachineTokenResponse_TokenType `protobuf_oneof:"token_type"`
}
func (x *InspectMachineTokenResponse) Reset() {
*x = InspectMachineTokenResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InspectMachineTokenResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectMachineTokenResponse) ProtoMessage() {}
func (x *InspectMachineTokenResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectMachineTokenResponse.ProtoReflect.Descriptor instead.
func (*InspectMachineTokenResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{2}
}
func (x *InspectMachineTokenResponse) GetValid() bool {
if x != nil {
return x.Valid
}
return false
}
func (x *InspectMachineTokenResponse) GetInvalidityReason() string {
if x != nil {
return x.InvalidityReason
}
return ""
}
func (x *InspectMachineTokenResponse) GetSigned() bool {
if x != nil {
return x.Signed
}
return false
}
func (x *InspectMachineTokenResponse) GetNonExpired() bool {
if x != nil {
return x.NonExpired
}
return false
}
func (x *InspectMachineTokenResponse) GetNonRevoked() bool {
if x != nil {
return x.NonRevoked
}
return false
}
func (x *InspectMachineTokenResponse) GetSigningKeyId() string {
if x != nil {
return x.SigningKeyId
}
return ""
}
func (x *InspectMachineTokenResponse) GetCertCaName() string {
if x != nil {
return x.CertCaName
}
return ""
}
func (m *InspectMachineTokenResponse) GetTokenType() isInspectMachineTokenResponse_TokenType {
if m != nil {
return m.TokenType
}
return nil
}
func (x *InspectMachineTokenResponse) GetLuciMachineToken() *api.MachineTokenBody {
if x, ok := x.GetTokenType().(*InspectMachineTokenResponse_LuciMachineToken); ok {
return x.LuciMachineToken
}
return nil
}
type isInspectMachineTokenResponse_TokenType interface {
isInspectMachineTokenResponse_TokenType()
}
type InspectMachineTokenResponse_LuciMachineToken struct {
LuciMachineToken *api.MachineTokenBody `protobuf:"bytes,20,opt,name=luci_machine_token,json=luciMachineToken,proto3,oneof"`
}
func (*InspectMachineTokenResponse_LuciMachineToken) isInspectMachineTokenResponse_TokenType() {}
// InspectDelegationTokenRequest is body of InspectDelegationToken RPC call.
type InspectDelegationTokenRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The token body.
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *InspectDelegationTokenRequest) Reset() {
*x = InspectDelegationTokenRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InspectDelegationTokenRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectDelegationTokenRequest) ProtoMessage() {}
func (x *InspectDelegationTokenRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectDelegationTokenRequest.ProtoReflect.Descriptor instead.
func (*InspectDelegationTokenRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{3}
}
func (x *InspectDelegationTokenRequest) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
// InspectDelegationTokenResponse is return value of InspectDelegationToken RPC.
type InspectDelegationTokenResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// True if the token is valid.
//
// A token is valid if its signature is correct and it hasn't expired yet.
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
// Human readable summary of why token is invalid.
//
// Summarizes the rest of the fields of this struct. Set only if 'valid' is
// false.
InvalidityReason string `protobuf:"bytes,2,opt,name=invalidity_reason,json=invalidityReason,proto3" json:"invalidity_reason,omitempty"`
// True if the token signature was verified.
//
// It means the token was generated by the token server and its body is not
// a garbage. Note that a token can be correctly signed, but invalid (if it
// has expired).
//
// If 'signed' is false, the fields below may (or may not) be a garbage.
//
// The token server uses private keys managed by Google Cloud Platform, they
// are constantly being rotated and "old" signatures become invalid over time
// (when corresponding keys are rotated out of existence).
//
// If 'signed' is false, use the rest of the response only as FYI, possibly
// invalid or even maliciously constructed.
Signed bool `protobuf:"varint,3,opt,name=signed,proto3" json:"signed,omitempty"`
// True if the token signature was verified and token hasn't expired yet.
//
// We use "non_" prefix to make default 'false' value safer.
NonExpired bool `protobuf:"varint,4,opt,name=non_expired,json=nonExpired,proto3" json:"non_expired,omitempty"`
// The deserialized token envelope.
//
// May be empty if token was malformed and couldn't be deserialized.
Envelope *messages.DelegationToken `protobuf:"bytes,5,opt,name=envelope,proto3" json:"envelope,omitempty"`
// The deserialized token body (deserialized 'envelope.serialized_subtoken').
//
// May be empty if token was malformed and couldn't be deserialized.
Subtoken *messages.Subtoken `protobuf:"bytes,6,opt,name=subtoken,proto3" json:"subtoken,omitempty"`
}
func (x *InspectDelegationTokenResponse) Reset() {
*x = InspectDelegationTokenResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InspectDelegationTokenResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectDelegationTokenResponse) ProtoMessage() {}
func (x *InspectDelegationTokenResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectDelegationTokenResponse.ProtoReflect.Descriptor instead.
func (*InspectDelegationTokenResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{4}
}
func (x *InspectDelegationTokenResponse) GetValid() bool {
if x != nil {
return x.Valid
}
return false
}
func (x *InspectDelegationTokenResponse) GetInvalidityReason() string {
if x != nil {
return x.InvalidityReason
}
return ""
}
func (x *InspectDelegationTokenResponse) GetSigned() bool {
if x != nil {
return x.Signed
}
return false
}
func (x *InspectDelegationTokenResponse) GetNonExpired() bool {
if x != nil {
return x.NonExpired
}
return false
}
func (x *InspectDelegationTokenResponse) GetEnvelope() *messages.DelegationToken {
if x != nil {
return x.Envelope
}
return nil
}
func (x *InspectDelegationTokenResponse) GetSubtoken() *messages.Subtoken {
if x != nil {
return x.Subtoken
}
return nil
}
// InspectOAuthTokenGrantRequest is body of InspectOAuthTokenGrant RPC call.
type InspectOAuthTokenGrantRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// The token body.
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
}
func (x *InspectOAuthTokenGrantRequest) Reset() {
*x = InspectOAuthTokenGrantRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InspectOAuthTokenGrantRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectOAuthTokenGrantRequest) ProtoMessage() {}
func (x *InspectOAuthTokenGrantRequest) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[5]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectOAuthTokenGrantRequest.ProtoReflect.Descriptor instead.
func (*InspectOAuthTokenGrantRequest) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{5}
}
func (x *InspectOAuthTokenGrantRequest) GetToken() string {
if x != nil {
return x.Token
}
return ""
}
// InspectOAuthTokenGrantResponse is return value of InspectOAuthTokenGrant RPC.
type InspectOAuthTokenGrantResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// True if the token is valid.
//
// A token is valid if its signature is correct, it hasn't expired yet and
// token server rules still allow it.
Valid bool `protobuf:"varint,1,opt,name=valid,proto3" json:"valid,omitempty"`
// Human readable summary of why token is invalid.
//
// Summarizes the rest of the fields of this struct. Set only if 'valid' is
// false.
InvalidityReason string `protobuf:"bytes,2,opt,name=invalidity_reason,json=invalidityReason,proto3" json:"invalidity_reason,omitempty"`
// True if the token signature was verified.
//
// It means the token was generated by the token server and its body is not
// a garbage. Note that a token can be correctly signed, but invalid (if it
// has expired).
//
// If 'signed' is false, the fields below may (or may not) be a garbage.
//
// The token server uses private keys managed by Google Cloud Platform, they
// are constantly being rotated and "old" signatures become invalid over time
// (when corresponding keys are rotated out of existence).
//
// If 'signed' is false, use the rest of the response only as FYI, possibly
// invalid or even maliciously constructed.
Signed bool `protobuf:"varint,3,opt,name=signed,proto3" json:"signed,omitempty"`
// True if the token signature was verified and token hasn't expired yet.
//
// We use "non_" prefix to make default 'false' value safer.
NonExpired bool `protobuf:"varint,4,opt,name=non_expired,json=nonExpired,proto3" json:"non_expired,omitempty"`
// ID of a token server private key used to sign the token.
SigningKeyId string `protobuf:"bytes,5,opt,name=signing_key_id,json=signingKeyId,proto3" json:"signing_key_id,omitempty"`
// The deserialized token body.
//
// May be empty if token was malformed and couldn't be deserialized.
TokenBody *api.OAuthTokenGrantBody `protobuf:"bytes,6,opt,name=token_body,json=tokenBody,proto3" json:"token_body,omitempty"`
// The service_accounts.cfg rule that governs the service account usage.
//
// May be present even if the token is not allowed by it.
MatchingRule *ServiceAccountRule `protobuf:"bytes,7,opt,name=matching_rule,json=matchingRule,proto3" json:"matching_rule,omitempty"`
// True if current service_accounts.cfg rules allow this token.
AllowedByRules bool `protobuf:"varint,8,opt,name=allowed_by_rules,json=allowedByRules,proto3" json:"allowed_by_rules,omitempty"`
}
func (x *InspectOAuthTokenGrantResponse) Reset() {
*x = InspectOAuthTokenGrantResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *InspectOAuthTokenGrantResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*InspectOAuthTokenGrantResponse) ProtoMessage() {}
func (x *InspectOAuthTokenGrantResponse) ProtoReflect() protoreflect.Message {
mi := &file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use InspectOAuthTokenGrantResponse.ProtoReflect.Descriptor instead.
func (*InspectOAuthTokenGrantResponse) Descriptor() ([]byte, []int) {
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP(), []int{6}
}
func (x *InspectOAuthTokenGrantResponse) GetValid() bool {
if x != nil {
return x.Valid
}
return false
}
func (x *InspectOAuthTokenGrantResponse) GetInvalidityReason() string {
if x != nil {
return x.InvalidityReason
}
return ""
}
func (x *InspectOAuthTokenGrantResponse) GetSigned() bool {
if x != nil {
return x.Signed
}
return false
}
func (x *InspectOAuthTokenGrantResponse) GetNonExpired() bool {
if x != nil {
return x.NonExpired
}
return false
}
func (x *InspectOAuthTokenGrantResponse) GetSigningKeyId() string {
if x != nil {
return x.SigningKeyId
}
return ""
}
func (x *InspectOAuthTokenGrantResponse) GetTokenBody() *api.OAuthTokenGrantBody {
if x != nil {
return x.TokenBody
}
return nil
}
func (x *InspectOAuthTokenGrantResponse) GetMatchingRule() *ServiceAccountRule {
if x != nil {
return x.MatchingRule
}
return nil
}
func (x *InspectOAuthTokenGrantResponse) GetAllowedByRules() bool {
if x != nil {
return x.AllowedByRules
}
return false
}
var File_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto protoreflect.FileDescriptor
var file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDesc = []byte{
0x0a, 0x39, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x2f,
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x11, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x1a, 0x1b,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f,
0x65, 0x6d, 0x70, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x45, 0x67, 0x6f, 0x2e,
0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63,
0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65,
0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65,
0x73, 0x2f, 0x64, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e,
0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76,
0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38,
0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x3c, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x6f,
0x61, 0x75, 0x74, 0x68, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x67, 0x72, 0x61, 0x6e, 0x74,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x2d, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, 0x76,
0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x70, 0x0a, 0x1a, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x3c, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70,
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73,
0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70,
0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09,
0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xdf, 0x02, 0x0a, 0x1b, 0x49, 0x6e, 0x73, 0x70,
0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2b, 0x0a,
0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73,
0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x69, 0x74, 0x79, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69,
0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e,
0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65,
0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69,
0x72, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x76, 0x6f, 0x6b,
0x65, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x6f, 0x6e, 0x52, 0x65, 0x76,
0x6f, 0x6b, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f,
0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69,
0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0c, 0x63, 0x65,
0x72, 0x74, 0x5f, 0x63, 0x61, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09,
0x52, 0x0a, 0x63, 0x65, 0x72, 0x74, 0x43, 0x61, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4d, 0x0a, 0x12,
0x6c, 0x75, 0x63, 0x69, 0x5f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x42, 0x6f, 0x64, 0x79, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x75, 0x63, 0x69, 0x4d,
0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x42, 0x0c, 0x0a, 0x0a, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x35, 0x0a, 0x1d, 0x49, 0x6e, 0x73,
0x70, 0x65, 0x63, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x22, 0x83, 0x02, 0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x65, 0x6c, 0x65,
0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f,
0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
0x28, 0x08, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x76,
0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02,
0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79,
0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64,
0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x1f,
0x0a, 0x0b, 0x6e, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20,
0x01, 0x28, 0x08, 0x52, 0x0a, 0x6e, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12,
0x35, 0x0a, 0x08, 0x65, 0x6e, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28,
0x0b, 0x32, 0x19, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x44, 0x65, 0x6c,
0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x08, 0x65, 0x6e,
0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x12, 0x2e, 0x0a, 0x08, 0x73, 0x75, 0x62, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x65, 0x73, 0x73, 0x61,
0x67, 0x65, 0x73, 0x2e, 0x53, 0x75, 0x62, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x08, 0x73, 0x75,
0x62, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x35, 0x0a, 0x1d, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63,
0x74, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf9, 0x02,
0x0a, 0x1e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f,
0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52,
0x05, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x12, 0x2b, 0x0a, 0x11, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69,
0x64, 0x69, 0x74, 0x79, 0x5f, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28,
0x09, 0x52, 0x10, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x52, 0x65, 0x61,
0x73, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x18, 0x03, 0x20,
0x01, 0x28, 0x08, 0x52, 0x06, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6e,
0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08,
0x52, 0x0a, 0x6e, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x12, 0x24, 0x0a, 0x0e,
0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x05,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x69, 0x67, 0x6e, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79,
0x49, 0x64, 0x12, 0x3f, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x62, 0x6f, 0x64, 0x79,
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65,
0x72, 0x76, 0x65, 0x72, 0x2e, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47,
0x72, 0x61, 0x6e, 0x74, 0x42, 0x6f, 0x64, 0x79, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x42,
0x6f, 0x64, 0x79, 0x12, 0x4a, 0x0a, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x5f,
0x72, 0x75, 0x6c, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x74, 0x6f, 0x6b,
0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x53,
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x75, 0x6c,
0x65, 0x52, 0x0c, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12,
0x28, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x75,
0x6c, 0x65, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77,
0x65, 0x64, 0x42, 0x79, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x32, 0xba, 0x06, 0x0a, 0x05, 0x41, 0x64,
0x6d, 0x69, 0x6e, 0x12, 0x4d, 0x0a, 0x0f, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x43, 0x41, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22,
0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d,
0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x73, 0x12, 0x55, 0x0a, 0x17, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x44, 0x65, 0x6c, 0x65,
0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72,
0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74,
0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x5a, 0x0a, 0x1c, 0x49, 0x6d, 0x70,
0x6f, 0x72, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
0x74, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74,
0x79, 0x1a, 0x22, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x5a, 0x0a, 0x1c, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x43, 0x6f,
0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22, 0x2e,
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69,
0x6e, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
0x73, 0x12, 0x5f, 0x0a, 0x21, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x50, 0x72, 0x6f, 0x6a, 0x65,
0x63, 0x74, 0x4f, 0x77, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x43,
0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x1a, 0x22,
0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d,
0x69, 0x6e, 0x2e, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x6e, 0x66, 0x69,
0x67, 0x73, 0x12, 0x74, 0x0a, 0x13, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63,
0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2d, 0x2e, 0x74, 0x6f, 0x6b, 0x65,
0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6e,
0x73, 0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65,
0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x73,
0x70, 0x65, 0x63, 0x74, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x70,
0x65, 0x63, 0x74, 0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b,
0x65, 0x6e, 0x12, 0x30, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x44, 0x65,
0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76,
0x65, 0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74,
0x44, 0x65, 0x6c, 0x65, 0x67, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x7d, 0x0a, 0x16, 0x49, 0x6e, 0x73, 0x70, 0x65,
0x63, 0x74, 0x4f, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e,
0x74, 0x12, 0x30, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e,
0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4f, 0x41, 0x75,
0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65,
0x72, 0x2e, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x2e, 0x49, 0x6e, 0x73, 0x70, 0x65, 0x63, 0x74, 0x4f,
0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x47, 0x72, 0x61, 0x6e, 0x74, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x35, 0x5a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72,
0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x74,
0x6f, 0x6b, 0x65, 0x6e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61,
0x64, 0x6d, 0x69, 0x6e, 0x2f, 0x76, 0x31, 0x3b, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x62, 0x06, 0x70,
0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescOnce sync.Once
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescData = file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDesc
)
func file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescGZIP() []byte {
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescOnce.Do(func() {
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescData)
})
return file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDescData
}
var file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
var file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_goTypes = []interface{}{
(*ImportedConfigs)(nil), // 0: tokenserver.admin.ImportedConfigs
(*InspectMachineTokenRequest)(nil), // 1: tokenserver.admin.InspectMachineTokenRequest
(*InspectMachineTokenResponse)(nil), // 2: tokenserver.admin.InspectMachineTokenResponse
(*InspectDelegationTokenRequest)(nil), // 3: tokenserver.admin.InspectDelegationTokenRequest
(*InspectDelegationTokenResponse)(nil), // 4: tokenserver.admin.InspectDelegationTokenResponse
(*InspectOAuthTokenGrantRequest)(nil), // 5: tokenserver.admin.InspectOAuthTokenGrantRequest
(*InspectOAuthTokenGrantResponse)(nil), // 6: tokenserver.admin.InspectOAuthTokenGrantResponse
(api.MachineTokenType)(0), // 7: tokenserver.MachineTokenType
(*api.MachineTokenBody)(nil), // 8: tokenserver.MachineTokenBody
(*messages.DelegationToken)(nil), // 9: messages.DelegationToken
(*messages.Subtoken)(nil), // 10: messages.Subtoken
(*api.OAuthTokenGrantBody)(nil), // 11: tokenserver.OAuthTokenGrantBody
(*ServiceAccountRule)(nil), // 12: tokenserver.admin.ServiceAccountRule
(*emptypb.Empty)(nil), // 13: google.protobuf.Empty
}
var file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_depIdxs = []int32{
7, // 0: tokenserver.admin.InspectMachineTokenRequest.token_type:type_name -> tokenserver.MachineTokenType
8, // 1: tokenserver.admin.InspectMachineTokenResponse.luci_machine_token:type_name -> tokenserver.MachineTokenBody
9, // 2: tokenserver.admin.InspectDelegationTokenResponse.envelope:type_name -> messages.DelegationToken
10, // 3: tokenserver.admin.InspectDelegationTokenResponse.subtoken:type_name -> messages.Subtoken
11, // 4: tokenserver.admin.InspectOAuthTokenGrantResponse.token_body:type_name -> tokenserver.OAuthTokenGrantBody
12, // 5: tokenserver.admin.InspectOAuthTokenGrantResponse.matching_rule:type_name -> tokenserver.admin.ServiceAccountRule
13, // 6: tokenserver.admin.Admin.ImportCAConfigs:input_type -> google.protobuf.Empty
13, // 7: tokenserver.admin.Admin.ImportDelegationConfigs:input_type -> google.protobuf.Empty
13, // 8: tokenserver.admin.Admin.ImportServiceAccountsConfigs:input_type -> google.protobuf.Empty
13, // 9: tokenserver.admin.Admin.ImportProjectIdentityConfigs:input_type -> google.protobuf.Empty
13, // 10: tokenserver.admin.Admin.ImportProjectOwnedAccountsConfigs:input_type -> google.protobuf.Empty
1, // 11: tokenserver.admin.Admin.InspectMachineToken:input_type -> tokenserver.admin.InspectMachineTokenRequest
3, // 12: tokenserver.admin.Admin.InspectDelegationToken:input_type -> tokenserver.admin.InspectDelegationTokenRequest
5, // 13: tokenserver.admin.Admin.InspectOAuthTokenGrant:input_type -> tokenserver.admin.InspectOAuthTokenGrantRequest
0, // 14: tokenserver.admin.Admin.ImportCAConfigs:output_type -> tokenserver.admin.ImportedConfigs
0, // 15: tokenserver.admin.Admin.ImportDelegationConfigs:output_type -> tokenserver.admin.ImportedConfigs
0, // 16: tokenserver.admin.Admin.ImportServiceAccountsConfigs:output_type -> tokenserver.admin.ImportedConfigs
0, // 17: tokenserver.admin.Admin.ImportProjectIdentityConfigs:output_type -> tokenserver.admin.ImportedConfigs
0, // 18: tokenserver.admin.Admin.ImportProjectOwnedAccountsConfigs:output_type -> tokenserver.admin.ImportedConfigs
2, // 19: tokenserver.admin.Admin.InspectMachineToken:output_type -> tokenserver.admin.InspectMachineTokenResponse
4, // 20: tokenserver.admin.Admin.InspectDelegationToken:output_type -> tokenserver.admin.InspectDelegationTokenResponse
6, // 21: tokenserver.admin.Admin.InspectOAuthTokenGrant:output_type -> tokenserver.admin.InspectOAuthTokenGrantResponse
14, // [14:22] is the sub-list for method output_type
6, // [6:14] is the sub-list for method input_type
6, // [6:6] is the sub-list for extension type_name
6, // [6:6] is the sub-list for extension extendee
0, // [0:6] is the sub-list for field type_name
}
func init() { file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_init() }
func file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_init() {
if File_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto != nil {
return
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_config_proto_init()
if !protoimpl.UnsafeEnabled {
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ImportedConfigs); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InspectMachineTokenRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InspectMachineTokenResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InspectDelegationTokenRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InspectDelegationTokenResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InspectOAuthTokenGrantRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*InspectOAuthTokenGrantResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes[2].OneofWrappers = []interface{}{
(*InspectMachineTokenResponse_LuciMachineToken)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDesc,
NumEnums: 0,
NumMessages: 7,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_goTypes,
DependencyIndexes: file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_depIdxs,
MessageInfos: file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_msgTypes,
}.Build()
File_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto = out.File
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_rawDesc = nil
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_goTypes = nil
file_go_chromium_org_luci_tokenserver_api_admin_v1_admin_proto_depIdxs = nil
}