2022-11-22 06:31:51 -03:00

1705 lines
61 KiB
Go

// Copyright (c) 2022 Gitpod GmbH. All rights reserved.
// Licensed under the GNU Affero General Public License (AGPL).
// See License-AGPL.txt in the project root for license information.
// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// protoc-gen-go v1.28.1
// protoc (unknown)
// source: usage/v1/usage.proto
package v1
import (
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
reflect "reflect"
sync "sync"
)
const (
// Verify that this generated code is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
// Verify that runtime/protoimpl is sufficiently up-to-date.
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type ListUsageRequest_Ordering int32
const (
ListUsageRequest_ORDERING_DESCENDING ListUsageRequest_Ordering = 0
ListUsageRequest_ORDERING_ASCENDING ListUsageRequest_Ordering = 1
)
// Enum value maps for ListUsageRequest_Ordering.
var (
ListUsageRequest_Ordering_name = map[int32]string{
0: "ORDERING_DESCENDING",
1: "ORDERING_ASCENDING",
}
ListUsageRequest_Ordering_value = map[string]int32{
"ORDERING_DESCENDING": 0,
"ORDERING_ASCENDING": 1,
}
)
func (x ListUsageRequest_Ordering) Enum() *ListUsageRequest_Ordering {
p := new(ListUsageRequest_Ordering)
*p = x
return p
}
func (x ListUsageRequest_Ordering) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (ListUsageRequest_Ordering) Descriptor() protoreflect.EnumDescriptor {
return file_usage_v1_usage_proto_enumTypes[0].Descriptor()
}
func (ListUsageRequest_Ordering) Type() protoreflect.EnumType {
return &file_usage_v1_usage_proto_enumTypes[0]
}
func (x ListUsageRequest_Ordering) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use ListUsageRequest_Ordering.Descriptor instead.
func (ListUsageRequest_Ordering) EnumDescriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{4, 0}
}
type Usage_Kind int32
const (
Usage_KIND_WORKSPACE_INSTANCE Usage_Kind = 0
Usage_KIND_INVOICE Usage_Kind = 1
)
// Enum value maps for Usage_Kind.
var (
Usage_Kind_name = map[int32]string{
0: "KIND_WORKSPACE_INSTANCE",
1: "KIND_INVOICE",
}
Usage_Kind_value = map[string]int32{
"KIND_WORKSPACE_INSTANCE": 0,
"KIND_INVOICE": 1,
}
)
func (x Usage_Kind) Enum() *Usage_Kind {
p := new(Usage_Kind)
*p = x
return p
}
func (x Usage_Kind) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (Usage_Kind) Descriptor() protoreflect.EnumDescriptor {
return file_usage_v1_usage_proto_enumTypes[1].Descriptor()
}
func (Usage_Kind) Type() protoreflect.EnumType {
return &file_usage_v1_usage_proto_enumTypes[1]
}
func (x Usage_Kind) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use Usage_Kind.Descriptor instead.
func (Usage_Kind) EnumDescriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{6, 0}
}
type CostCenter_BillingStrategy int32
const (
CostCenter_BILLING_STRATEGY_STRIPE CostCenter_BillingStrategy = 0
CostCenter_BILLING_STRATEGY_OTHER CostCenter_BillingStrategy = 1
)
// Enum value maps for CostCenter_BillingStrategy.
var (
CostCenter_BillingStrategy_name = map[int32]string{
0: "BILLING_STRATEGY_STRIPE",
1: "BILLING_STRATEGY_OTHER",
}
CostCenter_BillingStrategy_value = map[string]int32{
"BILLING_STRATEGY_STRIPE": 0,
"BILLING_STRATEGY_OTHER": 1,
}
)
func (x CostCenter_BillingStrategy) Enum() *CostCenter_BillingStrategy {
p := new(CostCenter_BillingStrategy)
*p = x
return p
}
func (x CostCenter_BillingStrategy) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (CostCenter_BillingStrategy) Descriptor() protoreflect.EnumDescriptor {
return file_usage_v1_usage_proto_enumTypes[2].Descriptor()
}
func (CostCenter_BillingStrategy) Type() protoreflect.EnumType {
return &file_usage_v1_usage_proto_enumTypes[2]
}
func (x CostCenter_BillingStrategy) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use CostCenter_BillingStrategy.Descriptor instead.
func (CostCenter_BillingStrategy) EnumDescriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{13, 0}
}
type ReconcileUsageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
// from specifies the starting time range for this request.
From *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=from,proto3" json:"from,omitempty"`
// to specifies the end time range for this request.
To *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=to,proto3" json:"to,omitempty"`
}
func (x *ReconcileUsageRequest) Reset() {
*x = ReconcileUsageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReconcileUsageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReconcileUsageRequest) ProtoMessage() {}
func (x *ReconcileUsageRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 ReconcileUsageRequest.ProtoReflect.Descriptor instead.
func (*ReconcileUsageRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{0}
}
func (x *ReconcileUsageRequest) GetFrom() *timestamppb.Timestamp {
if x != nil {
return x.From
}
return nil
}
func (x *ReconcileUsageRequest) GetTo() *timestamppb.Timestamp {
if x != nil {
return x.To
}
return nil
}
type ReconcileUsageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ReconcileUsageResponse) Reset() {
*x = ReconcileUsageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[1]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ReconcileUsageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ReconcileUsageResponse) ProtoMessage() {}
func (x *ReconcileUsageResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 ReconcileUsageResponse.ProtoReflect.Descriptor instead.
func (*ReconcileUsageResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{1}
}
type PaginatedRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PerPage int64 `protobuf:"varint,1,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
Page int64 `protobuf:"varint,2,opt,name=page,proto3" json:"page,omitempty"`
}
func (x *PaginatedRequest) Reset() {
*x = PaginatedRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PaginatedRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PaginatedRequest) ProtoMessage() {}
func (x *PaginatedRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 PaginatedRequest.ProtoReflect.Descriptor instead.
func (*PaginatedRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{2}
}
func (x *PaginatedRequest) GetPerPage() int64 {
if x != nil {
return x.PerPage
}
return 0
}
func (x *PaginatedRequest) GetPage() int64 {
if x != nil {
return x.Page
}
return 0
}
type PaginatedResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
PerPage int64 `protobuf:"varint,2,opt,name=per_page,json=perPage,proto3" json:"per_page,omitempty"`
TotalPages int64 `protobuf:"varint,3,opt,name=total_pages,json=totalPages,proto3" json:"total_pages,omitempty"`
Total int64 `protobuf:"varint,4,opt,name=total,proto3" json:"total,omitempty"`
Page int64 `protobuf:"varint,5,opt,name=page,proto3" json:"page,omitempty"`
}
func (x *PaginatedResponse) Reset() {
*x = PaginatedResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *PaginatedResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*PaginatedResponse) ProtoMessage() {}
func (x *PaginatedResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 PaginatedResponse.ProtoReflect.Descriptor instead.
func (*PaginatedResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{3}
}
func (x *PaginatedResponse) GetPerPage() int64 {
if x != nil {
return x.PerPage
}
return 0
}
func (x *PaginatedResponse) GetTotalPages() int64 {
if x != nil {
return x.TotalPages
}
return 0
}
func (x *PaginatedResponse) GetTotal() int64 {
if x != nil {
return x.Total
}
return 0
}
func (x *PaginatedResponse) GetPage() int64 {
if x != nil {
return x.Page
}
return 0
}
type ListUsageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AttributionId string `protobuf:"bytes,1,opt,name=attribution_id,json=attributionId,proto3" json:"attribution_id,omitempty"`
// from specifies the starting time range for this request.
// All instances which existed starting at from will be returned.
From *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=from,proto3" json:"from,omitempty"`
// to specifies the end time range for this request.
// All instances which existed ending at to will be returned.
To *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=to,proto3" json:"to,omitempty"`
Order ListUsageRequest_Ordering `protobuf:"varint,4,opt,name=order,proto3,enum=usage.v1.ListUsageRequest_Ordering" json:"order,omitempty"`
Pagination *PaginatedRequest `protobuf:"bytes,5,opt,name=pagination,proto3" json:"pagination,omitempty"`
}
func (x *ListUsageRequest) Reset() {
*x = ListUsageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUsageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUsageRequest) ProtoMessage() {}
func (x *ListUsageRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 ListUsageRequest.ProtoReflect.Descriptor instead.
func (*ListUsageRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{4}
}
func (x *ListUsageRequest) GetAttributionId() string {
if x != nil {
return x.AttributionId
}
return ""
}
func (x *ListUsageRequest) GetFrom() *timestamppb.Timestamp {
if x != nil {
return x.From
}
return nil
}
func (x *ListUsageRequest) GetTo() *timestamppb.Timestamp {
if x != nil {
return x.To
}
return nil
}
func (x *ListUsageRequest) GetOrder() ListUsageRequest_Ordering {
if x != nil {
return x.Order
}
return ListUsageRequest_ORDERING_DESCENDING
}
func (x *ListUsageRequest) GetPagination() *PaginatedRequest {
if x != nil {
return x.Pagination
}
return nil
}
type ListUsageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
UsageEntries []*Usage `protobuf:"bytes,1,rep,name=usage_entries,json=usageEntries,proto3" json:"usage_entries,omitempty"`
Pagination *PaginatedResponse `protobuf:"bytes,2,opt,name=pagination,proto3" json:"pagination,omitempty"`
// the amount of credits the given account (attributionId) has used during the requested period
CreditsUsed float64 `protobuf:"fixed64,3,opt,name=credits_used,json=creditsUsed,proto3" json:"credits_used,omitempty"`
}
func (x *ListUsageResponse) Reset() {
*x = ListUsageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ListUsageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ListUsageResponse) ProtoMessage() {}
func (x *ListUsageResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 ListUsageResponse.ProtoReflect.Descriptor instead.
func (*ListUsageResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{5}
}
func (x *ListUsageResponse) GetUsageEntries() []*Usage {
if x != nil {
return x.UsageEntries
}
return nil
}
func (x *ListUsageResponse) GetPagination() *PaginatedResponse {
if x != nil {
return x.Pagination
}
return nil
}
func (x *ListUsageResponse) GetCreditsUsed() float64 {
if x != nil {
return x.CreditsUsed
}
return 0
}
type Usage struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
AttributionId string `protobuf:"bytes,2,opt,name=attribution_id,json=attributionId,proto3" json:"attribution_id,omitempty"`
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
Credits float64 `protobuf:"fixed64,4,opt,name=credits,proto3" json:"credits,omitempty"`
EffectiveTime *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"`
Kind Usage_Kind `protobuf:"varint,6,opt,name=kind,proto3,enum=usage.v1.Usage_Kind" json:"kind,omitempty"`
WorkspaceInstanceId string `protobuf:"bytes,7,opt,name=workspace_instance_id,json=workspaceInstanceId,proto3" json:"workspace_instance_id,omitempty"`
Draft bool `protobuf:"varint,8,opt,name=draft,proto3" json:"draft,omitempty"`
Metadata string `protobuf:"bytes,9,opt,name=metadata,proto3" json:"metadata,omitempty"`
}
func (x *Usage) Reset() {
*x = Usage{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *Usage) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*Usage) ProtoMessage() {}
func (x *Usage) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_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 Usage.ProtoReflect.Descriptor instead.
func (*Usage) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{6}
}
func (x *Usage) GetId() string {
if x != nil {
return x.Id
}
return ""
}
func (x *Usage) GetAttributionId() string {
if x != nil {
return x.AttributionId
}
return ""
}
func (x *Usage) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *Usage) GetCredits() float64 {
if x != nil {
return x.Credits
}
return 0
}
func (x *Usage) GetEffectiveTime() *timestamppb.Timestamp {
if x != nil {
return x.EffectiveTime
}
return nil
}
func (x *Usage) GetKind() Usage_Kind {
if x != nil {
return x.Kind
}
return Usage_KIND_WORKSPACE_INSTANCE
}
func (x *Usage) GetWorkspaceInstanceId() string {
if x != nil {
return x.WorkspaceInstanceId
}
return ""
}
func (x *Usage) GetDraft() bool {
if x != nil {
return x.Draft
}
return false
}
func (x *Usage) GetMetadata() string {
if x != nil {
return x.Metadata
}
return ""
}
type SetCostCenterRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CostCenter *CostCenter `protobuf:"bytes,1,opt,name=cost_center,json=costCenter,proto3" json:"cost_center,omitempty"`
}
func (x *SetCostCenterRequest) Reset() {
*x = SetCostCenterRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetCostCenterRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetCostCenterRequest) ProtoMessage() {}
func (x *SetCostCenterRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[7]
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 SetCostCenterRequest.ProtoReflect.Descriptor instead.
func (*SetCostCenterRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{7}
}
func (x *SetCostCenterRequest) GetCostCenter() *CostCenter {
if x != nil {
return x.CostCenter
}
return nil
}
type SetCostCenterResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CostCenter *CostCenter `protobuf:"bytes,1,opt,name=cost_center,json=costCenter,proto3" json:"cost_center,omitempty"`
}
func (x *SetCostCenterResponse) Reset() {
*x = SetCostCenterResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *SetCostCenterResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*SetCostCenterResponse) ProtoMessage() {}
func (x *SetCostCenterResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[8]
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 SetCostCenterResponse.ProtoReflect.Descriptor instead.
func (*SetCostCenterResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{8}
}
func (x *SetCostCenterResponse) GetCostCenter() *CostCenter {
if x != nil {
return x.CostCenter
}
return nil
}
type GetBalanceRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AttributionId string `protobuf:"bytes,1,opt,name=attribution_id,json=attributionId,proto3" json:"attribution_id,omitempty"`
}
func (x *GetBalanceRequest) Reset() {
*x = GetBalanceRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[9]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBalanceRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBalanceRequest) ProtoMessage() {}
func (x *GetBalanceRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[9]
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 GetBalanceRequest.ProtoReflect.Descriptor instead.
func (*GetBalanceRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{9}
}
func (x *GetBalanceRequest) GetAttributionId() string {
if x != nil {
return x.AttributionId
}
return ""
}
type GetBalanceResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Credits float64 `protobuf:"fixed64,4,opt,name=credits,proto3" json:"credits,omitempty"`
}
func (x *GetBalanceResponse) Reset() {
*x = GetBalanceResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetBalanceResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetBalanceResponse) ProtoMessage() {}
func (x *GetBalanceResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[10]
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 GetBalanceResponse.ProtoReflect.Descriptor instead.
func (*GetBalanceResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{10}
}
func (x *GetBalanceResponse) GetCredits() float64 {
if x != nil {
return x.Credits
}
return 0
}
type GetCostCenterRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AttributionId string `protobuf:"bytes,1,opt,name=attribution_id,json=attributionId,proto3" json:"attribution_id,omitempty"`
}
func (x *GetCostCenterRequest) Reset() {
*x = GetCostCenterRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCostCenterRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCostCenterRequest) ProtoMessage() {}
func (x *GetCostCenterRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[11]
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 GetCostCenterRequest.ProtoReflect.Descriptor instead.
func (*GetCostCenterRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{11}
}
func (x *GetCostCenterRequest) GetAttributionId() string {
if x != nil {
return x.AttributionId
}
return ""
}
type GetCostCenterResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
CostCenter *CostCenter `protobuf:"bytes,1,opt,name=cost_center,json=costCenter,proto3" json:"cost_center,omitempty"`
}
func (x *GetCostCenterResponse) Reset() {
*x = GetCostCenterResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *GetCostCenterResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*GetCostCenterResponse) ProtoMessage() {}
func (x *GetCostCenterResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[12]
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 GetCostCenterResponse.ProtoReflect.Descriptor instead.
func (*GetCostCenterResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{12}
}
func (x *GetCostCenterResponse) GetCostCenter() *CostCenter {
if x != nil {
return x.CostCenter
}
return nil
}
type CostCenter struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AttributionId string `protobuf:"bytes,1,opt,name=attribution_id,json=attributionId,proto3" json:"attribution_id,omitempty"`
SpendingLimit int32 `protobuf:"varint,2,opt,name=spending_limit,json=spendingLimit,proto3" json:"spending_limit,omitempty"`
BillingStrategy CostCenter_BillingStrategy `protobuf:"varint,3,opt,name=billing_strategy,json=billingStrategy,proto3,enum=usage.v1.CostCenter_BillingStrategy" json:"billing_strategy,omitempty"`
// next_billing_time specifies when the next billing cycle happens. Only set when billing strategy is 'other'. This property is readonly.
NextBillingTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=next_billing_time,json=nextBillingTime,proto3" json:"next_billing_time,omitempty"`
BillingCycleStart *timestamppb.Timestamp `protobuf:"bytes,5,opt,name=billing_cycle_start,json=billingCycleStart,proto3" json:"billing_cycle_start,omitempty"`
}
func (x *CostCenter) Reset() {
*x = CostCenter{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *CostCenter) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*CostCenter) ProtoMessage() {}
func (x *CostCenter) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[13]
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 CostCenter.ProtoReflect.Descriptor instead.
func (*CostCenter) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{13}
}
func (x *CostCenter) GetAttributionId() string {
if x != nil {
return x.AttributionId
}
return ""
}
func (x *CostCenter) GetSpendingLimit() int32 {
if x != nil {
return x.SpendingLimit
}
return 0
}
func (x *CostCenter) GetBillingStrategy() CostCenter_BillingStrategy {
if x != nil {
return x.BillingStrategy
}
return CostCenter_BILLING_STRATEGY_STRIPE
}
func (x *CostCenter) GetNextBillingTime() *timestamppb.Timestamp {
if x != nil {
return x.NextBillingTime
}
return nil
}
func (x *CostCenter) GetBillingCycleStart() *timestamppb.Timestamp {
if x != nil {
return x.BillingCycleStart
}
return nil
}
type ResetUsageRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ResetUsageRequest) Reset() {
*x = ResetUsageRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResetUsageRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResetUsageRequest) ProtoMessage() {}
func (x *ResetUsageRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[14]
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 ResetUsageRequest.ProtoReflect.Descriptor instead.
func (*ResetUsageRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{14}
}
type ResetUsageResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *ResetUsageResponse) Reset() {
*x = ResetUsageResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[15]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *ResetUsageResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*ResetUsageResponse) ProtoMessage() {}
func (x *ResetUsageResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[15]
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 ResetUsageResponse.ProtoReflect.Descriptor instead.
func (*ResetUsageResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{15}
}
type AddUsageCreditNoteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
AttributionId string `protobuf:"bytes,1,opt,name=attribution_id,json=attributionId,proto3" json:"attribution_id,omitempty"`
// the amount of credits to add to the given account
Credits int32 `protobuf:"varint,2,opt,name=credits,proto3" json:"credits,omitempty"`
// a human readable description for the reason this credit note exists
Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
// the id of the user (admin) who created the note
UserId string `protobuf:"bytes,4,opt,name=user_id,json=userId,proto3" json:"user_id,omitempty"`
}
func (x *AddUsageCreditNoteRequest) Reset() {
*x = AddUsageCreditNoteRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddUsageCreditNoteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddUsageCreditNoteRequest) ProtoMessage() {}
func (x *AddUsageCreditNoteRequest) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[16]
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 AddUsageCreditNoteRequest.ProtoReflect.Descriptor instead.
func (*AddUsageCreditNoteRequest) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{16}
}
func (x *AddUsageCreditNoteRequest) GetAttributionId() string {
if x != nil {
return x.AttributionId
}
return ""
}
func (x *AddUsageCreditNoteRequest) GetCredits() int32 {
if x != nil {
return x.Credits
}
return 0
}
func (x *AddUsageCreditNoteRequest) GetDescription() string {
if x != nil {
return x.Description
}
return ""
}
func (x *AddUsageCreditNoteRequest) GetUserId() string {
if x != nil {
return x.UserId
}
return ""
}
type AddUsageCreditNoteResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
}
func (x *AddUsageCreditNoteResponse) Reset() {
*x = AddUsageCreditNoteResponse{}
if protoimpl.UnsafeEnabled {
mi := &file_usage_v1_usage_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
func (x *AddUsageCreditNoteResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*AddUsageCreditNoteResponse) ProtoMessage() {}
func (x *AddUsageCreditNoteResponse) ProtoReflect() protoreflect.Message {
mi := &file_usage_v1_usage_proto_msgTypes[17]
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 AddUsageCreditNoteResponse.ProtoReflect.Descriptor instead.
func (*AddUsageCreditNoteResponse) Descriptor() ([]byte, []int) {
return file_usage_v1_usage_proto_rawDescGZIP(), []int{17}
}
var File_usage_v1_usage_proto protoreflect.FileDescriptor
var file_usage_v1_usage_proto_rawDesc = []byte{
0x0a, 0x14, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x61, 0x67, 0x65,
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74,
0x6f, 0x22, 0x73, 0x0a, 0x15, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x55, 0x73,
0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72,
0x6f, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f,
0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63,
0x69, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x41, 0x0a, 0x10, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x67, 0x65,
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50, 0x61, 0x67, 0x65, 0x12,
0x12, 0x0a, 0x04, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70,
0x61, 0x67, 0x65, 0x22, 0x79, 0x0a, 0x11, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x19, 0x0a, 0x08, 0x70, 0x65, 0x72, 0x5f,
0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x70, 0x65, 0x72, 0x50,
0x61, 0x67, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x70, 0x61, 0x67,
0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x50,
0x61, 0x67, 0x65, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x18, 0x04, 0x20,
0x01, 0x28, 0x03, 0x52, 0x05, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x61,
0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x70, 0x61, 0x67, 0x65, 0x22, 0xc9,
0x02, 0x0a, 0x10, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69,
0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74,
0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x2e, 0x0a, 0x04, 0x66, 0x72,
0x6f, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
0x74, 0x61, 0x6d, 0x70, 0x52, 0x04, 0x66, 0x72, 0x6f, 0x6d, 0x12, 0x2a, 0x0a, 0x02, 0x74, 0x6f,
0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
0x6d, 0x70, 0x52, 0x02, 0x74, 0x6f, 0x12, 0x39, 0x0a, 0x05, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x18,
0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x2e, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x52, 0x05, 0x6f, 0x72, 0x64, 0x65,
0x72, 0x12, 0x3a, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3b, 0x0a,
0x08, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x17, 0x0a, 0x13, 0x4f, 0x52, 0x44,
0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x44, 0x45, 0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47,
0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x41,
0x53, 0x43, 0x45, 0x4e, 0x44, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x22, 0xa9, 0x01, 0x0a, 0x11, 0x4c,
0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x34, 0x0a, 0x0d, 0x75, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x65, 0x6e, 0x74, 0x72, 0x69, 0x65,
0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0f, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e,
0x76, 0x31, 0x2e, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x0c, 0x75, 0x73, 0x61, 0x67, 0x65, 0x45,
0x6e, 0x74, 0x72, 0x69, 0x65, 0x73, 0x12, 0x3b, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61,
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1b, 0x2e, 0x75, 0x73, 0x61,
0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x64, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x52, 0x0a, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74,
0x69, 0x6f, 0x6e, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x5f, 0x75,
0x73, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x69,
0x74, 0x73, 0x55, 0x73, 0x65, 0x64, 0x22, 0x84, 0x03, 0x0a, 0x05, 0x55, 0x73, 0x61, 0x67, 0x65,
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65,
0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64,
0x69, 0x74, 0x73, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x28, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x06,
0x20, 0x01, 0x28, 0x0e, 0x32, 0x14, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x55, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x4b, 0x69, 0x6e, 0x64, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64,
0x12, 0x32, 0x0a, 0x15, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x5f, 0x69, 0x6e,
0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
0x13, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x70, 0x61, 0x63, 0x65, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6e,
0x63, 0x65, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x18, 0x08, 0x20,
0x01, 0x28, 0x08, 0x52, 0x05, 0x64, 0x72, 0x61, 0x66, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6d, 0x65,
0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x35, 0x0a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x12, 0x1b,
0x0a, 0x17, 0x4b, 0x49, 0x4e, 0x44, 0x5f, 0x57, 0x4f, 0x52, 0x4b, 0x53, 0x50, 0x41, 0x43, 0x45,
0x5f, 0x49, 0x4e, 0x53, 0x54, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4b,
0x49, 0x4e, 0x44, 0x5f, 0x49, 0x4e, 0x56, 0x4f, 0x49, 0x43, 0x45, 0x10, 0x01, 0x22, 0x4d, 0x0a,
0x14, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65,
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x65,
0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x75, 0x73, 0x61,
0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72,
0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x4e, 0x0a, 0x15,
0x53, 0x65, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73,
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x35, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x65,
0x6e, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x75, 0x73, 0x61,
0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72,
0x52, 0x0a, 0x63, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3a, 0x0a, 0x11,
0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e,
0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69,
0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x2e, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42,
0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x18,
0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x01, 0x52,
0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x22, 0x3d, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43,
0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x22, 0x4e, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x43, 0x6f,
0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x12, 0x35, 0x0a, 0x0b, 0x63, 0x6f, 0x73, 0x74, 0x5f, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x18,
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31,
0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x73,
0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x8b, 0x03, 0x0a, 0x0a, 0x43, 0x6f, 0x73, 0x74,
0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x25, 0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62,
0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x25, 0x0a,
0x0e, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x4c,
0x69, 0x6d, 0x69, 0x74, 0x12, 0x4f, 0x0a, 0x10, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f,
0x73, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24,
0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65,
0x6e, 0x74, 0x65, 0x72, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61,
0x74, 0x65, 0x67, 0x79, 0x52, 0x0f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72,
0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x46, 0x0a, 0x11, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x62, 0x69,
0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f, 0x6e, 0x65,
0x78, 0x74, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x4a, 0x0a,
0x13, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x5f, 0x73,
0x74, 0x61, 0x72, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x11, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x43,
0x79, 0x63, 0x6c, 0x65, 0x53, 0x74, 0x61, 0x72, 0x74, 0x22, 0x4a, 0x0a, 0x0f, 0x42, 0x69, 0x6c,
0x6c, 0x69, 0x6e, 0x67, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x12, 0x1b, 0x0a, 0x17,
0x42, 0x49, 0x4c, 0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59,
0x5f, 0x53, 0x54, 0x52, 0x49, 0x50, 0x45, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x49, 0x4c,
0x4c, 0x49, 0x4e, 0x47, 0x5f, 0x53, 0x54, 0x52, 0x41, 0x54, 0x45, 0x47, 0x59, 0x5f, 0x4f, 0x54,
0x48, 0x45, 0x52, 0x10, 0x01, 0x22, 0x13, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x65, 0x74, 0x55, 0x73,
0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x14, 0x0a, 0x12, 0x52, 0x65,
0x73, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
0x22, 0x97, 0x01, 0x0a, 0x19, 0x41, 0x64, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65,
0x64, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x25,
0x0a, 0x0e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64,
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74,
0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73,
0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x73, 0x12,
0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03,
0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f,
0x6e, 0x12, 0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01,
0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x41, 0x64,
0x64, 0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x65,
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xce, 0x04, 0x0a, 0x0c, 0x55, 0x73, 0x61,
0x67, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x52, 0x0a, 0x0d, 0x47, 0x65, 0x74,
0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1e, 0x2e, 0x75, 0x73, 0x61,
0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e,
0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x75, 0x73, 0x61,
0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e,
0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x52, 0x0a,
0x0d, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x73, 0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x12, 0x1e,
0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x73,
0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f,
0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x43, 0x6f, 0x73,
0x74, 0x43, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
0x00, 0x12, 0x55, 0x0a, 0x0e, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x55, 0x73,
0x61, 0x67, 0x65, 0x12, 0x1f, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71,
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e,
0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x65, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65,
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x52, 0x65, 0x73, 0x65,
0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x12, 0x1b, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75,
0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
0x65, 0x73, 0x65, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
0x65, 0x22, 0x00, 0x12, 0x46, 0x0a, 0x09, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x67, 0x65,
0x12, 0x1a, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74,
0x55, 0x73, 0x61, 0x67, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x75,
0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x61, 0x67,
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x49, 0x0a, 0x0a, 0x47,
0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x1b, 0x2e, 0x75, 0x73, 0x61, 0x67,
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52,
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76,
0x31, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x61, 0x6c, 0x61, 0x6e, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x61, 0x0a, 0x12, 0x41, 0x64, 0x64, 0x55, 0x73, 0x61,
0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x12, 0x23, 0x2e, 0x75,
0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64, 0x55, 0x73, 0x61, 0x67, 0x65,
0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
0x74, 0x1a, 0x24, 0x2e, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x64, 0x64,
0x55, 0x73, 0x61, 0x67, 0x65, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x52,
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x42, 0x2a, 0x5a, 0x28, 0x67, 0x69, 0x74,
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2d, 0x69,
0x6f, 0x2f, 0x67, 0x69, 0x74, 0x70, 0x6f, 0x64, 0x2f, 0x75, 0x73, 0x61, 0x67, 0x65, 0x2d, 0x61,
0x70, 0x69, 0x2f, 0x76, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
file_usage_v1_usage_proto_rawDescOnce sync.Once
file_usage_v1_usage_proto_rawDescData = file_usage_v1_usage_proto_rawDesc
)
func file_usage_v1_usage_proto_rawDescGZIP() []byte {
file_usage_v1_usage_proto_rawDescOnce.Do(func() {
file_usage_v1_usage_proto_rawDescData = protoimpl.X.CompressGZIP(file_usage_v1_usage_proto_rawDescData)
})
return file_usage_v1_usage_proto_rawDescData
}
var file_usage_v1_usage_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_usage_v1_usage_proto_msgTypes = make([]protoimpl.MessageInfo, 18)
var file_usage_v1_usage_proto_goTypes = []interface{}{
(ListUsageRequest_Ordering)(0), // 0: usage.v1.ListUsageRequest.Ordering
(Usage_Kind)(0), // 1: usage.v1.Usage.Kind
(CostCenter_BillingStrategy)(0), // 2: usage.v1.CostCenter.BillingStrategy
(*ReconcileUsageRequest)(nil), // 3: usage.v1.ReconcileUsageRequest
(*ReconcileUsageResponse)(nil), // 4: usage.v1.ReconcileUsageResponse
(*PaginatedRequest)(nil), // 5: usage.v1.PaginatedRequest
(*PaginatedResponse)(nil), // 6: usage.v1.PaginatedResponse
(*ListUsageRequest)(nil), // 7: usage.v1.ListUsageRequest
(*ListUsageResponse)(nil), // 8: usage.v1.ListUsageResponse
(*Usage)(nil), // 9: usage.v1.Usage
(*SetCostCenterRequest)(nil), // 10: usage.v1.SetCostCenterRequest
(*SetCostCenterResponse)(nil), // 11: usage.v1.SetCostCenterResponse
(*GetBalanceRequest)(nil), // 12: usage.v1.GetBalanceRequest
(*GetBalanceResponse)(nil), // 13: usage.v1.GetBalanceResponse
(*GetCostCenterRequest)(nil), // 14: usage.v1.GetCostCenterRequest
(*GetCostCenterResponse)(nil), // 15: usage.v1.GetCostCenterResponse
(*CostCenter)(nil), // 16: usage.v1.CostCenter
(*ResetUsageRequest)(nil), // 17: usage.v1.ResetUsageRequest
(*ResetUsageResponse)(nil), // 18: usage.v1.ResetUsageResponse
(*AddUsageCreditNoteRequest)(nil), // 19: usage.v1.AddUsageCreditNoteRequest
(*AddUsageCreditNoteResponse)(nil), // 20: usage.v1.AddUsageCreditNoteResponse
(*timestamppb.Timestamp)(nil), // 21: google.protobuf.Timestamp
}
var file_usage_v1_usage_proto_depIdxs = []int32{
21, // 0: usage.v1.ReconcileUsageRequest.from:type_name -> google.protobuf.Timestamp
21, // 1: usage.v1.ReconcileUsageRequest.to:type_name -> google.protobuf.Timestamp
21, // 2: usage.v1.ListUsageRequest.from:type_name -> google.protobuf.Timestamp
21, // 3: usage.v1.ListUsageRequest.to:type_name -> google.protobuf.Timestamp
0, // 4: usage.v1.ListUsageRequest.order:type_name -> usage.v1.ListUsageRequest.Ordering
5, // 5: usage.v1.ListUsageRequest.pagination:type_name -> usage.v1.PaginatedRequest
9, // 6: usage.v1.ListUsageResponse.usage_entries:type_name -> usage.v1.Usage
6, // 7: usage.v1.ListUsageResponse.pagination:type_name -> usage.v1.PaginatedResponse
21, // 8: usage.v1.Usage.effective_time:type_name -> google.protobuf.Timestamp
1, // 9: usage.v1.Usage.kind:type_name -> usage.v1.Usage.Kind
16, // 10: usage.v1.SetCostCenterRequest.cost_center:type_name -> usage.v1.CostCenter
16, // 11: usage.v1.SetCostCenterResponse.cost_center:type_name -> usage.v1.CostCenter
16, // 12: usage.v1.GetCostCenterResponse.cost_center:type_name -> usage.v1.CostCenter
2, // 13: usage.v1.CostCenter.billing_strategy:type_name -> usage.v1.CostCenter.BillingStrategy
21, // 14: usage.v1.CostCenter.next_billing_time:type_name -> google.protobuf.Timestamp
21, // 15: usage.v1.CostCenter.billing_cycle_start:type_name -> google.protobuf.Timestamp
14, // 16: usage.v1.UsageService.GetCostCenter:input_type -> usage.v1.GetCostCenterRequest
10, // 17: usage.v1.UsageService.SetCostCenter:input_type -> usage.v1.SetCostCenterRequest
3, // 18: usage.v1.UsageService.ReconcileUsage:input_type -> usage.v1.ReconcileUsageRequest
17, // 19: usage.v1.UsageService.ResetUsage:input_type -> usage.v1.ResetUsageRequest
7, // 20: usage.v1.UsageService.ListUsage:input_type -> usage.v1.ListUsageRequest
12, // 21: usage.v1.UsageService.GetBalance:input_type -> usage.v1.GetBalanceRequest
19, // 22: usage.v1.UsageService.AddUsageCreditNote:input_type -> usage.v1.AddUsageCreditNoteRequest
15, // 23: usage.v1.UsageService.GetCostCenter:output_type -> usage.v1.GetCostCenterResponse
11, // 24: usage.v1.UsageService.SetCostCenter:output_type -> usage.v1.SetCostCenterResponse
4, // 25: usage.v1.UsageService.ReconcileUsage:output_type -> usage.v1.ReconcileUsageResponse
18, // 26: usage.v1.UsageService.ResetUsage:output_type -> usage.v1.ResetUsageResponse
8, // 27: usage.v1.UsageService.ListUsage:output_type -> usage.v1.ListUsageResponse
13, // 28: usage.v1.UsageService.GetBalance:output_type -> usage.v1.GetBalanceResponse
20, // 29: usage.v1.UsageService.AddUsageCreditNote:output_type -> usage.v1.AddUsageCreditNoteResponse
23, // [23:30] is the sub-list for method output_type
16, // [16:23] is the sub-list for method input_type
16, // [16:16] is the sub-list for extension type_name
16, // [16:16] is the sub-list for extension extendee
0, // [0:16] is the sub-list for field type_name
}
func init() { file_usage_v1_usage_proto_init() }
func file_usage_v1_usage_proto_init() {
if File_usage_v1_usage_proto != nil {
return
}
if !protoimpl.UnsafeEnabled {
file_usage_v1_usage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReconcileUsageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReconcileUsageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PaginatedRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*PaginatedResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUsageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ListUsageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Usage); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetCostCenterRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*SetCostCenterResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBalanceRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetBalanceResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCostCenterRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*GetCostCenterResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CostCenter); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResetUsageRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ResetUsageResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddUsageCreditNoteRequest); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
file_usage_v1_usage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*AddUsageCreditNoteResponse); i {
case 0:
return &v.state
case 1:
return &v.sizeCache
case 2:
return &v.unknownFields
default:
return nil
}
}
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_usage_v1_usage_proto_rawDesc,
NumEnums: 3,
NumMessages: 18,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_usage_v1_usage_proto_goTypes,
DependencyIndexes: file_usage_v1_usage_proto_depIdxs,
EnumInfos: file_usage_v1_usage_proto_enumTypes,
MessageInfos: file_usage_v1_usage_proto_msgTypes,
}.Build()
File_usage_v1_usage_proto = out.File
file_usage_v1_usage_proto_rawDesc = nil
file_usage_v1_usage_proto_goTypes = nil
file_usage_v1_usage_proto_depIdxs = nil
}