1// Copyright 2020 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.22.0 18// protoc v3.11.2 19// source: google/cloud/billing/budgets/v1beta1/budget_model.proto 20 21package budgets 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 proto "github.com/golang/protobuf/proto" 28 _struct "github.com/golang/protobuf/ptypes/struct" 29 _ "google.golang.org/genproto/googleapis/api/annotations" 30 money "google.golang.org/genproto/googleapis/type/money" 31 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 32 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 33) 34 35const ( 36 // Verify that this generated code is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 38 // Verify that runtime/protoimpl is sufficiently up-to-date. 39 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 40) 41 42// This is a compile-time assertion that a sufficiently up-to-date version 43// of the legacy proto package is being used. 44const _ = proto.ProtoPackageIsVersion4 45 46// The type of basis used to determine if spend has passed the threshold. 47type ThresholdRule_Basis int32 48 49const ( 50 // Unspecified threshold basis. 51 ThresholdRule_BASIS_UNSPECIFIED ThresholdRule_Basis = 0 52 // Use current spend as the basis for comparison against the threshold. 53 ThresholdRule_CURRENT_SPEND ThresholdRule_Basis = 1 54 // Use forecasted spend for the period as the basis for comparison against 55 // the threshold. 56 ThresholdRule_FORECASTED_SPEND ThresholdRule_Basis = 2 57) 58 59// Enum value maps for ThresholdRule_Basis. 60var ( 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 73func (x ThresholdRule_Basis) Enum() *ThresholdRule_Basis { 74 p := new(ThresholdRule_Basis) 75 *p = x 76 return p 77} 78 79func (x ThresholdRule_Basis) String() string { 80 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 81} 82 83func (ThresholdRule_Basis) Descriptor() protoreflect.EnumDescriptor { 84 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_enumTypes[0].Descriptor() 85} 86 87func (ThresholdRule_Basis) Type() protoreflect.EnumType { 88 return &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_enumTypes[0] 89} 90 91func (x ThresholdRule_Basis) Number() protoreflect.EnumNumber { 92 return protoreflect.EnumNumber(x) 93} 94 95// Deprecated: Use ThresholdRule_Basis.Descriptor instead. 96func (ThresholdRule_Basis) EnumDescriptor() ([]byte, []int) { 97 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{3, 0} 98} 99 100// Specifies how credits should be treated when determining spend for 101// threshold calculations. 102type Filter_CreditTypesTreatment int32 103 104const ( 105 Filter_CREDIT_TYPES_TREATMENT_UNSPECIFIED Filter_CreditTypesTreatment = 0 106 // All types of credit are subtracted from the gross cost to determine the 107 // spend for threshold calculations. 108 Filter_INCLUDE_ALL_CREDITS Filter_CreditTypesTreatment = 1 109 // All types of credit are added to the net cost to determine the spend for 110 // threshold calculations. 111 Filter_EXCLUDE_ALL_CREDITS Filter_CreditTypesTreatment = 2 112) 113 114// Enum value maps for Filter_CreditTypesTreatment. 115var ( 116 Filter_CreditTypesTreatment_name = map[int32]string{ 117 0: "CREDIT_TYPES_TREATMENT_UNSPECIFIED", 118 1: "INCLUDE_ALL_CREDITS", 119 2: "EXCLUDE_ALL_CREDITS", 120 } 121 Filter_CreditTypesTreatment_value = map[string]int32{ 122 "CREDIT_TYPES_TREATMENT_UNSPECIFIED": 0, 123 "INCLUDE_ALL_CREDITS": 1, 124 "EXCLUDE_ALL_CREDITS": 2, 125 } 126) 127 128func (x Filter_CreditTypesTreatment) Enum() *Filter_CreditTypesTreatment { 129 p := new(Filter_CreditTypesTreatment) 130 *p = x 131 return p 132} 133 134func (x Filter_CreditTypesTreatment) String() string { 135 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 136} 137 138func (Filter_CreditTypesTreatment) Descriptor() protoreflect.EnumDescriptor { 139 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_enumTypes[1].Descriptor() 140} 141 142func (Filter_CreditTypesTreatment) Type() protoreflect.EnumType { 143 return &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_enumTypes[1] 144} 145 146func (x Filter_CreditTypesTreatment) Number() protoreflect.EnumNumber { 147 return protoreflect.EnumNumber(x) 148} 149 150// Deprecated: Use Filter_CreditTypesTreatment.Descriptor instead. 151func (Filter_CreditTypesTreatment) EnumDescriptor() ([]byte, []int) { 152 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{5, 0} 153} 154 155// A budget is a plan that describes what you expect to spend on Cloud 156// projects, plus the rules to execute as spend is tracked against that plan, 157// (for example, send an alert when 90% of the target spend is met). 158// Currently all plans are monthly budgets so the usage period(s) tracked are 159// implied (calendar months of usage back-to-back). 160type Budget struct { 161 state protoimpl.MessageState 162 sizeCache protoimpl.SizeCache 163 unknownFields protoimpl.UnknownFields 164 165 // Output only. Resource name of the budget. 166 // The resource name implies the scope of a budget. Values are of the form 167 // `billingAccounts/{billingAccountId}/budgets/{budgetId}`. 168 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 169 // User data for display name in UI. 170 // Validation: <= 60 chars. 171 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 172 // Optional. Filters that define which resources are used to compute 173 // the actual spend against the budget. 174 BudgetFilter *Filter `protobuf:"bytes,3,opt,name=budget_filter,json=budgetFilter,proto3" json:"budget_filter,omitempty"` 175 // Required. Budgeted amount. 176 Amount *BudgetAmount `protobuf:"bytes,4,opt,name=amount,proto3" json:"amount,omitempty"` 177 // Optional. Rules that trigger alerts (notifications of thresholds 178 // being crossed) when spend exceeds the specified percentages of the budget. 179 ThresholdRules []*ThresholdRule `protobuf:"bytes,5,rep,name=threshold_rules,json=thresholdRules,proto3" json:"threshold_rules,omitempty"` 180 // Optional. Rules to apply to all updates to the actual spend, regardless 181 // of the thresholds set in `threshold_rules`. 182 AllUpdatesRule *AllUpdatesRule `protobuf:"bytes,6,opt,name=all_updates_rule,json=allUpdatesRule,proto3" json:"all_updates_rule,omitempty"` 183 // Optional. Etag to validate that the object is unchanged for a 184 // read-modify-write operation. 185 // An empty etag will cause an update to overwrite other changes. 186 Etag string `protobuf:"bytes,7,opt,name=etag,proto3" json:"etag,omitempty"` 187} 188 189func (x *Budget) Reset() { 190 *x = Budget{} 191 if protoimpl.UnsafeEnabled { 192 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[0] 193 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 194 ms.StoreMessageInfo(mi) 195 } 196} 197 198func (x *Budget) String() string { 199 return protoimpl.X.MessageStringOf(x) 200} 201 202func (*Budget) ProtoMessage() {} 203 204func (x *Budget) ProtoReflect() protoreflect.Message { 205 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[0] 206 if protoimpl.UnsafeEnabled && x != nil { 207 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 208 if ms.LoadMessageInfo() == nil { 209 ms.StoreMessageInfo(mi) 210 } 211 return ms 212 } 213 return mi.MessageOf(x) 214} 215 216// Deprecated: Use Budget.ProtoReflect.Descriptor instead. 217func (*Budget) Descriptor() ([]byte, []int) { 218 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{0} 219} 220 221func (x *Budget) GetName() string { 222 if x != nil { 223 return x.Name 224 } 225 return "" 226} 227 228func (x *Budget) GetDisplayName() string { 229 if x != nil { 230 return x.DisplayName 231 } 232 return "" 233} 234 235func (x *Budget) GetBudgetFilter() *Filter { 236 if x != nil { 237 return x.BudgetFilter 238 } 239 return nil 240} 241 242func (x *Budget) GetAmount() *BudgetAmount { 243 if x != nil { 244 return x.Amount 245 } 246 return nil 247} 248 249func (x *Budget) GetThresholdRules() []*ThresholdRule { 250 if x != nil { 251 return x.ThresholdRules 252 } 253 return nil 254} 255 256func (x *Budget) GetAllUpdatesRule() *AllUpdatesRule { 257 if x != nil { 258 return x.AllUpdatesRule 259 } 260 return nil 261} 262 263func (x *Budget) GetEtag() string { 264 if x != nil { 265 return x.Etag 266 } 267 return "" 268} 269 270// The budgeted amount for each usage period. 271type BudgetAmount struct { 272 state protoimpl.MessageState 273 sizeCache protoimpl.SizeCache 274 unknownFields protoimpl.UnknownFields 275 276 // Specification for what amount to use as the budget. 277 // 278 // Types that are assignable to BudgetAmount: 279 // *BudgetAmount_SpecifiedAmount 280 // *BudgetAmount_LastPeriodAmount 281 BudgetAmount isBudgetAmount_BudgetAmount `protobuf_oneof:"budget_amount"` 282} 283 284func (x *BudgetAmount) Reset() { 285 *x = BudgetAmount{} 286 if protoimpl.UnsafeEnabled { 287 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[1] 288 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 289 ms.StoreMessageInfo(mi) 290 } 291} 292 293func (x *BudgetAmount) String() string { 294 return protoimpl.X.MessageStringOf(x) 295} 296 297func (*BudgetAmount) ProtoMessage() {} 298 299func (x *BudgetAmount) ProtoReflect() protoreflect.Message { 300 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[1] 301 if protoimpl.UnsafeEnabled && x != nil { 302 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 303 if ms.LoadMessageInfo() == nil { 304 ms.StoreMessageInfo(mi) 305 } 306 return ms 307 } 308 return mi.MessageOf(x) 309} 310 311// Deprecated: Use BudgetAmount.ProtoReflect.Descriptor instead. 312func (*BudgetAmount) Descriptor() ([]byte, []int) { 313 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{1} 314} 315 316func (m *BudgetAmount) GetBudgetAmount() isBudgetAmount_BudgetAmount { 317 if m != nil { 318 return m.BudgetAmount 319 } 320 return nil 321} 322 323func (x *BudgetAmount) GetSpecifiedAmount() *money.Money { 324 if x, ok := x.GetBudgetAmount().(*BudgetAmount_SpecifiedAmount); ok { 325 return x.SpecifiedAmount 326 } 327 return nil 328} 329 330func (x *BudgetAmount) GetLastPeriodAmount() *LastPeriodAmount { 331 if x, ok := x.GetBudgetAmount().(*BudgetAmount_LastPeriodAmount); ok { 332 return x.LastPeriodAmount 333 } 334 return nil 335} 336 337type isBudgetAmount_BudgetAmount interface { 338 isBudgetAmount_BudgetAmount() 339} 340 341type BudgetAmount_SpecifiedAmount struct { 342 // A specified amount to use as the budget. 343 // `currency_code` is optional. If specified, it must match the 344 // currency of the billing account. The `currency_code` is provided on 345 // output. 346 SpecifiedAmount *money.Money `protobuf:"bytes,1,opt,name=specified_amount,json=specifiedAmount,proto3,oneof"` 347} 348 349type BudgetAmount_LastPeriodAmount struct { 350 // Use the last period's actual spend as the budget for the present period. 351 LastPeriodAmount *LastPeriodAmount `protobuf:"bytes,2,opt,name=last_period_amount,json=lastPeriodAmount,proto3,oneof"` 352} 353 354func (*BudgetAmount_SpecifiedAmount) isBudgetAmount_BudgetAmount() {} 355 356func (*BudgetAmount_LastPeriodAmount) isBudgetAmount_BudgetAmount() {} 357 358// Describes a budget amount targeted to last period's spend. 359// At this time, the amount is automatically 100% of last period's spend; 360// that is, there are no other options yet. 361// Future configuration will be described here (for example, configuring a 362// percentage of last period's spend). 363type LastPeriodAmount struct { 364 state protoimpl.MessageState 365 sizeCache protoimpl.SizeCache 366 unknownFields protoimpl.UnknownFields 367} 368 369func (x *LastPeriodAmount) Reset() { 370 *x = LastPeriodAmount{} 371 if protoimpl.UnsafeEnabled { 372 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[2] 373 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 374 ms.StoreMessageInfo(mi) 375 } 376} 377 378func (x *LastPeriodAmount) String() string { 379 return protoimpl.X.MessageStringOf(x) 380} 381 382func (*LastPeriodAmount) ProtoMessage() {} 383 384func (x *LastPeriodAmount) ProtoReflect() protoreflect.Message { 385 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[2] 386 if protoimpl.UnsafeEnabled && x != nil { 387 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 388 if ms.LoadMessageInfo() == nil { 389 ms.StoreMessageInfo(mi) 390 } 391 return ms 392 } 393 return mi.MessageOf(x) 394} 395 396// Deprecated: Use LastPeriodAmount.ProtoReflect.Descriptor instead. 397func (*LastPeriodAmount) Descriptor() ([]byte, []int) { 398 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{2} 399} 400 401// ThresholdRule contains a definition of a threshold which triggers 402// an alert (a notification of a threshold being crossed) to be sent when 403// spend goes above the specified amount. 404// Alerts are automatically e-mailed to users with the Billing Account 405// Administrator role or the Billing Account User role. 406// The thresholds here have no effect on notifications sent to anything 407// configured under `Budget.all_updates_rule`. 408type ThresholdRule struct { 409 state protoimpl.MessageState 410 sizeCache protoimpl.SizeCache 411 unknownFields protoimpl.UnknownFields 412 413 // Required. Send an alert when this threshold is exceeded. 414 // This is a 1.0-based percentage, so 0.5 = 50%. 415 // Validation: non-negative number. 416 ThresholdPercent float64 `protobuf:"fixed64,1,opt,name=threshold_percent,json=thresholdPercent,proto3" json:"threshold_percent,omitempty"` 417 // Optional. The type of basis used to determine if spend has passed the 418 // threshold. Behavior defaults to CURRENT_SPEND if not set. 419 SpendBasis ThresholdRule_Basis `protobuf:"varint,2,opt,name=spend_basis,json=spendBasis,proto3,enum=google.cloud.billing.budgets.v1beta1.ThresholdRule_Basis" json:"spend_basis,omitempty"` 420} 421 422func (x *ThresholdRule) Reset() { 423 *x = ThresholdRule{} 424 if protoimpl.UnsafeEnabled { 425 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[3] 426 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 427 ms.StoreMessageInfo(mi) 428 } 429} 430 431func (x *ThresholdRule) String() string { 432 return protoimpl.X.MessageStringOf(x) 433} 434 435func (*ThresholdRule) ProtoMessage() {} 436 437func (x *ThresholdRule) ProtoReflect() protoreflect.Message { 438 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[3] 439 if protoimpl.UnsafeEnabled && x != nil { 440 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 441 if ms.LoadMessageInfo() == nil { 442 ms.StoreMessageInfo(mi) 443 } 444 return ms 445 } 446 return mi.MessageOf(x) 447} 448 449// Deprecated: Use ThresholdRule.ProtoReflect.Descriptor instead. 450func (*ThresholdRule) Descriptor() ([]byte, []int) { 451 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{3} 452} 453 454func (x *ThresholdRule) GetThresholdPercent() float64 { 455 if x != nil { 456 return x.ThresholdPercent 457 } 458 return 0 459} 460 461func (x *ThresholdRule) GetSpendBasis() ThresholdRule_Basis { 462 if x != nil { 463 return x.SpendBasis 464 } 465 return ThresholdRule_BASIS_UNSPECIFIED 466} 467 468// AllUpdatesRule defines notifications that are sent on every update to the 469// billing account's spend, regardless of the thresholds defined using 470// threshold rules. 471type AllUpdatesRule struct { 472 state protoimpl.MessageState 473 sizeCache protoimpl.SizeCache 474 unknownFields protoimpl.UnknownFields 475 476 // Required. The name of the Cloud Pub/Sub topic where budget related messages will be 477 // published, in the form `projects/{project_id}/topics/{topic_id}`. Updates 478 // are sent at regular intervals to the topic. 479 // The topic needs to be created before the budget is created; see 480 // https://cloud.google.com/billing/docs/how-to/budgets#manage-notifications 481 // for more details. 482 // Caller is expected to have 483 // `pubsub.topics.setIamPolicy` permission on the topic when it's set for a 484 // budget, otherwise, the API call will fail with PERMISSION_DENIED. See 485 // https://cloud.google.com/pubsub/docs/access-control for more details on 486 // Pub/Sub roles and permissions. 487 PubsubTopic string `protobuf:"bytes,1,opt,name=pubsub_topic,json=pubsubTopic,proto3" json:"pubsub_topic,omitempty"` 488 // Required. The schema version of the notification. 489 // Only "1.0" is accepted. It represents the JSON schema as defined in 490 // https://cloud.google.com/billing/docs/how-to/budgets#notification_format 491 SchemaVersion string `protobuf:"bytes,2,opt,name=schema_version,json=schemaVersion,proto3" json:"schema_version,omitempty"` 492} 493 494func (x *AllUpdatesRule) Reset() { 495 *x = AllUpdatesRule{} 496 if protoimpl.UnsafeEnabled { 497 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[4] 498 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 499 ms.StoreMessageInfo(mi) 500 } 501} 502 503func (x *AllUpdatesRule) String() string { 504 return protoimpl.X.MessageStringOf(x) 505} 506 507func (*AllUpdatesRule) ProtoMessage() {} 508 509func (x *AllUpdatesRule) ProtoReflect() protoreflect.Message { 510 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[4] 511 if protoimpl.UnsafeEnabled && x != nil { 512 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 513 if ms.LoadMessageInfo() == nil { 514 ms.StoreMessageInfo(mi) 515 } 516 return ms 517 } 518 return mi.MessageOf(x) 519} 520 521// Deprecated: Use AllUpdatesRule.ProtoReflect.Descriptor instead. 522func (*AllUpdatesRule) Descriptor() ([]byte, []int) { 523 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{4} 524} 525 526func (x *AllUpdatesRule) GetPubsubTopic() string { 527 if x != nil { 528 return x.PubsubTopic 529 } 530 return "" 531} 532 533func (x *AllUpdatesRule) GetSchemaVersion() string { 534 if x != nil { 535 return x.SchemaVersion 536 } 537 return "" 538} 539 540// A filter for a budget, limiting the scope of the cost to calculate. 541type Filter struct { 542 state protoimpl.MessageState 543 sizeCache protoimpl.SizeCache 544 unknownFields protoimpl.UnknownFields 545 546 // Optional. A set of projects of the form `projects/{project}`, 547 // specifying that usage from only this set of projects should be 548 // included in the budget. If omitted, the report will include all usage for 549 // the billing account, regardless of which project the usage occurred on. 550 // Only zero or one project can be specified currently. 551 Projects []string `protobuf:"bytes,1,rep,name=projects,proto3" json:"projects,omitempty"` 552 // Optional. If not set, default behavior is `INCLUDE_ALL_CREDITS`. 553 CreditTypesTreatment Filter_CreditTypesTreatment `protobuf:"varint,4,opt,name=credit_types_treatment,json=creditTypesTreatment,proto3,enum=google.cloud.billing.budgets.v1beta1.Filter_CreditTypesTreatment" json:"credit_types_treatment,omitempty"` 554 // Optional. A set of services of the form `services/{service_id}`, 555 // specifying that usage from only this set of services should be 556 // included in the budget. If omitted, the report will include usage for 557 // all the services. 558 // The service names are available through the Catalog API: 559 // https://cloud.google.com/billing/v1/how-tos/catalog-api. 560 Services []string `protobuf:"bytes,3,rep,name=services,proto3" json:"services,omitempty"` 561 // Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying 562 // that usage from only this set of subaccounts should be included in the 563 // budget. If a subaccount is set to the name of the master account, usage 564 // from the master account will be included. If omitted, the report will 565 // include usage from the master account and all subaccounts, if they exist. 566 Subaccounts []string `protobuf:"bytes,5,rep,name=subaccounts,proto3" json:"subaccounts,omitempty"` 567 // Optional. A single label and value pair specifying that usage from only this set of 568 // labeled resources should be included in the budget. Multiple entries or 569 // multiple values per entry are not allowed. If omitted, the report will 570 // include all labeled and unlabeled usage. 571 Labels map[string]*_struct.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"` 572} 573 574func (x *Filter) Reset() { 575 *x = Filter{} 576 if protoimpl.UnsafeEnabled { 577 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[5] 578 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 579 ms.StoreMessageInfo(mi) 580 } 581} 582 583func (x *Filter) String() string { 584 return protoimpl.X.MessageStringOf(x) 585} 586 587func (*Filter) ProtoMessage() {} 588 589func (x *Filter) ProtoReflect() protoreflect.Message { 590 mi := &file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[5] 591 if protoimpl.UnsafeEnabled && x != nil { 592 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 593 if ms.LoadMessageInfo() == nil { 594 ms.StoreMessageInfo(mi) 595 } 596 return ms 597 } 598 return mi.MessageOf(x) 599} 600 601// Deprecated: Use Filter.ProtoReflect.Descriptor instead. 602func (*Filter) Descriptor() ([]byte, []int) { 603 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP(), []int{5} 604} 605 606func (x *Filter) GetProjects() []string { 607 if x != nil { 608 return x.Projects 609 } 610 return nil 611} 612 613func (x *Filter) GetCreditTypesTreatment() Filter_CreditTypesTreatment { 614 if x != nil { 615 return x.CreditTypesTreatment 616 } 617 return Filter_CREDIT_TYPES_TREATMENT_UNSPECIFIED 618} 619 620func (x *Filter) GetServices() []string { 621 if x != nil { 622 return x.Services 623 } 624 return nil 625} 626 627func (x *Filter) GetSubaccounts() []string { 628 if x != nil { 629 return x.Subaccounts 630 } 631 return nil 632} 633 634func (x *Filter) GetLabels() map[string]*_struct.ListValue { 635 if x != nil { 636 return x.Labels 637 } 638 return nil 639} 640 641var File_google_cloud_billing_budgets_v1beta1_budget_model_proto protoreflect.FileDescriptor 642 643var file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDesc = []byte{ 644 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x62, 645 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x76, 646 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x6d, 0x6f, 647 0x64, 0x65, 0x6c, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 648 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 649 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 650 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 651 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 652 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 653 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 654 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 655 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 656 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, 0x6f, 657 0x74, 0x6f, 0x22, 0xad, 0x04, 0x0a, 0x06, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x17, 0x0a, 658 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 659 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 660 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x69, 661 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x56, 0x0a, 0x0d, 0x62, 0x75, 0x64, 662 0x67, 0x65, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 663 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 664 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 665 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x42, 0x03, 666 0xe0, 0x41, 0x01, 0x52, 0x0c, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x46, 0x69, 0x6c, 0x74, 0x65, 667 0x72, 0x12, 0x4f, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 668 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 669 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 670 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x41, 671 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 672 0x6e, 0x74, 0x12, 0x61, 0x0a, 0x0f, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x5f, 673 0x72, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 674 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 675 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 676 0x61, 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 677 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 678 0x52, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x63, 0x0a, 0x10, 0x61, 0x6c, 0x6c, 0x5f, 0x75, 0x70, 0x64, 679 0x61, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 680 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 681 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 682 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 683 0x73, 0x52, 0x75, 0x6c, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x55, 684 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x65, 0x74, 685 0x61, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x65, 686 0x74, 0x61, 0x67, 0x3a, 0x5d, 0xea, 0x41, 0x5a, 0x0a, 0x24, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 687 0x67, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 688 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x12, 0x32, 689 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 690 0x7b, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 691 0x7d, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x64, 0x67, 0x65, 692 0x74, 0x7d, 0x22, 0xc8, 0x01, 0x0a, 0x0c, 0x42, 0x75, 0x64, 0x67, 0x65, 0x74, 0x41, 0x6d, 0x6f, 693 0x75, 0x6e, 0x74, 0x12, 0x3f, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 694 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 695 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 696 0x79, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x6d, 697 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x66, 0x0a, 0x12, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 698 0x69, 0x6f, 0x64, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 699 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 700 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 701 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69, 702 0x6f, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x48, 0x00, 0x52, 0x10, 0x6c, 0x61, 0x73, 0x74, 703 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x0f, 0x0a, 0x0d, 704 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x12, 0x0a, 705 0x10, 0x4c, 0x61, 0x73, 0x74, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 706 0x74, 0x22, 0xeb, 0x01, 0x0a, 0x0d, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 707 0x75, 0x6c, 0x65, 0x12, 0x30, 0x0a, 0x11, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 708 0x5f, 0x70, 0x65, 0x72, 0x63, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 0x42, 0x03, 709 0xe0, 0x41, 0x02, 0x52, 0x10, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x50, 0x65, 710 0x72, 0x63, 0x65, 0x6e, 0x74, 0x12, 0x5f, 0x0a, 0x0b, 0x73, 0x70, 0x65, 0x6e, 0x64, 0x5f, 0x62, 711 0x61, 0x73, 0x69, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 0x2e, 0x67, 0x6f, 0x6f, 712 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 713 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 714 0x31, 0x2e, 0x54, 0x68, 0x72, 0x65, 0x73, 0x68, 0x6f, 0x6c, 0x64, 0x52, 0x75, 0x6c, 0x65, 0x2e, 715 0x42, 0x61, 0x73, 0x69, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x73, 0x70, 0x65, 0x6e, 716 0x64, 0x42, 0x61, 0x73, 0x69, 0x73, 0x22, 0x47, 0x0a, 0x05, 0x42, 0x61, 0x73, 0x69, 0x73, 0x12, 717 0x15, 0x0a, 0x11, 0x42, 0x41, 0x53, 0x49, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 718 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x55, 0x52, 0x52, 0x45, 0x4e, 719 0x54, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x46, 0x4f, 0x52, 720 0x45, 0x43, 0x41, 0x53, 0x54, 0x45, 0x44, 0x5f, 0x53, 0x50, 0x45, 0x4e, 0x44, 0x10, 0x02, 0x22, 721 0x64, 0x0a, 0x0e, 0x41, 0x6c, 0x6c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x52, 0x75, 0x6c, 722 0x65, 0x12, 0x26, 0x0a, 0x0c, 0x70, 0x75, 0x62, 0x73, 0x75, 0x62, 0x5f, 0x74, 0x6f, 0x70, 0x69, 723 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x70, 0x75, 724 0x62, 0x73, 0x75, 0x62, 0x54, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x2a, 0x0a, 0x0e, 0x73, 0x63, 0x68, 725 0x65, 0x6d, 0x61, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 726 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x56, 0x65, 727 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8f, 0x04, 0x0a, 0x06, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 728 0x12, 0x1f, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 729 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 730 0x73, 0x12, 0x7c, 0x0a, 0x16, 0x63, 0x72, 0x65, 0x64, 0x69, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 731 0x73, 0x5f, 0x74, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 732 0x0e, 0x32, 0x41, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 733 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 734 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 735 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x54, 0x72, 0x65, 0x61, 0x74, 736 0x6d, 0x65, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x14, 0x63, 0x72, 0x65, 0x64, 0x69, 737 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x54, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 738 0x1f, 0x0a, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 739 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 740 0x12, 0x25, 0x0a, 0x0b, 0x73, 0x75, 0x62, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 741 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x73, 0x75, 0x62, 0x61, 742 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x55, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 743 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 744 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x62, 745 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 746 0x69, 0x6c, 0x74, 0x65, 0x72, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 747 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x55, 748 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 749 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 750 0x30, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 751 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 752 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 753 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x70, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x64, 0x69, 0x74, 0x54, 754 0x79, 0x70, 0x65, 0x73, 0x54, 0x72, 0x65, 0x61, 0x74, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x0a, 755 0x22, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x53, 0x5f, 0x54, 0x52, 756 0x45, 0x41, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 757 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x49, 0x4e, 0x43, 0x4c, 0x55, 0x44, 0x45, 758 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 0x45, 0x44, 0x49, 0x54, 0x53, 0x10, 0x01, 0x12, 0x17, 759 0x0a, 0x13, 0x45, 0x58, 0x43, 0x4c, 0x55, 0x44, 0x45, 0x5f, 0x41, 0x4c, 0x4c, 0x5f, 0x43, 0x52, 760 0x45, 0x44, 0x49, 0x54, 0x53, 0x10, 0x02, 0x42, 0x79, 0x0a, 0x28, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 761 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 762 0x69, 0x6e, 0x67, 0x2e, 0x62, 0x75, 0x64, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x62, 0x65, 763 0x74, 0x61, 0x31, 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 764 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 765 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 766 0x75, 0x64, 0x2f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2f, 0x62, 0x75, 0x64, 0x67, 0x65, 767 0x74, 0x73, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x3b, 0x62, 0x75, 0x64, 0x67, 0x65, 768 0x74, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 769} 770 771var ( 772 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescOnce sync.Once 773 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescData = file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDesc 774) 775 776func file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescGZIP() []byte { 777 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescOnce.Do(func() { 778 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescData) 779 }) 780 return file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDescData 781} 782 783var file_google_cloud_billing_budgets_v1beta1_budget_model_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 784var file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes = make([]protoimpl.MessageInfo, 7) 785var file_google_cloud_billing_budgets_v1beta1_budget_model_proto_goTypes = []interface{}{ 786 (ThresholdRule_Basis)(0), // 0: google.cloud.billing.budgets.v1beta1.ThresholdRule.Basis 787 (Filter_CreditTypesTreatment)(0), // 1: google.cloud.billing.budgets.v1beta1.Filter.CreditTypesTreatment 788 (*Budget)(nil), // 2: google.cloud.billing.budgets.v1beta1.Budget 789 (*BudgetAmount)(nil), // 3: google.cloud.billing.budgets.v1beta1.BudgetAmount 790 (*LastPeriodAmount)(nil), // 4: google.cloud.billing.budgets.v1beta1.LastPeriodAmount 791 (*ThresholdRule)(nil), // 5: google.cloud.billing.budgets.v1beta1.ThresholdRule 792 (*AllUpdatesRule)(nil), // 6: google.cloud.billing.budgets.v1beta1.AllUpdatesRule 793 (*Filter)(nil), // 7: google.cloud.billing.budgets.v1beta1.Filter 794 nil, // 8: google.cloud.billing.budgets.v1beta1.Filter.LabelsEntry 795 (*money.Money)(nil), // 9: google.type.Money 796 (*_struct.ListValue)(nil), // 10: google.protobuf.ListValue 797} 798var file_google_cloud_billing_budgets_v1beta1_budget_model_proto_depIdxs = []int32{ 799 7, // 0: google.cloud.billing.budgets.v1beta1.Budget.budget_filter:type_name -> google.cloud.billing.budgets.v1beta1.Filter 800 3, // 1: google.cloud.billing.budgets.v1beta1.Budget.amount:type_name -> google.cloud.billing.budgets.v1beta1.BudgetAmount 801 5, // 2: google.cloud.billing.budgets.v1beta1.Budget.threshold_rules:type_name -> google.cloud.billing.budgets.v1beta1.ThresholdRule 802 6, // 3: google.cloud.billing.budgets.v1beta1.Budget.all_updates_rule:type_name -> google.cloud.billing.budgets.v1beta1.AllUpdatesRule 803 9, // 4: google.cloud.billing.budgets.v1beta1.BudgetAmount.specified_amount:type_name -> google.type.Money 804 4, // 5: google.cloud.billing.budgets.v1beta1.BudgetAmount.last_period_amount:type_name -> google.cloud.billing.budgets.v1beta1.LastPeriodAmount 805 0, // 6: google.cloud.billing.budgets.v1beta1.ThresholdRule.spend_basis:type_name -> google.cloud.billing.budgets.v1beta1.ThresholdRule.Basis 806 1, // 7: google.cloud.billing.budgets.v1beta1.Filter.credit_types_treatment:type_name -> google.cloud.billing.budgets.v1beta1.Filter.CreditTypesTreatment 807 8, // 8: google.cloud.billing.budgets.v1beta1.Filter.labels:type_name -> google.cloud.billing.budgets.v1beta1.Filter.LabelsEntry 808 10, // 9: google.cloud.billing.budgets.v1beta1.Filter.LabelsEntry.value:type_name -> google.protobuf.ListValue 809 10, // [10:10] is the sub-list for method output_type 810 10, // [10:10] is the sub-list for method input_type 811 10, // [10:10] is the sub-list for extension type_name 812 10, // [10:10] is the sub-list for extension extendee 813 0, // [0:10] is the sub-list for field type_name 814} 815 816func init() { file_google_cloud_billing_budgets_v1beta1_budget_model_proto_init() } 817func file_google_cloud_billing_budgets_v1beta1_budget_model_proto_init() { 818 if File_google_cloud_billing_budgets_v1beta1_budget_model_proto != nil { 819 return 820 } 821 if !protoimpl.UnsafeEnabled { 822 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 823 switch v := v.(*Budget); i { 824 case 0: 825 return &v.state 826 case 1: 827 return &v.sizeCache 828 case 2: 829 return &v.unknownFields 830 default: 831 return nil 832 } 833 } 834 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 835 switch v := v.(*BudgetAmount); i { 836 case 0: 837 return &v.state 838 case 1: 839 return &v.sizeCache 840 case 2: 841 return &v.unknownFields 842 default: 843 return nil 844 } 845 } 846 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 847 switch v := v.(*LastPeriodAmount); i { 848 case 0: 849 return &v.state 850 case 1: 851 return &v.sizeCache 852 case 2: 853 return &v.unknownFields 854 default: 855 return nil 856 } 857 } 858 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 859 switch v := v.(*ThresholdRule); i { 860 case 0: 861 return &v.state 862 case 1: 863 return &v.sizeCache 864 case 2: 865 return &v.unknownFields 866 default: 867 return nil 868 } 869 } 870 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 871 switch v := v.(*AllUpdatesRule); i { 872 case 0: 873 return &v.state 874 case 1: 875 return &v.sizeCache 876 case 2: 877 return &v.unknownFields 878 default: 879 return nil 880 } 881 } 882 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 883 switch v := v.(*Filter); i { 884 case 0: 885 return &v.state 886 case 1: 887 return &v.sizeCache 888 case 2: 889 return &v.unknownFields 890 default: 891 return nil 892 } 893 } 894 } 895 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes[1].OneofWrappers = []interface{}{ 896 (*BudgetAmount_SpecifiedAmount)(nil), 897 (*BudgetAmount_LastPeriodAmount)(nil), 898 } 899 type x struct{} 900 out := protoimpl.TypeBuilder{ 901 File: protoimpl.DescBuilder{ 902 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 903 RawDescriptor: file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDesc, 904 NumEnums: 2, 905 NumMessages: 7, 906 NumExtensions: 0, 907 NumServices: 0, 908 }, 909 GoTypes: file_google_cloud_billing_budgets_v1beta1_budget_model_proto_goTypes, 910 DependencyIndexes: file_google_cloud_billing_budgets_v1beta1_budget_model_proto_depIdxs, 911 EnumInfos: file_google_cloud_billing_budgets_v1beta1_budget_model_proto_enumTypes, 912 MessageInfos: file_google_cloud_billing_budgets_v1beta1_budget_model_proto_msgTypes, 913 }.Build() 914 File_google_cloud_billing_budgets_v1beta1_budget_model_proto = out.File 915 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_rawDesc = nil 916 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_goTypes = nil 917 file_google_cloud_billing_budgets_v1beta1_budget_model_proto_depIdxs = nil 918} 919