1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package testing
22
23 import (
24 context "context"
25 reflect "reflect"
26 sync "sync"
27
28 _ "google.golang.org/genproto/googleapis/api/annotations"
29 date "google.golang.org/genproto/googleapis/type/date"
30 grpc "google.golang.org/grpc"
31 codes "google.golang.org/grpc/codes"
32 status "google.golang.org/grpc/status"
33 protoreflect "google.golang.org/protobuf/reflect/protoreflect"
34 protoimpl "google.golang.org/protobuf/runtime/protoimpl"
35 durationpb "google.golang.org/protobuf/types/known/durationpb"
36 timestamppb "google.golang.org/protobuf/types/known/timestamppb"
37 )
38
39 const (
40
41 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
42
43 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
44 )
45
46
47 type DeviceForm int32
48
49 const (
50
51 DeviceForm_DEVICE_FORM_UNSPECIFIED DeviceForm = 0
52
53
54 DeviceForm_VIRTUAL DeviceForm = 1
55
56 DeviceForm_PHYSICAL DeviceForm = 2
57
58
59 DeviceForm_EMULATOR DeviceForm = 3
60 )
61
62
63 var (
64 DeviceForm_name = map[int32]string{
65 0: "DEVICE_FORM_UNSPECIFIED",
66 1: "VIRTUAL",
67 2: "PHYSICAL",
68 3: "EMULATOR",
69 }
70 DeviceForm_value = map[string]int32{
71 "DEVICE_FORM_UNSPECIFIED": 0,
72 "VIRTUAL": 1,
73 "PHYSICAL": 2,
74 "EMULATOR": 3,
75 }
76 )
77
78 func (x DeviceForm) Enum() *DeviceForm {
79 p := new(DeviceForm)
80 *p = x
81 return p
82 }
83
84 func (x DeviceForm) String() string {
85 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
86 }
87
88 func (DeviceForm) Descriptor() protoreflect.EnumDescriptor {
89 return file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[0].Descriptor()
90 }
91
92 func (DeviceForm) Type() protoreflect.EnumType {
93 return &file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[0]
94 }
95
96 func (x DeviceForm) Number() protoreflect.EnumNumber {
97 return protoreflect.EnumNumber(x)
98 }
99
100
101 func (DeviceForm) EnumDescriptor() ([]byte, []int) {
102 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{0}
103 }
104
105
106 type DeviceFormFactor int32
107
108 const (
109
110 DeviceFormFactor_DEVICE_FORM_FACTOR_UNSPECIFIED DeviceFormFactor = 0
111
112 DeviceFormFactor_PHONE DeviceFormFactor = 1
113
114 DeviceFormFactor_TABLET DeviceFormFactor = 2
115
116 DeviceFormFactor_WEARABLE DeviceFormFactor = 3
117 )
118
119
120 var (
121 DeviceFormFactor_name = map[int32]string{
122 0: "DEVICE_FORM_FACTOR_UNSPECIFIED",
123 1: "PHONE",
124 2: "TABLET",
125 3: "WEARABLE",
126 }
127 DeviceFormFactor_value = map[string]int32{
128 "DEVICE_FORM_FACTOR_UNSPECIFIED": 0,
129 "PHONE": 1,
130 "TABLET": 2,
131 "WEARABLE": 3,
132 }
133 )
134
135 func (x DeviceFormFactor) Enum() *DeviceFormFactor {
136 p := new(DeviceFormFactor)
137 *p = x
138 return p
139 }
140
141 func (x DeviceFormFactor) String() string {
142 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
143 }
144
145 func (DeviceFormFactor) Descriptor() protoreflect.EnumDescriptor {
146 return file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[1].Descriptor()
147 }
148
149 func (DeviceFormFactor) Type() protoreflect.EnumType {
150 return &file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[1]
151 }
152
153 func (x DeviceFormFactor) Number() protoreflect.EnumNumber {
154 return protoreflect.EnumNumber(x)
155 }
156
157
158 func (DeviceFormFactor) EnumDescriptor() ([]byte, []int) {
159 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{1}
160 }
161
162
163
164
165
166
167
168
169
170 type DeviceCapacity int32
171
172 const (
173
174 DeviceCapacity_DEVICE_CAPACITY_UNSPECIFIED DeviceCapacity = 0
175
176
177
178
179
180
181
182
183
184
185
186 DeviceCapacity_DEVICE_CAPACITY_HIGH DeviceCapacity = 1
187
188
189
190
191
192 DeviceCapacity_DEVICE_CAPACITY_MEDIUM DeviceCapacity = 2
193
194
195
196
197
198
199
200 DeviceCapacity_DEVICE_CAPACITY_LOW DeviceCapacity = 3
201
202
203
204
205
206 DeviceCapacity_DEVICE_CAPACITY_NONE DeviceCapacity = 4
207 )
208
209
210 var (
211 DeviceCapacity_name = map[int32]string{
212 0: "DEVICE_CAPACITY_UNSPECIFIED",
213 1: "DEVICE_CAPACITY_HIGH",
214 2: "DEVICE_CAPACITY_MEDIUM",
215 3: "DEVICE_CAPACITY_LOW",
216 4: "DEVICE_CAPACITY_NONE",
217 }
218 DeviceCapacity_value = map[string]int32{
219 "DEVICE_CAPACITY_UNSPECIFIED": 0,
220 "DEVICE_CAPACITY_HIGH": 1,
221 "DEVICE_CAPACITY_MEDIUM": 2,
222 "DEVICE_CAPACITY_LOW": 3,
223 "DEVICE_CAPACITY_NONE": 4,
224 }
225 )
226
227 func (x DeviceCapacity) Enum() *DeviceCapacity {
228 p := new(DeviceCapacity)
229 *p = x
230 return p
231 }
232
233 func (x DeviceCapacity) String() string {
234 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
235 }
236
237 func (DeviceCapacity) Descriptor() protoreflect.EnumDescriptor {
238 return file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[2].Descriptor()
239 }
240
241 func (DeviceCapacity) Type() protoreflect.EnumType {
242 return &file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[2]
243 }
244
245 func (x DeviceCapacity) Number() protoreflect.EnumNumber {
246 return protoreflect.EnumNumber(x)
247 }
248
249
250 func (DeviceCapacity) EnumDescriptor() ([]byte, []int) {
251 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{2}
252 }
253
254
255 type GetTestEnvironmentCatalogRequest_EnvironmentType int32
256
257 const (
258
259 GetTestEnvironmentCatalogRequest_ENVIRONMENT_TYPE_UNSPECIFIED GetTestEnvironmentCatalogRequest_EnvironmentType = 0
260
261 GetTestEnvironmentCatalogRequest_ANDROID GetTestEnvironmentCatalogRequest_EnvironmentType = 1
262
263 GetTestEnvironmentCatalogRequest_IOS GetTestEnvironmentCatalogRequest_EnvironmentType = 3
264
265 GetTestEnvironmentCatalogRequest_NETWORK_CONFIGURATION GetTestEnvironmentCatalogRequest_EnvironmentType = 4
266
267 GetTestEnvironmentCatalogRequest_PROVIDED_SOFTWARE GetTestEnvironmentCatalogRequest_EnvironmentType = 5
268
269 GetTestEnvironmentCatalogRequest_DEVICE_IP_BLOCKS GetTestEnvironmentCatalogRequest_EnvironmentType = 6
270 )
271
272
273 var (
274 GetTestEnvironmentCatalogRequest_EnvironmentType_name = map[int32]string{
275 0: "ENVIRONMENT_TYPE_UNSPECIFIED",
276 1: "ANDROID",
277 3: "IOS",
278 4: "NETWORK_CONFIGURATION",
279 5: "PROVIDED_SOFTWARE",
280 6: "DEVICE_IP_BLOCKS",
281 }
282 GetTestEnvironmentCatalogRequest_EnvironmentType_value = map[string]int32{
283 "ENVIRONMENT_TYPE_UNSPECIFIED": 0,
284 "ANDROID": 1,
285 "IOS": 3,
286 "NETWORK_CONFIGURATION": 4,
287 "PROVIDED_SOFTWARE": 5,
288 "DEVICE_IP_BLOCKS": 6,
289 }
290 )
291
292 func (x GetTestEnvironmentCatalogRequest_EnvironmentType) Enum() *GetTestEnvironmentCatalogRequest_EnvironmentType {
293 p := new(GetTestEnvironmentCatalogRequest_EnvironmentType)
294 *p = x
295 return p
296 }
297
298 func (x GetTestEnvironmentCatalogRequest_EnvironmentType) String() string {
299 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
300 }
301
302 func (GetTestEnvironmentCatalogRequest_EnvironmentType) Descriptor() protoreflect.EnumDescriptor {
303 return file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[3].Descriptor()
304 }
305
306 func (GetTestEnvironmentCatalogRequest_EnvironmentType) Type() protoreflect.EnumType {
307 return &file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes[3]
308 }
309
310 func (x GetTestEnvironmentCatalogRequest_EnvironmentType) Number() protoreflect.EnumNumber {
311 return protoreflect.EnumNumber(x)
312 }
313
314
315 func (GetTestEnvironmentCatalogRequest_EnvironmentType) EnumDescriptor() ([]byte, []int) {
316 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{1, 0}
317 }
318
319
320 type DeviceIpBlock struct {
321 state protoimpl.MessageState
322 sizeCache protoimpl.SizeCache
323 unknownFields protoimpl.UnknownFields
324
325
326 Block string `protobuf:"bytes,1,opt,name=block,proto3" json:"block,omitempty"`
327
328 Form DeviceForm `protobuf:"varint,2,opt,name=form,proto3,enum=google.devtools.testing.v1.DeviceForm" json:"form,omitempty"`
329
330 AddedDate *date.Date `protobuf:"bytes,3,opt,name=added_date,json=addedDate,proto3" json:"added_date,omitempty"`
331 }
332
333 func (x *DeviceIpBlock) Reset() {
334 *x = DeviceIpBlock{}
335 if protoimpl.UnsafeEnabled {
336 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[0]
337 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
338 ms.StoreMessageInfo(mi)
339 }
340 }
341
342 func (x *DeviceIpBlock) String() string {
343 return protoimpl.X.MessageStringOf(x)
344 }
345
346 func (*DeviceIpBlock) ProtoMessage() {}
347
348 func (x *DeviceIpBlock) ProtoReflect() protoreflect.Message {
349 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[0]
350 if protoimpl.UnsafeEnabled && x != nil {
351 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
352 if ms.LoadMessageInfo() == nil {
353 ms.StoreMessageInfo(mi)
354 }
355 return ms
356 }
357 return mi.MessageOf(x)
358 }
359
360
361 func (*DeviceIpBlock) Descriptor() ([]byte, []int) {
362 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{0}
363 }
364
365 func (x *DeviceIpBlock) GetBlock() string {
366 if x != nil {
367 return x.Block
368 }
369 return ""
370 }
371
372 func (x *DeviceIpBlock) GetForm() DeviceForm {
373 if x != nil {
374 return x.Form
375 }
376 return DeviceForm_DEVICE_FORM_UNSPECIFIED
377 }
378
379 func (x *DeviceIpBlock) GetAddedDate() *date.Date {
380 if x != nil {
381 return x.AddedDate
382 }
383 return nil
384 }
385
386
387 type GetTestEnvironmentCatalogRequest struct {
388 state protoimpl.MessageState
389 sizeCache protoimpl.SizeCache
390 unknownFields protoimpl.UnknownFields
391
392
393 EnvironmentType GetTestEnvironmentCatalogRequest_EnvironmentType `protobuf:"varint,1,opt,name=environment_type,json=environmentType,proto3,enum=google.devtools.testing.v1.GetTestEnvironmentCatalogRequest_EnvironmentType" json:"environment_type,omitempty"`
394
395 ProjectId string `protobuf:"bytes,2,opt,name=project_id,json=projectId,proto3" json:"project_id,omitempty"`
396 }
397
398 func (x *GetTestEnvironmentCatalogRequest) Reset() {
399 *x = GetTestEnvironmentCatalogRequest{}
400 if protoimpl.UnsafeEnabled {
401 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[1]
402 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
403 ms.StoreMessageInfo(mi)
404 }
405 }
406
407 func (x *GetTestEnvironmentCatalogRequest) String() string {
408 return protoimpl.X.MessageStringOf(x)
409 }
410
411 func (*GetTestEnvironmentCatalogRequest) ProtoMessage() {}
412
413 func (x *GetTestEnvironmentCatalogRequest) ProtoReflect() protoreflect.Message {
414 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[1]
415 if protoimpl.UnsafeEnabled && x != nil {
416 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
417 if ms.LoadMessageInfo() == nil {
418 ms.StoreMessageInfo(mi)
419 }
420 return ms
421 }
422 return mi.MessageOf(x)
423 }
424
425
426 func (*GetTestEnvironmentCatalogRequest) Descriptor() ([]byte, []int) {
427 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{1}
428 }
429
430 func (x *GetTestEnvironmentCatalogRequest) GetEnvironmentType() GetTestEnvironmentCatalogRequest_EnvironmentType {
431 if x != nil {
432 return x.EnvironmentType
433 }
434 return GetTestEnvironmentCatalogRequest_ENVIRONMENT_TYPE_UNSPECIFIED
435 }
436
437 func (x *GetTestEnvironmentCatalogRequest) GetProjectId() string {
438 if x != nil {
439 return x.ProjectId
440 }
441 return ""
442 }
443
444
445 type TestEnvironmentCatalog struct {
446 state protoimpl.MessageState
447 sizeCache protoimpl.SizeCache
448 unknownFields protoimpl.UnknownFields
449
450
451
452
453
454
455
456
457
458
459 EnvironmentCatalog isTestEnvironmentCatalog_EnvironmentCatalog `protobuf_oneof:"environment_catalog"`
460 }
461
462 func (x *TestEnvironmentCatalog) Reset() {
463 *x = TestEnvironmentCatalog{}
464 if protoimpl.UnsafeEnabled {
465 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[2]
466 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
467 ms.StoreMessageInfo(mi)
468 }
469 }
470
471 func (x *TestEnvironmentCatalog) String() string {
472 return protoimpl.X.MessageStringOf(x)
473 }
474
475 func (*TestEnvironmentCatalog) ProtoMessage() {}
476
477 func (x *TestEnvironmentCatalog) ProtoReflect() protoreflect.Message {
478 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[2]
479 if protoimpl.UnsafeEnabled && x != nil {
480 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
481 if ms.LoadMessageInfo() == nil {
482 ms.StoreMessageInfo(mi)
483 }
484 return ms
485 }
486 return mi.MessageOf(x)
487 }
488
489
490 func (*TestEnvironmentCatalog) Descriptor() ([]byte, []int) {
491 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{2}
492 }
493
494 func (m *TestEnvironmentCatalog) GetEnvironmentCatalog() isTestEnvironmentCatalog_EnvironmentCatalog {
495 if m != nil {
496 return m.EnvironmentCatalog
497 }
498 return nil
499 }
500
501 func (x *TestEnvironmentCatalog) GetAndroidDeviceCatalog() *AndroidDeviceCatalog {
502 if x, ok := x.GetEnvironmentCatalog().(*TestEnvironmentCatalog_AndroidDeviceCatalog); ok {
503 return x.AndroidDeviceCatalog
504 }
505 return nil
506 }
507
508 func (x *TestEnvironmentCatalog) GetIosDeviceCatalog() *IosDeviceCatalog {
509 if x, ok := x.GetEnvironmentCatalog().(*TestEnvironmentCatalog_IosDeviceCatalog); ok {
510 return x.IosDeviceCatalog
511 }
512 return nil
513 }
514
515 func (x *TestEnvironmentCatalog) GetNetworkConfigurationCatalog() *NetworkConfigurationCatalog {
516 if x, ok := x.GetEnvironmentCatalog().(*TestEnvironmentCatalog_NetworkConfigurationCatalog); ok {
517 return x.NetworkConfigurationCatalog
518 }
519 return nil
520 }
521
522 func (x *TestEnvironmentCatalog) GetSoftwareCatalog() *ProvidedSoftwareCatalog {
523 if x, ok := x.GetEnvironmentCatalog().(*TestEnvironmentCatalog_SoftwareCatalog); ok {
524 return x.SoftwareCatalog
525 }
526 return nil
527 }
528
529 func (x *TestEnvironmentCatalog) GetDeviceIpBlockCatalog() *DeviceIpBlockCatalog {
530 if x, ok := x.GetEnvironmentCatalog().(*TestEnvironmentCatalog_DeviceIpBlockCatalog); ok {
531 return x.DeviceIpBlockCatalog
532 }
533 return nil
534 }
535
536 type isTestEnvironmentCatalog_EnvironmentCatalog interface {
537 isTestEnvironmentCatalog_EnvironmentCatalog()
538 }
539
540 type TestEnvironmentCatalog_AndroidDeviceCatalog struct {
541
542 AndroidDeviceCatalog *AndroidDeviceCatalog `protobuf:"bytes,1,opt,name=android_device_catalog,json=androidDeviceCatalog,proto3,oneof"`
543 }
544
545 type TestEnvironmentCatalog_IosDeviceCatalog struct {
546
547 IosDeviceCatalog *IosDeviceCatalog `protobuf:"bytes,3,opt,name=ios_device_catalog,json=iosDeviceCatalog,proto3,oneof"`
548 }
549
550 type TestEnvironmentCatalog_NetworkConfigurationCatalog struct {
551
552 NetworkConfigurationCatalog *NetworkConfigurationCatalog `protobuf:"bytes,4,opt,name=network_configuration_catalog,json=networkConfigurationCatalog,proto3,oneof"`
553 }
554
555 type TestEnvironmentCatalog_SoftwareCatalog struct {
556
557 SoftwareCatalog *ProvidedSoftwareCatalog `protobuf:"bytes,5,opt,name=software_catalog,json=softwareCatalog,proto3,oneof"`
558 }
559
560 type TestEnvironmentCatalog_DeviceIpBlockCatalog struct {
561
562 DeviceIpBlockCatalog *DeviceIpBlockCatalog `protobuf:"bytes,6,opt,name=device_ip_block_catalog,json=deviceIpBlockCatalog,proto3,oneof"`
563 }
564
565 func (*TestEnvironmentCatalog_AndroidDeviceCatalog) isTestEnvironmentCatalog_EnvironmentCatalog() {}
566
567 func (*TestEnvironmentCatalog_IosDeviceCatalog) isTestEnvironmentCatalog_EnvironmentCatalog() {}
568
569 func (*TestEnvironmentCatalog_NetworkConfigurationCatalog) isTestEnvironmentCatalog_EnvironmentCatalog() {
570 }
571
572 func (*TestEnvironmentCatalog_SoftwareCatalog) isTestEnvironmentCatalog_EnvironmentCatalog() {}
573
574 func (*TestEnvironmentCatalog_DeviceIpBlockCatalog) isTestEnvironmentCatalog_EnvironmentCatalog() {}
575
576
577 type DeviceIpBlockCatalog struct {
578 state protoimpl.MessageState
579 sizeCache protoimpl.SizeCache
580 unknownFields protoimpl.UnknownFields
581
582
583 IpBlocks []*DeviceIpBlock `protobuf:"bytes,1,rep,name=ip_blocks,json=ipBlocks,proto3" json:"ip_blocks,omitempty"`
584 }
585
586 func (x *DeviceIpBlockCatalog) Reset() {
587 *x = DeviceIpBlockCatalog{}
588 if protoimpl.UnsafeEnabled {
589 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[3]
590 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
591 ms.StoreMessageInfo(mi)
592 }
593 }
594
595 func (x *DeviceIpBlockCatalog) String() string {
596 return protoimpl.X.MessageStringOf(x)
597 }
598
599 func (*DeviceIpBlockCatalog) ProtoMessage() {}
600
601 func (x *DeviceIpBlockCatalog) ProtoReflect() protoreflect.Message {
602 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[3]
603 if protoimpl.UnsafeEnabled && x != nil {
604 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
605 if ms.LoadMessageInfo() == nil {
606 ms.StoreMessageInfo(mi)
607 }
608 return ms
609 }
610 return mi.MessageOf(x)
611 }
612
613
614 func (*DeviceIpBlockCatalog) Descriptor() ([]byte, []int) {
615 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{3}
616 }
617
618 func (x *DeviceIpBlockCatalog) GetIpBlocks() []*DeviceIpBlock {
619 if x != nil {
620 return x.IpBlocks
621 }
622 return nil
623 }
624
625
626 type AndroidDeviceCatalog struct {
627 state protoimpl.MessageState
628 sizeCache protoimpl.SizeCache
629 unknownFields protoimpl.UnknownFields
630
631
632 Models []*AndroidModel `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"`
633
634 Versions []*AndroidVersion `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"`
635
636 RuntimeConfiguration *AndroidRuntimeConfiguration `protobuf:"bytes,3,opt,name=runtime_configuration,json=runtimeConfiguration,proto3" json:"runtime_configuration,omitempty"`
637 }
638
639 func (x *AndroidDeviceCatalog) Reset() {
640 *x = AndroidDeviceCatalog{}
641 if protoimpl.UnsafeEnabled {
642 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[4]
643 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
644 ms.StoreMessageInfo(mi)
645 }
646 }
647
648 func (x *AndroidDeviceCatalog) String() string {
649 return protoimpl.X.MessageStringOf(x)
650 }
651
652 func (*AndroidDeviceCatalog) ProtoMessage() {}
653
654 func (x *AndroidDeviceCatalog) ProtoReflect() protoreflect.Message {
655 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[4]
656 if protoimpl.UnsafeEnabled && x != nil {
657 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
658 if ms.LoadMessageInfo() == nil {
659 ms.StoreMessageInfo(mi)
660 }
661 return ms
662 }
663 return mi.MessageOf(x)
664 }
665
666
667 func (*AndroidDeviceCatalog) Descriptor() ([]byte, []int) {
668 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{4}
669 }
670
671 func (x *AndroidDeviceCatalog) GetModels() []*AndroidModel {
672 if x != nil {
673 return x.Models
674 }
675 return nil
676 }
677
678 func (x *AndroidDeviceCatalog) GetVersions() []*AndroidVersion {
679 if x != nil {
680 return x.Versions
681 }
682 return nil
683 }
684
685 func (x *AndroidDeviceCatalog) GetRuntimeConfiguration() *AndroidRuntimeConfiguration {
686 if x != nil {
687 return x.RuntimeConfiguration
688 }
689 return nil
690 }
691
692
693 type AndroidRuntimeConfiguration struct {
694 state protoimpl.MessageState
695 sizeCache protoimpl.SizeCache
696 unknownFields protoimpl.UnknownFields
697
698
699 Locales []*Locale `protobuf:"bytes,1,rep,name=locales,proto3" json:"locales,omitempty"`
700
701 Orientations []*Orientation `protobuf:"bytes,2,rep,name=orientations,proto3" json:"orientations,omitempty"`
702 }
703
704 func (x *AndroidRuntimeConfiguration) Reset() {
705 *x = AndroidRuntimeConfiguration{}
706 if protoimpl.UnsafeEnabled {
707 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[5]
708 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
709 ms.StoreMessageInfo(mi)
710 }
711 }
712
713 func (x *AndroidRuntimeConfiguration) String() string {
714 return protoimpl.X.MessageStringOf(x)
715 }
716
717 func (*AndroidRuntimeConfiguration) ProtoMessage() {}
718
719 func (x *AndroidRuntimeConfiguration) ProtoReflect() protoreflect.Message {
720 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[5]
721 if protoimpl.UnsafeEnabled && x != nil {
722 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
723 if ms.LoadMessageInfo() == nil {
724 ms.StoreMessageInfo(mi)
725 }
726 return ms
727 }
728 return mi.MessageOf(x)
729 }
730
731
732 func (*AndroidRuntimeConfiguration) Descriptor() ([]byte, []int) {
733 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{5}
734 }
735
736 func (x *AndroidRuntimeConfiguration) GetLocales() []*Locale {
737 if x != nil {
738 return x.Locales
739 }
740 return nil
741 }
742
743 func (x *AndroidRuntimeConfiguration) GetOrientations() []*Orientation {
744 if x != nil {
745 return x.Orientations
746 }
747 return nil
748 }
749
750
751 type AndroidModel struct {
752 state protoimpl.MessageState
753 sizeCache protoimpl.SizeCache
754 unknownFields protoimpl.UnknownFields
755
756
757
758 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
759
760
761 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
762
763 Manufacturer string `protobuf:"bytes,3,opt,name=manufacturer,proto3" json:"manufacturer,omitempty"`
764
765
766 Brand string `protobuf:"bytes,9,opt,name=brand,proto3" json:"brand,omitempty"`
767
768
769 Codename string `protobuf:"bytes,10,opt,name=codename,proto3" json:"codename,omitempty"`
770
771 Form DeviceForm `protobuf:"varint,4,opt,name=form,proto3,enum=google.devtools.testing.v1.DeviceForm" json:"form,omitempty"`
772
773 FormFactor DeviceFormFactor `protobuf:"varint,16,opt,name=form_factor,json=formFactor,proto3,enum=google.devtools.testing.v1.DeviceFormFactor" json:"form_factor,omitempty"`
774
775 PerVersionInfo []*PerAndroidVersionInfo `protobuf:"bytes,21,rep,name=per_version_info,json=perVersionInfo,proto3" json:"per_version_info,omitempty"`
776
777 ScreenX int32 `protobuf:"varint,5,opt,name=screen_x,json=screenX,proto3" json:"screen_x,omitempty"`
778
779 ScreenY int32 `protobuf:"varint,6,opt,name=screen_y,json=screenY,proto3" json:"screen_y,omitempty"`
780
781
782 ScreenDensity int32 `protobuf:"varint,12,opt,name=screen_density,json=screenDensity,proto3" json:"screen_density,omitempty"`
783
784
785 LowFpsVideoRecording bool `protobuf:"varint,17,opt,name=low_fps_video_recording,json=lowFpsVideoRecording,proto3" json:"low_fps_video_recording,omitempty"`
786
787 SupportedVersionIds []string `protobuf:"bytes,7,rep,name=supported_version_ids,json=supportedVersionIds,proto3" json:"supported_version_ids,omitempty"`
788
789
790
791
792
793
794
795
796 SupportedAbis []string `protobuf:"bytes,11,rep,name=supported_abis,json=supportedAbis,proto3" json:"supported_abis,omitempty"`
797
798
799 Tags []string `protobuf:"bytes,8,rep,name=tags,proto3" json:"tags,omitempty"`
800
801 ThumbnailUrl string `protobuf:"bytes,19,opt,name=thumbnail_url,json=thumbnailUrl,proto3" json:"thumbnail_url,omitempty"`
802 }
803
804 func (x *AndroidModel) Reset() {
805 *x = AndroidModel{}
806 if protoimpl.UnsafeEnabled {
807 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[6]
808 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
809 ms.StoreMessageInfo(mi)
810 }
811 }
812
813 func (x *AndroidModel) String() string {
814 return protoimpl.X.MessageStringOf(x)
815 }
816
817 func (*AndroidModel) ProtoMessage() {}
818
819 func (x *AndroidModel) ProtoReflect() protoreflect.Message {
820 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[6]
821 if protoimpl.UnsafeEnabled && x != nil {
822 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
823 if ms.LoadMessageInfo() == nil {
824 ms.StoreMessageInfo(mi)
825 }
826 return ms
827 }
828 return mi.MessageOf(x)
829 }
830
831
832 func (*AndroidModel) Descriptor() ([]byte, []int) {
833 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{6}
834 }
835
836 func (x *AndroidModel) GetId() string {
837 if x != nil {
838 return x.Id
839 }
840 return ""
841 }
842
843 func (x *AndroidModel) GetName() string {
844 if x != nil {
845 return x.Name
846 }
847 return ""
848 }
849
850 func (x *AndroidModel) GetManufacturer() string {
851 if x != nil {
852 return x.Manufacturer
853 }
854 return ""
855 }
856
857 func (x *AndroidModel) GetBrand() string {
858 if x != nil {
859 return x.Brand
860 }
861 return ""
862 }
863
864 func (x *AndroidModel) GetCodename() string {
865 if x != nil {
866 return x.Codename
867 }
868 return ""
869 }
870
871 func (x *AndroidModel) GetForm() DeviceForm {
872 if x != nil {
873 return x.Form
874 }
875 return DeviceForm_DEVICE_FORM_UNSPECIFIED
876 }
877
878 func (x *AndroidModel) GetFormFactor() DeviceFormFactor {
879 if x != nil {
880 return x.FormFactor
881 }
882 return DeviceFormFactor_DEVICE_FORM_FACTOR_UNSPECIFIED
883 }
884
885 func (x *AndroidModel) GetPerVersionInfo() []*PerAndroidVersionInfo {
886 if x != nil {
887 return x.PerVersionInfo
888 }
889 return nil
890 }
891
892 func (x *AndroidModel) GetScreenX() int32 {
893 if x != nil {
894 return x.ScreenX
895 }
896 return 0
897 }
898
899 func (x *AndroidModel) GetScreenY() int32 {
900 if x != nil {
901 return x.ScreenY
902 }
903 return 0
904 }
905
906 func (x *AndroidModel) GetScreenDensity() int32 {
907 if x != nil {
908 return x.ScreenDensity
909 }
910 return 0
911 }
912
913 func (x *AndroidModel) GetLowFpsVideoRecording() bool {
914 if x != nil {
915 return x.LowFpsVideoRecording
916 }
917 return false
918 }
919
920 func (x *AndroidModel) GetSupportedVersionIds() []string {
921 if x != nil {
922 return x.SupportedVersionIds
923 }
924 return nil
925 }
926
927 func (x *AndroidModel) GetSupportedAbis() []string {
928 if x != nil {
929 return x.SupportedAbis
930 }
931 return nil
932 }
933
934 func (x *AndroidModel) GetTags() []string {
935 if x != nil {
936 return x.Tags
937 }
938 return nil
939 }
940
941 func (x *AndroidModel) GetThumbnailUrl() string {
942 if x != nil {
943 return x.ThumbnailUrl
944 }
945 return ""
946 }
947
948
949 type AndroidVersion struct {
950 state protoimpl.MessageState
951 sizeCache protoimpl.SizeCache
952 unknownFields protoimpl.UnknownFields
953
954
955
956 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
957
958
959 VersionString string `protobuf:"bytes,2,opt,name=version_string,json=versionString,proto3" json:"version_string,omitempty"`
960
961
962 ApiLevel int32 `protobuf:"varint,3,opt,name=api_level,json=apiLevel,proto3" json:"api_level,omitempty"`
963
964
965 CodeName string `protobuf:"bytes,4,opt,name=code_name,json=codeName,proto3" json:"code_name,omitempty"`
966
967 ReleaseDate *date.Date `protobuf:"bytes,5,opt,name=release_date,json=releaseDate,proto3" json:"release_date,omitempty"`
968
969 Distribution *Distribution `protobuf:"bytes,6,opt,name=distribution,proto3" json:"distribution,omitempty"`
970
971
972 Tags []string `protobuf:"bytes,7,rep,name=tags,proto3" json:"tags,omitempty"`
973 }
974
975 func (x *AndroidVersion) Reset() {
976 *x = AndroidVersion{}
977 if protoimpl.UnsafeEnabled {
978 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[7]
979 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
980 ms.StoreMessageInfo(mi)
981 }
982 }
983
984 func (x *AndroidVersion) String() string {
985 return protoimpl.X.MessageStringOf(x)
986 }
987
988 func (*AndroidVersion) ProtoMessage() {}
989
990 func (x *AndroidVersion) ProtoReflect() protoreflect.Message {
991 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[7]
992 if protoimpl.UnsafeEnabled && x != nil {
993 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
994 if ms.LoadMessageInfo() == nil {
995 ms.StoreMessageInfo(mi)
996 }
997 return ms
998 }
999 return mi.MessageOf(x)
1000 }
1001
1002
1003 func (*AndroidVersion) Descriptor() ([]byte, []int) {
1004 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{7}
1005 }
1006
1007 func (x *AndroidVersion) GetId() string {
1008 if x != nil {
1009 return x.Id
1010 }
1011 return ""
1012 }
1013
1014 func (x *AndroidVersion) GetVersionString() string {
1015 if x != nil {
1016 return x.VersionString
1017 }
1018 return ""
1019 }
1020
1021 func (x *AndroidVersion) GetApiLevel() int32 {
1022 if x != nil {
1023 return x.ApiLevel
1024 }
1025 return 0
1026 }
1027
1028 func (x *AndroidVersion) GetCodeName() string {
1029 if x != nil {
1030 return x.CodeName
1031 }
1032 return ""
1033 }
1034
1035 func (x *AndroidVersion) GetReleaseDate() *date.Date {
1036 if x != nil {
1037 return x.ReleaseDate
1038 }
1039 return nil
1040 }
1041
1042 func (x *AndroidVersion) GetDistribution() *Distribution {
1043 if x != nil {
1044 return x.Distribution
1045 }
1046 return nil
1047 }
1048
1049 func (x *AndroidVersion) GetTags() []string {
1050 if x != nil {
1051 return x.Tags
1052 }
1053 return nil
1054 }
1055
1056
1057 type PerAndroidVersionInfo struct {
1058 state protoimpl.MessageState
1059 sizeCache protoimpl.SizeCache
1060 unknownFields protoimpl.UnknownFields
1061
1062
1063 VersionId string `protobuf:"bytes,1,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
1064
1065 DeviceCapacity DeviceCapacity `protobuf:"varint,2,opt,name=device_capacity,json=deviceCapacity,proto3,enum=google.devtools.testing.v1.DeviceCapacity" json:"device_capacity,omitempty"`
1066 }
1067
1068 func (x *PerAndroidVersionInfo) Reset() {
1069 *x = PerAndroidVersionInfo{}
1070 if protoimpl.UnsafeEnabled {
1071 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[8]
1072 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1073 ms.StoreMessageInfo(mi)
1074 }
1075 }
1076
1077 func (x *PerAndroidVersionInfo) String() string {
1078 return protoimpl.X.MessageStringOf(x)
1079 }
1080
1081 func (*PerAndroidVersionInfo) ProtoMessage() {}
1082
1083 func (x *PerAndroidVersionInfo) ProtoReflect() protoreflect.Message {
1084 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[8]
1085 if protoimpl.UnsafeEnabled && x != nil {
1086 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1087 if ms.LoadMessageInfo() == nil {
1088 ms.StoreMessageInfo(mi)
1089 }
1090 return ms
1091 }
1092 return mi.MessageOf(x)
1093 }
1094
1095
1096 func (*PerAndroidVersionInfo) Descriptor() ([]byte, []int) {
1097 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{8}
1098 }
1099
1100 func (x *PerAndroidVersionInfo) GetVersionId() string {
1101 if x != nil {
1102 return x.VersionId
1103 }
1104 return ""
1105 }
1106
1107 func (x *PerAndroidVersionInfo) GetDeviceCapacity() DeviceCapacity {
1108 if x != nil {
1109 return x.DeviceCapacity
1110 }
1111 return DeviceCapacity_DEVICE_CAPACITY_UNSPECIFIED
1112 }
1113
1114
1115
1116 type Distribution struct {
1117 state protoimpl.MessageState
1118 sizeCache protoimpl.SizeCache
1119 unknownFields protoimpl.UnknownFields
1120
1121
1122 MeasurementTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=measurement_time,json=measurementTime,proto3" json:"measurement_time,omitempty"`
1123
1124
1125 MarketShare float64 `protobuf:"fixed64,2,opt,name=market_share,json=marketShare,proto3" json:"market_share,omitempty"`
1126 }
1127
1128 func (x *Distribution) Reset() {
1129 *x = Distribution{}
1130 if protoimpl.UnsafeEnabled {
1131 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[9]
1132 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1133 ms.StoreMessageInfo(mi)
1134 }
1135 }
1136
1137 func (x *Distribution) String() string {
1138 return protoimpl.X.MessageStringOf(x)
1139 }
1140
1141 func (*Distribution) ProtoMessage() {}
1142
1143 func (x *Distribution) ProtoReflect() protoreflect.Message {
1144 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[9]
1145 if protoimpl.UnsafeEnabled && x != nil {
1146 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1147 if ms.LoadMessageInfo() == nil {
1148 ms.StoreMessageInfo(mi)
1149 }
1150 return ms
1151 }
1152 return mi.MessageOf(x)
1153 }
1154
1155
1156 func (*Distribution) Descriptor() ([]byte, []int) {
1157 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{9}
1158 }
1159
1160 func (x *Distribution) GetMeasurementTime() *timestamppb.Timestamp {
1161 if x != nil {
1162 return x.MeasurementTime
1163 }
1164 return nil
1165 }
1166
1167 func (x *Distribution) GetMarketShare() float64 {
1168 if x != nil {
1169 return x.MarketShare
1170 }
1171 return 0
1172 }
1173
1174
1175 type IosDeviceCatalog struct {
1176 state protoimpl.MessageState
1177 sizeCache protoimpl.SizeCache
1178 unknownFields protoimpl.UnknownFields
1179
1180
1181 Models []*IosModel `protobuf:"bytes,1,rep,name=models,proto3" json:"models,omitempty"`
1182
1183 Versions []*IosVersion `protobuf:"bytes,2,rep,name=versions,proto3" json:"versions,omitempty"`
1184
1185 XcodeVersions []*XcodeVersion `protobuf:"bytes,4,rep,name=xcode_versions,json=xcodeVersions,proto3" json:"xcode_versions,omitempty"`
1186
1187 RuntimeConfiguration *IosRuntimeConfiguration `protobuf:"bytes,3,opt,name=runtime_configuration,json=runtimeConfiguration,proto3" json:"runtime_configuration,omitempty"`
1188 }
1189
1190 func (x *IosDeviceCatalog) Reset() {
1191 *x = IosDeviceCatalog{}
1192 if protoimpl.UnsafeEnabled {
1193 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[10]
1194 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1195 ms.StoreMessageInfo(mi)
1196 }
1197 }
1198
1199 func (x *IosDeviceCatalog) String() string {
1200 return protoimpl.X.MessageStringOf(x)
1201 }
1202
1203 func (*IosDeviceCatalog) ProtoMessage() {}
1204
1205 func (x *IosDeviceCatalog) ProtoReflect() protoreflect.Message {
1206 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[10]
1207 if protoimpl.UnsafeEnabled && x != nil {
1208 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1209 if ms.LoadMessageInfo() == nil {
1210 ms.StoreMessageInfo(mi)
1211 }
1212 return ms
1213 }
1214 return mi.MessageOf(x)
1215 }
1216
1217
1218 func (*IosDeviceCatalog) Descriptor() ([]byte, []int) {
1219 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{10}
1220 }
1221
1222 func (x *IosDeviceCatalog) GetModels() []*IosModel {
1223 if x != nil {
1224 return x.Models
1225 }
1226 return nil
1227 }
1228
1229 func (x *IosDeviceCatalog) GetVersions() []*IosVersion {
1230 if x != nil {
1231 return x.Versions
1232 }
1233 return nil
1234 }
1235
1236 func (x *IosDeviceCatalog) GetXcodeVersions() []*XcodeVersion {
1237 if x != nil {
1238 return x.XcodeVersions
1239 }
1240 return nil
1241 }
1242
1243 func (x *IosDeviceCatalog) GetRuntimeConfiguration() *IosRuntimeConfiguration {
1244 if x != nil {
1245 return x.RuntimeConfiguration
1246 }
1247 return nil
1248 }
1249
1250
1251 type IosRuntimeConfiguration struct {
1252 state protoimpl.MessageState
1253 sizeCache protoimpl.SizeCache
1254 unknownFields protoimpl.UnknownFields
1255
1256
1257 Locales []*Locale `protobuf:"bytes,1,rep,name=locales,proto3" json:"locales,omitempty"`
1258
1259 Orientations []*Orientation `protobuf:"bytes,2,rep,name=orientations,proto3" json:"orientations,omitempty"`
1260 }
1261
1262 func (x *IosRuntimeConfiguration) Reset() {
1263 *x = IosRuntimeConfiguration{}
1264 if protoimpl.UnsafeEnabled {
1265 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[11]
1266 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1267 ms.StoreMessageInfo(mi)
1268 }
1269 }
1270
1271 func (x *IosRuntimeConfiguration) String() string {
1272 return protoimpl.X.MessageStringOf(x)
1273 }
1274
1275 func (*IosRuntimeConfiguration) ProtoMessage() {}
1276
1277 func (x *IosRuntimeConfiguration) ProtoReflect() protoreflect.Message {
1278 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[11]
1279 if protoimpl.UnsafeEnabled && x != nil {
1280 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1281 if ms.LoadMessageInfo() == nil {
1282 ms.StoreMessageInfo(mi)
1283 }
1284 return ms
1285 }
1286 return mi.MessageOf(x)
1287 }
1288
1289
1290 func (*IosRuntimeConfiguration) Descriptor() ([]byte, []int) {
1291 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{11}
1292 }
1293
1294 func (x *IosRuntimeConfiguration) GetLocales() []*Locale {
1295 if x != nil {
1296 return x.Locales
1297 }
1298 return nil
1299 }
1300
1301 func (x *IosRuntimeConfiguration) GetOrientations() []*Orientation {
1302 if x != nil {
1303 return x.Orientations
1304 }
1305 return nil
1306 }
1307
1308
1309 type IosModel struct {
1310 state protoimpl.MessageState
1311 sizeCache protoimpl.SizeCache
1312 unknownFields protoimpl.UnknownFields
1313
1314
1315
1316 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1317
1318
1319 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1320
1321 SupportedVersionIds []string `protobuf:"bytes,3,rep,name=supported_version_ids,json=supportedVersionIds,proto3" json:"supported_version_ids,omitempty"`
1322
1323
1324 Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
1325
1326
1327
1328 DeviceCapabilities []string `protobuf:"bytes,5,rep,name=device_capabilities,json=deviceCapabilities,proto3" json:"device_capabilities,omitempty"`
1329
1330 ScreenX int32 `protobuf:"varint,7,opt,name=screen_x,json=screenX,proto3" json:"screen_x,omitempty"`
1331
1332 ScreenY int32 `protobuf:"varint,8,opt,name=screen_y,json=screenY,proto3" json:"screen_y,omitempty"`
1333
1334 ScreenDensity int32 `protobuf:"varint,9,opt,name=screen_density,json=screenDensity,proto3" json:"screen_density,omitempty"`
1335
1336 FormFactor DeviceFormFactor `protobuf:"varint,6,opt,name=form_factor,json=formFactor,proto3,enum=google.devtools.testing.v1.DeviceFormFactor" json:"form_factor,omitempty"`
1337
1338 PerVersionInfo []*PerIosVersionInfo `protobuf:"bytes,14,rep,name=per_version_info,json=perVersionInfo,proto3" json:"per_version_info,omitempty"`
1339 }
1340
1341 func (x *IosModel) Reset() {
1342 *x = IosModel{}
1343 if protoimpl.UnsafeEnabled {
1344 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[12]
1345 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1346 ms.StoreMessageInfo(mi)
1347 }
1348 }
1349
1350 func (x *IosModel) String() string {
1351 return protoimpl.X.MessageStringOf(x)
1352 }
1353
1354 func (*IosModel) ProtoMessage() {}
1355
1356 func (x *IosModel) ProtoReflect() protoreflect.Message {
1357 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[12]
1358 if protoimpl.UnsafeEnabled && x != nil {
1359 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1360 if ms.LoadMessageInfo() == nil {
1361 ms.StoreMessageInfo(mi)
1362 }
1363 return ms
1364 }
1365 return mi.MessageOf(x)
1366 }
1367
1368
1369 func (*IosModel) Descriptor() ([]byte, []int) {
1370 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{12}
1371 }
1372
1373 func (x *IosModel) GetId() string {
1374 if x != nil {
1375 return x.Id
1376 }
1377 return ""
1378 }
1379
1380 func (x *IosModel) GetName() string {
1381 if x != nil {
1382 return x.Name
1383 }
1384 return ""
1385 }
1386
1387 func (x *IosModel) GetSupportedVersionIds() []string {
1388 if x != nil {
1389 return x.SupportedVersionIds
1390 }
1391 return nil
1392 }
1393
1394 func (x *IosModel) GetTags() []string {
1395 if x != nil {
1396 return x.Tags
1397 }
1398 return nil
1399 }
1400
1401 func (x *IosModel) GetDeviceCapabilities() []string {
1402 if x != nil {
1403 return x.DeviceCapabilities
1404 }
1405 return nil
1406 }
1407
1408 func (x *IosModel) GetScreenX() int32 {
1409 if x != nil {
1410 return x.ScreenX
1411 }
1412 return 0
1413 }
1414
1415 func (x *IosModel) GetScreenY() int32 {
1416 if x != nil {
1417 return x.ScreenY
1418 }
1419 return 0
1420 }
1421
1422 func (x *IosModel) GetScreenDensity() int32 {
1423 if x != nil {
1424 return x.ScreenDensity
1425 }
1426 return 0
1427 }
1428
1429 func (x *IosModel) GetFormFactor() DeviceFormFactor {
1430 if x != nil {
1431 return x.FormFactor
1432 }
1433 return DeviceFormFactor_DEVICE_FORM_FACTOR_UNSPECIFIED
1434 }
1435
1436 func (x *IosModel) GetPerVersionInfo() []*PerIosVersionInfo {
1437 if x != nil {
1438 return x.PerVersionInfo
1439 }
1440 return nil
1441 }
1442
1443
1444 type IosVersion struct {
1445 state protoimpl.MessageState
1446 sizeCache protoimpl.SizeCache
1447 unknownFields protoimpl.UnknownFields
1448
1449
1450
1451 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1452
1453
1454 MajorVersion int32 `protobuf:"varint,2,opt,name=major_version,json=majorVersion,proto3" json:"major_version,omitempty"`
1455
1456
1457 MinorVersion int32 `protobuf:"varint,4,opt,name=minor_version,json=minorVersion,proto3" json:"minor_version,omitempty"`
1458
1459
1460 Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
1461
1462 SupportedXcodeVersionIds []string `protobuf:"bytes,5,rep,name=supported_xcode_version_ids,json=supportedXcodeVersionIds,proto3" json:"supported_xcode_version_ids,omitempty"`
1463 }
1464
1465 func (x *IosVersion) Reset() {
1466 *x = IosVersion{}
1467 if protoimpl.UnsafeEnabled {
1468 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[13]
1469 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1470 ms.StoreMessageInfo(mi)
1471 }
1472 }
1473
1474 func (x *IosVersion) String() string {
1475 return protoimpl.X.MessageStringOf(x)
1476 }
1477
1478 func (*IosVersion) ProtoMessage() {}
1479
1480 func (x *IosVersion) ProtoReflect() protoreflect.Message {
1481 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[13]
1482 if protoimpl.UnsafeEnabled && x != nil {
1483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1484 if ms.LoadMessageInfo() == nil {
1485 ms.StoreMessageInfo(mi)
1486 }
1487 return ms
1488 }
1489 return mi.MessageOf(x)
1490 }
1491
1492
1493 func (*IosVersion) Descriptor() ([]byte, []int) {
1494 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{13}
1495 }
1496
1497 func (x *IosVersion) GetId() string {
1498 if x != nil {
1499 return x.Id
1500 }
1501 return ""
1502 }
1503
1504 func (x *IosVersion) GetMajorVersion() int32 {
1505 if x != nil {
1506 return x.MajorVersion
1507 }
1508 return 0
1509 }
1510
1511 func (x *IosVersion) GetMinorVersion() int32 {
1512 if x != nil {
1513 return x.MinorVersion
1514 }
1515 return 0
1516 }
1517
1518 func (x *IosVersion) GetTags() []string {
1519 if x != nil {
1520 return x.Tags
1521 }
1522 return nil
1523 }
1524
1525 func (x *IosVersion) GetSupportedXcodeVersionIds() []string {
1526 if x != nil {
1527 return x.SupportedXcodeVersionIds
1528 }
1529 return nil
1530 }
1531
1532
1533 type PerIosVersionInfo struct {
1534 state protoimpl.MessageState
1535 sizeCache protoimpl.SizeCache
1536 unknownFields protoimpl.UnknownFields
1537
1538
1539 VersionId string `protobuf:"bytes,1,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
1540
1541 DeviceCapacity DeviceCapacity `protobuf:"varint,2,opt,name=device_capacity,json=deviceCapacity,proto3,enum=google.devtools.testing.v1.DeviceCapacity" json:"device_capacity,omitempty"`
1542 }
1543
1544 func (x *PerIosVersionInfo) Reset() {
1545 *x = PerIosVersionInfo{}
1546 if protoimpl.UnsafeEnabled {
1547 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[14]
1548 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1549 ms.StoreMessageInfo(mi)
1550 }
1551 }
1552
1553 func (x *PerIosVersionInfo) String() string {
1554 return protoimpl.X.MessageStringOf(x)
1555 }
1556
1557 func (*PerIosVersionInfo) ProtoMessage() {}
1558
1559 func (x *PerIosVersionInfo) ProtoReflect() protoreflect.Message {
1560 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[14]
1561 if protoimpl.UnsafeEnabled && x != nil {
1562 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1563 if ms.LoadMessageInfo() == nil {
1564 ms.StoreMessageInfo(mi)
1565 }
1566 return ms
1567 }
1568 return mi.MessageOf(x)
1569 }
1570
1571
1572 func (*PerIosVersionInfo) Descriptor() ([]byte, []int) {
1573 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{14}
1574 }
1575
1576 func (x *PerIosVersionInfo) GetVersionId() string {
1577 if x != nil {
1578 return x.VersionId
1579 }
1580 return ""
1581 }
1582
1583 func (x *PerIosVersionInfo) GetDeviceCapacity() DeviceCapacity {
1584 if x != nil {
1585 return x.DeviceCapacity
1586 }
1587 return DeviceCapacity_DEVICE_CAPACITY_UNSPECIFIED
1588 }
1589
1590
1591 type Locale struct {
1592 state protoimpl.MessageState
1593 sizeCache protoimpl.SizeCache
1594 unknownFields protoimpl.UnknownFields
1595
1596
1597
1598 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1599
1600
1601 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1602
1603
1604 Region string `protobuf:"bytes,3,opt,name=region,proto3" json:"region,omitempty"`
1605
1606
1607 Tags []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
1608 }
1609
1610 func (x *Locale) Reset() {
1611 *x = Locale{}
1612 if protoimpl.UnsafeEnabled {
1613 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[15]
1614 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1615 ms.StoreMessageInfo(mi)
1616 }
1617 }
1618
1619 func (x *Locale) String() string {
1620 return protoimpl.X.MessageStringOf(x)
1621 }
1622
1623 func (*Locale) ProtoMessage() {}
1624
1625 func (x *Locale) ProtoReflect() protoreflect.Message {
1626 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[15]
1627 if protoimpl.UnsafeEnabled && x != nil {
1628 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1629 if ms.LoadMessageInfo() == nil {
1630 ms.StoreMessageInfo(mi)
1631 }
1632 return ms
1633 }
1634 return mi.MessageOf(x)
1635 }
1636
1637
1638 func (*Locale) Descriptor() ([]byte, []int) {
1639 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{15}
1640 }
1641
1642 func (x *Locale) GetId() string {
1643 if x != nil {
1644 return x.Id
1645 }
1646 return ""
1647 }
1648
1649 func (x *Locale) GetName() string {
1650 if x != nil {
1651 return x.Name
1652 }
1653 return ""
1654 }
1655
1656 func (x *Locale) GetRegion() string {
1657 if x != nil {
1658 return x.Region
1659 }
1660 return ""
1661 }
1662
1663 func (x *Locale) GetTags() []string {
1664 if x != nil {
1665 return x.Tags
1666 }
1667 return nil
1668 }
1669
1670
1671 type Orientation struct {
1672 state protoimpl.MessageState
1673 sizeCache protoimpl.SizeCache
1674 unknownFields protoimpl.UnknownFields
1675
1676
1677
1678 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1679
1680
1681 Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
1682
1683
1684 Tags []string `protobuf:"bytes,3,rep,name=tags,proto3" json:"tags,omitempty"`
1685 }
1686
1687 func (x *Orientation) Reset() {
1688 *x = Orientation{}
1689 if protoimpl.UnsafeEnabled {
1690 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[16]
1691 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1692 ms.StoreMessageInfo(mi)
1693 }
1694 }
1695
1696 func (x *Orientation) String() string {
1697 return protoimpl.X.MessageStringOf(x)
1698 }
1699
1700 func (*Orientation) ProtoMessage() {}
1701
1702 func (x *Orientation) ProtoReflect() protoreflect.Message {
1703 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[16]
1704 if protoimpl.UnsafeEnabled && x != nil {
1705 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1706 if ms.LoadMessageInfo() == nil {
1707 ms.StoreMessageInfo(mi)
1708 }
1709 return ms
1710 }
1711 return mi.MessageOf(x)
1712 }
1713
1714
1715 func (*Orientation) Descriptor() ([]byte, []int) {
1716 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{16}
1717 }
1718
1719 func (x *Orientation) GetId() string {
1720 if x != nil {
1721 return x.Id
1722 }
1723 return ""
1724 }
1725
1726 func (x *Orientation) GetName() string {
1727 if x != nil {
1728 return x.Name
1729 }
1730 return ""
1731 }
1732
1733 func (x *Orientation) GetTags() []string {
1734 if x != nil {
1735 return x.Tags
1736 }
1737 return nil
1738 }
1739
1740
1741 type XcodeVersion struct {
1742 state protoimpl.MessageState
1743 sizeCache protoimpl.SizeCache
1744 unknownFields protoimpl.UnknownFields
1745
1746
1747
1748 Version string `protobuf:"bytes,1,opt,name=version,proto3" json:"version,omitempty"`
1749
1750
1751 Tags []string `protobuf:"bytes,2,rep,name=tags,proto3" json:"tags,omitempty"`
1752 }
1753
1754 func (x *XcodeVersion) Reset() {
1755 *x = XcodeVersion{}
1756 if protoimpl.UnsafeEnabled {
1757 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[17]
1758 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1759 ms.StoreMessageInfo(mi)
1760 }
1761 }
1762
1763 func (x *XcodeVersion) String() string {
1764 return protoimpl.X.MessageStringOf(x)
1765 }
1766
1767 func (*XcodeVersion) ProtoMessage() {}
1768
1769 func (x *XcodeVersion) ProtoReflect() protoreflect.Message {
1770 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[17]
1771 if protoimpl.UnsafeEnabled && x != nil {
1772 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1773 if ms.LoadMessageInfo() == nil {
1774 ms.StoreMessageInfo(mi)
1775 }
1776 return ms
1777 }
1778 return mi.MessageOf(x)
1779 }
1780
1781
1782 func (*XcodeVersion) Descriptor() ([]byte, []int) {
1783 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{17}
1784 }
1785
1786 func (x *XcodeVersion) GetVersion() string {
1787 if x != nil {
1788 return x.Version
1789 }
1790 return ""
1791 }
1792
1793 func (x *XcodeVersion) GetTags() []string {
1794 if x != nil {
1795 return x.Tags
1796 }
1797 return nil
1798 }
1799
1800 type NetworkConfigurationCatalog struct {
1801 state protoimpl.MessageState
1802 sizeCache protoimpl.SizeCache
1803 unknownFields protoimpl.UnknownFields
1804
1805 Configurations []*NetworkConfiguration `protobuf:"bytes,1,rep,name=configurations,proto3" json:"configurations,omitempty"`
1806 }
1807
1808 func (x *NetworkConfigurationCatalog) Reset() {
1809 *x = NetworkConfigurationCatalog{}
1810 if protoimpl.UnsafeEnabled {
1811 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[18]
1812 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1813 ms.StoreMessageInfo(mi)
1814 }
1815 }
1816
1817 func (x *NetworkConfigurationCatalog) String() string {
1818 return protoimpl.X.MessageStringOf(x)
1819 }
1820
1821 func (*NetworkConfigurationCatalog) ProtoMessage() {}
1822
1823 func (x *NetworkConfigurationCatalog) ProtoReflect() protoreflect.Message {
1824 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[18]
1825 if protoimpl.UnsafeEnabled && x != nil {
1826 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1827 if ms.LoadMessageInfo() == nil {
1828 ms.StoreMessageInfo(mi)
1829 }
1830 return ms
1831 }
1832 return mi.MessageOf(x)
1833 }
1834
1835
1836 func (*NetworkConfigurationCatalog) Descriptor() ([]byte, []int) {
1837 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{18}
1838 }
1839
1840 func (x *NetworkConfigurationCatalog) GetConfigurations() []*NetworkConfiguration {
1841 if x != nil {
1842 return x.Configurations
1843 }
1844 return nil
1845 }
1846
1847 type NetworkConfiguration struct {
1848 state protoimpl.MessageState
1849 sizeCache protoimpl.SizeCache
1850 unknownFields protoimpl.UnknownFields
1851
1852
1853 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
1854
1855 UpRule *TrafficRule `protobuf:"bytes,2,opt,name=up_rule,json=upRule,proto3" json:"up_rule,omitempty"`
1856
1857 DownRule *TrafficRule `protobuf:"bytes,3,opt,name=down_rule,json=downRule,proto3" json:"down_rule,omitempty"`
1858 }
1859
1860 func (x *NetworkConfiguration) Reset() {
1861 *x = NetworkConfiguration{}
1862 if protoimpl.UnsafeEnabled {
1863 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[19]
1864 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1865 ms.StoreMessageInfo(mi)
1866 }
1867 }
1868
1869 func (x *NetworkConfiguration) String() string {
1870 return protoimpl.X.MessageStringOf(x)
1871 }
1872
1873 func (*NetworkConfiguration) ProtoMessage() {}
1874
1875 func (x *NetworkConfiguration) ProtoReflect() protoreflect.Message {
1876 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[19]
1877 if protoimpl.UnsafeEnabled && x != nil {
1878 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1879 if ms.LoadMessageInfo() == nil {
1880 ms.StoreMessageInfo(mi)
1881 }
1882 return ms
1883 }
1884 return mi.MessageOf(x)
1885 }
1886
1887
1888 func (*NetworkConfiguration) Descriptor() ([]byte, []int) {
1889 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{19}
1890 }
1891
1892 func (x *NetworkConfiguration) GetId() string {
1893 if x != nil {
1894 return x.Id
1895 }
1896 return ""
1897 }
1898
1899 func (x *NetworkConfiguration) GetUpRule() *TrafficRule {
1900 if x != nil {
1901 return x.UpRule
1902 }
1903 return nil
1904 }
1905
1906 func (x *NetworkConfiguration) GetDownRule() *TrafficRule {
1907 if x != nil {
1908 return x.DownRule
1909 }
1910 return nil
1911 }
1912
1913
1914 type TrafficRule struct {
1915 state protoimpl.MessageState
1916 sizeCache protoimpl.SizeCache
1917 unknownFields protoimpl.UnknownFields
1918
1919
1920 Delay *durationpb.Duration `protobuf:"bytes,1,opt,name=delay,proto3" json:"delay,omitempty"`
1921
1922 PacketLossRatio float32 `protobuf:"fixed32,2,opt,name=packet_loss_ratio,json=packetLossRatio,proto3" json:"packet_loss_ratio,omitempty"`
1923
1924 PacketDuplicationRatio float32 `protobuf:"fixed32,3,opt,name=packet_duplication_ratio,json=packetDuplicationRatio,proto3" json:"packet_duplication_ratio,omitempty"`
1925
1926 Bandwidth float32 `protobuf:"fixed32,4,opt,name=bandwidth,proto3" json:"bandwidth,omitempty"`
1927
1928 Burst float32 `protobuf:"fixed32,5,opt,name=burst,proto3" json:"burst,omitempty"`
1929 }
1930
1931 func (x *TrafficRule) Reset() {
1932 *x = TrafficRule{}
1933 if protoimpl.UnsafeEnabled {
1934 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[20]
1935 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1936 ms.StoreMessageInfo(mi)
1937 }
1938 }
1939
1940 func (x *TrafficRule) String() string {
1941 return protoimpl.X.MessageStringOf(x)
1942 }
1943
1944 func (*TrafficRule) ProtoMessage() {}
1945
1946 func (x *TrafficRule) ProtoReflect() protoreflect.Message {
1947 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[20]
1948 if protoimpl.UnsafeEnabled && x != nil {
1949 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
1950 if ms.LoadMessageInfo() == nil {
1951 ms.StoreMessageInfo(mi)
1952 }
1953 return ms
1954 }
1955 return mi.MessageOf(x)
1956 }
1957
1958
1959 func (*TrafficRule) Descriptor() ([]byte, []int) {
1960 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{20}
1961 }
1962
1963 func (x *TrafficRule) GetDelay() *durationpb.Duration {
1964 if x != nil {
1965 return x.Delay
1966 }
1967 return nil
1968 }
1969
1970 func (x *TrafficRule) GetPacketLossRatio() float32 {
1971 if x != nil {
1972 return x.PacketLossRatio
1973 }
1974 return 0
1975 }
1976
1977 func (x *TrafficRule) GetPacketDuplicationRatio() float32 {
1978 if x != nil {
1979 return x.PacketDuplicationRatio
1980 }
1981 return 0
1982 }
1983
1984 func (x *TrafficRule) GetBandwidth() float32 {
1985 if x != nil {
1986 return x.Bandwidth
1987 }
1988 return 0
1989 }
1990
1991 func (x *TrafficRule) GetBurst() float32 {
1992 if x != nil {
1993 return x.Burst
1994 }
1995 return 0
1996 }
1997
1998
1999 type ProvidedSoftwareCatalog struct {
2000 state protoimpl.MessageState
2001 sizeCache protoimpl.SizeCache
2002 unknownFields protoimpl.UnknownFields
2003
2004
2005
2006
2007
2008
2009
2010
2011 OrchestratorVersion string `protobuf:"bytes,1,opt,name=orchestrator_version,json=orchestratorVersion,proto3" json:"orchestrator_version,omitempty"`
2012
2013
2014
2015 AndroidxOrchestratorVersion string `protobuf:"bytes,2,opt,name=androidx_orchestrator_version,json=androidxOrchestratorVersion,proto3" json:"androidx_orchestrator_version,omitempty"`
2016 }
2017
2018 func (x *ProvidedSoftwareCatalog) Reset() {
2019 *x = ProvidedSoftwareCatalog{}
2020 if protoimpl.UnsafeEnabled {
2021 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[21]
2022 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2023 ms.StoreMessageInfo(mi)
2024 }
2025 }
2026
2027 func (x *ProvidedSoftwareCatalog) String() string {
2028 return protoimpl.X.MessageStringOf(x)
2029 }
2030
2031 func (*ProvidedSoftwareCatalog) ProtoMessage() {}
2032
2033 func (x *ProvidedSoftwareCatalog) ProtoReflect() protoreflect.Message {
2034 mi := &file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[21]
2035 if protoimpl.UnsafeEnabled && x != nil {
2036 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
2037 if ms.LoadMessageInfo() == nil {
2038 ms.StoreMessageInfo(mi)
2039 }
2040 return ms
2041 }
2042 return mi.MessageOf(x)
2043 }
2044
2045
2046 func (*ProvidedSoftwareCatalog) Descriptor() ([]byte, []int) {
2047 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP(), []int{21}
2048 }
2049
2050
2051 func (x *ProvidedSoftwareCatalog) GetOrchestratorVersion() string {
2052 if x != nil {
2053 return x.OrchestratorVersion
2054 }
2055 return ""
2056 }
2057
2058 func (x *ProvidedSoftwareCatalog) GetAndroidxOrchestratorVersion() string {
2059 if x != nil {
2060 return x.AndroidxOrchestratorVersion
2061 }
2062 return ""
2063 }
2064
2065 var File_google_devtools_testing_v1_test_environment_discovery_proto protoreflect.FileDescriptor
2066
2067 var file_google_devtools_testing_v1_test_environment_discovery_proto_rawDesc = []byte{
2068 0x0a, 0x3b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
2069 0x73, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73,
2070 0x74, 0x5f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69,
2071 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x67,
2072 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
2073 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2074 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2075 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f,
2076 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
2077 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65,
2078 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2079 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2080 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2081 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
2082 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f,
2083 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f,
2084 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x01, 0x0a, 0x0d, 0x44,
2085 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x12, 0x14, 0x0a, 0x05,
2086 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x6c, 0x6f,
2087 0x63, 0x6b, 0x12, 0x3a, 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
2088 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
2089 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
2090 0x76, 0x69, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x30,
2091 0x0a, 0x0a, 0x61, 0x64, 0x64, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01,
2092 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
2093 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x09, 0x61, 0x64, 0x64, 0x65, 0x64, 0x44, 0x61, 0x74, 0x65,
2094 0x22, 0xce, 0x02, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69,
2095 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65,
2096 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x77, 0x0a, 0x10, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
2097 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32,
2098 0x4c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
2099 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
2100 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43,
2101 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x45, 0x6e,
2102 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0f, 0x65,
2103 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1d,
2104 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01,
2105 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x64, 0x22, 0x91, 0x01,
2106 0x0a, 0x0f, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70,
2107 0x65, 0x12, 0x20, 0x0a, 0x1c, 0x45, 0x4e, 0x56, 0x49, 0x52, 0x4f, 0x4e, 0x4d, 0x45, 0x4e, 0x54,
2108 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45,
2109 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x41, 0x4e, 0x44, 0x52, 0x4f, 0x49, 0x44, 0x10, 0x01,
2110 0x12, 0x07, 0x0a, 0x03, 0x49, 0x4f, 0x53, 0x10, 0x03, 0x12, 0x19, 0x0a, 0x15, 0x4e, 0x45, 0x54,
2111 0x57, 0x4f, 0x52, 0x4b, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x55, 0x52, 0x41, 0x54, 0x49,
2112 0x4f, 0x4e, 0x10, 0x04, 0x12, 0x15, 0x0a, 0x11, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x44, 0x45, 0x44,
2113 0x5f, 0x53, 0x4f, 0x46, 0x54, 0x57, 0x41, 0x52, 0x45, 0x10, 0x05, 0x12, 0x14, 0x0a, 0x10, 0x44,
2114 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x49, 0x50, 0x5f, 0x42, 0x4c, 0x4f, 0x43, 0x4b, 0x53, 0x10,
2115 0x06, 0x22, 0xc3, 0x04, 0x0a, 0x16, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f,
2116 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x68, 0x0a, 0x16,
2117 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x5f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
2118 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67,
2119 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
2120 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69,
2121 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00,
2122 0x52, 0x14, 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43,
2123 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x5c, 0x0a, 0x12, 0x69, 0x6f, 0x73, 0x5f, 0x64, 0x65,
2124 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x03, 0x20, 0x01,
2125 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
2126 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
2127 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
2128 0x48, 0x00, 0x52, 0x10, 0x69, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x74,
2129 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x7d, 0x0a, 0x1d, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f,
2130 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x61,
2131 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f,
2132 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
2133 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b,
2134 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74,
2135 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x1b, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43,
2136 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x61,
2137 0x6c, 0x6f, 0x67, 0x12, 0x60, 0x0a, 0x10, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x5f,
2138 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e,
2139 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e,
2140 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69,
2141 0x64, 0x65, 0x64, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c,
2142 0x6f, 0x67, 0x48, 0x00, 0x52, 0x0f, 0x73, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x43, 0x61,
2143 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x69, 0x0a, 0x17, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f,
2144 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
2145 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2146 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
2147 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63,
2148 0x6b, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x48, 0x00, 0x52, 0x14, 0x64, 0x65, 0x76, 0x69,
2149 0x63, 0x65, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
2150 0x42, 0x15, 0x0a, 0x13, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f,
2151 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x5e, 0x0a, 0x14, 0x44, 0x65, 0x76, 0x69, 0x63,
2152 0x65, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12,
2153 0x46, 0x0a, 0x09, 0x69, 0x70, 0x5f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x18, 0x01, 0x20, 0x03,
2154 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
2155 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
2156 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x49, 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x52, 0x08, 0x69,
2157 0x70, 0x42, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x22, 0x8e, 0x02, 0x0a, 0x14, 0x41, 0x6e, 0x64, 0x72,
2158 0x6f, 0x69, 0x64, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
2159 0x12, 0x40, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
2160 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
2161 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e,
2162 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d, 0x6f, 0x64, 0x65,
2163 0x6c, 0x73, 0x12, 0x46, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
2164 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
2165 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
2166 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
2167 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x6c, 0x0a, 0x15, 0x72, 0x75,
2168 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
2169 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x37, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2170 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
2171 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x52, 0x75,
2172 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69,
2173 0x6f, 0x6e, 0x52, 0x14, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2174 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa8, 0x01, 0x0a, 0x1b, 0x41, 0x6e, 0x64,
2175 0x72, 0x6f, 0x69, 0x64, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2176 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3c, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x61,
2177 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2178 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
2179 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x52, 0x07, 0x6c,
2180 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0c, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74,
2181 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67,
2182 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
2183 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74,
2184 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69,
2185 0x6f, 0x6e, 0x73, 0x22, 0x98, 0x05, 0x0a, 0x0c, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x4d,
2186 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2187 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
2188 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75,
2189 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
2190 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05,
2191 0x62, 0x72, 0x61, 0x6e, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x62, 0x72, 0x61,
2192 0x6e, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a,
2193 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3a,
2194 0x0a, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67,
2195 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
2196 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
2197 0x46, 0x6f, 0x72, 0x6d, 0x52, 0x04, 0x66, 0x6f, 0x72, 0x6d, 0x12, 0x4d, 0x0a, 0x0b, 0x66, 0x6f,
2198 0x72, 0x6d, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0e, 0x32,
2199 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c,
2200 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76,
2201 0x69, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x66,
2202 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x5b, 0x0a, 0x10, 0x70, 0x65, 0x72,
2203 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x15, 0x20,
2204 0x03, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76,
2205 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31,
2206 0x2e, 0x50, 0x65, 0x72, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69,
2207 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69,
2208 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e,
2209 0x5f, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e,
2210 0x58, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x79, 0x18, 0x06, 0x20,
2211 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x59, 0x12, 0x25, 0x0a, 0x0e,
2212 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x18, 0x0c,
2213 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73,
2214 0x69, 0x74, 0x79, 0x12, 0x35, 0x0a, 0x17, 0x6c, 0x6f, 0x77, 0x5f, 0x66, 0x70, 0x73, 0x5f, 0x76,
2215 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x11,
2216 0x20, 0x01, 0x28, 0x08, 0x52, 0x14, 0x6c, 0x6f, 0x77, 0x46, 0x70, 0x73, 0x56, 0x69, 0x64, 0x65,
2217 0x6f, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x75,
2218 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
2219 0x69, 0x64, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x75, 0x70, 0x70, 0x6f,
2220 0x72, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x12, 0x25,
2221 0x0a, 0x0e, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x62, 0x69, 0x73,
2222 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65,
2223 0x64, 0x41, 0x62, 0x69, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x08, 0x20,
2224 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x74, 0x68, 0x75,
2225 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x5f, 0x75, 0x72, 0x6c, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09,
2226 0x52, 0x0c, 0x74, 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x55, 0x72, 0x6c, 0x22, 0x99,
2227 0x02, 0x0a, 0x0e, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
2228 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
2229 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x74, 0x72,
2230 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x76, 0x65, 0x72, 0x73, 0x69,
2231 0x6f, 0x6e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x70, 0x69, 0x5f,
2232 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x61, 0x70, 0x69,
2233 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 0x09, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x6e, 0x61,
2234 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x63, 0x6f, 0x64, 0x65, 0x4e, 0x61,
2235 0x6d, 0x65, 0x12, 0x34, 0x0a, 0x0c, 0x72, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x5f, 0x64, 0x61,
2236 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2237 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x72, 0x65, 0x6c,
2238 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x74,
2239 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28,
2240 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73,
2241 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x74,
2242 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x64, 0x69, 0x73, 0x74, 0x72, 0x69,
2243 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x07,
2244 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x15, 0x50,
2245 0x65, 0x72, 0x41, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
2246 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f,
2247 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2248 0x6e, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0f, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x61,
2249 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67,
2250 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74,
2251 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
2252 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x52, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65,
2253 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x22, 0x78, 0x0a, 0x0c, 0x44, 0x69, 0x73, 0x74,
2254 0x72, 0x69, 0x62, 0x75, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x10, 0x6d, 0x65, 0x61, 0x73,
2255 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01,
2256 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
2257 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0f,
2258 0x6d, 0x65, 0x61, 0x73, 0x75, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12,
2259 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x5f, 0x73, 0x68, 0x61, 0x72, 0x65, 0x18,
2260 0x02, 0x20, 0x01, 0x28, 0x01, 0x52, 0x0b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x74, 0x53, 0x68, 0x61,
2261 0x72, 0x65, 0x22, 0xcf, 0x02, 0x0a, 0x10, 0x49, 0x6f, 0x73, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65,
2262 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3c, 0x0a, 0x06, 0x6d, 0x6f, 0x64, 0x65, 0x6c,
2263 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2264 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
2265 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x52, 0x06, 0x6d,
2266 0x6f, 0x64, 0x65, 0x6c, 0x73, 0x12, 0x42, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
2267 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2268 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
2269 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52,
2270 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x4f, 0x0a, 0x0e, 0x78, 0x63, 0x6f,
2271 0x64, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
2272 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
2273 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x58,
2274 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x78, 0x63, 0x6f,
2275 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x15, 0x72, 0x75,
2276 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74,
2277 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2278 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
2279 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x49, 0x6f, 0x73, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d,
2280 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x14,
2281 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61,
2282 0x74, 0x69, 0x6f, 0x6e, 0x22, 0xa4, 0x01, 0x0a, 0x17, 0x49, 0x6f, 0x73, 0x52, 0x75, 0x6e, 0x74,
2283 0x69, 0x6d, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
2284 0x12, 0x3c, 0x0a, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
2285 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f,
2286 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
2287 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x52, 0x07, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x73, 0x12, 0x4b,
2288 0x0a, 0x0c, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02,
2289 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
2290 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
2291 0x31, 0x2e, 0x4f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0c, 0x6f,
2292 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xac, 0x03, 0x0a, 0x08,
2293 0x49, 0x6f, 0x73, 0x4d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
2294 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65,
2295 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x15,
2296 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
2297 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x73, 0x75, 0x70,
2298 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73,
2299 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04,
2300 0x74, 0x61, 0x67, 0x73, 0x12, 0x2f, 0x0a, 0x13, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63,
2301 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28,
2302 0x09, 0x52, 0x12, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c,
2303 0x69, 0x74, 0x69, 0x65, 0x73, 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f,
2304 0x78, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x52, 0x07, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x58,
2305 0x12, 0x19, 0x0a, 0x08, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x79, 0x18, 0x08, 0x20, 0x01,
2306 0x28, 0x05, 0x52, 0x07, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x59, 0x12, 0x25, 0x0a, 0x0e, 0x73,
2307 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x64, 0x65, 0x6e, 0x73, 0x69, 0x74, 0x79, 0x18, 0x09, 0x20,
2308 0x01, 0x28, 0x05, 0x52, 0x0d, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x44, 0x65, 0x6e, 0x73, 0x69,
2309 0x74, 0x79, 0x12, 0x4d, 0x0a, 0x0b, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x66, 0x61, 0x63, 0x74, 0x6f,
2310 0x72, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
2311 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
2312 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x46,
2313 0x61, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x0a, 0x66, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63, 0x74, 0x6f,
2314 0x72, 0x12, 0x57, 0x0a, 0x10, 0x70, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
2315 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 0x6f,
2316 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
2317 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x49, 0x6f, 0x73, 0x56,
2318 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x70, 0x65, 0x72, 0x56,
2319 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x22, 0xb9, 0x01, 0x0a, 0x0a, 0x49,
2320 0x6f, 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
2321 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x23, 0x0a, 0x0d, 0x6d, 0x61, 0x6a,
2322 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
2323 0x52, 0x0c, 0x6d, 0x61, 0x6a, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x23,
2324 0x0a, 0x0d, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18,
2325 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0c, 0x6d, 0x69, 0x6e, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73,
2326 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
2327 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x73, 0x75, 0x70, 0x70, 0x6f,
2328 0x72, 0x74, 0x65, 0x64, 0x5f, 0x78, 0x63, 0x6f, 0x64, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69,
2329 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x18, 0x73, 0x75,
2330 0x70, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x58, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73,
2331 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x73, 0x22, 0x87, 0x01, 0x0a, 0x11, 0x50, 0x65, 0x72, 0x49, 0x6f,
2332 0x73, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x1d, 0x0a, 0x0a,
2333 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
2334 0x52, 0x09, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x53, 0x0a, 0x0f, 0x64,
2335 0x65, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x02,
2336 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65,
2337 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76,
2338 0x31, 0x2e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
2339 0x52, 0x0e, 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79,
2340 0x22, 0x58, 0x0a, 0x06, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
2341 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
2342 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16,
2343 0x0a, 0x06, 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06,
2344 0x72, 0x65, 0x67, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x04,
2345 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22, 0x45, 0x0a, 0x0b, 0x4f, 0x72,
2346 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18,
2347 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
2348 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a,
2349 0x04, 0x74, 0x61, 0x67, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67,
2350 0x73, 0x22, 0x3c, 0x0a, 0x0c, 0x58, 0x63, 0x6f, 0x64, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
2351 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01,
2352 0x28, 0x09, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74,
2353 0x61, 0x67, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x22,
2354 0x77, 0x0a, 0x1b, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2355 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x58,
2356 0x0a, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73,
2357 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2358 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
2359 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69,
2360 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
2361 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0xae, 0x01, 0x0a, 0x14, 0x4e, 0x65, 0x74,
2362 0x77, 0x6f, 0x72, 0x6b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f,
2363 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
2364 0x64, 0x12, 0x40, 0x0a, 0x07, 0x75, 0x70, 0x5f, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x02, 0x20, 0x01,
2365 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74,
2366 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e,
2367 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x75, 0x70, 0x52,
2368 0x75, 0x6c, 0x65, 0x12, 0x44, 0x0a, 0x09, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x72, 0x75, 0x6c, 0x65,
2369 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
2370 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67,
2371 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x72, 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x75, 0x6c, 0x65, 0x52,
2372 0x08, 0x64, 0x6f, 0x77, 0x6e, 0x52, 0x75, 0x6c, 0x65, 0x22, 0xd8, 0x01, 0x0a, 0x0b, 0x54, 0x72,
2373 0x61, 0x66, 0x66, 0x69, 0x63, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x2f, 0x0a, 0x05, 0x64, 0x65, 0x6c,
2374 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2375 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74,
2376 0x69, 0x6f, 0x6e, 0x52, 0x05, 0x64, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x2a, 0x0a, 0x11, 0x70, 0x61,
2377 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x6f, 0x73, 0x73, 0x5f, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x18,
2378 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x6f, 0x73,
2379 0x73, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
2380 0x5f, 0x64, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x61, 0x74,
2381 0x69, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x16, 0x70, 0x61, 0x63, 0x6b, 0x65, 0x74,
2382 0x44, 0x75, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x61, 0x74, 0x69, 0x6f,
2383 0x12, 0x1c, 0x0a, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x18, 0x04, 0x20,
2384 0x01, 0x28, 0x02, 0x52, 0x09, 0x62, 0x61, 0x6e, 0x64, 0x77, 0x69, 0x64, 0x74, 0x68, 0x12, 0x14,
2385 0x0a, 0x05, 0x62, 0x75, 0x72, 0x73, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x05, 0x62,
2386 0x75, 0x72, 0x73, 0x74, 0x22, 0x94, 0x01, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65,
2387 0x64, 0x53, 0x6f, 0x66, 0x74, 0x77, 0x61, 0x72, 0x65, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67,
2388 0x12, 0x35, 0x0a, 0x14, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72,
2389 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x02,
2390 0x18, 0x01, 0x52, 0x13, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72,
2391 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x42, 0x0a, 0x1d, 0x61, 0x6e, 0x64, 0x72, 0x6f,
2392 0x69, 0x64, 0x78, 0x5f, 0x6f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72,
2393 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1b,
2394 0x61, 0x6e, 0x64, 0x72, 0x6f, 0x69, 0x64, 0x78, 0x4f, 0x72, 0x63, 0x68, 0x65, 0x73, 0x74, 0x72,
2395 0x61, 0x74, 0x6f, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2a, 0x52, 0x0a, 0x0a, 0x44,
2396 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x12, 0x1b, 0x0a, 0x17, 0x44, 0x45, 0x56,
2397 0x49, 0x43, 0x45, 0x5f, 0x46, 0x4f, 0x52, 0x4d, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
2398 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x56, 0x49, 0x52, 0x54, 0x55, 0x41,
2399 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 0x50, 0x48, 0x59, 0x53, 0x49, 0x43, 0x41, 0x4c, 0x10,
2400 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4d, 0x55, 0x4c, 0x41, 0x54, 0x4f, 0x52, 0x10, 0x03, 0x2a,
2401 0x5b, 0x0a, 0x10, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x46, 0x6f, 0x72, 0x6d, 0x46, 0x61, 0x63,
2402 0x74, 0x6f, 0x72, 0x12, 0x22, 0x0a, 0x1e, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x46, 0x4f,
2403 0x52, 0x4d, 0x5f, 0x46, 0x41, 0x43, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
2404 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x09, 0x0a, 0x05, 0x50, 0x48, 0x4f, 0x4e, 0x45,
2405 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x54, 0x41, 0x42, 0x4c, 0x45, 0x54, 0x10, 0x02, 0x12, 0x0c,
2406 0x0a, 0x08, 0x57, 0x45, 0x41, 0x52, 0x41, 0x42, 0x4c, 0x45, 0x10, 0x03, 0x2a, 0x9a, 0x01, 0x0a,
2407 0x0e, 0x44, 0x65, 0x76, 0x69, 0x63, 0x65, 0x43, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12,
2408 0x1f, 0x0a, 0x1b, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43, 0x49,
2409 0x54, 0x59, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00,
2410 0x12, 0x18, 0x0a, 0x14, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43,
2411 0x49, 0x54, 0x59, 0x5f, 0x48, 0x49, 0x47, 0x48, 0x10, 0x01, 0x12, 0x1a, 0x0a, 0x16, 0x44, 0x45,
2412 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x4d, 0x45,
2413 0x44, 0x49, 0x55, 0x4d, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45,
2414 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43, 0x49, 0x54, 0x59, 0x5f, 0x4c, 0x4f, 0x57, 0x10, 0x03, 0x12,
2415 0x18, 0x0a, 0x14, 0x44, 0x45, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x43, 0x41, 0x50, 0x41, 0x43, 0x49,
2416 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x4e, 0x45, 0x10, 0x04, 0x32, 0xee, 0x02, 0x0a, 0x1f, 0x54, 0x65,
2417 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73,
2418 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc4, 0x01,
2419 0x0a, 0x19, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e,
2420 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x3c, 0x2e, 0x67, 0x6f,
2421 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65,
2422 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x54, 0x65, 0x73, 0x74,
2423 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c,
2424 0x6f, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
2425 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74,
2426 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72,
2427 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x35, 0x82,
2428 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x45,
2429 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f,
2430 0x67, 0x2f, 0x7b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74,
2431 0x79, 0x70, 0x65, 0x7d, 0x1a, 0x83, 0x01, 0xca, 0x41, 0x16, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
2432 0x67, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
2433 0xd2, 0x41, 0x67, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
2434 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
2435 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72,
2436 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f,
2437 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74,
2438 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d,
2439 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x42, 0x84, 0x01, 0x0a, 0x1e, 0x63,
2440 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f,
2441 0x6c, 0x73, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x42, 0x1d, 0x54,
2442 0x65, 0x73, 0x74, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x44, 0x69,
2443 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41,
2444 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72,
2445 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
2446 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x64, 0x65, 0x76, 0x74, 0x6f, 0x6f, 0x6c, 0x73, 0x2f, 0x74,
2447 0x65, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x74, 0x65, 0x73, 0x74, 0x69, 0x6e,
2448 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
2449 }
2450
2451 var (
2452 file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescOnce sync.Once
2453 file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescData = file_google_devtools_testing_v1_test_environment_discovery_proto_rawDesc
2454 )
2455
2456 func file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescGZIP() []byte {
2457 file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescOnce.Do(func() {
2458 file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescData)
2459 })
2460 return file_google_devtools_testing_v1_test_environment_discovery_proto_rawDescData
2461 }
2462
2463 var file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
2464 var file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes = make([]protoimpl.MessageInfo, 22)
2465 var file_google_devtools_testing_v1_test_environment_discovery_proto_goTypes = []interface{}{
2466 (DeviceForm)(0),
2467 (DeviceFormFactor)(0),
2468 (DeviceCapacity)(0),
2469 (GetTestEnvironmentCatalogRequest_EnvironmentType)(0),
2470 (*DeviceIpBlock)(nil),
2471 (*GetTestEnvironmentCatalogRequest)(nil),
2472 (*TestEnvironmentCatalog)(nil),
2473 (*DeviceIpBlockCatalog)(nil),
2474 (*AndroidDeviceCatalog)(nil),
2475 (*AndroidRuntimeConfiguration)(nil),
2476 (*AndroidModel)(nil),
2477 (*AndroidVersion)(nil),
2478 (*PerAndroidVersionInfo)(nil),
2479 (*Distribution)(nil),
2480 (*IosDeviceCatalog)(nil),
2481 (*IosRuntimeConfiguration)(nil),
2482 (*IosModel)(nil),
2483 (*IosVersion)(nil),
2484 (*PerIosVersionInfo)(nil),
2485 (*Locale)(nil),
2486 (*Orientation)(nil),
2487 (*XcodeVersion)(nil),
2488 (*NetworkConfigurationCatalog)(nil),
2489 (*NetworkConfiguration)(nil),
2490 (*TrafficRule)(nil),
2491 (*ProvidedSoftwareCatalog)(nil),
2492 (*date.Date)(nil),
2493 (*timestamppb.Timestamp)(nil),
2494 (*durationpb.Duration)(nil),
2495 }
2496 var file_google_devtools_testing_v1_test_environment_discovery_proto_depIdxs = []int32{
2497 0,
2498 26,
2499 3,
2500 8,
2501 14,
2502 22,
2503 25,
2504 7,
2505 4,
2506 10,
2507 11,
2508 9,
2509 19,
2510 20,
2511 0,
2512 1,
2513 12,
2514 26,
2515 13,
2516 2,
2517 27,
2518 16,
2519 17,
2520 21,
2521 15,
2522 19,
2523 20,
2524 1,
2525 18,
2526 2,
2527 23,
2528 24,
2529 24,
2530 28,
2531 5,
2532 6,
2533 35,
2534 34,
2535 34,
2536 34,
2537 0,
2538 }
2539
2540 func init() { file_google_devtools_testing_v1_test_environment_discovery_proto_init() }
2541 func file_google_devtools_testing_v1_test_environment_discovery_proto_init() {
2542 if File_google_devtools_testing_v1_test_environment_discovery_proto != nil {
2543 return
2544 }
2545 if !protoimpl.UnsafeEnabled {
2546 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
2547 switch v := v.(*DeviceIpBlock); i {
2548 case 0:
2549 return &v.state
2550 case 1:
2551 return &v.sizeCache
2552 case 2:
2553 return &v.unknownFields
2554 default:
2555 return nil
2556 }
2557 }
2558 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
2559 switch v := v.(*GetTestEnvironmentCatalogRequest); i {
2560 case 0:
2561 return &v.state
2562 case 1:
2563 return &v.sizeCache
2564 case 2:
2565 return &v.unknownFields
2566 default:
2567 return nil
2568 }
2569 }
2570 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
2571 switch v := v.(*TestEnvironmentCatalog); i {
2572 case 0:
2573 return &v.state
2574 case 1:
2575 return &v.sizeCache
2576 case 2:
2577 return &v.unknownFields
2578 default:
2579 return nil
2580 }
2581 }
2582 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
2583 switch v := v.(*DeviceIpBlockCatalog); i {
2584 case 0:
2585 return &v.state
2586 case 1:
2587 return &v.sizeCache
2588 case 2:
2589 return &v.unknownFields
2590 default:
2591 return nil
2592 }
2593 }
2594 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
2595 switch v := v.(*AndroidDeviceCatalog); i {
2596 case 0:
2597 return &v.state
2598 case 1:
2599 return &v.sizeCache
2600 case 2:
2601 return &v.unknownFields
2602 default:
2603 return nil
2604 }
2605 }
2606 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
2607 switch v := v.(*AndroidRuntimeConfiguration); i {
2608 case 0:
2609 return &v.state
2610 case 1:
2611 return &v.sizeCache
2612 case 2:
2613 return &v.unknownFields
2614 default:
2615 return nil
2616 }
2617 }
2618 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
2619 switch v := v.(*AndroidModel); i {
2620 case 0:
2621 return &v.state
2622 case 1:
2623 return &v.sizeCache
2624 case 2:
2625 return &v.unknownFields
2626 default:
2627 return nil
2628 }
2629 }
2630 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
2631 switch v := v.(*AndroidVersion); i {
2632 case 0:
2633 return &v.state
2634 case 1:
2635 return &v.sizeCache
2636 case 2:
2637 return &v.unknownFields
2638 default:
2639 return nil
2640 }
2641 }
2642 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
2643 switch v := v.(*PerAndroidVersionInfo); i {
2644 case 0:
2645 return &v.state
2646 case 1:
2647 return &v.sizeCache
2648 case 2:
2649 return &v.unknownFields
2650 default:
2651 return nil
2652 }
2653 }
2654 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
2655 switch v := v.(*Distribution); i {
2656 case 0:
2657 return &v.state
2658 case 1:
2659 return &v.sizeCache
2660 case 2:
2661 return &v.unknownFields
2662 default:
2663 return nil
2664 }
2665 }
2666 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
2667 switch v := v.(*IosDeviceCatalog); i {
2668 case 0:
2669 return &v.state
2670 case 1:
2671 return &v.sizeCache
2672 case 2:
2673 return &v.unknownFields
2674 default:
2675 return nil
2676 }
2677 }
2678 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
2679 switch v := v.(*IosRuntimeConfiguration); i {
2680 case 0:
2681 return &v.state
2682 case 1:
2683 return &v.sizeCache
2684 case 2:
2685 return &v.unknownFields
2686 default:
2687 return nil
2688 }
2689 }
2690 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
2691 switch v := v.(*IosModel); i {
2692 case 0:
2693 return &v.state
2694 case 1:
2695 return &v.sizeCache
2696 case 2:
2697 return &v.unknownFields
2698 default:
2699 return nil
2700 }
2701 }
2702 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
2703 switch v := v.(*IosVersion); i {
2704 case 0:
2705 return &v.state
2706 case 1:
2707 return &v.sizeCache
2708 case 2:
2709 return &v.unknownFields
2710 default:
2711 return nil
2712 }
2713 }
2714 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
2715 switch v := v.(*PerIosVersionInfo); i {
2716 case 0:
2717 return &v.state
2718 case 1:
2719 return &v.sizeCache
2720 case 2:
2721 return &v.unknownFields
2722 default:
2723 return nil
2724 }
2725 }
2726 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
2727 switch v := v.(*Locale); i {
2728 case 0:
2729 return &v.state
2730 case 1:
2731 return &v.sizeCache
2732 case 2:
2733 return &v.unknownFields
2734 default:
2735 return nil
2736 }
2737 }
2738 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
2739 switch v := v.(*Orientation); i {
2740 case 0:
2741 return &v.state
2742 case 1:
2743 return &v.sizeCache
2744 case 2:
2745 return &v.unknownFields
2746 default:
2747 return nil
2748 }
2749 }
2750 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
2751 switch v := v.(*XcodeVersion); i {
2752 case 0:
2753 return &v.state
2754 case 1:
2755 return &v.sizeCache
2756 case 2:
2757 return &v.unknownFields
2758 default:
2759 return nil
2760 }
2761 }
2762 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
2763 switch v := v.(*NetworkConfigurationCatalog); i {
2764 case 0:
2765 return &v.state
2766 case 1:
2767 return &v.sizeCache
2768 case 2:
2769 return &v.unknownFields
2770 default:
2771 return nil
2772 }
2773 }
2774 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
2775 switch v := v.(*NetworkConfiguration); i {
2776 case 0:
2777 return &v.state
2778 case 1:
2779 return &v.sizeCache
2780 case 2:
2781 return &v.unknownFields
2782 default:
2783 return nil
2784 }
2785 }
2786 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
2787 switch v := v.(*TrafficRule); i {
2788 case 0:
2789 return &v.state
2790 case 1:
2791 return &v.sizeCache
2792 case 2:
2793 return &v.unknownFields
2794 default:
2795 return nil
2796 }
2797 }
2798 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
2799 switch v := v.(*ProvidedSoftwareCatalog); i {
2800 case 0:
2801 return &v.state
2802 case 1:
2803 return &v.sizeCache
2804 case 2:
2805 return &v.unknownFields
2806 default:
2807 return nil
2808 }
2809 }
2810 }
2811 file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes[2].OneofWrappers = []interface{}{
2812 (*TestEnvironmentCatalog_AndroidDeviceCatalog)(nil),
2813 (*TestEnvironmentCatalog_IosDeviceCatalog)(nil),
2814 (*TestEnvironmentCatalog_NetworkConfigurationCatalog)(nil),
2815 (*TestEnvironmentCatalog_SoftwareCatalog)(nil),
2816 (*TestEnvironmentCatalog_DeviceIpBlockCatalog)(nil),
2817 }
2818 type x struct{}
2819 out := protoimpl.TypeBuilder{
2820 File: protoimpl.DescBuilder{
2821 GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
2822 RawDescriptor: file_google_devtools_testing_v1_test_environment_discovery_proto_rawDesc,
2823 NumEnums: 4,
2824 NumMessages: 22,
2825 NumExtensions: 0,
2826 NumServices: 1,
2827 },
2828 GoTypes: file_google_devtools_testing_v1_test_environment_discovery_proto_goTypes,
2829 DependencyIndexes: file_google_devtools_testing_v1_test_environment_discovery_proto_depIdxs,
2830 EnumInfos: file_google_devtools_testing_v1_test_environment_discovery_proto_enumTypes,
2831 MessageInfos: file_google_devtools_testing_v1_test_environment_discovery_proto_msgTypes,
2832 }.Build()
2833 File_google_devtools_testing_v1_test_environment_discovery_proto = out.File
2834 file_google_devtools_testing_v1_test_environment_discovery_proto_rawDesc = nil
2835 file_google_devtools_testing_v1_test_environment_discovery_proto_goTypes = nil
2836 file_google_devtools_testing_v1_test_environment_discovery_proto_depIdxs = nil
2837 }
2838
2839
2840 var _ context.Context
2841 var _ grpc.ClientConnInterface
2842
2843
2844
2845 const _ = grpc.SupportPackageIsVersion6
2846
2847
2848
2849
2850 type TestEnvironmentDiscoveryServiceClient interface {
2851
2852
2853
2854
2855
2856
2857
2858 GetTestEnvironmentCatalog(ctx context.Context, in *GetTestEnvironmentCatalogRequest, opts ...grpc.CallOption) (*TestEnvironmentCatalog, error)
2859 }
2860
2861 type testEnvironmentDiscoveryServiceClient struct {
2862 cc grpc.ClientConnInterface
2863 }
2864
2865 func NewTestEnvironmentDiscoveryServiceClient(cc grpc.ClientConnInterface) TestEnvironmentDiscoveryServiceClient {
2866 return &testEnvironmentDiscoveryServiceClient{cc}
2867 }
2868
2869 func (c *testEnvironmentDiscoveryServiceClient) GetTestEnvironmentCatalog(ctx context.Context, in *GetTestEnvironmentCatalogRequest, opts ...grpc.CallOption) (*TestEnvironmentCatalog, error) {
2870 out := new(TestEnvironmentCatalog)
2871 err := c.cc.Invoke(ctx, "/google.devtools.testing.v1.TestEnvironmentDiscoveryService/GetTestEnvironmentCatalog", in, out, opts...)
2872 if err != nil {
2873 return nil, err
2874 }
2875 return out, nil
2876 }
2877
2878
2879 type TestEnvironmentDiscoveryServiceServer interface {
2880
2881
2882
2883
2884
2885
2886
2887 GetTestEnvironmentCatalog(context.Context, *GetTestEnvironmentCatalogRequest) (*TestEnvironmentCatalog, error)
2888 }
2889
2890
2891 type UnimplementedTestEnvironmentDiscoveryServiceServer struct {
2892 }
2893
2894 func (*UnimplementedTestEnvironmentDiscoveryServiceServer) GetTestEnvironmentCatalog(context.Context, *GetTestEnvironmentCatalogRequest) (*TestEnvironmentCatalog, error) {
2895 return nil, status.Errorf(codes.Unimplemented, "method GetTestEnvironmentCatalog not implemented")
2896 }
2897
2898 func RegisterTestEnvironmentDiscoveryServiceServer(s *grpc.Server, srv TestEnvironmentDiscoveryServiceServer) {
2899 s.RegisterService(&_TestEnvironmentDiscoveryService_serviceDesc, srv)
2900 }
2901
2902 func _TestEnvironmentDiscoveryService_GetTestEnvironmentCatalog_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
2903 in := new(GetTestEnvironmentCatalogRequest)
2904 if err := dec(in); err != nil {
2905 return nil, err
2906 }
2907 if interceptor == nil {
2908 return srv.(TestEnvironmentDiscoveryServiceServer).GetTestEnvironmentCatalog(ctx, in)
2909 }
2910 info := &grpc.UnaryServerInfo{
2911 Server: srv,
2912 FullMethod: "/google.devtools.testing.v1.TestEnvironmentDiscoveryService/GetTestEnvironmentCatalog",
2913 }
2914 handler := func(ctx context.Context, req interface{}) (interface{}, error) {
2915 return srv.(TestEnvironmentDiscoveryServiceServer).GetTestEnvironmentCatalog(ctx, req.(*GetTestEnvironmentCatalogRequest))
2916 }
2917 return interceptor(ctx, in, info, handler)
2918 }
2919
2920 var _TestEnvironmentDiscoveryService_serviceDesc = grpc.ServiceDesc{
2921 ServiceName: "google.devtools.testing.v1.TestEnvironmentDiscoveryService",
2922 HandlerType: (*TestEnvironmentDiscoveryServiceServer)(nil),
2923 Methods: []grpc.MethodDesc{
2924 {
2925 MethodName: "GetTestEnvironmentCatalog",
2926 Handler: _TestEnvironmentDiscoveryService_GetTestEnvironmentCatalog_Handler,
2927 },
2928 },
2929 Streams: []grpc.StreamDesc{},
2930 Metadata: "google/devtools/testing/v1/test_environment_discovery.proto",
2931 }
2932
View as plain text