1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package budgets
22
23 import (
24 reflect "reflect"
25 sync "sync"
26
27 proto "github.com/golang/protobuf/proto"
28 _ "google.golang.org/genproto/googleapis/api/annotations"
29 money "google.golang.org/genproto/googleapis/type/money"
30 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
31 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
32 structpb "google.golang.org/protobuf/types/known/structpb"
33 )
34
35 const (
36
37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
38
39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
40 )
41
42
43
44 const _ = proto.ProtoPackageIsVersion4
45
46
47 type ThresholdRule_Basis int32
48
49 const (
50
51 ThresholdRule_BASIS_UNSPECIFIED ThresholdRule_Basis = 0
52
53 ThresholdRule_CURRENT_SPEND ThresholdRule_Basis = 1
54
55
56 ThresholdRule_FORECASTED_SPEND ThresholdRule_Basis = 2
57 )
58
59
60 var (
61 ThresholdRule_Basis_name = map[int32]string{
62 0: "BASIS_UNSPECIFIED",
63 1: "CURRENT_SPEND",
64 2: "FORECASTED_SPEND",
65 }
66 ThresholdRule_Basis_value = map[string]int32{
67 "BASIS_UNSPECIFIED": 0,
68 "CURRENT_SPEND": 1,
69 "FORECASTED_SPEND": 2,
70 }
71 )
72
73 func (x ThresholdRule_Basis) Enum() *ThresholdRule_Basis {
74 p := new(ThresholdRule_Basis)
75 *p = x
76 return p
77 }
78
79 func (x ThresholdRule_Basis) String() string {
80 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
81 }
82
83 func (ThresholdRule_Basis) Descriptor() protoreflect.EnumDescriptor {
84 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_enumTypes[0].Descriptor()
85 }
86
87 func (ThresholdRule_Basis) Type() protoreflect.EnumType {
88 return &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_enumTypes[0]
89 }
90
91 func (x ThresholdRule_Basis) Number() protoreflect.EnumNumber {
92 return protoreflect.EnumNumber(x)
93 }
94
95
96 func (ThresholdRule_Basis) EnumDescriptor() ([]byte, []int) {
97 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{3, 0}
98 }
99
100
101
102 type Filter_CreditTypesTreatment int32
103
104 const (
105 Filter_CREDIT_TYPES_TREATMENT_UNSPECIFIED Filter_CreditTypesTreatment = 0
106
107
108 Filter_INCLUDE_ALL_CREDITS Filter_CreditTypesTreatment = 1
109
110
111 Filter_EXCLUDE_ALL_CREDITS Filter_CreditTypesTreatment = 2
112
113
114 Filter_INCLUDE_SPECIFIED_CREDITS Filter_CreditTypesTreatment = 3
115 )
116
117
118 var (
119 Filter_CreditTypesTreatment_name = map[int32]string{
120 0: "CREDIT_TYPES_TREATMENT_UNSPECIFIED",
121 1: "INCLUDE_ALL_CREDITS",
122 2: "EXCLUDE_ALL_CREDITS",
123 3: "INCLUDE_SPECIFIED_CREDITS",
124 }
125 Filter_CreditTypesTreatment_value = map[string]int32{
126 "CREDIT_TYPES_TREATMENT_UNSPECIFIED": 0,
127 "INCLUDE_ALL_CREDITS": 1,
128 "EXCLUDE_ALL_CREDITS": 2,
129 "INCLUDE_SPECIFIED_CREDITS": 3,
130 }
131 )
132
133 func (x Filter_CreditTypesTreatment) Enum() *Filter_CreditTypesTreatment {
134 p := new(Filter_CreditTypesTreatment)
135 *p = x
136 return p
137 }
138
139 func (x Filter_CreditTypesTreatment) String() string {
140 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
141 }
142
143 func (Filter_CreditTypesTreatment) Descriptor() protoreflect.EnumDescriptor {
144 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_enumTypes[1].Descriptor()
145 }
146
147 func (Filter_CreditTypesTreatment) Type() protoreflect.EnumType {
148 return &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_enumTypes[1]
149 }
150
151 func (x Filter_CreditTypesTreatment) Number() protoreflect.EnumNumber {
152 return protoreflect.EnumNumber(x)
153 }
154
155
156 func (Filter_CreditTypesTreatment) EnumDescriptor() ([]byte, []int) {
157 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{5, 0}
158 }
159
160
161
162
163
164
165 type Budget struct {
166 state protoimpl.MessageState
167 sizeCache protoimpl.SizeCache
168 unknownFields protoimpl.UnknownFields
169
170
171
172
173 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
174
175
176 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
177
178
179 BudgetFilter *Filter `protobuf:"bytes,3,opt,name=budget_filter,json=budgetFilter,proto3" json:"budget_filter,omitempty"`
180
181 Amount *BudgetAmount `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"`
182
183
184 ThresholdRules []*ThresholdRule `protobuf:"bytes,5,rep,name=threshold_rules,json=thresholdRules,proto3" json:"threshold_rules,omitempty"`
185
186
187 AllUpdatesRule *AllUpdatesRule `protobuf:"bytes,6,opt,name=all_updates_rule,json=allUpdatesRule,proto3" json:"all_updates_rule,omitempty"`
188
189
190
191 Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"`
192 }
193
194 func (x *Budget) Reset() {
195 *x = Budget{}
196 if protoimpl.UnsafeEnabled {
197 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[0]
198 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
199 ms.StoreMessageInfo(mi)
200 }
201 }
202
203 func (x *Budget) String() string {
204 return protoimpl.X.MessageStringOf(x)
205 }
206
207 func (*Budget) ProtoMessage() {}
208
209 func (x *Budget) ProtoReflect() protoreflect.Message {
210 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[0]
211 if protoimpl.UnsafeEnabled && x != nil {
212 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
213 if ms.LoadMessageInfo() == nil {
214 ms.StoreMessageInfo(mi)
215 }
216 return ms
217 }
218 return mi.MessageOf(x)
219 }
220
221
222 func (*Budget) Descriptor() ([]byte, []int) {
223 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{0}
224 }
225
226 func (x *Budget) GetName() string {
227 if x != nil {
228 return x.Name
229 }
230 return ""
231 }
232
233 func (x *Budget) GetDisplayName() string {
234 if x != nil {
235 return x.DisplayName
236 }
237 return ""
238 }
239
240 func (x *Budget) GetBudgetFilter() *Filter {
241 if x != nil {
242 return x.BudgetFilter
243 }
244 return nil
245 }
246
247 func (x *Budget) GetAmount() *BudgetAmount {
248 if x != nil {
249 return x.Amount
250 }
251 return nil
252 }
253
254 func (x *Budget) GetThresholdRules() []*ThresholdRule {
255 if x != nil {
256 return x.ThresholdRules
257 }
258 return nil
259 }
260
261 func (x *Budget) GetAllUpdatesRule() *AllUpdatesRule {
262 if x != nil {
263 return x.AllUpdatesRule
264 }
265 return nil
266 }
267
268 func (x *Budget) GetEtag() string {
269 if x != nil {
270 return x.Etag
271 }
272 return ""
273 }
274
275
276 type BudgetAmount struct {
277 state protoimpl.MessageState
278 sizeCache protoimpl.SizeCache
279 unknownFields protoimpl.UnknownFields
280
281
282
283
284
285
286 BudgetAmount isBudgetAmount_BudgetAmount `protobuf_oneof:"budget_amount"`
287 }
288
289 func (x *BudgetAmount) Reset() {
290 *x = BudgetAmount{}
291 if protoimpl.UnsafeEnabled {
292 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[1]
293 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
294 ms.StoreMessageInfo(mi)
295 }
296 }
297
298 func (x *BudgetAmount) String() string {
299 return protoimpl.X.MessageStringOf(x)
300 }
301
302 func (*BudgetAmount) ProtoMessage() {}
303
304 func (x *BudgetAmount) ProtoReflect() protoreflect.Message {
305 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[1]
306 if protoimpl.UnsafeEnabled && x != nil {
307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
308 if ms.LoadMessageInfo() == nil {
309 ms.StoreMessageInfo(mi)
310 }
311 return ms
312 }
313 return mi.MessageOf(x)
314 }
315
316
317 func (*BudgetAmount) Descriptor() ([]byte, []int) {
318 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{1}
319 }
320
321 func (m *BudgetAmount) GetBudgetAmount() isBudgetAmount_BudgetAmount {
322 if m != nil {
323 return m.BudgetAmount
324 }
325 return nil
326 }
327
328 func (x *BudgetAmount) GetSpecifiedAmount() *money.Money {
329 if x, ok := x.GetBudgetAmount().(*BudgetAmount_SpecifiedAmount); ok {
330 return x.SpecifiedAmount
331 }
332 return nil
333 }
334
335 func (x *BudgetAmount) GetLastPeriodAmount() *LastPeriodAmount {
336 if x, ok := x.GetBudgetAmount().(*BudgetAmount_LastPeriodAmount); ok {
337 return x.LastPeriodAmount
338 }
339 return nil
340 }
341
342 type isBudgetAmount_BudgetAmount interface {
343 isBudgetAmount_BudgetAmount()
344 }
345
346 type BudgetAmount_SpecifiedAmount struct {
347
348
349
350
351 SpecifiedAmount *money.Money `protobuf:"bytes,1,opt,name=specified_amount,json=specifiedAmount,proto3,oneof"`
352 }
353
354 type BudgetAmount_LastPeriodAmount struct {
355
356 LastPeriodAmount *LastPeriodAmount `protobuf:"bytes,2,opt,name=last_period_amount,json=lastPeriodAmount,proto3,oneof"`
357 }
358
359 func (*BudgetAmount_SpecifiedAmount) isBudgetAmount_BudgetAmount() {}
360
361 func (*BudgetAmount_LastPeriodAmount) isBudgetAmount_BudgetAmount() {}
362
363
364
365
366
367
368 type LastPeriodAmount struct {
369 state protoimpl.MessageState
370 sizeCache protoimpl.SizeCache
371 unknownFields protoimpl.UnknownFields
372 }
373
374 func (x *LastPeriodAmount) Reset() {
375 *x = LastPeriodAmount{}
376 if protoimpl.UnsafeEnabled {
377 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[2]
378 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
379 ms.StoreMessageInfo(mi)
380 }
381 }
382
383 func (x *LastPeriodAmount) String() string {
384 return protoimpl.X.MessageStringOf(x)
385 }
386
387 func (*LastPeriodAmount) ProtoMessage() {}
388
389 func (x *LastPeriodAmount) ProtoReflect() protoreflect.Message {
390 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[2]
391 if protoimpl.UnsafeEnabled && x != nil {
392 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
393 if ms.LoadMessageInfo() == nil {
394 ms.StoreMessageInfo(mi)
395 }
396 return ms
397 }
398 return mi.MessageOf(x)
399 }
400
401
402 func (*LastPeriodAmount) Descriptor() ([]byte, []int) {
403 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{2}
404 }
405
406
407
408
409
410
411
412
413 type ThresholdRule struct {
414 state protoimpl.MessageState
415 sizeCache protoimpl.SizeCache
416 unknownFields protoimpl.UnknownFields
417
418
419
420
421 ThresholdPercent float64 `protobuf:"fixed64,1,opt,name=threshold_percent,json=thresholdPercent,proto3" json:"threshold_percent,omitempty"`
422
423
424 SpendBasis ThresholdRule_Basis `protobuf:"varint,2,opt,name=spend_basis,json=spendBasis,proto3,enum=google.cloud.billing.budgets.v1alpha1.ThresholdRule_Basis" json:"spend_basis,omitempty"`
425 }
426
427 func (x *ThresholdRule) Reset() {
428 *x = ThresholdRule{}
429 if protoimpl.UnsafeEnabled {
430 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[3]
431 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
432 ms.StoreMessageInfo(mi)
433 }
434 }
435
436 func (x *ThresholdRule) String() string {
437 return protoimpl.X.MessageStringOf(x)
438 }
439
440 func (*ThresholdRule) ProtoMessage() {}
441
442 func (x *ThresholdRule) ProtoReflect() protoreflect.Message {
443 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[3]
444 if protoimpl.UnsafeEnabled && x != nil {
445 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
446 if ms.LoadMessageInfo() == nil {
447 ms.StoreMessageInfo(mi)
448 }
449 return ms
450 }
451 return mi.MessageOf(x)
452 }
453
454
455 func (*ThresholdRule) Descriptor() ([]byte, []int) {
456 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{3}
457 }
458
459 func (x *ThresholdRule) GetThresholdPercent() float64 {
460 if x != nil {
461 return x.ThresholdPercent
462 }
463 return 0
464 }
465
466 func (x *ThresholdRule) GetSpendBasis() ThresholdRule_Basis {
467 if x != nil {
468 return x.SpendBasis
469 }
470 return ThresholdRule_BASIS_UNSPECIFIED
471 }
472
473
474
475 type AllUpdatesRule struct {
476 state protoimpl.MessageState
477 sizeCache protoimpl.SizeCache
478 unknownFields protoimpl.UnknownFields
479
480
481
482
483
484
485
486
487
488
489
490
491 PubsubTopic string `protobuf:"bytes,1,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"`
492
493
494
495 SchemaVersion string `protobuf:"bytes,2,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"`
496
497
498
499
500
501
502
503
504 MonitoringNotificationChannels []string `protobuf:"bytes,3,rep,name=monitoring_notification_channels,json=monitoringNotificationChannels,proto3" json:"monitoring_notification_channels,omitempty"`
505
506
507
508
509 DisableDefaultIamRecipients bool `protobuf:"varint,4,opt,name=disable_default_iam_recipients,json=disableDefaultIamRecipients,proto3" json:"disable_default_iam_recipients,omitempty"`
510 }
511
512 func (x *AllUpdatesRule) Reset() {
513 *x = AllUpdatesRule{}
514 if protoimpl.UnsafeEnabled {
515 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[4]
516 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
517 ms.StoreMessageInfo(mi)
518 }
519 }
520
521 func (x *AllUpdatesRule) String() string {
522 return protoimpl.X.MessageStringOf(x)
523 }
524
525 func (*AllUpdatesRule) ProtoMessage() {}
526
527 func (x *AllUpdatesRule) ProtoReflect() protoreflect.Message {
528 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[4]
529 if protoimpl.UnsafeEnabled && x != nil {
530 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
531 if ms.LoadMessageInfo() == nil {
532 ms.StoreMessageInfo(mi)
533 }
534 return ms
535 }
536 return mi.MessageOf(x)
537 }
538
539
540 func (*AllUpdatesRule) Descriptor() ([]byte, []int) {
541 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{4}
542 }
543
544 func (x *AllUpdatesRule) GetPubsubTopic() string {
545 if x != nil {
546 return x.PubsubTopic
547 }
548 return ""
549 }
550
551 func (x *AllUpdatesRule) GetSchemaVersion() string {
552 if x != nil {
553 return x.SchemaVersion
554 }
555 return ""
556 }
557
558 func (x *AllUpdatesRule) GetMonitoringNotificationChannels() []string {
559 if x != nil {
560 return x.MonitoringNotificationChannels
561 }
562 return nil
563 }
564
565 func (x *AllUpdatesRule) GetDisableDefaultIamRecipients() bool {
566 if x != nil {
567 return x.DisableDefaultIamRecipients
568 }
569 return false
570 }
571
572
573 type Filter struct {
574 state protoimpl.MessageState
575 sizeCache protoimpl.SizeCache
576 unknownFields protoimpl.UnknownFields
577
578
579
580
581
582
583 Projects []string `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"`
584
585
586
587
588
589
590
591
592
593
594
595 CreditTypes []string `protobuf:"bytes,7,rep,name=credit_types,json=creditTypes,proto3" json:"credit_types,omitempty"`
596
597 CreditTypesTreatment Filter_CreditTypesTreatment `protobuf:"varint,4,opt,name=credit_types_treatment,json=creditTypesTreatment,proto3,enum=google.cloud.billing.budgets.v1alpha1.Filter_CreditTypesTreatment" json:"credit_types_treatment,omitempty"`
598
599
600
601
602
603
604 Services []string `protobuf:"bytes,3,rep,name=services,proto3" json:"services,omitempty"`
605
606
607
608
609
610
611 Subaccounts []string `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"`
612
613
614
615
616 Labels map[string]*structpb.ListValue `protobuf:"bytes,6,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
617 }
618
619 func (x *Filter) Reset() {
620 *x = Filter{}
621 if protoimpl.UnsafeEnabled {
622 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[5]
623 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
624 ms.StoreMessageInfo(mi)
625 }
626 }
627
628 func (x *Filter) String() string {
629 return protoimpl.X.MessageStringOf(x)
630 }
631
632 func (*Filter) ProtoMessage() {}
633
634 func (x *Filter) ProtoReflect() protoreflect.Message {
635 mi := &file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[5]
636 if protoimpl.UnsafeEnabled && x != nil {
637 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
638 if ms.LoadMessageInfo() == nil {
639 ms.StoreMessageInfo(mi)
640 }
641 return ms
642 }
643 return mi.MessageOf(x)
644 }
645
646
647 func (*Filter) Descriptor() ([]byte, []int) {
648 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP(), []int{5}
649 }
650
651 func (x *Filter) GetProjects() []string {
652 if x != nil {
653 return x.Projects
654 }
655 return nil
656 }
657
658 func (x *Filter) GetCreditTypes() []string {
659 if x != nil {
660 return x.CreditTypes
661 }
662 return nil
663 }
664
665 func (x *Filter) GetCreditTypesTreatment() Filter_CreditTypesTreatment {
666 if x != nil {
667 return x.CreditTypesTreatment
668 }
669 return Filter_CREDIT_TYPES_TREATMENT_UNSPECIFIED
670 }
671
672 func (x *Filter) GetServices() []string {
673 if x != nil {
674 return x.Services
675 }
676 return nil
677 }
678
679 func (x *Filter) GetSubaccounts() []string {
680 if x != nil {
681 return x.Subaccounts
682 }
683 return nil
684 }
685
686 func (x *Filter) GetLabels() map[string]*structpb.ListValue {
687 if x != nil {
688 return x.Labels
689 }
690 return nil
691 }
692
693 var File_google_cloud_billing_budgets_v1alpha1_budget_model_proto protoreflect.FileDescriptor
694
695 var file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDesc = []byte{
696 0x0a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62,
697 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x76,
698 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6d,
699 0x6f, 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x25, 0x67, 0x6f, 0x6f, 0x67,
700 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67,
701 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61,
702 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69,
703 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f,
704 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72,
705 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67,
706 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73,
707 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f,
708 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70,
709 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xb1, 0x04, 0x0a, 0x06, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12,
710 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
711 0x41, 0x03, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70,
712 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b,
713 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x57, 0x0a, 0x0d, 0x62,
714 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01,
715 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
716 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74,
717 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
718 0x72, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x46, 0x69,
719 0x6c, 0x74, 0x65, 0x72, 0x12, 0x50, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04,
720 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
721 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67,
722 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x42, 0x75, 0x64,
723 0x67, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06,
724 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x62, 0x0a, 0x0f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68,
725 0x6f, 0x6c, 0x64, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32,
726 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62,
727 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76,
728 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c,
729 0x64, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x74, 0x68, 0x72, 0x65,
730 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x64, 0x0a, 0x10, 0x61, 0x6c,
731 0x6c, 0x5f, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x06,
732 0x20, 0x01, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c,
733 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67,
734 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x41, 0x6c, 0x6c,
735 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01,
736 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65,
737 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
738 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 0x74, 0x61, 0x67, 0x3a, 0x5d, 0xea, 0x41, 0x5a, 0x0a, 0x24,
739 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x67,
740 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75,
741 0x64, 0x67, 0x65, 0x74, 0x12, 0x32, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63,
742 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61,
743 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2f,
744 0x7b, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x7d, 0x22, 0xc9, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x64,
745 0x67, 0x65, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x10, 0x73, 0x70, 0x65,
746 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20,
747 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70,
748 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69,
749 0x66, 0x69, 0x65, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x67, 0x0a, 0x12, 0x6c, 0x61,
750 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74,
751 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
752 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75,
753 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x4c,
754 0x61, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48,
755 0x00, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x41, 0x6d, 0x6f,
756 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6d,
757 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x12, 0x0a, 0x10, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69,
758 0x6f, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xec, 0x01, 0x0a, 0x0d, 0x54, 0x68, 0x72,
759 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x74, 0x68,
760 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18,
761 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65,
762 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x60, 0x0a, 0x0b,
763 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x62, 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28,
764 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64,
765 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73,
766 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68,
767 0x6f, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x42, 0x61, 0x73, 0x69, 0x73, 0x42, 0x03, 0xe0,
768 0x41, 0x01, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x22, 0x47,
769 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 0x15, 0x0a, 0x11, 0x42, 0x41, 0x53, 0x49, 0x53,
770 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11,
771 0x0a, 0x0d, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 0x54, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x10,
772 0x01, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4f, 0x52, 0x45, 0x43, 0x41, 0x53, 0x54, 0x45, 0x44, 0x5f,
773 0x53, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x02, 0x22, 0xfd, 0x01, 0x0a, 0x0e, 0x41, 0x6c, 0x6c, 0x55,
774 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x75,
775 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
776 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70,
777 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72,
778 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
779 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d,
780 0x0a, 0x20, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74,
781 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65,
782 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1e, 0x6d,
783 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
784 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x73, 0x12, 0x48, 0x0a,
785 0x1e, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
786 0x5f, 0x69, 0x61, 0x6d, 0x5f, 0x72, 0x65, 0x63, 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x18,
787 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x1b, 0x64, 0x69, 0x73, 0x61,
788 0x62, 0x6c, 0x65, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x49, 0x61, 0x6d, 0x52, 0x65, 0x63,
789 0x69, 0x70, 0x69, 0x65, 0x6e, 0x74, 0x73, 0x22, 0xd9, 0x04, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74,
790 0x65, 0x72, 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01,
791 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65,
792 0x63, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79,
793 0x70, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b,
794 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x7d, 0x0a, 0x16, 0x63,
795 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x5f, 0x74, 0x72, 0x65, 0x61,
796 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x42, 0x2e, 0x67, 0x6f,
797 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69,
798 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70,
799 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x43, 0x72, 0x65, 0x64, 0x69,
800 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x54, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x42,
801 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65,
802 0x73, 0x54, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x08, 0x73, 0x65,
803 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
804 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0b, 0x73,
805 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09,
806 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e,
807 0x74, 0x73, 0x12, 0x56, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x06, 0x20, 0x03,
808 0x28, 0x0b, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75,
809 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74,
810 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65,
811 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0,
812 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x55, 0x0a, 0x0b, 0x4c, 0x61,
813 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
814 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x30, 0x0a, 0x05, 0x76,
815 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
816 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x4c, 0x69, 0x73,
817 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38,
818 0x01, 0x22, 0x8f, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65,
819 0x73, 0x54, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 0x22, 0x43, 0x52,
820 0x45, 0x44, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x54, 0x52, 0x45, 0x41, 0x54,
821 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
822 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c,
823 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x53, 0x10, 0x01, 0x12, 0x17, 0x0a, 0x13, 0x45,
824 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49,
825 0x54, 0x53, 0x10, 0x02, 0x12, 0x1d, 0x0a, 0x19, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f,
826 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54,
827 0x53, 0x10, 0x03, 0x42, 0x7b, 0x0a, 0x29, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
828 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e,
829 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31,
830 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e,
831 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
832 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f,
833 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2f,
834 0x76, 0x31, 0x61, 0x6c, 0x70, 0x68, 0x61, 0x31, 0x3b, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73,
835 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
836 }
837
838 var (
839 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescOnce sync.Once
840 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescData = file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDesc
841 )
842
843 func file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescGZIP() []byte {
844 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescOnce.Do(func() {
845 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescData)
846 })
847 return file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDescData
848 }
849
850 var file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
851 var file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes = make([]protoimpl.MessageInfo, 7)
852 var file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_goTypes = []interface{}{
853 (ThresholdRule_Basis)(0),
854 (Filter_CreditTypesTreatment)(0),
855 (*Budget)(nil),
856 (*BudgetAmount)(nil),
857 (*LastPeriodAmount)(nil),
858 (*ThresholdRule)(nil),
859 (*AllUpdatesRule)(nil),
860 (*Filter)(nil),
861 nil,
862 (*money.Money)(nil),
863 (*structpb.ListValue)(nil),
864 }
865 var file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_depIdxs = []int32{
866 7,
867 3,
868 5,
869 6,
870 9,
871 4,
872 0,
873 1,
874 8,
875 10,
876 10,
877 10,
878 10,
879 10,
880 0,
881 }
882
883 func init() { file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_init() }
884 func file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_init() {
885 if File_google_cloud_billing_budgets_v1alpha1_budget_model_proto != nil {
886 return
887 }
888 if !protoimpl.UnsafeEnabled {
889 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
890 switch v := v.(*Budget); i {
891 case 0:
892 return &v.state
893 case 1:
894 return &v.sizeCache
895 case 2:
896 return &v.unknownFields
897 default:
898 return nil
899 }
900 }
901 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
902 switch v := v.(*BudgetAmount); i {
903 case 0:
904 return &v.state
905 case 1:
906 return &v.sizeCache
907 case 2:
908 return &v.unknownFields
909 default:
910 return nil
911 }
912 }
913 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
914 switch v := v.(*LastPeriodAmount); i {
915 case 0:
916 return &v.state
917 case 1:
918 return &v.sizeCache
919 case 2:
920 return &v.unknownFields
921 default:
922 return nil
923 }
924 }
925 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
926 switch v := v.(*ThresholdRule); i {
927 case 0:
928 return &v.state
929 case 1:
930 return &v.sizeCache
931 case 2:
932 return &v.unknownFields
933 default:
934 return nil
935 }
936 }
937 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
938 switch v := v.(*AllUpdatesRule); i {
939 case 0:
940 return &v.state
941 case 1:
942 return &v.sizeCache
943 case 2:
944 return &v.unknownFields
945 default:
946 return nil
947 }
948 }
949 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
950 switch v := v.(*Filter); i {
951 case 0:
952 return &v.state
953 case 1:
954 return &v.sizeCache
955 case 2:
956 return &v.unknownFields
957 default:
958 return nil
959 }
960 }
961 }
962 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes[1].OneofWrappers = []interface{}{
963 (*BudgetAmount_SpecifiedAmount)(nil),
964 (*BudgetAmount_LastPeriodAmount)(nil),
965 }
966 type x struct{}
967 out := protoimpl.TypeBuilder{
968 File: protoimpl.DescBuilder{
969 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
970 RawDescriptor: file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDesc,
971 NumEnums: 2,
972 NumMessages: 7,
973 NumExtensions: 0,
974 NumServices: 0,
975 },
976 GoTypes: file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_goTypes,
977 DependencyIndexes: file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_depIdxs,
978 EnumInfos: file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_enumTypes,
979 MessageInfos: file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_msgTypes,
980 }.Build()
981 File_google_cloud_billing_budgets_v1alpha1_budget_model_proto = out.File
982 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_rawDesc = nil
983 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_goTypes = nil
984 file_google_cloud_billing_budgets_v1alpha1_budget_model_proto_depIdxs = nil
985 }
986
View as plain text