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