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