1// Copyright 2021 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.26.0 18// protoc v3.12.2 19// source: google/cloud/channel/v1/offers.proto 20 21package channel 22 23import ( 24 reflect "reflect" 25 sync "sync" 26 27 _ "google.golang.org/genproto/googleapis/api/annotations" 28 money "google.golang.org/genproto/googleapis/type/money" 29 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 30 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 31 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 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// Constraints type for Promotional offers. 42type PromotionalOrderType int32 43 44const ( 45 // Not used. 46 PromotionalOrderType_PROMOTIONAL_TYPE_UNSPECIFIED PromotionalOrderType = 0 47 // Order used for new customers, trial conversions and upgrades. 48 PromotionalOrderType_NEW_UPGRADE PromotionalOrderType = 1 49 // All orders for transferring an existing customer. 50 PromotionalOrderType_TRANSFER PromotionalOrderType = 2 51 // Orders for modifying an existing customer's promotion on the same SKU. 52 PromotionalOrderType_PROMOTION_SWITCH PromotionalOrderType = 3 53) 54 55// Enum value maps for PromotionalOrderType. 56var ( 57 PromotionalOrderType_name = map[int32]string{ 58 0: "PROMOTIONAL_TYPE_UNSPECIFIED", 59 1: "NEW_UPGRADE", 60 2: "TRANSFER", 61 3: "PROMOTION_SWITCH", 62 } 63 PromotionalOrderType_value = map[string]int32{ 64 "PROMOTIONAL_TYPE_UNSPECIFIED": 0, 65 "NEW_UPGRADE": 1, 66 "TRANSFER": 2, 67 "PROMOTION_SWITCH": 3, 68 } 69) 70 71func (x PromotionalOrderType) Enum() *PromotionalOrderType { 72 p := new(PromotionalOrderType) 73 *p = x 74 return p 75} 76 77func (x PromotionalOrderType) String() string { 78 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 79} 80 81func (PromotionalOrderType) Descriptor() protoreflect.EnumDescriptor { 82 return file_google_cloud_channel_v1_offers_proto_enumTypes[0].Descriptor() 83} 84 85func (PromotionalOrderType) Type() protoreflect.EnumType { 86 return &file_google_cloud_channel_v1_offers_proto_enumTypes[0] 87} 88 89func (x PromotionalOrderType) Number() protoreflect.EnumNumber { 90 return protoreflect.EnumNumber(x) 91} 92 93// Deprecated: Use PromotionalOrderType.Descriptor instead. 94func (PromotionalOrderType) EnumDescriptor() ([]byte, []int) { 95 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{0} 96} 97 98// Describes how the reseller will be billed. 99type PaymentPlan int32 100 101const ( 102 // Not used. 103 PaymentPlan_PAYMENT_PLAN_UNSPECIFIED PaymentPlan = 0 104 // Commitment. 105 PaymentPlan_COMMITMENT PaymentPlan = 1 106 // No commitment. 107 PaymentPlan_FLEXIBLE PaymentPlan = 2 108 // Free. 109 PaymentPlan_FREE PaymentPlan = 3 110 // Trial. 111 PaymentPlan_TRIAL PaymentPlan = 4 112 // Price and ordering not available through API. 113 PaymentPlan_OFFLINE PaymentPlan = 5 114) 115 116// Enum value maps for PaymentPlan. 117var ( 118 PaymentPlan_name = map[int32]string{ 119 0: "PAYMENT_PLAN_UNSPECIFIED", 120 1: "COMMITMENT", 121 2: "FLEXIBLE", 122 3: "FREE", 123 4: "TRIAL", 124 5: "OFFLINE", 125 } 126 PaymentPlan_value = map[string]int32{ 127 "PAYMENT_PLAN_UNSPECIFIED": 0, 128 "COMMITMENT": 1, 129 "FLEXIBLE": 2, 130 "FREE": 3, 131 "TRIAL": 4, 132 "OFFLINE": 5, 133 } 134) 135 136func (x PaymentPlan) Enum() *PaymentPlan { 137 p := new(PaymentPlan) 138 *p = x 139 return p 140} 141 142func (x PaymentPlan) String() string { 143 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 144} 145 146func (PaymentPlan) Descriptor() protoreflect.EnumDescriptor { 147 return file_google_cloud_channel_v1_offers_proto_enumTypes[1].Descriptor() 148} 149 150func (PaymentPlan) Type() protoreflect.EnumType { 151 return &file_google_cloud_channel_v1_offers_proto_enumTypes[1] 152} 153 154func (x PaymentPlan) Number() protoreflect.EnumNumber { 155 return protoreflect.EnumNumber(x) 156} 157 158// Deprecated: Use PaymentPlan.Descriptor instead. 159func (PaymentPlan) EnumDescriptor() ([]byte, []int) { 160 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{1} 161} 162 163// Specifies when the payment needs to happen. 164type PaymentType int32 165 166const ( 167 // Not used. 168 PaymentType_PAYMENT_TYPE_UNSPECIFIED PaymentType = 0 169 // Prepay. Amount has to be paid before service is rendered. 170 PaymentType_PREPAY PaymentType = 1 171 // Postpay. Reseller is charged at the end of the Payment cycle. 172 PaymentType_POSTPAY PaymentType = 2 173) 174 175// Enum value maps for PaymentType. 176var ( 177 PaymentType_name = map[int32]string{ 178 0: "PAYMENT_TYPE_UNSPECIFIED", 179 1: "PREPAY", 180 2: "POSTPAY", 181 } 182 PaymentType_value = map[string]int32{ 183 "PAYMENT_TYPE_UNSPECIFIED": 0, 184 "PREPAY": 1, 185 "POSTPAY": 2, 186 } 187) 188 189func (x PaymentType) Enum() *PaymentType { 190 p := new(PaymentType) 191 *p = x 192 return p 193} 194 195func (x PaymentType) String() string { 196 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 197} 198 199func (PaymentType) Descriptor() protoreflect.EnumDescriptor { 200 return file_google_cloud_channel_v1_offers_proto_enumTypes[2].Descriptor() 201} 202 203func (PaymentType) Type() protoreflect.EnumType { 204 return &file_google_cloud_channel_v1_offers_proto_enumTypes[2] 205} 206 207func (x PaymentType) Number() protoreflect.EnumNumber { 208 return protoreflect.EnumNumber(x) 209} 210 211// Deprecated: Use PaymentType.Descriptor instead. 212func (PaymentType) EnumDescriptor() ([]byte, []int) { 213 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{2} 214} 215 216// Represents the type for a monetizable resource(any entity on which billing 217// happens). For example, this could be MINUTES for Google Voice and GB for 218// Google Drive. One SKU can map to multiple monetizable resources. 219type ResourceType int32 220 221const ( 222 // Not used. 223 ResourceType_RESOURCE_TYPE_UNSPECIFIED ResourceType = 0 224 // Seat. 225 ResourceType_SEAT ResourceType = 1 226 // Monthly active user. 227 ResourceType_MAU ResourceType = 2 228 // GB (used for storage SKUs). 229 ResourceType_GB ResourceType = 3 230 // Active licensed users(for Voice SKUs). 231 ResourceType_LICENSED_USER ResourceType = 4 232 // Voice usage. 233 ResourceType_MINUTES ResourceType = 5 234 // For IaaS SKUs like Google Cloud Platform, monetization is based on usage 235 // accrued on your billing account irrespective of the type of monetizable 236 // resource. This enum represents an aggregated resource/container for all 237 // usage SKUs on a billing account. Currently, only applicable to Google Cloud 238 // Platform. 239 ResourceType_IAAS_USAGE ResourceType = 6 240 // For Google Cloud Platform subscriptions like Anthos or SAP. 241 ResourceType_SUBSCRIPTION ResourceType = 7 242) 243 244// Enum value maps for ResourceType. 245var ( 246 ResourceType_name = map[int32]string{ 247 0: "RESOURCE_TYPE_UNSPECIFIED", 248 1: "SEAT", 249 2: "MAU", 250 3: "GB", 251 4: "LICENSED_USER", 252 5: "MINUTES", 253 6: "IAAS_USAGE", 254 7: "SUBSCRIPTION", 255 } 256 ResourceType_value = map[string]int32{ 257 "RESOURCE_TYPE_UNSPECIFIED": 0, 258 "SEAT": 1, 259 "MAU": 2, 260 "GB": 3, 261 "LICENSED_USER": 4, 262 "MINUTES": 5, 263 "IAAS_USAGE": 6, 264 "SUBSCRIPTION": 7, 265 } 266) 267 268func (x ResourceType) Enum() *ResourceType { 269 p := new(ResourceType) 270 *p = x 271 return p 272} 273 274func (x ResourceType) String() string { 275 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 276} 277 278func (ResourceType) Descriptor() protoreflect.EnumDescriptor { 279 return file_google_cloud_channel_v1_offers_proto_enumTypes[3].Descriptor() 280} 281 282func (ResourceType) Type() protoreflect.EnumType { 283 return &file_google_cloud_channel_v1_offers_proto_enumTypes[3] 284} 285 286func (x ResourceType) Number() protoreflect.EnumNumber { 287 return protoreflect.EnumNumber(x) 288} 289 290// Deprecated: Use ResourceType.Descriptor instead. 291func (ResourceType) EnumDescriptor() ([]byte, []int) { 292 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{3} 293} 294 295// Period Type. 296type PeriodType int32 297 298const ( 299 // Not used. 300 PeriodType_PERIOD_TYPE_UNSPECIFIED PeriodType = 0 301 // Day. 302 PeriodType_DAY PeriodType = 1 303 // Month. 304 PeriodType_MONTH PeriodType = 2 305 // Year. 306 PeriodType_YEAR PeriodType = 3 307) 308 309// Enum value maps for PeriodType. 310var ( 311 PeriodType_name = map[int32]string{ 312 0: "PERIOD_TYPE_UNSPECIFIED", 313 1: "DAY", 314 2: "MONTH", 315 3: "YEAR", 316 } 317 PeriodType_value = map[string]int32{ 318 "PERIOD_TYPE_UNSPECIFIED": 0, 319 "DAY": 1, 320 "MONTH": 2, 321 "YEAR": 3, 322 } 323) 324 325func (x PeriodType) Enum() *PeriodType { 326 p := new(PeriodType) 327 *p = x 328 return p 329} 330 331func (x PeriodType) String() string { 332 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 333} 334 335func (PeriodType) Descriptor() protoreflect.EnumDescriptor { 336 return file_google_cloud_channel_v1_offers_proto_enumTypes[4].Descriptor() 337} 338 339func (PeriodType) Type() protoreflect.EnumType { 340 return &file_google_cloud_channel_v1_offers_proto_enumTypes[4] 341} 342 343func (x PeriodType) Number() protoreflect.EnumNumber { 344 return protoreflect.EnumNumber(x) 345} 346 347// Deprecated: Use PeriodType.Descriptor instead. 348func (PeriodType) EnumDescriptor() ([]byte, []int) { 349 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{4} 350} 351 352// Data type of the parameter. 353type ParameterDefinition_ParameterType int32 354 355const ( 356 // Not used. 357 ParameterDefinition_PARAMETER_TYPE_UNSPECIFIED ParameterDefinition_ParameterType = 0 358 // Int64 type. 359 ParameterDefinition_INT64 ParameterDefinition_ParameterType = 1 360 // String type. 361 ParameterDefinition_STRING ParameterDefinition_ParameterType = 2 362 // Double type. 363 ParameterDefinition_DOUBLE ParameterDefinition_ParameterType = 3 364) 365 366// Enum value maps for ParameterDefinition_ParameterType. 367var ( 368 ParameterDefinition_ParameterType_name = map[int32]string{ 369 0: "PARAMETER_TYPE_UNSPECIFIED", 370 1: "INT64", 371 2: "STRING", 372 3: "DOUBLE", 373 } 374 ParameterDefinition_ParameterType_value = map[string]int32{ 375 "PARAMETER_TYPE_UNSPECIFIED": 0, 376 "INT64": 1, 377 "STRING": 2, 378 "DOUBLE": 3, 379 } 380) 381 382func (x ParameterDefinition_ParameterType) Enum() *ParameterDefinition_ParameterType { 383 p := new(ParameterDefinition_ParameterType) 384 *p = x 385 return p 386} 387 388func (x ParameterDefinition_ParameterType) String() string { 389 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 390} 391 392func (ParameterDefinition_ParameterType) Descriptor() protoreflect.EnumDescriptor { 393 return file_google_cloud_channel_v1_offers_proto_enumTypes[5].Descriptor() 394} 395 396func (ParameterDefinition_ParameterType) Type() protoreflect.EnumType { 397 return &file_google_cloud_channel_v1_offers_proto_enumTypes[5] 398} 399 400func (x ParameterDefinition_ParameterType) Number() protoreflect.EnumNumber { 401 return protoreflect.EnumNumber(x) 402} 403 404// Deprecated: Use ParameterDefinition_ParameterType.Descriptor instead. 405func (ParameterDefinition_ParameterType) EnumDescriptor() ([]byte, []int) { 406 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{1, 0} 407} 408 409// Represents an offer made to resellers for purchase. 410// An offer is associated with a [Sku][google.cloud.channel.v1.Sku], has a plan for payment, a price, and 411// defines the constraints for buying. 412type Offer struct { 413 state protoimpl.MessageState 414 sizeCache protoimpl.SizeCache 415 unknownFields protoimpl.UnknownFields 416 417 // Resource Name of the Offer. 418 // Format: accounts/{account_id}/offers/{offer_id} 419 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 420 // Marketing information for the Offer. 421 MarketingInfo *MarketingInfo `protobuf:"bytes,2,opt,name=marketing_info,json=marketingInfo,proto3" json:"marketing_info,omitempty"` 422 // SKU the offer is associated with. 423 Sku *Sku `protobuf:"bytes,3,opt,name=sku,proto3" json:"sku,omitempty"` 424 // Describes the payment plan for the Offer. 425 Plan *Plan `protobuf:"bytes,4,opt,name=plan,proto3" json:"plan,omitempty"` 426 // Constraints on transacting the Offer. 427 Constraints *Constraints `protobuf:"bytes,5,opt,name=constraints,proto3" json:"constraints,omitempty"` 428 // Price for each monetizable resource type. 429 PriceByResources []*PriceByResource `protobuf:"bytes,6,rep,name=price_by_resources,json=priceByResources,proto3" json:"price_by_resources,omitempty"` 430 // Start of the Offer validity time. 431 StartTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 432 // Output only. End of the Offer validity time. 433 EndTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=end_time,json=endTime,proto3" json:"end_time,omitempty"` 434 // Parameters required to use current Offer to purchase. 435 ParameterDefinitions []*ParameterDefinition `protobuf:"bytes,9,rep,name=parameter_definitions,json=parameterDefinitions,proto3" json:"parameter_definitions,omitempty"` 436} 437 438func (x *Offer) Reset() { 439 *x = Offer{} 440 if protoimpl.UnsafeEnabled { 441 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[0] 442 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 443 ms.StoreMessageInfo(mi) 444 } 445} 446 447func (x *Offer) String() string { 448 return protoimpl.X.MessageStringOf(x) 449} 450 451func (*Offer) ProtoMessage() {} 452 453func (x *Offer) ProtoReflect() protoreflect.Message { 454 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[0] 455 if protoimpl.UnsafeEnabled && x != nil { 456 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 457 if ms.LoadMessageInfo() == nil { 458 ms.StoreMessageInfo(mi) 459 } 460 return ms 461 } 462 return mi.MessageOf(x) 463} 464 465// Deprecated: Use Offer.ProtoReflect.Descriptor instead. 466func (*Offer) Descriptor() ([]byte, []int) { 467 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{0} 468} 469 470func (x *Offer) GetName() string { 471 if x != nil { 472 return x.Name 473 } 474 return "" 475} 476 477func (x *Offer) GetMarketingInfo() *MarketingInfo { 478 if x != nil { 479 return x.MarketingInfo 480 } 481 return nil 482} 483 484func (x *Offer) GetSku() *Sku { 485 if x != nil { 486 return x.Sku 487 } 488 return nil 489} 490 491func (x *Offer) GetPlan() *Plan { 492 if x != nil { 493 return x.Plan 494 } 495 return nil 496} 497 498func (x *Offer) GetConstraints() *Constraints { 499 if x != nil { 500 return x.Constraints 501 } 502 return nil 503} 504 505func (x *Offer) GetPriceByResources() []*PriceByResource { 506 if x != nil { 507 return x.PriceByResources 508 } 509 return nil 510} 511 512func (x *Offer) GetStartTime() *timestamppb.Timestamp { 513 if x != nil { 514 return x.StartTime 515 } 516 return nil 517} 518 519func (x *Offer) GetEndTime() *timestamppb.Timestamp { 520 if x != nil { 521 return x.EndTime 522 } 523 return nil 524} 525 526func (x *Offer) GetParameterDefinitions() []*ParameterDefinition { 527 if x != nil { 528 return x.ParameterDefinitions 529 } 530 return nil 531} 532 533// Parameter's definition. Specifies what parameter is required to use the 534// current Offer to purchase. 535type ParameterDefinition struct { 536 state protoimpl.MessageState 537 sizeCache protoimpl.SizeCache 538 unknownFields protoimpl.UnknownFields 539 540 // Name of the parameter. 541 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 542 // Data type of the parameter. Minimal value, Maximum value and allowed values 543 // will use specified data type here. 544 ParameterType ParameterDefinition_ParameterType `protobuf:"varint,2,opt,name=parameter_type,json=parameterType,proto3,enum=google.cloud.channel.v1.ParameterDefinition_ParameterType" json:"parameter_type,omitempty"` 545 // Minimal value of the parameter, if applicable. Inclusive. For example, 546 // minimal commitment when purchasing Anthos is 0.01. 547 // Applicable to INT64 and DOUBLE parameter types. 548 MinValue *Value `protobuf:"bytes,3,opt,name=min_value,json=minValue,proto3" json:"min_value,omitempty"` 549 // Maximum value of the parameter, if applicable. Inclusive. For example, 550 // maximum seats when purchasing Google Workspace Business Standard. 551 // Applicable to INT64 and DOUBLE parameter types. 552 MaxValue *Value `protobuf:"bytes,4,opt,name=max_value,json=maxValue,proto3" json:"max_value,omitempty"` 553 // If not empty, parameter values must be drawn from this list. 554 // For example, [us-west1, us-west2, ...] 555 // Applicable to STRING parameter type. 556 AllowedValues []*Value `protobuf:"bytes,5,rep,name=allowed_values,json=allowedValues,proto3" json:"allowed_values,omitempty"` 557 // If set to true, parameter is optional to purchase this Offer. 558 Optional bool `protobuf:"varint,6,opt,name=optional,proto3" json:"optional,omitempty"` 559} 560 561func (x *ParameterDefinition) Reset() { 562 *x = ParameterDefinition{} 563 if protoimpl.UnsafeEnabled { 564 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[1] 565 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 566 ms.StoreMessageInfo(mi) 567 } 568} 569 570func (x *ParameterDefinition) String() string { 571 return protoimpl.X.MessageStringOf(x) 572} 573 574func (*ParameterDefinition) ProtoMessage() {} 575 576func (x *ParameterDefinition) ProtoReflect() protoreflect.Message { 577 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[1] 578 if protoimpl.UnsafeEnabled && x != nil { 579 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 580 if ms.LoadMessageInfo() == nil { 581 ms.StoreMessageInfo(mi) 582 } 583 return ms 584 } 585 return mi.MessageOf(x) 586} 587 588// Deprecated: Use ParameterDefinition.ProtoReflect.Descriptor instead. 589func (*ParameterDefinition) Descriptor() ([]byte, []int) { 590 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{1} 591} 592 593func (x *ParameterDefinition) GetName() string { 594 if x != nil { 595 return x.Name 596 } 597 return "" 598} 599 600func (x *ParameterDefinition) GetParameterType() ParameterDefinition_ParameterType { 601 if x != nil { 602 return x.ParameterType 603 } 604 return ParameterDefinition_PARAMETER_TYPE_UNSPECIFIED 605} 606 607func (x *ParameterDefinition) GetMinValue() *Value { 608 if x != nil { 609 return x.MinValue 610 } 611 return nil 612} 613 614func (x *ParameterDefinition) GetMaxValue() *Value { 615 if x != nil { 616 return x.MaxValue 617 } 618 return nil 619} 620 621func (x *ParameterDefinition) GetAllowedValues() []*Value { 622 if x != nil { 623 return x.AllowedValues 624 } 625 return nil 626} 627 628func (x *ParameterDefinition) GetOptional() bool { 629 if x != nil { 630 return x.Optional 631 } 632 return false 633} 634 635// Represents the constraints for buying the Offer. 636type Constraints struct { 637 state protoimpl.MessageState 638 sizeCache protoimpl.SizeCache 639 unknownFields protoimpl.UnknownFields 640 641 // Represents constraints required to purchase the Offer for a customer. 642 CustomerConstraints *CustomerConstraints `protobuf:"bytes,1,opt,name=customer_constraints,json=customerConstraints,proto3" json:"customer_constraints,omitempty"` 643} 644 645func (x *Constraints) Reset() { 646 *x = Constraints{} 647 if protoimpl.UnsafeEnabled { 648 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[2] 649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 650 ms.StoreMessageInfo(mi) 651 } 652} 653 654func (x *Constraints) String() string { 655 return protoimpl.X.MessageStringOf(x) 656} 657 658func (*Constraints) ProtoMessage() {} 659 660func (x *Constraints) ProtoReflect() protoreflect.Message { 661 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[2] 662 if protoimpl.UnsafeEnabled && x != nil { 663 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 664 if ms.LoadMessageInfo() == nil { 665 ms.StoreMessageInfo(mi) 666 } 667 return ms 668 } 669 return mi.MessageOf(x) 670} 671 672// Deprecated: Use Constraints.ProtoReflect.Descriptor instead. 673func (*Constraints) Descriptor() ([]byte, []int) { 674 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{2} 675} 676 677func (x *Constraints) GetCustomerConstraints() *CustomerConstraints { 678 if x != nil { 679 return x.CustomerConstraints 680 } 681 return nil 682} 683 684// Represents constraints required to purchase the Offer for a customer. 685type CustomerConstraints struct { 686 state protoimpl.MessageState 687 sizeCache protoimpl.SizeCache 688 unknownFields protoimpl.UnknownFields 689 690 // Allowed geographical regions of the customer. 691 AllowedRegions []string `protobuf:"bytes,1,rep,name=allowed_regions,json=allowedRegions,proto3" json:"allowed_regions,omitempty"` 692 // Allowed Customer Type. 693 AllowedCustomerTypes []CloudIdentityInfo_CustomerType `protobuf:"varint,2,rep,packed,name=allowed_customer_types,json=allowedCustomerTypes,proto3,enum=google.cloud.channel.v1.CloudIdentityInfo_CustomerType" json:"allowed_customer_types,omitempty"` 694 // Allowed Promotional Order Type. Present for Promotional offers. 695 PromotionalOrderTypes []PromotionalOrderType `protobuf:"varint,3,rep,packed,name=promotional_order_types,json=promotionalOrderTypes,proto3,enum=google.cloud.channel.v1.PromotionalOrderType" json:"promotional_order_types,omitempty"` 696} 697 698func (x *CustomerConstraints) Reset() { 699 *x = CustomerConstraints{} 700 if protoimpl.UnsafeEnabled { 701 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[3] 702 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 703 ms.StoreMessageInfo(mi) 704 } 705} 706 707func (x *CustomerConstraints) String() string { 708 return protoimpl.X.MessageStringOf(x) 709} 710 711func (*CustomerConstraints) ProtoMessage() {} 712 713func (x *CustomerConstraints) ProtoReflect() protoreflect.Message { 714 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[3] 715 if protoimpl.UnsafeEnabled && x != nil { 716 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 717 if ms.LoadMessageInfo() == nil { 718 ms.StoreMessageInfo(mi) 719 } 720 return ms 721 } 722 return mi.MessageOf(x) 723} 724 725// Deprecated: Use CustomerConstraints.ProtoReflect.Descriptor instead. 726func (*CustomerConstraints) Descriptor() ([]byte, []int) { 727 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{3} 728} 729 730func (x *CustomerConstraints) GetAllowedRegions() []string { 731 if x != nil { 732 return x.AllowedRegions 733 } 734 return nil 735} 736 737func (x *CustomerConstraints) GetAllowedCustomerTypes() []CloudIdentityInfo_CustomerType { 738 if x != nil { 739 return x.AllowedCustomerTypes 740 } 741 return nil 742} 743 744func (x *CustomerConstraints) GetPromotionalOrderTypes() []PromotionalOrderType { 745 if x != nil { 746 return x.PromotionalOrderTypes 747 } 748 return nil 749} 750 751// The payment plan for the Offer. Describes how to make a payment. 752type Plan struct { 753 state protoimpl.MessageState 754 sizeCache protoimpl.SizeCache 755 unknownFields protoimpl.UnknownFields 756 757 // Describes how a reseller will be billed. 758 PaymentPlan PaymentPlan `protobuf:"varint,1,opt,name=payment_plan,json=paymentPlan,proto3,enum=google.cloud.channel.v1.PaymentPlan" json:"payment_plan,omitempty"` 759 // Specifies when the payment needs to happen. 760 PaymentType PaymentType `protobuf:"varint,2,opt,name=payment_type,json=paymentType,proto3,enum=google.cloud.channel.v1.PaymentType" json:"payment_type,omitempty"` 761 // Describes how frequently the reseller will be billed, such as 762 // once per month. 763 PaymentCycle *Period `protobuf:"bytes,3,opt,name=payment_cycle,json=paymentCycle,proto3" json:"payment_cycle,omitempty"` 764 // Present for Offers with a trial period. 765 // For trial-only Offers, a paid service needs to start before the trial 766 // period ends for continued service. 767 // For Regular Offers with a trial period, the regular pricing goes into 768 // effect when trial period ends, or if paid service is started before the end 769 // of the trial period. 770 TrialPeriod *Period `protobuf:"bytes,4,opt,name=trial_period,json=trialPeriod,proto3" json:"trial_period,omitempty"` 771 // Reseller Billing account to charge after an offer transaction. 772 // Only present for Google Cloud Platform offers. 773 BillingAccount string `protobuf:"bytes,5,opt,name=billing_account,json=billingAccount,proto3" json:"billing_account,omitempty"` 774} 775 776func (x *Plan) Reset() { 777 *x = Plan{} 778 if protoimpl.UnsafeEnabled { 779 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[4] 780 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 781 ms.StoreMessageInfo(mi) 782 } 783} 784 785func (x *Plan) String() string { 786 return protoimpl.X.MessageStringOf(x) 787} 788 789func (*Plan) ProtoMessage() {} 790 791func (x *Plan) ProtoReflect() protoreflect.Message { 792 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[4] 793 if protoimpl.UnsafeEnabled && x != nil { 794 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 795 if ms.LoadMessageInfo() == nil { 796 ms.StoreMessageInfo(mi) 797 } 798 return ms 799 } 800 return mi.MessageOf(x) 801} 802 803// Deprecated: Use Plan.ProtoReflect.Descriptor instead. 804func (*Plan) Descriptor() ([]byte, []int) { 805 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{4} 806} 807 808func (x *Plan) GetPaymentPlan() PaymentPlan { 809 if x != nil { 810 return x.PaymentPlan 811 } 812 return PaymentPlan_PAYMENT_PLAN_UNSPECIFIED 813} 814 815func (x *Plan) GetPaymentType() PaymentType { 816 if x != nil { 817 return x.PaymentType 818 } 819 return PaymentType_PAYMENT_TYPE_UNSPECIFIED 820} 821 822func (x *Plan) GetPaymentCycle() *Period { 823 if x != nil { 824 return x.PaymentCycle 825 } 826 return nil 827} 828 829func (x *Plan) GetTrialPeriod() *Period { 830 if x != nil { 831 return x.TrialPeriod 832 } 833 return nil 834} 835 836func (x *Plan) GetBillingAccount() string { 837 if x != nil { 838 return x.BillingAccount 839 } 840 return "" 841} 842 843// Represents price by resource type. 844type PriceByResource struct { 845 state protoimpl.MessageState 846 sizeCache protoimpl.SizeCache 847 unknownFields protoimpl.UnknownFields 848 849 // Resource Type. Example: SEAT 850 ResourceType ResourceType `protobuf:"varint,1,opt,name=resource_type,json=resourceType,proto3,enum=google.cloud.channel.v1.ResourceType" json:"resource_type,omitempty"` 851 // Price of the Offer. Present if there are no price phases. 852 Price *Price `protobuf:"bytes,2,opt,name=price,proto3" json:"price,omitempty"` 853 // Specifies the price by time range. 854 PricePhases []*PricePhase `protobuf:"bytes,3,rep,name=price_phases,json=pricePhases,proto3" json:"price_phases,omitempty"` 855} 856 857func (x *PriceByResource) Reset() { 858 *x = PriceByResource{} 859 if protoimpl.UnsafeEnabled { 860 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[5] 861 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 862 ms.StoreMessageInfo(mi) 863 } 864} 865 866func (x *PriceByResource) String() string { 867 return protoimpl.X.MessageStringOf(x) 868} 869 870func (*PriceByResource) ProtoMessage() {} 871 872func (x *PriceByResource) ProtoReflect() protoreflect.Message { 873 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[5] 874 if protoimpl.UnsafeEnabled && x != nil { 875 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 876 if ms.LoadMessageInfo() == nil { 877 ms.StoreMessageInfo(mi) 878 } 879 return ms 880 } 881 return mi.MessageOf(x) 882} 883 884// Deprecated: Use PriceByResource.ProtoReflect.Descriptor instead. 885func (*PriceByResource) Descriptor() ([]byte, []int) { 886 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{5} 887} 888 889func (x *PriceByResource) GetResourceType() ResourceType { 890 if x != nil { 891 return x.ResourceType 892 } 893 return ResourceType_RESOURCE_TYPE_UNSPECIFIED 894} 895 896func (x *PriceByResource) GetPrice() *Price { 897 if x != nil { 898 return x.Price 899 } 900 return nil 901} 902 903func (x *PriceByResource) GetPricePhases() []*PricePhase { 904 if x != nil { 905 return x.PricePhases 906 } 907 return nil 908} 909 910// Represents the price of the Offer. 911type Price struct { 912 state protoimpl.MessageState 913 sizeCache protoimpl.SizeCache 914 unknownFields protoimpl.UnknownFields 915 916 // Base price. 917 BasePrice *money.Money `protobuf:"bytes,1,opt,name=base_price,json=basePrice,proto3" json:"base_price,omitempty"` 918 // Discount percentage, represented as decimal. 919 // For example, a 20% discount will be represent as 0.2. 920 Discount float64 `protobuf:"fixed64,2,opt,name=discount,proto3" json:"discount,omitempty"` 921 // Effective Price after applying the discounts. 922 EffectivePrice *money.Money `protobuf:"bytes,3,opt,name=effective_price,json=effectivePrice,proto3" json:"effective_price,omitempty"` 923 // Link to external price list, such as link to Google Voice rate card. 924 ExternalPriceUri string `protobuf:"bytes,4,opt,name=external_price_uri,json=externalPriceUri,proto3" json:"external_price_uri,omitempty"` 925} 926 927func (x *Price) Reset() { 928 *x = Price{} 929 if protoimpl.UnsafeEnabled { 930 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[6] 931 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 932 ms.StoreMessageInfo(mi) 933 } 934} 935 936func (x *Price) String() string { 937 return protoimpl.X.MessageStringOf(x) 938} 939 940func (*Price) ProtoMessage() {} 941 942func (x *Price) ProtoReflect() protoreflect.Message { 943 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[6] 944 if protoimpl.UnsafeEnabled && x != nil { 945 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 946 if ms.LoadMessageInfo() == nil { 947 ms.StoreMessageInfo(mi) 948 } 949 return ms 950 } 951 return mi.MessageOf(x) 952} 953 954// Deprecated: Use Price.ProtoReflect.Descriptor instead. 955func (*Price) Descriptor() ([]byte, []int) { 956 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{6} 957} 958 959func (x *Price) GetBasePrice() *money.Money { 960 if x != nil { 961 return x.BasePrice 962 } 963 return nil 964} 965 966func (x *Price) GetDiscount() float64 { 967 if x != nil { 968 return x.Discount 969 } 970 return 0 971} 972 973func (x *Price) GetEffectivePrice() *money.Money { 974 if x != nil { 975 return x.EffectivePrice 976 } 977 return nil 978} 979 980func (x *Price) GetExternalPriceUri() string { 981 if x != nil { 982 return x.ExternalPriceUri 983 } 984 return "" 985} 986 987// Specifies the price by the duration of months. 988// For example, a 20% discount for the first six months, then a 10% discount 989// starting on the seventh month. 990type PricePhase struct { 991 state protoimpl.MessageState 992 sizeCache protoimpl.SizeCache 993 unknownFields protoimpl.UnknownFields 994 995 // Defines the phase period type. 996 PeriodType PeriodType `protobuf:"varint,1,opt,name=period_type,json=periodType,proto3,enum=google.cloud.channel.v1.PeriodType" json:"period_type,omitempty"` 997 // Defines first period for the phase. 998 FirstPeriod int32 `protobuf:"varint,2,opt,name=first_period,json=firstPeriod,proto3" json:"first_period,omitempty"` 999 // Defines first period for the phase. 1000 LastPeriod int32 `protobuf:"varint,3,opt,name=last_period,json=lastPeriod,proto3" json:"last_period,omitempty"` 1001 // Price of the phase. Present if there are no price tiers. 1002 Price *Price `protobuf:"bytes,4,opt,name=price,proto3" json:"price,omitempty"` 1003 // Price by the resource tiers. 1004 PriceTiers []*PriceTier `protobuf:"bytes,5,rep,name=price_tiers,json=priceTiers,proto3" json:"price_tiers,omitempty"` 1005} 1006 1007func (x *PricePhase) Reset() { 1008 *x = PricePhase{} 1009 if protoimpl.UnsafeEnabled { 1010 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[7] 1011 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1012 ms.StoreMessageInfo(mi) 1013 } 1014} 1015 1016func (x *PricePhase) String() string { 1017 return protoimpl.X.MessageStringOf(x) 1018} 1019 1020func (*PricePhase) ProtoMessage() {} 1021 1022func (x *PricePhase) ProtoReflect() protoreflect.Message { 1023 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[7] 1024 if protoimpl.UnsafeEnabled && x != nil { 1025 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1026 if ms.LoadMessageInfo() == nil { 1027 ms.StoreMessageInfo(mi) 1028 } 1029 return ms 1030 } 1031 return mi.MessageOf(x) 1032} 1033 1034// Deprecated: Use PricePhase.ProtoReflect.Descriptor instead. 1035func (*PricePhase) Descriptor() ([]byte, []int) { 1036 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{7} 1037} 1038 1039func (x *PricePhase) GetPeriodType() PeriodType { 1040 if x != nil { 1041 return x.PeriodType 1042 } 1043 return PeriodType_PERIOD_TYPE_UNSPECIFIED 1044} 1045 1046func (x *PricePhase) GetFirstPeriod() int32 { 1047 if x != nil { 1048 return x.FirstPeriod 1049 } 1050 return 0 1051} 1052 1053func (x *PricePhase) GetLastPeriod() int32 { 1054 if x != nil { 1055 return x.LastPeriod 1056 } 1057 return 0 1058} 1059 1060func (x *PricePhase) GetPrice() *Price { 1061 if x != nil { 1062 return x.Price 1063 } 1064 return nil 1065} 1066 1067func (x *PricePhase) GetPriceTiers() []*PriceTier { 1068 if x != nil { 1069 return x.PriceTiers 1070 } 1071 return nil 1072} 1073 1074// Defines price at resource tier level. 1075// For example, an offer with following definition : 1076// 1077// * Tier 1: Provide 25% discount for all seats between 1 and 25. 1078// * Tier 2: Provide 10% discount for all seats between 26 and 100. 1079// * Tier 3: Provide flat 15% discount for all seats above 100. 1080// 1081// Each of these tiers is represented as a PriceTier. 1082type PriceTier struct { 1083 state protoimpl.MessageState 1084 sizeCache protoimpl.SizeCache 1085 unknownFields protoimpl.UnknownFields 1086 1087 // First resource for which the tier price applies. 1088 FirstResource int32 `protobuf:"varint,1,opt,name=first_resource,json=firstResource,proto3" json:"first_resource,omitempty"` 1089 // Last resource for which the tier price applies. 1090 LastResource int32 `protobuf:"varint,2,opt,name=last_resource,json=lastResource,proto3" json:"last_resource,omitempty"` 1091 // Price of the tier. 1092 Price *Price `protobuf:"bytes,3,opt,name=price,proto3" json:"price,omitempty"` 1093} 1094 1095func (x *PriceTier) Reset() { 1096 *x = PriceTier{} 1097 if protoimpl.UnsafeEnabled { 1098 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[8] 1099 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1100 ms.StoreMessageInfo(mi) 1101 } 1102} 1103 1104func (x *PriceTier) String() string { 1105 return protoimpl.X.MessageStringOf(x) 1106} 1107 1108func (*PriceTier) ProtoMessage() {} 1109 1110func (x *PriceTier) ProtoReflect() protoreflect.Message { 1111 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[8] 1112 if protoimpl.UnsafeEnabled && x != nil { 1113 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1114 if ms.LoadMessageInfo() == nil { 1115 ms.StoreMessageInfo(mi) 1116 } 1117 return ms 1118 } 1119 return mi.MessageOf(x) 1120} 1121 1122// Deprecated: Use PriceTier.ProtoReflect.Descriptor instead. 1123func (*PriceTier) Descriptor() ([]byte, []int) { 1124 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{8} 1125} 1126 1127func (x *PriceTier) GetFirstResource() int32 { 1128 if x != nil { 1129 return x.FirstResource 1130 } 1131 return 0 1132} 1133 1134func (x *PriceTier) GetLastResource() int32 { 1135 if x != nil { 1136 return x.LastResource 1137 } 1138 return 0 1139} 1140 1141func (x *PriceTier) GetPrice() *Price { 1142 if x != nil { 1143 return x.Price 1144 } 1145 return nil 1146} 1147 1148// Represents period in days/months/years. 1149type Period struct { 1150 state protoimpl.MessageState 1151 sizeCache protoimpl.SizeCache 1152 unknownFields protoimpl.UnknownFields 1153 1154 // Total duration of Period Type defined. 1155 Duration int32 `protobuf:"varint,1,opt,name=duration,proto3" json:"duration,omitempty"` 1156 // Period Type. 1157 PeriodType PeriodType `protobuf:"varint,2,opt,name=period_type,json=periodType,proto3,enum=google.cloud.channel.v1.PeriodType" json:"period_type,omitempty"` 1158} 1159 1160func (x *Period) Reset() { 1161 *x = Period{} 1162 if protoimpl.UnsafeEnabled { 1163 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[9] 1164 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1165 ms.StoreMessageInfo(mi) 1166 } 1167} 1168 1169func (x *Period) String() string { 1170 return protoimpl.X.MessageStringOf(x) 1171} 1172 1173func (*Period) ProtoMessage() {} 1174 1175func (x *Period) ProtoReflect() protoreflect.Message { 1176 mi := &file_google_cloud_channel_v1_offers_proto_msgTypes[9] 1177 if protoimpl.UnsafeEnabled && x != nil { 1178 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1179 if ms.LoadMessageInfo() == nil { 1180 ms.StoreMessageInfo(mi) 1181 } 1182 return ms 1183 } 1184 return mi.MessageOf(x) 1185} 1186 1187// Deprecated: Use Period.ProtoReflect.Descriptor instead. 1188func (*Period) Descriptor() ([]byte, []int) { 1189 return file_google_cloud_channel_v1_offers_proto_rawDescGZIP(), []int{9} 1190} 1191 1192func (x *Period) GetDuration() int32 { 1193 if x != nil { 1194 return x.Duration 1195 } 1196 return 0 1197} 1198 1199func (x *Period) GetPeriodType() PeriodType { 1200 if x != nil { 1201 return x.PeriodType 1202 } 1203 return PeriodType_PERIOD_TYPE_UNSPECIFIED 1204} 1205 1206var File_google_cloud_channel_v1_offers_proto protoreflect.FileDescriptor 1207 1208var file_google_cloud_channel_v1_offers_proto_rawDesc = []byte{ 1209 0x0a, 0x24, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 1210 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 1211 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1212 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x1a, 1213 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 1214 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1215 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 1216 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x67, 0x6f, 0x6f, 1217 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 1218 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1219 0x6f, 0x1a, 0x26, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 1220 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f, 0x64, 0x75, 1221 0x63, 0x74, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1222 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 1223 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 1224 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6d, 0x6f, 0x6e, 0x65, 0x79, 0x2e, 0x70, 0x72, 1225 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 1226 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 1227 0x6f, 0x22, 0x92, 0x05, 0x0a, 0x05, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x6e, 1228 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 1229 0x4d, 0x0a, 0x0e, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x69, 0x6e, 0x66, 1230 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1231 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 1232 0x31, 0x2e, 0x4d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x52, 1233 0x0d, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x2e, 1234 0x0a, 0x03, 0x73, 0x6b, 0x75, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 1235 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 1236 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x6b, 0x75, 0x52, 0x03, 0x73, 0x6b, 0x75, 0x12, 0x31, 1237 0x0a, 0x04, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x67, 1238 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 1239 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6c, 0x61, 0x6e, 0x52, 0x04, 0x70, 0x6c, 0x61, 1240 0x6e, 0x12, 0x46, 0x0a, 0x0b, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 1241 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1242 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 1243 0x2e, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x0b, 0x63, 0x6f, 1244 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x56, 0x0a, 0x12, 0x70, 0x72, 0x69, 1245 0x63, 0x65, 0x5f, 0x62, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x18, 1246 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1247 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 1248 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 1249 0x10, 0x70, 0x72, 0x69, 0x63, 0x65, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1250 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 1251 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1252 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 1253 0x70, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3a, 0x0a, 0x08, 1254 0x65, 0x6e, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 1255 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1256 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 1257 0x07, 0x65, 0x6e, 0x64, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x15, 0x70, 0x61, 0x72, 0x61, 1258 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 1259 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1260 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 1261 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 1262 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 1263 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x3a, 0x49, 0xea, 0x41, 0x46, 1264 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x67, 1265 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4f, 0x66, 1266 0x66, 0x65, 0x72, 0x12, 0x21, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x61, 1267 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x7d, 0x2f, 0x6f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x2f, 0x7b, 1268 0x6f, 0x66, 0x66, 0x65, 0x72, 0x7d, 0x22, 0xbd, 0x03, 0x0a, 0x13, 0x50, 0x61, 0x72, 0x61, 0x6d, 1269 0x65, 0x74, 0x65, 0x72, 0x44, 0x65, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 1270 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 1271 0x6d, 0x65, 0x12, 0x61, 0x0a, 0x0e, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x5f, 1272 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 1273 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 1274 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x44, 0x65, 1275 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 1276 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 1277 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x5f, 0x76, 0x61, 0x6c, 1278 0x75, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1279 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 1280 0x76, 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x69, 0x6e, 0x56, 0x61, 0x6c, 1281 0x75, 0x65, 0x12, 0x3b, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 1282 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1283 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 1284 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x08, 0x6d, 0x61, 0x78, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x12, 1285 0x45, 0x0a, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x76, 0x61, 0x6c, 0x75, 0x65, 1286 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1287 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 1288 0x31, 0x2e, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x0d, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 1289 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 1290 0x61, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 1291 0x61, 0x6c, 0x22, 0x52, 0x0a, 0x0d, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x54, 1292 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x50, 0x41, 0x52, 0x41, 0x4d, 0x45, 0x54, 0x45, 0x52, 1293 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 1294 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x49, 0x4e, 0x54, 0x36, 0x34, 0x10, 0x01, 0x12, 0x0a, 1295 0x0a, 0x06, 0x53, 0x54, 0x52, 0x49, 0x4e, 0x47, 0x10, 0x02, 0x12, 0x0a, 0x0a, 0x06, 0x44, 0x4f, 1296 0x55, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x22, 0x6e, 0x0a, 0x0b, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 1297 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x5f, 0x0a, 0x14, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 1298 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 1299 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1300 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x75, 1301 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 1302 0x73, 0x52, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 1303 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x94, 0x02, 0x0a, 0x13, 0x43, 0x75, 0x73, 0x74, 0x6f, 1304 0x6d, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x72, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x27, 1305 0x0a, 0x0f, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 1306 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 1307 0x52, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6d, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 1308 0x65, 0x64, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 1309 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1310 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 1311 0x31, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 1312 0x6e, 0x66, 0x6f, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 1313 0x52, 0x14, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 1314 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x65, 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 1315 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 1316 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0e, 0x32, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1317 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 1318 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x64, 1319 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x15, 0x70, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 1320 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x73, 0x22, 0xcb, 0x02, 1321 0x0a, 0x04, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x47, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 1322 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 1323 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 1324 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 1325 0x61, 0x6e, 0x52, 0x0b, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 1326 0x47, 0x0a, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 1327 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1328 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 1329 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x70, 0x61, 0x79, 1330 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x44, 0x0a, 0x0d, 0x70, 0x61, 0x79, 0x6d, 1331 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 1332 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 1333 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 1334 0x52, 0x0c, 0x70, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x42, 1335 0x0a, 0x0c, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x04, 1336 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1337 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 1338 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x0b, 0x74, 0x72, 0x69, 0x61, 0x6c, 0x50, 0x65, 0x72, 0x69, 1339 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x61, 0x63, 1340 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x62, 0x69, 0x6c, 1341 0x6c, 0x69, 0x6e, 0x67, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xdb, 0x01, 0x0a, 0x0f, 1342 0x50, 0x72, 0x69, 0x63, 0x65, 0x42, 0x79, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 1343 0x4a, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 1344 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 1345 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 1346 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x72, 1347 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x70, 1348 0x72, 0x69, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 1349 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 1350 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 1351 0x65, 0x12, 0x46, 0x0a, 0x0c, 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x70, 0x68, 0x61, 0x73, 0x65, 1352 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1353 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 1354 0x31, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x52, 0x0b, 0x70, 0x72, 1355 0x69, 0x63, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x73, 0x22, 0xc1, 0x01, 0x0a, 0x05, 0x50, 0x72, 1356 0x69, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x0a, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x70, 0x72, 0x69, 0x63, 1357 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1358 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 0x09, 0x62, 0x61, 0x73, 1359 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 1360 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x75, 1361 0x6e, 0x74, 0x12, 0x3b, 0x0a, 0x0f, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 1362 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 1363 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4d, 0x6f, 0x6e, 0x65, 0x79, 0x52, 1364 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x50, 0x72, 0x69, 0x63, 0x65, 0x12, 1365 0x2c, 0x0a, 0x12, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x70, 0x72, 0x69, 0x63, 1366 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x65, 0x78, 0x74, 1367 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x50, 0x72, 0x69, 0x63, 0x65, 0x55, 0x72, 0x69, 0x22, 0x91, 0x02, 1368 0x0a, 0x0a, 0x50, 0x72, 0x69, 0x63, 0x65, 0x50, 0x68, 0x61, 0x73, 0x65, 0x12, 0x44, 0x0a, 0x0b, 1369 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 1370 0x0e, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1371 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x69, 1372 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 1373 0x70, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x70, 0x65, 0x72, 0x69, 1374 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0b, 0x66, 0x69, 0x72, 0x73, 0x74, 0x50, 1375 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1f, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x70, 0x65, 1376 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 1377 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x34, 0x0a, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x18, 1378 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 1379 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 1380 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 0x65, 0x12, 0x43, 0x0a, 0x0b, 1381 0x70, 0x72, 0x69, 0x63, 0x65, 0x5f, 0x74, 0x69, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 1382 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1383 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x63, 1384 0x65, 0x54, 0x69, 0x65, 0x72, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 1385 0x73, 0x22, 0x8d, 0x01, 0x0a, 0x09, 0x50, 0x72, 0x69, 0x63, 0x65, 0x54, 0x69, 0x65, 0x72, 0x12, 1386 0x25, 0x0a, 0x0e, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1387 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x52, 0x65, 1388 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 1389 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6c, 1390 0x61, 0x73, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x34, 0x0a, 0x05, 0x70, 1391 0x72, 0x69, 0x63, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 1392 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 1393 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x69, 0x63, 0x65, 0x52, 0x05, 0x70, 0x72, 0x69, 0x63, 1394 0x65, 0x22, 0x6a, 0x0a, 0x06, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x64, 1395 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x64, 1396 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x0b, 0x70, 0x65, 0x72, 0x69, 0x6f, 1397 0x64, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x23, 0x2e, 0x67, 1398 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 1399 0x6e, 0x65, 0x6c, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 1400 0x65, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x2a, 0x6d, 0x0a, 1401 0x14, 0x50, 0x72, 0x6f, 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x4f, 0x72, 0x64, 0x65, 1402 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 0x49, 1403 0x4f, 0x4e, 0x41, 0x4c, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 1404 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x45, 0x57, 0x5f, 0x55, 1405 0x50, 0x47, 0x52, 0x41, 0x44, 0x45, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x54, 0x52, 0x41, 0x4e, 1406 0x53, 0x46, 0x45, 0x52, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x50, 0x52, 0x4f, 0x4d, 0x4f, 0x54, 1407 0x49, 0x4f, 0x4e, 0x5f, 0x53, 0x57, 0x49, 0x54, 0x43, 0x48, 0x10, 0x03, 0x2a, 0x6b, 0x0a, 0x0b, 1408 0x50, 0x61, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x1c, 0x0a, 0x18, 0x50, 1409 0x41, 0x59, 0x4d, 0x45, 0x4e, 0x54, 0x5f, 0x50, 0x4c, 0x41, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1410 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x43, 0x4f, 0x4d, 1411 0x4d, 0x49, 0x54, 0x4d, 0x45, 0x4e, 0x54, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x46, 0x4c, 0x45, 1412 0x58, 0x49, 0x42, 0x4c, 0x45, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x46, 0x52, 0x45, 0x45, 0x10, 1413 0x03, 0x12, 0x09, 0x0a, 0x05, 0x54, 0x52, 0x49, 0x41, 0x4c, 0x10, 0x04, 0x12, 0x0b, 0x0a, 0x07, 1414 0x4f, 0x46, 0x46, 0x4c, 0x49, 0x4e, 0x45, 0x10, 0x05, 0x2a, 0x44, 0x0a, 0x0b, 0x50, 0x61, 0x79, 1415 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x50, 0x41, 0x59, 0x4d, 1416 0x45, 0x4e, 0x54, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1417 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x50, 0x52, 0x45, 0x50, 0x41, 0x59, 1418 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x50, 0x4f, 0x53, 0x54, 0x50, 0x41, 0x59, 0x10, 0x02, 0x2a, 1419 0x8a, 0x01, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 1420 0x12, 0x1d, 0x0a, 0x19, 0x52, 0x45, 0x53, 0x4f, 0x55, 0x52, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 1421 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 1422 0x08, 0x0a, 0x04, 0x53, 0x45, 0x41, 0x54, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x4d, 0x41, 0x55, 1423 0x10, 0x02, 0x12, 0x06, 0x0a, 0x02, 0x47, 0x42, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x4c, 0x49, 1424 0x43, 0x45, 0x4e, 0x53, 0x45, 0x44, 0x5f, 0x55, 0x53, 0x45, 0x52, 0x10, 0x04, 0x12, 0x0b, 0x0a, 1425 0x07, 0x4d, 0x49, 0x4e, 0x55, 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x0e, 0x0a, 0x0a, 0x49, 0x41, 1426 0x41, 0x53, 0x5f, 0x55, 0x53, 0x41, 0x47, 0x45, 0x10, 0x06, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x55, 1427 0x42, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x49, 0x4f, 0x4e, 0x10, 0x07, 0x2a, 0x47, 0x0a, 0x0a, 1428 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a, 0x17, 0x50, 0x45, 1429 0x52, 0x49, 0x4f, 0x44, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 1430 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x44, 0x41, 0x59, 0x10, 0x01, 1431 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x4f, 0x4e, 0x54, 0x48, 0x10, 0x02, 0x12, 0x08, 0x0a, 0x04, 0x59, 1432 0x45, 0x41, 0x52, 0x10, 0x03, 0x42, 0x6c, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 1433 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 1434 0x6c, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x50, 0x72, 0x6f, 0x74, 1435 0x6f, 0x50, 0x01, 0x5a, 0x3e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 1436 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 1437 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1438 0x2f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x68, 0x61, 0x6e, 1439 0x6e, 0x65, 0x6c, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1440} 1441 1442var ( 1443 file_google_cloud_channel_v1_offers_proto_rawDescOnce sync.Once 1444 file_google_cloud_channel_v1_offers_proto_rawDescData = file_google_cloud_channel_v1_offers_proto_rawDesc 1445) 1446 1447func file_google_cloud_channel_v1_offers_proto_rawDescGZIP() []byte { 1448 file_google_cloud_channel_v1_offers_proto_rawDescOnce.Do(func() { 1449 file_google_cloud_channel_v1_offers_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_channel_v1_offers_proto_rawDescData) 1450 }) 1451 return file_google_cloud_channel_v1_offers_proto_rawDescData 1452} 1453 1454var file_google_cloud_channel_v1_offers_proto_enumTypes = make([]protoimpl.EnumInfo, 6) 1455var file_google_cloud_channel_v1_offers_proto_msgTypes = make([]protoimpl.MessageInfo, 10) 1456var file_google_cloud_channel_v1_offers_proto_goTypes = []interface{}{ 1457 (PromotionalOrderType)(0), // 0: google.cloud.channel.v1.PromotionalOrderType 1458 (PaymentPlan)(0), // 1: google.cloud.channel.v1.PaymentPlan 1459 (PaymentType)(0), // 2: google.cloud.channel.v1.PaymentType 1460 (ResourceType)(0), // 3: google.cloud.channel.v1.ResourceType 1461 (PeriodType)(0), // 4: google.cloud.channel.v1.PeriodType 1462 (ParameterDefinition_ParameterType)(0), // 5: google.cloud.channel.v1.ParameterDefinition.ParameterType 1463 (*Offer)(nil), // 6: google.cloud.channel.v1.Offer 1464 (*ParameterDefinition)(nil), // 7: google.cloud.channel.v1.ParameterDefinition 1465 (*Constraints)(nil), // 8: google.cloud.channel.v1.Constraints 1466 (*CustomerConstraints)(nil), // 9: google.cloud.channel.v1.CustomerConstraints 1467 (*Plan)(nil), // 10: google.cloud.channel.v1.Plan 1468 (*PriceByResource)(nil), // 11: google.cloud.channel.v1.PriceByResource 1469 (*Price)(nil), // 12: google.cloud.channel.v1.Price 1470 (*PricePhase)(nil), // 13: google.cloud.channel.v1.PricePhase 1471 (*PriceTier)(nil), // 14: google.cloud.channel.v1.PriceTier 1472 (*Period)(nil), // 15: google.cloud.channel.v1.Period 1473 (*MarketingInfo)(nil), // 16: google.cloud.channel.v1.MarketingInfo 1474 (*Sku)(nil), // 17: google.cloud.channel.v1.Sku 1475 (*timestamppb.Timestamp)(nil), // 18: google.protobuf.Timestamp 1476 (*Value)(nil), // 19: google.cloud.channel.v1.Value 1477 (CloudIdentityInfo_CustomerType)(0), // 20: google.cloud.channel.v1.CloudIdentityInfo.CustomerType 1478 (*money.Money)(nil), // 21: google.type.Money 1479} 1480var file_google_cloud_channel_v1_offers_proto_depIdxs = []int32{ 1481 16, // 0: google.cloud.channel.v1.Offer.marketing_info:type_name -> google.cloud.channel.v1.MarketingInfo 1482 17, // 1: google.cloud.channel.v1.Offer.sku:type_name -> google.cloud.channel.v1.Sku 1483 10, // 2: google.cloud.channel.v1.Offer.plan:type_name -> google.cloud.channel.v1.Plan 1484 8, // 3: google.cloud.channel.v1.Offer.constraints:type_name -> google.cloud.channel.v1.Constraints 1485 11, // 4: google.cloud.channel.v1.Offer.price_by_resources:type_name -> google.cloud.channel.v1.PriceByResource 1486 18, // 5: google.cloud.channel.v1.Offer.start_time:type_name -> google.protobuf.Timestamp 1487 18, // 6: google.cloud.channel.v1.Offer.end_time:type_name -> google.protobuf.Timestamp 1488 7, // 7: google.cloud.channel.v1.Offer.parameter_definitions:type_name -> google.cloud.channel.v1.ParameterDefinition 1489 5, // 8: google.cloud.channel.v1.ParameterDefinition.parameter_type:type_name -> google.cloud.channel.v1.ParameterDefinition.ParameterType 1490 19, // 9: google.cloud.channel.v1.ParameterDefinition.min_value:type_name -> google.cloud.channel.v1.Value 1491 19, // 10: google.cloud.channel.v1.ParameterDefinition.max_value:type_name -> google.cloud.channel.v1.Value 1492 19, // 11: google.cloud.channel.v1.ParameterDefinition.allowed_values:type_name -> google.cloud.channel.v1.Value 1493 9, // 12: google.cloud.channel.v1.Constraints.customer_constraints:type_name -> google.cloud.channel.v1.CustomerConstraints 1494 20, // 13: google.cloud.channel.v1.CustomerConstraints.allowed_customer_types:type_name -> google.cloud.channel.v1.CloudIdentityInfo.CustomerType 1495 0, // 14: google.cloud.channel.v1.CustomerConstraints.promotional_order_types:type_name -> google.cloud.channel.v1.PromotionalOrderType 1496 1, // 15: google.cloud.channel.v1.Plan.payment_plan:type_name -> google.cloud.channel.v1.PaymentPlan 1497 2, // 16: google.cloud.channel.v1.Plan.payment_type:type_name -> google.cloud.channel.v1.PaymentType 1498 15, // 17: google.cloud.channel.v1.Plan.payment_cycle:type_name -> google.cloud.channel.v1.Period 1499 15, // 18: google.cloud.channel.v1.Plan.trial_period:type_name -> google.cloud.channel.v1.Period 1500 3, // 19: google.cloud.channel.v1.PriceByResource.resource_type:type_name -> google.cloud.channel.v1.ResourceType 1501 12, // 20: google.cloud.channel.v1.PriceByResource.price:type_name -> google.cloud.channel.v1.Price 1502 13, // 21: google.cloud.channel.v1.PriceByResource.price_phases:type_name -> google.cloud.channel.v1.PricePhase 1503 21, // 22: google.cloud.channel.v1.Price.base_price:type_name -> google.type.Money 1504 21, // 23: google.cloud.channel.v1.Price.effective_price:type_name -> google.type.Money 1505 4, // 24: google.cloud.channel.v1.PricePhase.period_type:type_name -> google.cloud.channel.v1.PeriodType 1506 12, // 25: google.cloud.channel.v1.PricePhase.price:type_name -> google.cloud.channel.v1.Price 1507 14, // 26: google.cloud.channel.v1.PricePhase.price_tiers:type_name -> google.cloud.channel.v1.PriceTier 1508 12, // 27: google.cloud.channel.v1.PriceTier.price:type_name -> google.cloud.channel.v1.Price 1509 4, // 28: google.cloud.channel.v1.Period.period_type:type_name -> google.cloud.channel.v1.PeriodType 1510 29, // [29:29] is the sub-list for method output_type 1511 29, // [29:29] is the sub-list for method input_type 1512 29, // [29:29] is the sub-list for extension type_name 1513 29, // [29:29] is the sub-list for extension extendee 1514 0, // [0:29] is the sub-list for field type_name 1515} 1516 1517func init() { file_google_cloud_channel_v1_offers_proto_init() } 1518func file_google_cloud_channel_v1_offers_proto_init() { 1519 if File_google_cloud_channel_v1_offers_proto != nil { 1520 return 1521 } 1522 file_google_cloud_channel_v1_common_proto_init() 1523 file_google_cloud_channel_v1_products_proto_init() 1524 if !protoimpl.UnsafeEnabled { 1525 file_google_cloud_channel_v1_offers_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1526 switch v := v.(*Offer); i { 1527 case 0: 1528 return &v.state 1529 case 1: 1530 return &v.sizeCache 1531 case 2: 1532 return &v.unknownFields 1533 default: 1534 return nil 1535 } 1536 } 1537 file_google_cloud_channel_v1_offers_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1538 switch v := v.(*ParameterDefinition); i { 1539 case 0: 1540 return &v.state 1541 case 1: 1542 return &v.sizeCache 1543 case 2: 1544 return &v.unknownFields 1545 default: 1546 return nil 1547 } 1548 } 1549 file_google_cloud_channel_v1_offers_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1550 switch v := v.(*Constraints); i { 1551 case 0: 1552 return &v.state 1553 case 1: 1554 return &v.sizeCache 1555 case 2: 1556 return &v.unknownFields 1557 default: 1558 return nil 1559 } 1560 } 1561 file_google_cloud_channel_v1_offers_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1562 switch v := v.(*CustomerConstraints); i { 1563 case 0: 1564 return &v.state 1565 case 1: 1566 return &v.sizeCache 1567 case 2: 1568 return &v.unknownFields 1569 default: 1570 return nil 1571 } 1572 } 1573 file_google_cloud_channel_v1_offers_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1574 switch v := v.(*Plan); i { 1575 case 0: 1576 return &v.state 1577 case 1: 1578 return &v.sizeCache 1579 case 2: 1580 return &v.unknownFields 1581 default: 1582 return nil 1583 } 1584 } 1585 file_google_cloud_channel_v1_offers_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1586 switch v := v.(*PriceByResource); i { 1587 case 0: 1588 return &v.state 1589 case 1: 1590 return &v.sizeCache 1591 case 2: 1592 return &v.unknownFields 1593 default: 1594 return nil 1595 } 1596 } 1597 file_google_cloud_channel_v1_offers_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1598 switch v := v.(*Price); i { 1599 case 0: 1600 return &v.state 1601 case 1: 1602 return &v.sizeCache 1603 case 2: 1604 return &v.unknownFields 1605 default: 1606 return nil 1607 } 1608 } 1609 file_google_cloud_channel_v1_offers_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1610 switch v := v.(*PricePhase); i { 1611 case 0: 1612 return &v.state 1613 case 1: 1614 return &v.sizeCache 1615 case 2: 1616 return &v.unknownFields 1617 default: 1618 return nil 1619 } 1620 } 1621 file_google_cloud_channel_v1_offers_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1622 switch v := v.(*PriceTier); i { 1623 case 0: 1624 return &v.state 1625 case 1: 1626 return &v.sizeCache 1627 case 2: 1628 return &v.unknownFields 1629 default: 1630 return nil 1631 } 1632 } 1633 file_google_cloud_channel_v1_offers_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1634 switch v := v.(*Period); i { 1635 case 0: 1636 return &v.state 1637 case 1: 1638 return &v.sizeCache 1639 case 2: 1640 return &v.unknownFields 1641 default: 1642 return nil 1643 } 1644 } 1645 } 1646 type x struct{} 1647 out := protoimpl.TypeBuilder{ 1648 File: protoimpl.DescBuilder{ 1649 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1650 RawDescriptor: file_google_cloud_channel_v1_offers_proto_rawDesc, 1651 NumEnums: 6, 1652 NumMessages: 10, 1653 NumExtensions: 0, 1654 NumServices: 0, 1655 }, 1656 GoTypes: file_google_cloud_channel_v1_offers_proto_goTypes, 1657 DependencyIndexes: file_google_cloud_channel_v1_offers_proto_depIdxs, 1658 EnumInfos: file_google_cloud_channel_v1_offers_proto_enumTypes, 1659 MessageInfos: file_google_cloud_channel_v1_offers_proto_msgTypes, 1660 }.Build() 1661 File_google_cloud_channel_v1_offers_proto = out.File 1662 file_google_cloud_channel_v1_offers_proto_rawDesc = nil 1663 file_google_cloud_channel_v1_offers_proto_goTypes = nil 1664 file_google_cloud_channel_v1_offers_proto_depIdxs = nil 1665} 1666