go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/server/quota/quotapb/service.pb.go (about)

     1  // Copyright 2022 The LUCI Authors. All rights reserved.
     2  // Use of this source code is governed under the Apache License, Version 2.0
     3  // that can be found in the LICENSE file.
     4  
     5  // Code generated by protoc-gen-go. DO NOT EDIT.
     6  // versions:
     7  // 	protoc-gen-go v1.31.0
     8  // 	protoc        v3.21.7
     9  // source: go.chromium.org/luci/server/quota/quotapb/service.proto
    10  
    11  package quotapb
    12  
    13  import prpc "go.chromium.org/luci/grpc/prpc"
    14  
    15  import (
    16  	context "context"
    17  	_ "github.com/envoyproxy/protoc-gen-validate/validate"
    18  	grpc "google.golang.org/grpc"
    19  	codes "google.golang.org/grpc/codes"
    20  	status "google.golang.org/grpc/status"
    21  	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
    22  	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
    23  	durationpb "google.golang.org/protobuf/types/known/durationpb"
    24  	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
    25  	reflect "reflect"
    26  	sync "sync"
    27  )
    28  
    29  const (
    30  	// Verify that this generated code is sufficiently up-to-date.
    31  	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
    32  	// Verify that runtime/protoimpl is sufficiently up-to-date.
    33  	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
    34  )
    35  
    36  type OpResult_AccountStatus int32
    37  
    38  const (
    39  	// This Op updated an existing account.
    40  	OpResult_ALREADY_EXISTS OpResult_AccountStatus = 0
    41  	// This Op resulted in the creation of an account.
    42  	OpResult_CREATED OpResult_AccountStatus = 1
    43  	// This Op found an existing, unreadable, account, and the account was
    44  	// recreated (as if it were missing).
    45  	//
    46  	// Note that this is supposed to be a rare condition, and will be monitored
    47  	// on the server side. If seen at elevated rates, this is likely alertable.
    48  	OpResult_RECREATED OpResult_AccountStatus = 2
    49  )
    50  
    51  // Enum value maps for OpResult_AccountStatus.
    52  var (
    53  	OpResult_AccountStatus_name = map[int32]string{
    54  		0: "ALREADY_EXISTS",
    55  		1: "CREATED",
    56  		2: "RECREATED",
    57  	}
    58  	OpResult_AccountStatus_value = map[string]int32{
    59  		"ALREADY_EXISTS": 0,
    60  		"CREATED":        1,
    61  		"RECREATED":      2,
    62  	}
    63  )
    64  
    65  func (x OpResult_AccountStatus) Enum() *OpResult_AccountStatus {
    66  	p := new(OpResult_AccountStatus)
    67  	*p = x
    68  	return p
    69  }
    70  
    71  func (x OpResult_AccountStatus) String() string {
    72  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
    73  }
    74  
    75  func (OpResult_AccountStatus) Descriptor() protoreflect.EnumDescriptor {
    76  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_enumTypes[0].Descriptor()
    77  }
    78  
    79  func (OpResult_AccountStatus) Type() protoreflect.EnumType {
    80  	return &file_go_chromium_org_luci_server_quota_quotapb_service_proto_enumTypes[0]
    81  }
    82  
    83  func (x OpResult_AccountStatus) Number() protoreflect.EnumNumber {
    84  	return protoreflect.EnumNumber(x)
    85  }
    86  
    87  // Deprecated: Use OpResult_AccountStatus.Descriptor instead.
    88  func (OpResult_AccountStatus) EnumDescriptor() ([]byte, []int) {
    89  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{3, 0}
    90  }
    91  
    92  type OpResult_OpStatus int32
    93  
    94  const (
    95  	// The Operation was successful.
    96  	OpResult_SUCCESS OpResult_OpStatus = 0
    97  	// There was an otherwise-unclassified error while applying this operation.
    98  	OpResult_ERR_UNKNOWN OpResult_OpStatus = 1
    99  	// The Op failed because it would bring the Account balance above the policy
   100  	// limit.
   101  	OpResult_ERR_OVERFLOW OpResult_OpStatus = 2
   102  	// The Op failed because it would bring the Account balance below 0.
   103  	OpResult_ERR_UNDERFLOW OpResult_OpStatus = 3
   104  	// The Op failed because it referred to a Policy which doesn't exist.
   105  	OpResult_ERR_UNKNOWN_POLICY OpResult_OpStatus = 4
   106  	// The Op failed because it applied to a non-existant Account and no Policy
   107  	// was given.
   108  	OpResult_ERR_MISSING_ACCOUNT OpResult_OpStatus = 5
   109  	// The Op failed because it used relative_to=DEFAULT or LIMIT, but the Account
   110  	// had no Policy attached to it, or if the Op did not include the
   111  	// IGNORE_POLICY_BOUNDS option.
   112  	OpResult_ERR_POLICY_REQUIRED OpResult_OpStatus = 6
   113  )
   114  
   115  // Enum value maps for OpResult_OpStatus.
   116  var (
   117  	OpResult_OpStatus_name = map[int32]string{
   118  		0: "SUCCESS",
   119  		1: "ERR_UNKNOWN",
   120  		2: "ERR_OVERFLOW",
   121  		3: "ERR_UNDERFLOW",
   122  		4: "ERR_UNKNOWN_POLICY",
   123  		5: "ERR_MISSING_ACCOUNT",
   124  		6: "ERR_POLICY_REQUIRED",
   125  	}
   126  	OpResult_OpStatus_value = map[string]int32{
   127  		"SUCCESS":             0,
   128  		"ERR_UNKNOWN":         1,
   129  		"ERR_OVERFLOW":        2,
   130  		"ERR_UNDERFLOW":       3,
   131  		"ERR_UNKNOWN_POLICY":  4,
   132  		"ERR_MISSING_ACCOUNT": 5,
   133  		"ERR_POLICY_REQUIRED": 6,
   134  	}
   135  )
   136  
   137  func (x OpResult_OpStatus) Enum() *OpResult_OpStatus {
   138  	p := new(OpResult_OpStatus)
   139  	*p = x
   140  	return p
   141  }
   142  
   143  func (x OpResult_OpStatus) String() string {
   144  	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
   145  }
   146  
   147  func (OpResult_OpStatus) Descriptor() protoreflect.EnumDescriptor {
   148  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_enumTypes[1].Descriptor()
   149  }
   150  
   151  func (OpResult_OpStatus) Type() protoreflect.EnumType {
   152  	return &file_go_chromium_org_luci_server_quota_quotapb_service_proto_enumTypes[1]
   153  }
   154  
   155  func (x OpResult_OpStatus) Number() protoreflect.EnumNumber {
   156  	return protoreflect.EnumNumber(x)
   157  }
   158  
   159  // Deprecated: Use OpResult_OpStatus.Descriptor instead.
   160  func (OpResult_OpStatus) EnumDescriptor() ([]byte, []int) {
   161  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{3, 1}
   162  }
   163  
   164  // A GetAccountsRequest is a request to fetch multiple Account entries.
   165  //
   166  // You must have the `quota.accounts.read` permission in the realm of all the
   167  // indicated accounts.
   168  type GetAccountsRequest struct {
   169  	state         protoimpl.MessageState
   170  	sizeCache     protoimpl.SizeCache
   171  	unknownFields protoimpl.UnknownFields
   172  
   173  	// A list of specific accounts to fetch.
   174  	Account []*AccountID `protobuf:"bytes,1,rep,name=account,proto3" json:"account,omitempty"`
   175  }
   176  
   177  func (x *GetAccountsRequest) Reset() {
   178  	*x = GetAccountsRequest{}
   179  	if protoimpl.UnsafeEnabled {
   180  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[0]
   181  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   182  		ms.StoreMessageInfo(mi)
   183  	}
   184  }
   185  
   186  func (x *GetAccountsRequest) String() string {
   187  	return protoimpl.X.MessageStringOf(x)
   188  }
   189  
   190  func (*GetAccountsRequest) ProtoMessage() {}
   191  
   192  func (x *GetAccountsRequest) ProtoReflect() protoreflect.Message {
   193  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[0]
   194  	if protoimpl.UnsafeEnabled && x != nil {
   195  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   196  		if ms.LoadMessageInfo() == nil {
   197  			ms.StoreMessageInfo(mi)
   198  		}
   199  		return ms
   200  	}
   201  	return mi.MessageOf(x)
   202  }
   203  
   204  // Deprecated: Use GetAccountsRequest.ProtoReflect.Descriptor instead.
   205  func (*GetAccountsRequest) Descriptor() ([]byte, []int) {
   206  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{0}
   207  }
   208  
   209  func (x *GetAccountsRequest) GetAccount() []*AccountID {
   210  	if x != nil {
   211  		return x.Account
   212  	}
   213  	return nil
   214  }
   215  
   216  // GetAccountsResponse is the response to GetAccounts()
   217  type GetAccountsResponse struct {
   218  	state         protoimpl.MessageState
   219  	sizeCache     protoimpl.SizeCache
   220  	unknownFields protoimpl.UnknownFields
   221  
   222  	Accounts []*GetAccountsResponse_AccountState `protobuf:"bytes,1,rep,name=accounts,proto3" json:"accounts,omitempty"`
   223  }
   224  
   225  func (x *GetAccountsResponse) Reset() {
   226  	*x = GetAccountsResponse{}
   227  	if protoimpl.UnsafeEnabled {
   228  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[1]
   229  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   230  		ms.StoreMessageInfo(mi)
   231  	}
   232  }
   233  
   234  func (x *GetAccountsResponse) String() string {
   235  	return protoimpl.X.MessageStringOf(x)
   236  }
   237  
   238  func (*GetAccountsResponse) ProtoMessage() {}
   239  
   240  func (x *GetAccountsResponse) ProtoReflect() protoreflect.Message {
   241  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[1]
   242  	if protoimpl.UnsafeEnabled && x != nil {
   243  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   244  		if ms.LoadMessageInfo() == nil {
   245  			ms.StoreMessageInfo(mi)
   246  		}
   247  		return ms
   248  	}
   249  	return mi.MessageOf(x)
   250  }
   251  
   252  // Deprecated: Use GetAccountsResponse.ProtoReflect.Descriptor instead.
   253  func (*GetAccountsResponse) Descriptor() ([]byte, []int) {
   254  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{1}
   255  }
   256  
   257  func (x *GetAccountsResponse) GetAccounts() []*GetAccountsResponse_AccountState {
   258  	if x != nil {
   259  		return x.Accounts
   260  	}
   261  	return nil
   262  }
   263  
   264  // ApplyOpsRequest allows a number of quota operations to be performed atomically.
   265  type ApplyOpsRequest struct {
   266  	state         protoimpl.MessageState
   267  	sizeCache     protoimpl.SizeCache
   268  	unknownFields protoimpl.UnknownFields
   269  
   270  	// If provided, the service will de-duplicate the request based on this ID,
   271  	// namespaced to the calling user.
   272  	//
   273  	// Once this ApplyOpsRequest successfully applies once, futher ApplyOpsRequests
   274  	// within `request_id_ttl` will immediately return as successful.
   275  	RequestId string `protobuf:"bytes,1,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
   276  	// Must be set, and positive, if request_id is set.
   277  	//
   278  	// If this is omitted, the request_id_ttl is 2 hours.
   279  	//
   280  	// If this is zero, the request_id_ttl is infinite.
   281  	RequestIdTtl *durationpb.Duration `protobuf:"bytes,2,opt,name=request_id_ttl,json=requestIdTtl,proto3" json:"request_id_ttl,omitempty"`
   282  	// The operations to apply.
   283  	Ops []*Op `protobuf:"bytes,3,rep,name=ops,proto3" json:"ops,omitempty"`
   284  }
   285  
   286  func (x *ApplyOpsRequest) Reset() {
   287  	*x = ApplyOpsRequest{}
   288  	if protoimpl.UnsafeEnabled {
   289  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[2]
   290  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   291  		ms.StoreMessageInfo(mi)
   292  	}
   293  }
   294  
   295  func (x *ApplyOpsRequest) String() string {
   296  	return protoimpl.X.MessageStringOf(x)
   297  }
   298  
   299  func (*ApplyOpsRequest) ProtoMessage() {}
   300  
   301  func (x *ApplyOpsRequest) ProtoReflect() protoreflect.Message {
   302  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[2]
   303  	if protoimpl.UnsafeEnabled && x != nil {
   304  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   305  		if ms.LoadMessageInfo() == nil {
   306  			ms.StoreMessageInfo(mi)
   307  		}
   308  		return ms
   309  	}
   310  	return mi.MessageOf(x)
   311  }
   312  
   313  // Deprecated: Use ApplyOpsRequest.ProtoReflect.Descriptor instead.
   314  func (*ApplyOpsRequest) Descriptor() ([]byte, []int) {
   315  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{2}
   316  }
   317  
   318  func (x *ApplyOpsRequest) GetRequestId() string {
   319  	if x != nil {
   320  		return x.RequestId
   321  	}
   322  	return ""
   323  }
   324  
   325  func (x *ApplyOpsRequest) GetRequestIdTtl() *durationpb.Duration {
   326  	if x != nil {
   327  		return x.RequestIdTtl
   328  	}
   329  	return nil
   330  }
   331  
   332  func (x *ApplyOpsRequest) GetOps() []*Op {
   333  	if x != nil {
   334  		return x.Ops
   335  	}
   336  	return nil
   337  }
   338  
   339  // OpResult contains the summary of applying a single Op as part of an
   340  // ApplyOpsRequest.
   341  //
   342  // Note that `previous_balance` and `balance` are first in this message to make
   343  // the success-case encoding of an OpResult with non-zero balances as compact as
   344  // possible (will be represented by a 2-number msgpack array, rather than
   345  // a msgpack object).
   346  type OpResult struct {
   347  	state         protoimpl.MessageState
   348  	sizeCache     protoimpl.SizeCache
   349  	unknownFields protoimpl.UnknownFields
   350  
   351  	// This will be set to the balance of the Account after the SUCCESS-ful
   352  	// operation.
   353  	NewBalance int64 `protobuf:"varint,1,opt,name=new_balance,json=newBalance,proto3" json:"new_balance,omitempty"`
   354  	// If the account already existed, this will be set to the balance observed at
   355  	// the start of this Operation (after applying refill under existing policy,
   356  	// if the account had one set). If the account did not previously exist, this
   357  	// will be 0, even if the Policy in this Op would set a default value.
   358  	//
   359  	// Note that if the same account is used for multiple operations in the same
   360  	// RPC, for the N'th operation on account X, this will have the N-1'th
   361  	// `balance` value.
   362  	PreviousBalance int64                  `protobuf:"varint,2,opt,name=previous_balance,json=previousBalance,proto3" json:"previous_balance,omitempty"`
   363  	AccountStatus   OpResult_AccountStatus `protobuf:"varint,3,opt,name=account_status,json=accountStatus,proto3,enum=go.chromium.org.luci.server.quota.quotapb.OpResult_AccountStatus" json:"account_status,omitempty"`
   364  	// Status for this operation.
   365  	Status OpResult_OpStatus `protobuf:"varint,4,opt,name=status,proto3,enum=go.chromium.org.luci.server.quota.quotapb.OpResult_OpStatus" json:"status,omitempty"`
   366  	// Extra context for `status` as english text. Usually unset, but will be most
   367  	// frequently set for UNKNOWN errors.
   368  	StatusMsg string `protobuf:"bytes,5,opt,name=status_msg,json=statusMsg,proto3" json:"status_msg,omitempty"`
   369  	// When WITH_POLICY_LIMIT_DELTA option is used, previous_balance_adjusted is
   370  	// set to the previous balance + delta (where delta is the difference between
   371  	// the new Policy.limit and the old Policy.limit). If WITH_POLICY_LIMIT_DELTA
   372  	// is not set or if there is no change in policy_ref, or if the account has no
   373  	// existing policy_ref, previous_balance_adjusted is same as previous_balance.
   374  	PreviousBalanceAdjusted int64 `protobuf:"varint,6,opt,name=previous_balance_adjusted,json=previousBalanceAdjusted,proto3" json:"previous_balance_adjusted,omitempty"`
   375  }
   376  
   377  func (x *OpResult) Reset() {
   378  	*x = OpResult{}
   379  	if protoimpl.UnsafeEnabled {
   380  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[3]
   381  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   382  		ms.StoreMessageInfo(mi)
   383  	}
   384  }
   385  
   386  func (x *OpResult) String() string {
   387  	return protoimpl.X.MessageStringOf(x)
   388  }
   389  
   390  func (*OpResult) ProtoMessage() {}
   391  
   392  func (x *OpResult) ProtoReflect() protoreflect.Message {
   393  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[3]
   394  	if protoimpl.UnsafeEnabled && x != nil {
   395  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   396  		if ms.LoadMessageInfo() == nil {
   397  			ms.StoreMessageInfo(mi)
   398  		}
   399  		return ms
   400  	}
   401  	return mi.MessageOf(x)
   402  }
   403  
   404  // Deprecated: Use OpResult.ProtoReflect.Descriptor instead.
   405  func (*OpResult) Descriptor() ([]byte, []int) {
   406  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{3}
   407  }
   408  
   409  func (x *OpResult) GetNewBalance() int64 {
   410  	if x != nil {
   411  		return x.NewBalance
   412  	}
   413  	return 0
   414  }
   415  
   416  func (x *OpResult) GetPreviousBalance() int64 {
   417  	if x != nil {
   418  		return x.PreviousBalance
   419  	}
   420  	return 0
   421  }
   422  
   423  func (x *OpResult) GetAccountStatus() OpResult_AccountStatus {
   424  	if x != nil {
   425  		return x.AccountStatus
   426  	}
   427  	return OpResult_ALREADY_EXISTS
   428  }
   429  
   430  func (x *OpResult) GetStatus() OpResult_OpStatus {
   431  	if x != nil {
   432  		return x.Status
   433  	}
   434  	return OpResult_SUCCESS
   435  }
   436  
   437  func (x *OpResult) GetStatusMsg() string {
   438  	if x != nil {
   439  		return x.StatusMsg
   440  	}
   441  	return ""
   442  }
   443  
   444  func (x *OpResult) GetPreviousBalanceAdjusted() int64 {
   445  	if x != nil {
   446  		return x.PreviousBalanceAdjusted
   447  	}
   448  	return 0
   449  }
   450  
   451  type ApplyOpsResponse struct {
   452  	state         protoimpl.MessageState
   453  	sizeCache     protoimpl.SizeCache
   454  	unknownFields protoimpl.UnknownFields
   455  
   456  	// This is a sequence of results, one per op in the original ApplyOpsRequest.
   457  	//
   458  	// NOTE: The caller must observe the `status` field of each result in order to
   459  	// determine if this request was successful.
   460  	//
   461  	// If any result contains a non-SUCCESS `status`, NONE of the operations have
   462  	// been saved.
   463  	Results []*OpResult `protobuf:"bytes,1,rep,name=results,proto3" json:"results,omitempty"`
   464  	// The time this ApplyOpsResponse was created, according to the quota state.
   465  	// Note that for deduplicated requests, this could be fairly old (assuming the
   466  	// original request was made a while ago).
   467  	OriginallySet *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=originally_set,json=originallySet,proto3" json:"originally_set,omitempty"`
   468  }
   469  
   470  func (x *ApplyOpsResponse) Reset() {
   471  	*x = ApplyOpsResponse{}
   472  	if protoimpl.UnsafeEnabled {
   473  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[4]
   474  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   475  		ms.StoreMessageInfo(mi)
   476  	}
   477  }
   478  
   479  func (x *ApplyOpsResponse) String() string {
   480  	return protoimpl.X.MessageStringOf(x)
   481  }
   482  
   483  func (*ApplyOpsResponse) ProtoMessage() {}
   484  
   485  func (x *ApplyOpsResponse) ProtoReflect() protoreflect.Message {
   486  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[4]
   487  	if protoimpl.UnsafeEnabled && x != nil {
   488  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   489  		if ms.LoadMessageInfo() == nil {
   490  			ms.StoreMessageInfo(mi)
   491  		}
   492  		return ms
   493  	}
   494  	return mi.MessageOf(x)
   495  }
   496  
   497  // Deprecated: Use ApplyOpsResponse.ProtoReflect.Descriptor instead.
   498  func (*ApplyOpsResponse) Descriptor() ([]byte, []int) {
   499  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{4}
   500  }
   501  
   502  func (x *ApplyOpsResponse) GetResults() []*OpResult {
   503  	if x != nil {
   504  		return x.Results
   505  	}
   506  	return nil
   507  }
   508  
   509  func (x *ApplyOpsResponse) GetOriginallySet() *timestamppb.Timestamp {
   510  	if x != nil {
   511  		return x.OriginallySet
   512  	}
   513  	return nil
   514  }
   515  
   516  type WritePolicyConfigRequest struct {
   517  	state         protoimpl.MessageState
   518  	sizeCache     protoimpl.SizeCache
   519  	unknownFields protoimpl.UnknownFields
   520  
   521  	// If id.version_kind != Manual, id.version will be ignored.
   522  	Id           *PolicyConfigID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   523  	PolicyConfig *PolicyConfig   `protobuf:"bytes,2,opt,name=policy_config,json=policyConfig,proto3" json:"policy_config,omitempty"`
   524  }
   525  
   526  func (x *WritePolicyConfigRequest) Reset() {
   527  	*x = WritePolicyConfigRequest{}
   528  	if protoimpl.UnsafeEnabled {
   529  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[5]
   530  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   531  		ms.StoreMessageInfo(mi)
   532  	}
   533  }
   534  
   535  func (x *WritePolicyConfigRequest) String() string {
   536  	return protoimpl.X.MessageStringOf(x)
   537  }
   538  
   539  func (*WritePolicyConfigRequest) ProtoMessage() {}
   540  
   541  func (x *WritePolicyConfigRequest) ProtoReflect() protoreflect.Message {
   542  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[5]
   543  	if protoimpl.UnsafeEnabled && x != nil {
   544  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   545  		if ms.LoadMessageInfo() == nil {
   546  			ms.StoreMessageInfo(mi)
   547  		}
   548  		return ms
   549  	}
   550  	return mi.MessageOf(x)
   551  }
   552  
   553  // Deprecated: Use WritePolicyConfigRequest.ProtoReflect.Descriptor instead.
   554  func (*WritePolicyConfigRequest) Descriptor() ([]byte, []int) {
   555  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{5}
   556  }
   557  
   558  func (x *WritePolicyConfigRequest) GetId() *PolicyConfigID {
   559  	if x != nil {
   560  		return x.Id
   561  	}
   562  	return nil
   563  }
   564  
   565  func (x *WritePolicyConfigRequest) GetPolicyConfig() *PolicyConfig {
   566  	if x != nil {
   567  		return x.PolicyConfig
   568  	}
   569  	return nil
   570  }
   571  
   572  type WritePolicyConfigResponse struct {
   573  	state         protoimpl.MessageState
   574  	sizeCache     protoimpl.SizeCache
   575  	unknownFields protoimpl.UnknownFields
   576  
   577  	// Returns the computed hash version (or responds with the input `version` if
   578  	// using an application-specific version)
   579  	Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
   580  }
   581  
   582  func (x *WritePolicyConfigResponse) Reset() {
   583  	*x = WritePolicyConfigResponse{}
   584  	if protoimpl.UnsafeEnabled {
   585  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[6]
   586  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   587  		ms.StoreMessageInfo(mi)
   588  	}
   589  }
   590  
   591  func (x *WritePolicyConfigResponse) String() string {
   592  	return protoimpl.X.MessageStringOf(x)
   593  }
   594  
   595  func (*WritePolicyConfigResponse) ProtoMessage() {}
   596  
   597  func (x *WritePolicyConfigResponse) ProtoReflect() protoreflect.Message {
   598  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[6]
   599  	if protoimpl.UnsafeEnabled && x != nil {
   600  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   601  		if ms.LoadMessageInfo() == nil {
   602  			ms.StoreMessageInfo(mi)
   603  		}
   604  		return ms
   605  	}
   606  	return mi.MessageOf(x)
   607  }
   608  
   609  // Deprecated: Use WritePolicyConfigResponse.ProtoReflect.Descriptor instead.
   610  func (*WritePolicyConfigResponse) Descriptor() ([]byte, []int) {
   611  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{6}
   612  }
   613  
   614  func (x *WritePolicyConfigResponse) GetVersion() string {
   615  	if x != nil {
   616  		return x.Version
   617  	}
   618  	return ""
   619  }
   620  
   621  type GetAccountsResponse_AccountState struct {
   622  	state         protoimpl.MessageState
   623  	sizeCache     protoimpl.SizeCache
   624  	unknownFields protoimpl.UnknownFields
   625  
   626  	Id *AccountID `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
   627  	// The current account, if the account exists, unset otherwise.
   628  	Account *Account `protobuf:"bytes,2,opt,name=account,proto3" json:"account,omitempty"`
   629  	// Contains the effective balance for the account, given its current
   630  	// refill policy and updated_ts.
   631  	ProjectedBalance int64 `protobuf:"varint,3,opt,name=projected_balance,json=projectedBalance,proto3" json:"projected_balance,omitempty"`
   632  }
   633  
   634  func (x *GetAccountsResponse_AccountState) Reset() {
   635  	*x = GetAccountsResponse_AccountState{}
   636  	if protoimpl.UnsafeEnabled {
   637  		mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[7]
   638  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   639  		ms.StoreMessageInfo(mi)
   640  	}
   641  }
   642  
   643  func (x *GetAccountsResponse_AccountState) String() string {
   644  	return protoimpl.X.MessageStringOf(x)
   645  }
   646  
   647  func (*GetAccountsResponse_AccountState) ProtoMessage() {}
   648  
   649  func (x *GetAccountsResponse_AccountState) ProtoReflect() protoreflect.Message {
   650  	mi := &file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[7]
   651  	if protoimpl.UnsafeEnabled && x != nil {
   652  		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
   653  		if ms.LoadMessageInfo() == nil {
   654  			ms.StoreMessageInfo(mi)
   655  		}
   656  		return ms
   657  	}
   658  	return mi.MessageOf(x)
   659  }
   660  
   661  // Deprecated: Use GetAccountsResponse_AccountState.ProtoReflect.Descriptor instead.
   662  func (*GetAccountsResponse_AccountState) Descriptor() ([]byte, []int) {
   663  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP(), []int{1, 0}
   664  }
   665  
   666  func (x *GetAccountsResponse_AccountState) GetId() *AccountID {
   667  	if x != nil {
   668  		return x.Id
   669  	}
   670  	return nil
   671  }
   672  
   673  func (x *GetAccountsResponse_AccountState) GetAccount() *Account {
   674  	if x != nil {
   675  		return x.Account
   676  	}
   677  	return nil
   678  }
   679  
   680  func (x *GetAccountsResponse_AccountState) GetProjectedBalance() int64 {
   681  	if x != nil {
   682  		return x.ProjectedBalance
   683  	}
   684  	return 0
   685  }
   686  
   687  var File_go_chromium_org_luci_server_quota_quotapb_service_proto protoreflect.FileDescriptor
   688  
   689  var file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDesc = []byte{
   690  	0x0a, 0x37, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   691  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x71, 0x75,
   692  	0x6f, 0x74, 0x61, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2f, 0x73, 0x65, 0x72, 0x76,
   693  	0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x29, 0x67, 0x6f, 0x2e, 0x63, 0x68,
   694  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e,
   695  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f,
   696  	0x74, 0x61, 0x70, 0x62, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   697  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70,
   698  	0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
   699  	0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
   700  	0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2f,
   701  	0x76, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x37,
   702  	0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f,
   703  	0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x6f, 0x74,
   704  	0x61, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
   705  	0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
   706  	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x65,
   707  	0x72, 0x76, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61,
   708  	0x70, 0x62, 0x2f, 0x69, 0x64, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x32, 0x67, 0x6f,
   709  	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75,
   710  	0x63, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f,
   711  	0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2f, 0x6f, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
   712  	0x1a, 0x3d, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   713  	0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x71, 0x75,
   714  	0x6f, 0x74, 0x61, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2f, 0x70, 0x6f, 0x6c, 0x69,
   715  	0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22,
   716  	0x64, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65,
   717  	0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
   718  	0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
   719  	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65,
   720  	0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61,
   721  	0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x52, 0x07, 0x61, 0x63,
   722  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xda, 0x02, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63,
   723  	0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x67, 0x0a,
   724  	0x08, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
   725  	0x4b, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   726  	0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75,
   727  	0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x47, 0x65, 0x74, 0x41,
   728  	0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x2e,
   729  	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x61, 0x63,
   730  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0xd9, 0x01, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x6f, 0x75,
   731  	0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x4e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
   732  	0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
   733  	0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65,
   734  	0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e,
   735  	0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x42, 0x08, 0xfa, 0x42, 0x05, 0x8a, 0x01,
   736  	0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x4c, 0x0a, 0x07, 0x61, 0x63, 0x63, 0x6f, 0x75,
   737  	0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68,
   738  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e,
   739  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f,
   740  	0x74, 0x61, 0x70, 0x62, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x07, 0x61, 0x63,
   741  	0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
   742  	0x65, 0x64, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
   743  	0x52, 0x10, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x65, 0x64, 0x42, 0x61, 0x6c, 0x61, 0x6e,
   744  	0x63, 0x65, 0x22, 0xbe, 0x01, 0x0a, 0x0f, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x70, 0x73, 0x52,
   745  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
   746  	0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x72, 0x65, 0x71, 0x75,
   747  	0x65, 0x73, 0x74, 0x49, 0x64, 0x12, 0x4b, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
   748  	0x5f, 0x69, 0x64, 0x5f, 0x74, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e,
   749  	0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
   750  	0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x0a, 0xfa, 0x42, 0x07, 0xaa, 0x01, 0x04,
   751  	0x08, 0x00, 0x2a, 0x00, 0x52, 0x0c, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x49, 0x64, 0x54,
   752  	0x74, 0x6c, 0x12, 0x3f, 0x0a, 0x03, 0x6f, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32,
   753  	0x2d, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   754  	0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75,
   755  	0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x4f, 0x70, 0x52, 0x03,
   756  	0x6f, 0x70, 0x73, 0x22, 0xcc, 0x04, 0x0a, 0x08, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74,
   757  	0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x65, 0x77, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18,
   758  	0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6e, 0x65, 0x77, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63,
   759  	0x65, 0x12, 0x29, 0x0a, 0x10, 0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x61,
   760  	0x6c, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x70, 0x72, 0x65,
   761  	0x76, 0x69, 0x6f, 0x75, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x68, 0x0a, 0x0e,
   762  	0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03,
   763  	0x20, 0x01, 0x28, 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
   764  	0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
   765  	0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62,
   766  	0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e,
   767  	0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74,
   768  	0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
   769  	0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f,
   770  	0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65,
   771  	0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61,
   772  	0x70, 0x62, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2e, 0x4f, 0x70, 0x53, 0x74,
   773  	0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x1d, 0x0a, 0x0a,
   774  	0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x5f, 0x6d, 0x73, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09,
   775  	0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x4d, 0x73, 0x67, 0x12, 0x3a, 0x0a, 0x19, 0x70,
   776  	0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x5f, 0x62, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x5f,
   777  	0x61, 0x64, 0x6a, 0x75, 0x73, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x52, 0x17,
   778  	0x70, 0x72, 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x41,
   779  	0x64, 0x6a, 0x75, 0x73, 0x74, 0x65, 0x64, 0x22, 0x3f, 0x0a, 0x0d, 0x41, 0x63, 0x63, 0x6f, 0x75,
   780  	0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x0e, 0x41, 0x4c, 0x52, 0x45,
   781  	0x41, 0x44, 0x59, 0x5f, 0x45, 0x58, 0x49, 0x53, 0x54, 0x53, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07,
   782  	0x43, 0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x52, 0x45, 0x43,
   783  	0x52, 0x45, 0x41, 0x54, 0x45, 0x44, 0x10, 0x02, 0x22, 0x97, 0x01, 0x0a, 0x08, 0x4f, 0x70, 0x53,
   784  	0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x55, 0x43, 0x43, 0x45, 0x53, 0x53,
   785  	0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x52, 0x52, 0x5f, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57,
   786  	0x4e, 0x10, 0x01, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x52, 0x52, 0x5f, 0x4f, 0x56, 0x45, 0x52, 0x46,
   787  	0x4c, 0x4f, 0x57, 0x10, 0x02, 0x12, 0x11, 0x0a, 0x0d, 0x45, 0x52, 0x52, 0x5f, 0x55, 0x4e, 0x44,
   788  	0x45, 0x52, 0x46, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x45, 0x52, 0x52, 0x5f,
   789  	0x55, 0x4e, 0x4b, 0x4e, 0x4f, 0x57, 0x4e, 0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x10, 0x04,
   790  	0x12, 0x17, 0x0a, 0x13, 0x45, 0x52, 0x52, 0x5f, 0x4d, 0x49, 0x53, 0x53, 0x49, 0x4e, 0x47, 0x5f,
   791  	0x41, 0x43, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x05, 0x12, 0x17, 0x0a, 0x13, 0x45, 0x52, 0x52,
   792  	0x5f, 0x50, 0x4f, 0x4c, 0x49, 0x43, 0x59, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x49, 0x52, 0x45, 0x44,
   793  	0x10, 0x06, 0x22, 0xa4, 0x01, 0x0a, 0x10, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x70, 0x73, 0x52,
   794  	0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x07, 0x72, 0x65, 0x73, 0x75, 0x6c,
   795  	0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68,
   796  	0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e,
   797  	0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f,
   798  	0x74, 0x61, 0x70, 0x62, 0x2e, 0x4f, 0x70, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x07, 0x72,
   799  	0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e,
   800  	0x61, 0x6c, 0x6c, 0x79, 0x5f, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
   801  	0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
   802  	0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6f, 0x72, 0x69, 0x67,
   803  	0x69, 0x6e, 0x61, 0x6c, 0x6c, 0x79, 0x53, 0x65, 0x74, 0x22, 0xd7, 0x01, 0x0a, 0x18, 0x57, 0x72,
   804  	0x69, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
   805  	0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x53, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
   806  	0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
   807  	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
   808  	0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x50,
   809  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x49, 0x44, 0x42, 0x08, 0xfa,
   810  	0x42, 0x05, 0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x02, 0x69, 0x64, 0x12, 0x66, 0x0a, 0x0d, 0x70,
   811  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01,
   812  	0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d,
   813  	0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72,
   814  	0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x50,
   815  	0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x08, 0xfa, 0x42, 0x05,
   816  	0x8a, 0x01, 0x02, 0x10, 0x01, 0x52, 0x0c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e,
   817  	0x66, 0x69, 0x67, 0x22, 0x35, 0x0a, 0x19, 0x57, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69,
   818  	0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
   819  	0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28,
   820  	0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0xbd, 0x03, 0x0a, 0x05, 0x41,
   821  	0x64, 0x6d, 0x69, 0x6e, 0x12, 0x8c, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f,
   822  	0x75, 0x6e, 0x74, 0x73, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
   823  	0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
   824  	0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62,
   825  	0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
   826  	0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75,
   827  	0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65,
   828  	0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e,
   829  	0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f,
   830  	0x6e, 0x73, 0x65, 0x12, 0x83, 0x01, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x70, 0x73,
   831  	0x12, 0x3a, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f,
   832  	0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71,
   833  	0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70,
   834  	0x6c, 0x79, 0x4f, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3b, 0x2e, 0x67,
   835  	0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c,
   836  	0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61,
   837  	0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x70,
   838  	0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x11, 0x57, 0x72,
   839  	0x69, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12,
   840  	0x43, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72,
   841  	0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2e, 0x71, 0x75,
   842  	0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x2e, 0x57, 0x72, 0x69, 0x74,
   843  	0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71,
   844  	0x75, 0x65, 0x73, 0x74, 0x1a, 0x44, 0x2e, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69,
   845  	0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2e, 0x6c, 0x75, 0x63, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76,
   846  	0x65, 0x72, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2e, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62,
   847  	0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x43, 0x6f, 0x6e, 0x66,
   848  	0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0x2b, 0x5a, 0x29, 0x67, 0x6f,
   849  	0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75,
   850  	0x63, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x2f, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x2f,
   851  	0x71, 0x75, 0x6f, 0x74, 0x61, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
   852  }
   853  
   854  var (
   855  	file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescOnce sync.Once
   856  	file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescData = file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDesc
   857  )
   858  
   859  func file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescGZIP() []byte {
   860  	file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescOnce.Do(func() {
   861  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescData)
   862  	})
   863  	return file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDescData
   864  }
   865  
   866  var file_go_chromium_org_luci_server_quota_quotapb_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
   867  var file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
   868  var file_go_chromium_org_luci_server_quota_quotapb_service_proto_goTypes = []interface{}{
   869  	(OpResult_AccountStatus)(0),              // 0: go.chromium.org.luci.server.quota.quotapb.OpResult.AccountStatus
   870  	(OpResult_OpStatus)(0),                   // 1: go.chromium.org.luci.server.quota.quotapb.OpResult.OpStatus
   871  	(*GetAccountsRequest)(nil),               // 2: go.chromium.org.luci.server.quota.quotapb.GetAccountsRequest
   872  	(*GetAccountsResponse)(nil),              // 3: go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse
   873  	(*ApplyOpsRequest)(nil),                  // 4: go.chromium.org.luci.server.quota.quotapb.ApplyOpsRequest
   874  	(*OpResult)(nil),                         // 5: go.chromium.org.luci.server.quota.quotapb.OpResult
   875  	(*ApplyOpsResponse)(nil),                 // 6: go.chromium.org.luci.server.quota.quotapb.ApplyOpsResponse
   876  	(*WritePolicyConfigRequest)(nil),         // 7: go.chromium.org.luci.server.quota.quotapb.WritePolicyConfigRequest
   877  	(*WritePolicyConfigResponse)(nil),        // 8: go.chromium.org.luci.server.quota.quotapb.WritePolicyConfigResponse
   878  	(*GetAccountsResponse_AccountState)(nil), // 9: go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse.AccountState
   879  	(*AccountID)(nil),                        // 10: go.chromium.org.luci.server.quota.quotapb.AccountID
   880  	(*durationpb.Duration)(nil),              // 11: google.protobuf.Duration
   881  	(*Op)(nil),                               // 12: go.chromium.org.luci.server.quota.quotapb.Op
   882  	(*timestamppb.Timestamp)(nil),            // 13: google.protobuf.Timestamp
   883  	(*PolicyConfigID)(nil),                   // 14: go.chromium.org.luci.server.quota.quotapb.PolicyConfigID
   884  	(*PolicyConfig)(nil),                     // 15: go.chromium.org.luci.server.quota.quotapb.PolicyConfig
   885  	(*Account)(nil),                          // 16: go.chromium.org.luci.server.quota.quotapb.Account
   886  }
   887  var file_go_chromium_org_luci_server_quota_quotapb_service_proto_depIdxs = []int32{
   888  	10, // 0: go.chromium.org.luci.server.quota.quotapb.GetAccountsRequest.account:type_name -> go.chromium.org.luci.server.quota.quotapb.AccountID
   889  	9,  // 1: go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse.accounts:type_name -> go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse.AccountState
   890  	11, // 2: go.chromium.org.luci.server.quota.quotapb.ApplyOpsRequest.request_id_ttl:type_name -> google.protobuf.Duration
   891  	12, // 3: go.chromium.org.luci.server.quota.quotapb.ApplyOpsRequest.ops:type_name -> go.chromium.org.luci.server.quota.quotapb.Op
   892  	0,  // 4: go.chromium.org.luci.server.quota.quotapb.OpResult.account_status:type_name -> go.chromium.org.luci.server.quota.quotapb.OpResult.AccountStatus
   893  	1,  // 5: go.chromium.org.luci.server.quota.quotapb.OpResult.status:type_name -> go.chromium.org.luci.server.quota.quotapb.OpResult.OpStatus
   894  	5,  // 6: go.chromium.org.luci.server.quota.quotapb.ApplyOpsResponse.results:type_name -> go.chromium.org.luci.server.quota.quotapb.OpResult
   895  	13, // 7: go.chromium.org.luci.server.quota.quotapb.ApplyOpsResponse.originally_set:type_name -> google.protobuf.Timestamp
   896  	14, // 8: go.chromium.org.luci.server.quota.quotapb.WritePolicyConfigRequest.id:type_name -> go.chromium.org.luci.server.quota.quotapb.PolicyConfigID
   897  	15, // 9: go.chromium.org.luci.server.quota.quotapb.WritePolicyConfigRequest.policy_config:type_name -> go.chromium.org.luci.server.quota.quotapb.PolicyConfig
   898  	10, // 10: go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse.AccountState.id:type_name -> go.chromium.org.luci.server.quota.quotapb.AccountID
   899  	16, // 11: go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse.AccountState.account:type_name -> go.chromium.org.luci.server.quota.quotapb.Account
   900  	2,  // 12: go.chromium.org.luci.server.quota.quotapb.Admin.GetAccounts:input_type -> go.chromium.org.luci.server.quota.quotapb.GetAccountsRequest
   901  	4,  // 13: go.chromium.org.luci.server.quota.quotapb.Admin.ApplyOps:input_type -> go.chromium.org.luci.server.quota.quotapb.ApplyOpsRequest
   902  	7,  // 14: go.chromium.org.luci.server.quota.quotapb.Admin.WritePolicyConfig:input_type -> go.chromium.org.luci.server.quota.quotapb.WritePolicyConfigRequest
   903  	3,  // 15: go.chromium.org.luci.server.quota.quotapb.Admin.GetAccounts:output_type -> go.chromium.org.luci.server.quota.quotapb.GetAccountsResponse
   904  	6,  // 16: go.chromium.org.luci.server.quota.quotapb.Admin.ApplyOps:output_type -> go.chromium.org.luci.server.quota.quotapb.ApplyOpsResponse
   905  	8,  // 17: go.chromium.org.luci.server.quota.quotapb.Admin.WritePolicyConfig:output_type -> go.chromium.org.luci.server.quota.quotapb.WritePolicyConfigResponse
   906  	15, // [15:18] is the sub-list for method output_type
   907  	12, // [12:15] is the sub-list for method input_type
   908  	12, // [12:12] is the sub-list for extension type_name
   909  	12, // [12:12] is the sub-list for extension extendee
   910  	0,  // [0:12] is the sub-list for field type_name
   911  }
   912  
   913  func init() { file_go_chromium_org_luci_server_quota_quotapb_service_proto_init() }
   914  func file_go_chromium_org_luci_server_quota_quotapb_service_proto_init() {
   915  	if File_go_chromium_org_luci_server_quota_quotapb_service_proto != nil {
   916  		return
   917  	}
   918  	file_go_chromium_org_luci_server_quota_quotapb_account_proto_init()
   919  	file_go_chromium_org_luci_server_quota_quotapb_ids_proto_init()
   920  	file_go_chromium_org_luci_server_quota_quotapb_op_proto_init()
   921  	file_go_chromium_org_luci_server_quota_quotapb_policy_config_proto_init()
   922  	if !protoimpl.UnsafeEnabled {
   923  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
   924  			switch v := v.(*GetAccountsRequest); i {
   925  			case 0:
   926  				return &v.state
   927  			case 1:
   928  				return &v.sizeCache
   929  			case 2:
   930  				return &v.unknownFields
   931  			default:
   932  				return nil
   933  			}
   934  		}
   935  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
   936  			switch v := v.(*GetAccountsResponse); i {
   937  			case 0:
   938  				return &v.state
   939  			case 1:
   940  				return &v.sizeCache
   941  			case 2:
   942  				return &v.unknownFields
   943  			default:
   944  				return nil
   945  			}
   946  		}
   947  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
   948  			switch v := v.(*ApplyOpsRequest); i {
   949  			case 0:
   950  				return &v.state
   951  			case 1:
   952  				return &v.sizeCache
   953  			case 2:
   954  				return &v.unknownFields
   955  			default:
   956  				return nil
   957  			}
   958  		}
   959  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
   960  			switch v := v.(*OpResult); i {
   961  			case 0:
   962  				return &v.state
   963  			case 1:
   964  				return &v.sizeCache
   965  			case 2:
   966  				return &v.unknownFields
   967  			default:
   968  				return nil
   969  			}
   970  		}
   971  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
   972  			switch v := v.(*ApplyOpsResponse); i {
   973  			case 0:
   974  				return &v.state
   975  			case 1:
   976  				return &v.sizeCache
   977  			case 2:
   978  				return &v.unknownFields
   979  			default:
   980  				return nil
   981  			}
   982  		}
   983  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
   984  			switch v := v.(*WritePolicyConfigRequest); i {
   985  			case 0:
   986  				return &v.state
   987  			case 1:
   988  				return &v.sizeCache
   989  			case 2:
   990  				return &v.unknownFields
   991  			default:
   992  				return nil
   993  			}
   994  		}
   995  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
   996  			switch v := v.(*WritePolicyConfigResponse); i {
   997  			case 0:
   998  				return &v.state
   999  			case 1:
  1000  				return &v.sizeCache
  1001  			case 2:
  1002  				return &v.unknownFields
  1003  			default:
  1004  				return nil
  1005  			}
  1006  		}
  1007  		file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
  1008  			switch v := v.(*GetAccountsResponse_AccountState); i {
  1009  			case 0:
  1010  				return &v.state
  1011  			case 1:
  1012  				return &v.sizeCache
  1013  			case 2:
  1014  				return &v.unknownFields
  1015  			default:
  1016  				return nil
  1017  			}
  1018  		}
  1019  	}
  1020  	type x struct{}
  1021  	out := protoimpl.TypeBuilder{
  1022  		File: protoimpl.DescBuilder{
  1023  			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
  1024  			RawDescriptor: file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDesc,
  1025  			NumEnums:      2,
  1026  			NumMessages:   8,
  1027  			NumExtensions: 0,
  1028  			NumServices:   1,
  1029  		},
  1030  		GoTypes:           file_go_chromium_org_luci_server_quota_quotapb_service_proto_goTypes,
  1031  		DependencyIndexes: file_go_chromium_org_luci_server_quota_quotapb_service_proto_depIdxs,
  1032  		EnumInfos:         file_go_chromium_org_luci_server_quota_quotapb_service_proto_enumTypes,
  1033  		MessageInfos:      file_go_chromium_org_luci_server_quota_quotapb_service_proto_msgTypes,
  1034  	}.Build()
  1035  	File_go_chromium_org_luci_server_quota_quotapb_service_proto = out.File
  1036  	file_go_chromium_org_luci_server_quota_quotapb_service_proto_rawDesc = nil
  1037  	file_go_chromium_org_luci_server_quota_quotapb_service_proto_goTypes = nil
  1038  	file_go_chromium_org_luci_server_quota_quotapb_service_proto_depIdxs = nil
  1039  }
  1040  
  1041  // Reference imports to suppress errors if they are not otherwise used.
  1042  var _ context.Context
  1043  var _ grpc.ClientConnInterface
  1044  
  1045  // This is a compile-time assertion to ensure that this generated file
  1046  // is compatible with the grpc package it is being compiled against.
  1047  const _ = grpc.SupportPackageIsVersion6
  1048  
  1049  // AdminClient is the client API for Admin service.
  1050  //
  1051  // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
  1052  type AdminClient interface {
  1053  	// GetAccounts returns the indicated Accounts.
  1054  	GetAccounts(ctx context.Context, in *GetAccountsRequest, opts ...grpc.CallOption) (*GetAccountsResponse, error)
  1055  	// ApplyOps updates the available resources with the provided operations.
  1056  	ApplyOps(ctx context.Context, in *ApplyOpsRequest, opts ...grpc.CallOption) (*ApplyOpsResponse, error)
  1057  	// WritePolicyConfig ingests the given PolicyConfig into the database.
  1058  	WritePolicyConfig(ctx context.Context, in *WritePolicyConfigRequest, opts ...grpc.CallOption) (*WritePolicyConfigResponse, error)
  1059  }
  1060  type adminPRPCClient struct {
  1061  	client *prpc.Client
  1062  }
  1063  
  1064  func NewAdminPRPCClient(client *prpc.Client) AdminClient {
  1065  	return &adminPRPCClient{client}
  1066  }
  1067  
  1068  func (c *adminPRPCClient) GetAccounts(ctx context.Context, in *GetAccountsRequest, opts ...grpc.CallOption) (*GetAccountsResponse, error) {
  1069  	out := new(GetAccountsResponse)
  1070  	err := c.client.Call(ctx, "go.chromium.org.luci.server.quota.quotapb.Admin", "GetAccounts", in, out, opts...)
  1071  	if err != nil {
  1072  		return nil, err
  1073  	}
  1074  	return out, nil
  1075  }
  1076  
  1077  func (c *adminPRPCClient) ApplyOps(ctx context.Context, in *ApplyOpsRequest, opts ...grpc.CallOption) (*ApplyOpsResponse, error) {
  1078  	out := new(ApplyOpsResponse)
  1079  	err := c.client.Call(ctx, "go.chromium.org.luci.server.quota.quotapb.Admin", "ApplyOps", in, out, opts...)
  1080  	if err != nil {
  1081  		return nil, err
  1082  	}
  1083  	return out, nil
  1084  }
  1085  
  1086  func (c *adminPRPCClient) WritePolicyConfig(ctx context.Context, in *WritePolicyConfigRequest, opts ...grpc.CallOption) (*WritePolicyConfigResponse, error) {
  1087  	out := new(WritePolicyConfigResponse)
  1088  	err := c.client.Call(ctx, "go.chromium.org.luci.server.quota.quotapb.Admin", "WritePolicyConfig", in, out, opts...)
  1089  	if err != nil {
  1090  		return nil, err
  1091  	}
  1092  	return out, nil
  1093  }
  1094  
  1095  type adminClient struct {
  1096  	cc grpc.ClientConnInterface
  1097  }
  1098  
  1099  func NewAdminClient(cc grpc.ClientConnInterface) AdminClient {
  1100  	return &adminClient{cc}
  1101  }
  1102  
  1103  func (c *adminClient) GetAccounts(ctx context.Context, in *GetAccountsRequest, opts ...grpc.CallOption) (*GetAccountsResponse, error) {
  1104  	out := new(GetAccountsResponse)
  1105  	err := c.cc.Invoke(ctx, "/go.chromium.org.luci.server.quota.quotapb.Admin/GetAccounts", in, out, opts...)
  1106  	if err != nil {
  1107  		return nil, err
  1108  	}
  1109  	return out, nil
  1110  }
  1111  
  1112  func (c *adminClient) ApplyOps(ctx context.Context, in *ApplyOpsRequest, opts ...grpc.CallOption) (*ApplyOpsResponse, error) {
  1113  	out := new(ApplyOpsResponse)
  1114  	err := c.cc.Invoke(ctx, "/go.chromium.org.luci.server.quota.quotapb.Admin/ApplyOps", in, out, opts...)
  1115  	if err != nil {
  1116  		return nil, err
  1117  	}
  1118  	return out, nil
  1119  }
  1120  
  1121  func (c *adminClient) WritePolicyConfig(ctx context.Context, in *WritePolicyConfigRequest, opts ...grpc.CallOption) (*WritePolicyConfigResponse, error) {
  1122  	out := new(WritePolicyConfigResponse)
  1123  	err := c.cc.Invoke(ctx, "/go.chromium.org.luci.server.quota.quotapb.Admin/WritePolicyConfig", in, out, opts...)
  1124  	if err != nil {
  1125  		return nil, err
  1126  	}
  1127  	return out, nil
  1128  }
  1129  
  1130  // AdminServer is the server API for Admin service.
  1131  type AdminServer interface {
  1132  	// GetAccounts returns the indicated Accounts.
  1133  	GetAccounts(context.Context, *GetAccountsRequest) (*GetAccountsResponse, error)
  1134  	// ApplyOps updates the available resources with the provided operations.
  1135  	ApplyOps(context.Context, *ApplyOpsRequest) (*ApplyOpsResponse, error)
  1136  	// WritePolicyConfig ingests the given PolicyConfig into the database.
  1137  	WritePolicyConfig(context.Context, *WritePolicyConfigRequest) (*WritePolicyConfigResponse, error)
  1138  }
  1139  
  1140  // UnimplementedAdminServer can be embedded to have forward compatible implementations.
  1141  type UnimplementedAdminServer struct {
  1142  }
  1143  
  1144  func (*UnimplementedAdminServer) GetAccounts(context.Context, *GetAccountsRequest) (*GetAccountsResponse, error) {
  1145  	return nil, status.Errorf(codes.Unimplemented, "method GetAccounts not implemented")
  1146  }
  1147  func (*UnimplementedAdminServer) ApplyOps(context.Context, *ApplyOpsRequest) (*ApplyOpsResponse, error) {
  1148  	return nil, status.Errorf(codes.Unimplemented, "method ApplyOps not implemented")
  1149  }
  1150  func (*UnimplementedAdminServer) WritePolicyConfig(context.Context, *WritePolicyConfigRequest) (*WritePolicyConfigResponse, error) {
  1151  	return nil, status.Errorf(codes.Unimplemented, "method WritePolicyConfig not implemented")
  1152  }
  1153  
  1154  func RegisterAdminServer(s prpc.Registrar, srv AdminServer) {
  1155  	s.RegisterService(&_Admin_serviceDesc, srv)
  1156  }
  1157  
  1158  func _Admin_GetAccounts_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1159  	in := new(GetAccountsRequest)
  1160  	if err := dec(in); err != nil {
  1161  		return nil, err
  1162  	}
  1163  	if interceptor == nil {
  1164  		return srv.(AdminServer).GetAccounts(ctx, in)
  1165  	}
  1166  	info := &grpc.UnaryServerInfo{
  1167  		Server:     srv,
  1168  		FullMethod: "/go.chromium.org.luci.server.quota.quotapb.Admin/GetAccounts",
  1169  	}
  1170  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1171  		return srv.(AdminServer).GetAccounts(ctx, req.(*GetAccountsRequest))
  1172  	}
  1173  	return interceptor(ctx, in, info, handler)
  1174  }
  1175  
  1176  func _Admin_ApplyOps_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1177  	in := new(ApplyOpsRequest)
  1178  	if err := dec(in); err != nil {
  1179  		return nil, err
  1180  	}
  1181  	if interceptor == nil {
  1182  		return srv.(AdminServer).ApplyOps(ctx, in)
  1183  	}
  1184  	info := &grpc.UnaryServerInfo{
  1185  		Server:     srv,
  1186  		FullMethod: "/go.chromium.org.luci.server.quota.quotapb.Admin/ApplyOps",
  1187  	}
  1188  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1189  		return srv.(AdminServer).ApplyOps(ctx, req.(*ApplyOpsRequest))
  1190  	}
  1191  	return interceptor(ctx, in, info, handler)
  1192  }
  1193  
  1194  func _Admin_WritePolicyConfig_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
  1195  	in := new(WritePolicyConfigRequest)
  1196  	if err := dec(in); err != nil {
  1197  		return nil, err
  1198  	}
  1199  	if interceptor == nil {
  1200  		return srv.(AdminServer).WritePolicyConfig(ctx, in)
  1201  	}
  1202  	info := &grpc.UnaryServerInfo{
  1203  		Server:     srv,
  1204  		FullMethod: "/go.chromium.org.luci.server.quota.quotapb.Admin/WritePolicyConfig",
  1205  	}
  1206  	handler := func(ctx context.Context, req interface{}) (interface{}, error) {
  1207  		return srv.(AdminServer).WritePolicyConfig(ctx, req.(*WritePolicyConfigRequest))
  1208  	}
  1209  	return interceptor(ctx, in, info, handler)
  1210  }
  1211  
  1212  var _Admin_serviceDesc = grpc.ServiceDesc{
  1213  	ServiceName: "go.chromium.org.luci.server.quota.quotapb.Admin",
  1214  	HandlerType: (*AdminServer)(nil),
  1215  	Methods: []grpc.MethodDesc{
  1216  		{
  1217  			MethodName: "GetAccounts",
  1218  			Handler:    _Admin_GetAccounts_Handler,
  1219  		},
  1220  		{
  1221  			MethodName: "ApplyOps",
  1222  			Handler:    _Admin_ApplyOps_Handler,
  1223  		},
  1224  		{
  1225  			MethodName: "WritePolicyConfig",
  1226  			Handler:    _Admin_WritePolicyConfig_Handler,
  1227  		},
  1228  	},
  1229  	Streams:  []grpc.StreamDesc{},
  1230  	Metadata: "go.chromium.org/luci/server/quota/quotapb/service.proto",
  1231  }