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