go.chromium.org/luci@v0.0.0-20240309015107-7cdc2e660f33/gce/api/config/v1/config.pb.go (about) 1 // Copyright 2018 The LUCI Authors. All rights reserved. 2 // Use of this source code is governed under the Apache License, Version 2.0 3 // that can be found in the LICENSE file. 4 5 // Code generated by protoc-gen-go. DO NOT EDIT. 6 // versions: 7 // protoc-gen-go v1.31.0 8 // protoc v3.21.7 9 // source: go.chromium.org/luci/gce/api/config/v1/config.proto 10 11 package config 12 13 import ( 14 _ "go.chromium.org/luci/common/proto" 15 dayofweek "google.golang.org/genproto/googleapis/type/dayofweek" 16 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 17 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 18 emptypb "google.golang.org/protobuf/types/known/emptypb" 19 reflect "reflect" 20 sync "sync" 21 ) 22 23 const ( 24 // Verify that this generated code is sufficiently up-to-date. 25 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 26 // Verify that runtime/protoimpl is sufficiently up-to-date. 27 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 28 ) 29 30 // A network access config type. 31 // GCE's default and only value is 1:1 NAT. 32 type AccessConfigType int32 33 34 const ( 35 // 1:1 network address translation. 36 AccessConfigType_ONE_TO_ONE_NAT AccessConfigType = 0 37 ) 38 39 // Enum value maps for AccessConfigType. 40 var ( 41 AccessConfigType_name = map[int32]string{ 42 0: "ONE_TO_ONE_NAT", 43 } 44 AccessConfigType_value = map[string]int32{ 45 "ONE_TO_ONE_NAT": 0, 46 } 47 ) 48 49 func (x AccessConfigType) Enum() *AccessConfigType { 50 p := new(AccessConfigType) 51 *p = x 52 return p 53 } 54 55 func (x AccessConfigType) String() string { 56 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 57 } 58 59 func (AccessConfigType) Descriptor() protoreflect.EnumDescriptor { 60 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[0].Descriptor() 61 } 62 63 func (AccessConfigType) Type() protoreflect.EnumType { 64 return &file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[0] 65 } 66 67 func (x AccessConfigType) Number() protoreflect.EnumNumber { 68 return protoreflect.EnumNumber(x) 69 } 70 71 // Deprecated: Use AccessConfigType.Descriptor instead. 72 func (AccessConfigType) EnumDescriptor() ([]byte, []int) { 73 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{0} 74 } 75 76 // A disk interface. 77 // GCE's default is "SCSI". 78 type DiskInterface int32 79 80 const ( 81 DiskInterface_SCSI DiskInterface = 0 82 DiskInterface_NVME DiskInterface = 1 83 ) 84 85 // Enum value maps for DiskInterface. 86 var ( 87 DiskInterface_name = map[int32]string{ 88 0: "SCSI", 89 1: "NVME", 90 } 91 DiskInterface_value = map[string]int32{ 92 "SCSI": 0, 93 "NVME": 1, 94 } 95 ) 96 97 func (x DiskInterface) Enum() *DiskInterface { 98 p := new(DiskInterface) 99 *p = x 100 return p 101 } 102 103 func (x DiskInterface) String() string { 104 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 105 } 106 107 func (DiskInterface) Descriptor() protoreflect.EnumDescriptor { 108 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[1].Descriptor() 109 } 110 111 func (DiskInterface) Type() protoreflect.EnumType { 112 return &file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[1] 113 } 114 115 func (x DiskInterface) Number() protoreflect.EnumNumber { 116 return protoreflect.EnumNumber(x) 117 } 118 119 // Deprecated: Use DiskInterface.Descriptor instead. 120 func (DiskInterface) EnumDescriptor() ([]byte, []int) { 121 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{1} 122 } 123 124 // Defines the way in which nodes are selected. 125 type NodeAffinityOperator int32 126 127 const ( 128 NodeAffinityOperator_OPERATOR_UNSPECIFIED NodeAffinityOperator = 0 129 // Requires Compute Engine to seek for matched nodes. 130 NodeAffinityOperator_IN NodeAffinityOperator = 1 131 // Requires Compute Engine to avoid certain nodes. 132 NodeAffinityOperator_NOT_IN NodeAffinityOperator = 2 133 ) 134 135 // Enum value maps for NodeAffinityOperator. 136 var ( 137 NodeAffinityOperator_name = map[int32]string{ 138 0: "OPERATOR_UNSPECIFIED", 139 1: "IN", 140 2: "NOT_IN", 141 } 142 NodeAffinityOperator_value = map[string]int32{ 143 "OPERATOR_UNSPECIFIED": 0, 144 "IN": 1, 145 "NOT_IN": 2, 146 } 147 ) 148 149 func (x NodeAffinityOperator) Enum() *NodeAffinityOperator { 150 p := new(NodeAffinityOperator) 151 *p = x 152 return p 153 } 154 155 func (x NodeAffinityOperator) String() string { 156 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 157 } 158 159 func (NodeAffinityOperator) Descriptor() protoreflect.EnumDescriptor { 160 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[2].Descriptor() 161 } 162 163 func (NodeAffinityOperator) Type() protoreflect.EnumType { 164 return &file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[2] 165 } 166 167 func (x NodeAffinityOperator) Number() protoreflect.EnumNumber { 168 return protoreflect.EnumNumber(x) 169 } 170 171 // Deprecated: Use NodeAffinityOperator.Descriptor instead. 172 func (NodeAffinityOperator) EnumDescriptor() ([]byte, []int) { 173 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{2} 174 } 175 176 // GCPChannel is the version of the cloud API to use stable, beta, or alpha. 177 type GCPChannel int32 178 179 const ( 180 GCPChannel_GCP_CHANNEL_UNSPECIFIED GCPChannel = 0 181 GCPChannel_GCP_CHANNEL_STABLE GCPChannel = 1 182 GCPChannel_GCP_CHANNEL_BETA GCPChannel = 2 183 GCPChannel_GCP_CHANNEL_ALPHA GCPChannel = 3 184 ) 185 186 // Enum value maps for GCPChannel. 187 var ( 188 GCPChannel_name = map[int32]string{ 189 0: "GCP_CHANNEL_UNSPECIFIED", 190 1: "GCP_CHANNEL_STABLE", 191 2: "GCP_CHANNEL_BETA", 192 3: "GCP_CHANNEL_ALPHA", 193 } 194 GCPChannel_value = map[string]int32{ 195 "GCP_CHANNEL_UNSPECIFIED": 0, 196 "GCP_CHANNEL_STABLE": 1, 197 "GCP_CHANNEL_BETA": 2, 198 "GCP_CHANNEL_ALPHA": 3, 199 } 200 ) 201 202 func (x GCPChannel) Enum() *GCPChannel { 203 p := new(GCPChannel) 204 *p = x 205 return p 206 } 207 208 func (x GCPChannel) String() string { 209 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 210 } 211 212 func (GCPChannel) Descriptor() protoreflect.EnumDescriptor { 213 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[3].Descriptor() 214 } 215 216 func (GCPChannel) Type() protoreflect.EnumType { 217 return &file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[3] 218 } 219 220 func (x GCPChannel) Number() protoreflect.EnumNumber { 221 return protoreflect.EnumNumber(x) 222 } 223 224 // Deprecated: Use GCPChannel.Descriptor instead. 225 func (GCPChannel) EnumDescriptor() ([]byte, []int) { 226 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{3} 227 } 228 229 // PerformanceMonitoringUnit tracks the types of performance monitoring units to attach to a given instance. 230 type PerformanceMonitoringUnit int32 231 232 const ( 233 PerformanceMonitoringUnit_PERFORMANCE_MONITORING_UNIT_UNSPECIFIED PerformanceMonitoringUnit = 0 // This is not a mistake! The underlying cloud API expects the string "PERFORMANCE_MONITORING_UNIT_UNSPECIFIED". 234 PerformanceMonitoringUnit_ARCHITECTURAL PerformanceMonitoringUnit = 1 235 PerformanceMonitoringUnit_ENHANCED PerformanceMonitoringUnit = 2 236 PerformanceMonitoringUnit_STANDARD PerformanceMonitoringUnit = 3 237 ) 238 239 // Enum value maps for PerformanceMonitoringUnit. 240 var ( 241 PerformanceMonitoringUnit_name = map[int32]string{ 242 0: "PERFORMANCE_MONITORING_UNIT_UNSPECIFIED", 243 1: "ARCHITECTURAL", 244 2: "ENHANCED", 245 3: "STANDARD", 246 } 247 PerformanceMonitoringUnit_value = map[string]int32{ 248 "PERFORMANCE_MONITORING_UNIT_UNSPECIFIED": 0, 249 "ARCHITECTURAL": 1, 250 "ENHANCED": 2, 251 "STANDARD": 3, 252 } 253 ) 254 255 func (x PerformanceMonitoringUnit) Enum() *PerformanceMonitoringUnit { 256 p := new(PerformanceMonitoringUnit) 257 *p = x 258 return p 259 } 260 261 func (x PerformanceMonitoringUnit) String() string { 262 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 263 } 264 265 func (PerformanceMonitoringUnit) Descriptor() protoreflect.EnumDescriptor { 266 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[4].Descriptor() 267 } 268 269 func (PerformanceMonitoringUnit) Type() protoreflect.EnumType { 270 return &file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes[4] 271 } 272 273 func (x PerformanceMonitoringUnit) Number() protoreflect.EnumNumber { 274 return protoreflect.EnumNumber(x) 275 } 276 277 // Deprecated: Use PerformanceMonitoringUnit.Descriptor instead. 278 func (PerformanceMonitoringUnit) EnumDescriptor() ([]byte, []int) { 279 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{4} 280 } 281 282 // A description of a service account. 283 type ServiceAccount struct { 284 state protoimpl.MessageState 285 sizeCache protoimpl.SizeCache 286 unknownFields protoimpl.UnknownFields 287 288 // The email address of this service account. 289 Email string `protobuf:"bytes,1,opt,name=email,proto3" json:"email,omitempty"` 290 // The scopes available for this service account. 291 Scope []string `protobuf:"bytes,2,rep,name=scope,proto3" json:"scope,omitempty"` 292 } 293 294 func (x *ServiceAccount) Reset() { 295 *x = ServiceAccount{} 296 if protoimpl.UnsafeEnabled { 297 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[0] 298 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 299 ms.StoreMessageInfo(mi) 300 } 301 } 302 303 func (x *ServiceAccount) String() string { 304 return protoimpl.X.MessageStringOf(x) 305 } 306 307 func (*ServiceAccount) ProtoMessage() {} 308 309 func (x *ServiceAccount) ProtoReflect() protoreflect.Message { 310 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[0] 311 if protoimpl.UnsafeEnabled && x != nil { 312 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 313 if ms.LoadMessageInfo() == nil { 314 ms.StoreMessageInfo(mi) 315 } 316 return ms 317 } 318 return mi.MessageOf(x) 319 } 320 321 // Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead. 322 func (*ServiceAccount) Descriptor() ([]byte, []int) { 323 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{0} 324 } 325 326 func (x *ServiceAccount) GetEmail() string { 327 if x != nil { 328 return x.Email 329 } 330 return "" 331 } 332 333 func (x *ServiceAccount) GetScope() []string { 334 if x != nil { 335 return x.Scope 336 } 337 return nil 338 } 339 340 // A description of a network access config. 341 type AccessConfig struct { 342 state protoimpl.MessageState 343 sizeCache protoimpl.SizeCache 344 unknownFields protoimpl.UnknownFields 345 346 // The type of config this is. 347 Type AccessConfigType `protobuf:"varint,1,opt,name=type,proto3,enum=config.AccessConfigType" json:"type,omitempty"` 348 } 349 350 func (x *AccessConfig) Reset() { 351 *x = AccessConfig{} 352 if protoimpl.UnsafeEnabled { 353 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[1] 354 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 355 ms.StoreMessageInfo(mi) 356 } 357 } 358 359 func (x *AccessConfig) String() string { 360 return protoimpl.X.MessageStringOf(x) 361 } 362 363 func (*AccessConfig) ProtoMessage() {} 364 365 func (x *AccessConfig) ProtoReflect() protoreflect.Message { 366 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[1] 367 if protoimpl.UnsafeEnabled && x != nil { 368 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 369 if ms.LoadMessageInfo() == nil { 370 ms.StoreMessageInfo(mi) 371 } 372 return ms 373 } 374 return mi.MessageOf(x) 375 } 376 377 // Deprecated: Use AccessConfig.ProtoReflect.Descriptor instead. 378 func (*AccessConfig) Descriptor() ([]byte, []int) { 379 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{1} 380 } 381 382 func (x *AccessConfig) GetType() AccessConfigType { 383 if x != nil { 384 return x.Type 385 } 386 return AccessConfigType_ONE_TO_ONE_NAT 387 } 388 389 // A description of a network interface. 390 type NetworkInterface struct { 391 state protoimpl.MessageState 392 sizeCache protoimpl.SizeCache 393 unknownFields protoimpl.UnknownFields 394 395 // The access configurations for this interface. 396 // Required to enable external internet access. 397 AccessConfig []*AccessConfig `protobuf:"bytes,1,rep,name=access_config,json=accessConfig,proto3" json:"access_config,omitempty"` 398 // The name of a network to use for this interface. 399 // https://cloud.google.com/compute/docs/reference/rest/v1/networks/list. 400 Network string `protobuf:"bytes,2,opt,name=network,proto3" json:"network,omitempty"` 401 // The name of a network to use for this interface. 402 // https://cloud.google.com/compute/docs/reference/rest/v1/subnetworks/list. 403 // Example: regions/us-west2/subnetworks/cloudbots-network-us-west2. 404 Subnetwork string `protobuf:"bytes,3,opt,name=subnetwork,proto3" json:"subnetwork,omitempty"` 405 } 406 407 func (x *NetworkInterface) Reset() { 408 *x = NetworkInterface{} 409 if protoimpl.UnsafeEnabled { 410 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[2] 411 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 412 ms.StoreMessageInfo(mi) 413 } 414 } 415 416 func (x *NetworkInterface) String() string { 417 return protoimpl.X.MessageStringOf(x) 418 } 419 420 func (*NetworkInterface) ProtoMessage() {} 421 422 func (x *NetworkInterface) ProtoReflect() protoreflect.Message { 423 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[2] 424 if protoimpl.UnsafeEnabled && x != nil { 425 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 426 if ms.LoadMessageInfo() == nil { 427 ms.StoreMessageInfo(mi) 428 } 429 return ms 430 } 431 return mi.MessageOf(x) 432 } 433 434 // Deprecated: Use NetworkInterface.ProtoReflect.Descriptor instead. 435 func (*NetworkInterface) Descriptor() ([]byte, []int) { 436 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{2} 437 } 438 439 func (x *NetworkInterface) GetAccessConfig() []*AccessConfig { 440 if x != nil { 441 return x.AccessConfig 442 } 443 return nil 444 } 445 446 func (x *NetworkInterface) GetNetwork() string { 447 if x != nil { 448 return x.Network 449 } 450 return "" 451 } 452 453 func (x *NetworkInterface) GetSubnetwork() string { 454 if x != nil { 455 return x.Subnetwork 456 } 457 return "" 458 } 459 460 // A description of a disk. 461 // https://cloud.google.com/compute/docs/reference/rest/v1/disks. 462 type Disk struct { 463 state protoimpl.MessageState 464 sizeCache protoimpl.SizeCache 465 unknownFields protoimpl.UnknownFields 466 467 // The name of an image to use to create this disk. 468 // https://cloud.google.com/compute/docs/reference/rest/v1/images/list. 469 Image string `protobuf:"bytes,1,opt,name=image,proto3" json:"image,omitempty"` 470 // The size of this disk in GiB. 471 Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"` 472 // The name of a disk type to use for this disk. 473 // https://cloud.google.com/compute/docs/reference/rest/v1/diskTypes/list. 474 Type string `protobuf:"bytes,3,opt,name=type,proto3" json:"type,omitempty"` 475 // The disk interface to use for attaching this disk. 476 Interface DiskInterface `protobuf:"varint,4,opt,name=interface,proto3,enum=config.DiskInterface" json:"interface,omitempty"` 477 } 478 479 func (x *Disk) Reset() { 480 *x = Disk{} 481 if protoimpl.UnsafeEnabled { 482 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[3] 483 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 484 ms.StoreMessageInfo(mi) 485 } 486 } 487 488 func (x *Disk) String() string { 489 return protoimpl.X.MessageStringOf(x) 490 } 491 492 func (*Disk) ProtoMessage() {} 493 494 func (x *Disk) ProtoReflect() protoreflect.Message { 495 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[3] 496 if protoimpl.UnsafeEnabled && x != nil { 497 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 498 if ms.LoadMessageInfo() == nil { 499 ms.StoreMessageInfo(mi) 500 } 501 return ms 502 } 503 return mi.MessageOf(x) 504 } 505 506 // Deprecated: Use Disk.ProtoReflect.Descriptor instead. 507 func (*Disk) Descriptor() ([]byte, []int) { 508 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{3} 509 } 510 511 func (x *Disk) GetImage() string { 512 if x != nil { 513 return x.Image 514 } 515 return "" 516 } 517 518 func (x *Disk) GetSize() int64 { 519 if x != nil { 520 return x.Size 521 } 522 return 0 523 } 524 525 func (x *Disk) GetType() string { 526 if x != nil { 527 return x.Type 528 } 529 return "" 530 } 531 532 func (x *Disk) GetInterface() DiskInterface { 533 if x != nil { 534 return x.Interface 535 } 536 return DiskInterface_SCSI 537 } 538 539 // A description of instance metadata. 540 type Metadata struct { 541 state protoimpl.MessageState 542 sizeCache protoimpl.SizeCache 543 unknownFields protoimpl.UnknownFields 544 545 // Types that are assignable to Metadata: 546 // 547 // *Metadata_FromText 548 // *Metadata_FromFile 549 Metadata isMetadata_Metadata `protobuf_oneof:"metadata"` 550 } 551 552 func (x *Metadata) Reset() { 553 *x = Metadata{} 554 if protoimpl.UnsafeEnabled { 555 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[4] 556 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 557 ms.StoreMessageInfo(mi) 558 } 559 } 560 561 func (x *Metadata) String() string { 562 return protoimpl.X.MessageStringOf(x) 563 } 564 565 func (*Metadata) ProtoMessage() {} 566 567 func (x *Metadata) ProtoReflect() protoreflect.Message { 568 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[4] 569 if protoimpl.UnsafeEnabled && x != nil { 570 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 571 if ms.LoadMessageInfo() == nil { 572 ms.StoreMessageInfo(mi) 573 } 574 return ms 575 } 576 return mi.MessageOf(x) 577 } 578 579 // Deprecated: Use Metadata.ProtoReflect.Descriptor instead. 580 func (*Metadata) Descriptor() ([]byte, []int) { 581 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{4} 582 } 583 584 func (m *Metadata) GetMetadata() isMetadata_Metadata { 585 if m != nil { 586 return m.Metadata 587 } 588 return nil 589 } 590 591 func (x *Metadata) GetFromText() string { 592 if x, ok := x.GetMetadata().(*Metadata_FromText); ok { 593 return x.FromText 594 } 595 return "" 596 } 597 598 func (x *Metadata) GetFromFile() string { 599 if x, ok := x.GetMetadata().(*Metadata_FromFile); ok { 600 return x.FromFile 601 } 602 return "" 603 } 604 605 type isMetadata_Metadata interface { 606 isMetadata_Metadata() 607 } 608 609 type Metadata_FromText struct { 610 // A string of the form "key:value" to use as one item of metadata. 611 FromText string `protobuf:"bytes,1,opt,name=from_text,json=fromText,proto3,oneof"` 612 } 613 614 type Metadata_FromFile struct { 615 // A string of the form "key:filename". 616 // The contents of the file are used as the value for one item of metadata. 617 FromFile string `protobuf:"bytes,2,opt,name=from_file,json=fromFile,proto3,oneof"` 618 } 619 620 func (*Metadata_FromText) isMetadata_Metadata() {} 621 622 func (*Metadata_FromFile) isMetadata_Metadata() {} 623 624 // A description of nodes onto which an instance may be scheduled. 625 type NodeAffinity struct { 626 state protoimpl.MessageState 627 sizeCache protoimpl.SizeCache 628 unknownFields protoimpl.UnknownFields 629 630 // Corresponds to the label key of Node resource. 631 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` 632 // Defines the operation of node selection. 633 Operator NodeAffinityOperator `protobuf:"varint,2,opt,name=operator,proto3,enum=config.NodeAffinityOperator" json:"operator,omitempty"` 634 // Corresponds to the label values of Node resource. 635 Values []string `protobuf:"bytes,3,rep,name=values,proto3" json:"values,omitempty"` 636 } 637 638 func (x *NodeAffinity) Reset() { 639 *x = NodeAffinity{} 640 if protoimpl.UnsafeEnabled { 641 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[5] 642 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 643 ms.StoreMessageInfo(mi) 644 } 645 } 646 647 func (x *NodeAffinity) String() string { 648 return protoimpl.X.MessageStringOf(x) 649 } 650 651 func (*NodeAffinity) ProtoMessage() {} 652 653 func (x *NodeAffinity) ProtoReflect() protoreflect.Message { 654 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[5] 655 if protoimpl.UnsafeEnabled && x != nil { 656 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 657 if ms.LoadMessageInfo() == nil { 658 ms.StoreMessageInfo(mi) 659 } 660 return ms 661 } 662 return mi.MessageOf(x) 663 } 664 665 // Deprecated: Use NodeAffinity.ProtoReflect.Descriptor instead. 666 func (*NodeAffinity) Descriptor() ([]byte, []int) { 667 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{5} 668 } 669 670 func (x *NodeAffinity) GetKey() string { 671 if x != nil { 672 return x.Key 673 } 674 return "" 675 } 676 677 func (x *NodeAffinity) GetOperator() NodeAffinityOperator { 678 if x != nil { 679 return x.Operator 680 } 681 return NodeAffinityOperator_OPERATOR_UNSPECIFIED 682 } 683 684 func (x *NodeAffinity) GetValues() []string { 685 if x != nil { 686 return x.Values 687 } 688 return nil 689 } 690 691 // A description of scheduling options for an instance. 692 type Scheduling struct { 693 state protoimpl.MessageState 694 sizeCache protoimpl.SizeCache 695 unknownFields protoimpl.UnknownFields 696 697 // A set of node affinity and anti-affinity configurations. 698 // https://cloud.google.com/compute/docs/nodes/sole-tenant-nodes#node_affinity_and_anti-affinity 699 NodeAffinity []*NodeAffinity `protobuf:"bytes,1,rep,name=node_affinity,json=nodeAffinity,proto3" json:"node_affinity,omitempty"` 700 } 701 702 func (x *Scheduling) Reset() { 703 *x = Scheduling{} 704 if protoimpl.UnsafeEnabled { 705 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[6] 706 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 707 ms.StoreMessageInfo(mi) 708 } 709 } 710 711 func (x *Scheduling) String() string { 712 return protoimpl.X.MessageStringOf(x) 713 } 714 715 func (*Scheduling) ProtoMessage() {} 716 717 func (x *Scheduling) ProtoReflect() protoreflect.Message { 718 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[6] 719 if protoimpl.UnsafeEnabled && x != nil { 720 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 721 if ms.LoadMessageInfo() == nil { 722 ms.StoreMessageInfo(mi) 723 } 724 return ms 725 } 726 return mi.MessageOf(x) 727 } 728 729 // Deprecated: Use Scheduling.ProtoReflect.Descriptor instead. 730 func (*Scheduling) Descriptor() ([]byte, []int) { 731 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{6} 732 } 733 734 func (x *Scheduling) GetNodeAffinity() []*NodeAffinity { 735 if x != nil { 736 return x.NodeAffinity 737 } 738 return nil 739 } 740 741 // A description of a VM. 742 // https://cloud.google.com/compute/docs/reference/rest/v1/instances. 743 type VM struct { 744 state protoimpl.MessageState 745 sizeCache protoimpl.SizeCache 746 unknownFields protoimpl.UnknownFields 747 748 // The disks to attach to this VM. 749 Disk []*Disk `protobuf:"bytes,1,rep,name=disk,proto3" json:"disk,omitempty"` 750 // The name of a machine type to use for this VM. 751 // https://cloud.google.com/compute/docs/reference/rest/v1/machineTypes/list. 752 MachineType string `protobuf:"bytes,2,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"` 753 // The metadata to attach to this VM. 754 Metadata []*Metadata `protobuf:"bytes,3,rep,name=metadata,proto3" json:"metadata,omitempty"` 755 // The minimum CPU platform to use for this VM. 756 // https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform. 757 MinCpuPlatform string `protobuf:"bytes,4,opt,name=min_cpu_platform,json=minCpuPlatform,proto3" json:"min_cpu_platform,omitempty"` 758 // The network interfaces to configure for this VM. 759 NetworkInterface []*NetworkInterface `protobuf:"bytes,5,rep,name=network_interface,json=networkInterface,proto3" json:"network_interface,omitempty"` 760 // The name of a GCP project to create this VM in. 761 Project string `protobuf:"bytes,6,opt,name=project,proto3" json:"project,omitempty"` 762 // The service accounts to make available to this VM. 763 ServiceAccount []*ServiceAccount `protobuf:"bytes,7,rep,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` 764 // The tags to attach to this VM. 765 Tag []string `protobuf:"bytes,8,rep,name=tag,proto3" json:"tag,omitempty"` 766 // The name of a zone to create this VM in. 767 // https://cloud.google.com/compute/docs/reference/rest/v1/zones/list. 768 Zone string `protobuf:"bytes,9,opt,name=zone,proto3" json:"zone,omitempty"` 769 // The scheduling options for this VM. 770 Scheduling *Scheduling `protobuf:"bytes,10,opt,name=scheduling,proto3" json:"scheduling,omitempty"` 771 // The labels to attach to this VM. 772 Label map[string]string `protobuf:"bytes,11,rep,name=label,proto3" json:"label,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 773 // Whether to disable integrity monitoring for this VM. 774 DisableIntegrityMonitoring bool `protobuf:"varint,12,opt,name=disable_integrity_monitoring,json=disableIntegrityMonitoring,proto3" json:"disable_integrity_monitoring,omitempty"` 775 // Whether to enable secure boot for this VM. 776 EnableSecureBoot bool `protobuf:"varint,13,opt,name=enable_secure_boot,json=enableSecureBoot,proto3" json:"enable_secure_boot,omitempty"` 777 // Whether to disable vTPM for this VM. 778 DisableVtpm bool `protobuf:"varint,14,opt,name=disable_vtpm,json=disableVtpm,proto3" json:"disable_vtpm,omitempty"` 779 // Whether to enable Confidential Compute for this VM. 780 EnableConfidentialCompute bool `protobuf:"varint,15,opt,name=enable_confidential_compute,json=enableConfidentialCompute,proto3" json:"enable_confidential_compute,omitempty"` 781 // Force_send_fields is the list of all fields to force send in the GCP API. 782 ForceSendFields []string `protobuf:"bytes,16,rep,name=force_send_fields,json=forceSendFields,proto3" json:"force_send_fields,omitempty"` 783 // These are the fields associated with force_send_fields that are specifically null. 784 NullFields []string `protobuf:"bytes,17,rep,name=null_fields,json=nullFields,proto3" json:"null_fields,omitempty"` 785 // gcp_channel of the GCP api to use, e.g. stable or alpha. 786 GcpChannel GCPChannel `protobuf:"varint,18,opt,name=gcp_channel,json=gcpChannel,proto3,enum=config.GCPChannel" json:"gcp_channel,omitempty"` 787 // The performance monitoring unit is the type of performance monitoring unit. 788 PerformanceMonitoringUnit PerformanceMonitoringUnit `protobuf:"varint,19,opt,name=performance_monitoring_unit,json=performanceMonitoringUnit,proto3,enum=config.PerformanceMonitoringUnit" json:"performance_monitoring_unit,omitempty"` 789 // Ensure VMs are terminated if under maintenance. 790 TerminateOnMaintenance bool `protobuf:"varint,20,opt,name=terminate_on_maintenance,json=terminateOnMaintenance,proto3" json:"terminate_on_maintenance,omitempty"` 791 } 792 793 func (x *VM) Reset() { 794 *x = VM{} 795 if protoimpl.UnsafeEnabled { 796 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[7] 797 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 798 ms.StoreMessageInfo(mi) 799 } 800 } 801 802 func (x *VM) String() string { 803 return protoimpl.X.MessageStringOf(x) 804 } 805 806 func (*VM) ProtoMessage() {} 807 808 func (x *VM) ProtoReflect() protoreflect.Message { 809 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[7] 810 if protoimpl.UnsafeEnabled && x != nil { 811 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 812 if ms.LoadMessageInfo() == nil { 813 ms.StoreMessageInfo(mi) 814 } 815 return ms 816 } 817 return mi.MessageOf(x) 818 } 819 820 // Deprecated: Use VM.ProtoReflect.Descriptor instead. 821 func (*VM) Descriptor() ([]byte, []int) { 822 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{7} 823 } 824 825 func (x *VM) GetDisk() []*Disk { 826 if x != nil { 827 return x.Disk 828 } 829 return nil 830 } 831 832 func (x *VM) GetMachineType() string { 833 if x != nil { 834 return x.MachineType 835 } 836 return "" 837 } 838 839 func (x *VM) GetMetadata() []*Metadata { 840 if x != nil { 841 return x.Metadata 842 } 843 return nil 844 } 845 846 func (x *VM) GetMinCpuPlatform() string { 847 if x != nil { 848 return x.MinCpuPlatform 849 } 850 return "" 851 } 852 853 func (x *VM) GetNetworkInterface() []*NetworkInterface { 854 if x != nil { 855 return x.NetworkInterface 856 } 857 return nil 858 } 859 860 func (x *VM) GetProject() string { 861 if x != nil { 862 return x.Project 863 } 864 return "" 865 } 866 867 func (x *VM) GetServiceAccount() []*ServiceAccount { 868 if x != nil { 869 return x.ServiceAccount 870 } 871 return nil 872 } 873 874 func (x *VM) GetTag() []string { 875 if x != nil { 876 return x.Tag 877 } 878 return nil 879 } 880 881 func (x *VM) GetZone() string { 882 if x != nil { 883 return x.Zone 884 } 885 return "" 886 } 887 888 func (x *VM) GetScheduling() *Scheduling { 889 if x != nil { 890 return x.Scheduling 891 } 892 return nil 893 } 894 895 func (x *VM) GetLabel() map[string]string { 896 if x != nil { 897 return x.Label 898 } 899 return nil 900 } 901 902 func (x *VM) GetDisableIntegrityMonitoring() bool { 903 if x != nil { 904 return x.DisableIntegrityMonitoring 905 } 906 return false 907 } 908 909 func (x *VM) GetEnableSecureBoot() bool { 910 if x != nil { 911 return x.EnableSecureBoot 912 } 913 return false 914 } 915 916 func (x *VM) GetDisableVtpm() bool { 917 if x != nil { 918 return x.DisableVtpm 919 } 920 return false 921 } 922 923 func (x *VM) GetEnableConfidentialCompute() bool { 924 if x != nil { 925 return x.EnableConfidentialCompute 926 } 927 return false 928 } 929 930 func (x *VM) GetForceSendFields() []string { 931 if x != nil { 932 return x.ForceSendFields 933 } 934 return nil 935 } 936 937 func (x *VM) GetNullFields() []string { 938 if x != nil { 939 return x.NullFields 940 } 941 return nil 942 } 943 944 func (x *VM) GetGcpChannel() GCPChannel { 945 if x != nil { 946 return x.GcpChannel 947 } 948 return GCPChannel_GCP_CHANNEL_UNSPECIFIED 949 } 950 951 func (x *VM) GetPerformanceMonitoringUnit() PerformanceMonitoringUnit { 952 if x != nil { 953 return x.PerformanceMonitoringUnit 954 } 955 return PerformanceMonitoringUnit_PERFORMANCE_MONITORING_UNIT_UNSPECIFIED 956 } 957 958 func (x *VM) GetTerminateOnMaintenance() bool { 959 if x != nil { 960 return x.TerminateOnMaintenance 961 } 962 return false 963 } 964 965 // A length of time. 966 type TimePeriod struct { 967 state protoimpl.MessageState 968 sizeCache protoimpl.SizeCache 969 unknownFields protoimpl.UnknownFields 970 971 // Types that are assignable to Time: 972 // 973 // *TimePeriod_Duration 974 // *TimePeriod_Seconds 975 Time isTimePeriod_Time `protobuf_oneof:"time"` 976 } 977 978 func (x *TimePeriod) Reset() { 979 *x = TimePeriod{} 980 if protoimpl.UnsafeEnabled { 981 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[8] 982 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 983 ms.StoreMessageInfo(mi) 984 } 985 } 986 987 func (x *TimePeriod) String() string { 988 return protoimpl.X.MessageStringOf(x) 989 } 990 991 func (*TimePeriod) ProtoMessage() {} 992 993 func (x *TimePeriod) ProtoReflect() protoreflect.Message { 994 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[8] 995 if protoimpl.UnsafeEnabled && x != nil { 996 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 997 if ms.LoadMessageInfo() == nil { 998 ms.StoreMessageInfo(mi) 999 } 1000 return ms 1001 } 1002 return mi.MessageOf(x) 1003 } 1004 1005 // Deprecated: Use TimePeriod.ProtoReflect.Descriptor instead. 1006 func (*TimePeriod) Descriptor() ([]byte, []int) { 1007 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{8} 1008 } 1009 1010 func (m *TimePeriod) GetTime() isTimePeriod_Time { 1011 if m != nil { 1012 return m.Time 1013 } 1014 return nil 1015 } 1016 1017 func (x *TimePeriod) GetDuration() string { 1018 if x, ok := x.GetTime().(*TimePeriod_Duration); ok { 1019 return x.Duration 1020 } 1021 return "" 1022 } 1023 1024 func (x *TimePeriod) GetSeconds() int64 { 1025 if x, ok := x.GetTime().(*TimePeriod_Seconds); ok { 1026 return x.Seconds 1027 } 1028 return 0 1029 } 1030 1031 type isTimePeriod_Time interface { 1032 isTimePeriod_Time() 1033 } 1034 1035 type TimePeriod_Duration struct { 1036 // The length of time in <int><unit> form. 1037 // Valid units are "s", "m", "h", "d", and "mo", meaning 1038 // "seconds", "minutes", "hours", "days", "months" respectively. 1039 // A "day" is shorthand for 24 hours. 1040 // A "month" is shorthand for 30 days. 1041 Duration string `protobuf:"bytes,1,opt,name=duration,proto3,oneof"` 1042 } 1043 1044 type TimePeriod_Seconds struct { 1045 // The length of time in seconds. 1046 Seconds int64 `protobuf:"varint,2,opt,name=seconds,proto3,oneof"` 1047 } 1048 1049 func (*TimePeriod_Duration) isTimePeriod_Time() {} 1050 1051 func (*TimePeriod_Seconds) isTimePeriod_Time() {} 1052 1053 // A time of day. 1054 type TimeOfDay struct { 1055 state protoimpl.MessageState 1056 sizeCache protoimpl.SizeCache 1057 unknownFields protoimpl.UnknownFields 1058 1059 // The day of the week the time applies to. 1060 Day dayofweek.DayOfWeek `protobuf:"varint,1,opt,name=day,proto3,enum=google.type.DayOfWeek" json:"day,omitempty"` 1061 // The location the time should be interpreted in. 1062 // https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. 1063 Location string `protobuf:"bytes,2,opt,name=location,proto3" json:"location,omitempty"` 1064 // The time in 24-hour <hour>:<minute>. 1065 Time string `protobuf:"bytes,3,opt,name=time,proto3" json:"time,omitempty"` 1066 } 1067 1068 func (x *TimeOfDay) Reset() { 1069 *x = TimeOfDay{} 1070 if protoimpl.UnsafeEnabled { 1071 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[9] 1072 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1073 ms.StoreMessageInfo(mi) 1074 } 1075 } 1076 1077 func (x *TimeOfDay) String() string { 1078 return protoimpl.X.MessageStringOf(x) 1079 } 1080 1081 func (*TimeOfDay) ProtoMessage() {} 1082 1083 func (x *TimeOfDay) ProtoReflect() protoreflect.Message { 1084 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[9] 1085 if protoimpl.UnsafeEnabled && x != nil { 1086 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1087 if ms.LoadMessageInfo() == nil { 1088 ms.StoreMessageInfo(mi) 1089 } 1090 return ms 1091 } 1092 return mi.MessageOf(x) 1093 } 1094 1095 // Deprecated: Use TimeOfDay.ProtoReflect.Descriptor instead. 1096 func (*TimeOfDay) Descriptor() ([]byte, []int) { 1097 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{9} 1098 } 1099 1100 func (x *TimeOfDay) GetDay() dayofweek.DayOfWeek { 1101 if x != nil { 1102 return x.Day 1103 } 1104 return dayofweek.DayOfWeek(0) 1105 } 1106 1107 func (x *TimeOfDay) GetLocation() string { 1108 if x != nil { 1109 return x.Location 1110 } 1111 return "" 1112 } 1113 1114 func (x *TimeOfDay) GetTime() string { 1115 if x != nil { 1116 return x.Time 1117 } 1118 return "" 1119 } 1120 1121 // An amount of VMs for particular days of the week. 1122 type Schedule struct { 1123 state protoimpl.MessageState 1124 sizeCache protoimpl.SizeCache 1125 unknownFields protoimpl.UnknownFields 1126 1127 // The length of time the amount is in effect. 1128 // With start, this creates a half-open interval. 1129 // During [start, start+length) the amount will apply. 1130 Length *TimePeriod `protobuf:"bytes,2,opt,name=length,proto3" json:"length,omitempty"` 1131 // The start times when this amount goes into effect. 1132 Start *TimeOfDay `protobuf:"bytes,3,opt,name=start,proto3" json:"start,omitempty"` 1133 // The minimum amount of VMs allowed. 1134 Min int32 `protobuf:"varint,4,opt,name=min,proto3" json:"min,omitempty"` 1135 // The maximum amount of VMs allowed. 1136 Max int32 `protobuf:"varint,5,opt,name=max,proto3" json:"max,omitempty"` 1137 } 1138 1139 func (x *Schedule) Reset() { 1140 *x = Schedule{} 1141 if protoimpl.UnsafeEnabled { 1142 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[10] 1143 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1144 ms.StoreMessageInfo(mi) 1145 } 1146 } 1147 1148 func (x *Schedule) String() string { 1149 return protoimpl.X.MessageStringOf(x) 1150 } 1151 1152 func (*Schedule) ProtoMessage() {} 1153 1154 func (x *Schedule) ProtoReflect() protoreflect.Message { 1155 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[10] 1156 if protoimpl.UnsafeEnabled && x != nil { 1157 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1158 if ms.LoadMessageInfo() == nil { 1159 ms.StoreMessageInfo(mi) 1160 } 1161 return ms 1162 } 1163 return mi.MessageOf(x) 1164 } 1165 1166 // Deprecated: Use Schedule.ProtoReflect.Descriptor instead. 1167 func (*Schedule) Descriptor() ([]byte, []int) { 1168 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{10} 1169 } 1170 1171 func (x *Schedule) GetLength() *TimePeriod { 1172 if x != nil { 1173 return x.Length 1174 } 1175 return nil 1176 } 1177 1178 func (x *Schedule) GetStart() *TimeOfDay { 1179 if x != nil { 1180 return x.Start 1181 } 1182 return nil 1183 } 1184 1185 func (x *Schedule) GetMin() int32 { 1186 if x != nil { 1187 return x.Min 1188 } 1189 return 0 1190 } 1191 1192 func (x *Schedule) GetMax() int32 { 1193 if x != nil { 1194 return x.Max 1195 } 1196 return 0 1197 } 1198 1199 // An amount of VMs. 1200 type Amount struct { 1201 state protoimpl.MessageState 1202 sizeCache protoimpl.SizeCache 1203 unknownFields protoimpl.UnknownFields 1204 1205 // The amount of VMs to have at a particular time. 1206 Change []*Schedule `protobuf:"bytes,2,rep,name=change,proto3" json:"change,omitempty"` 1207 // The minimum amount of VMs allowed, and the amount of VMs to initialize to. 1208 Min int32 `protobuf:"varint,3,opt,name=min,proto3" json:"min,omitempty"` 1209 // The maximum amount of VMs allowed. 1210 Max int32 `protobuf:"varint,4,opt,name=max,proto3" json:"max,omitempty"` 1211 } 1212 1213 func (x *Amount) Reset() { 1214 *x = Amount{} 1215 if protoimpl.UnsafeEnabled { 1216 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[11] 1217 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1218 ms.StoreMessageInfo(mi) 1219 } 1220 } 1221 1222 func (x *Amount) String() string { 1223 return protoimpl.X.MessageStringOf(x) 1224 } 1225 1226 func (*Amount) ProtoMessage() {} 1227 1228 func (x *Amount) ProtoReflect() protoreflect.Message { 1229 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[11] 1230 if protoimpl.UnsafeEnabled && x != nil { 1231 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1232 if ms.LoadMessageInfo() == nil { 1233 ms.StoreMessageInfo(mi) 1234 } 1235 return ms 1236 } 1237 return mi.MessageOf(x) 1238 } 1239 1240 // Deprecated: Use Amount.ProtoReflect.Descriptor instead. 1241 func (*Amount) Descriptor() ([]byte, []int) { 1242 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{11} 1243 } 1244 1245 func (x *Amount) GetChange() []*Schedule { 1246 if x != nil { 1247 return x.Change 1248 } 1249 return nil 1250 } 1251 1252 func (x *Amount) GetMin() int32 { 1253 if x != nil { 1254 return x.Min 1255 } 1256 return 0 1257 } 1258 1259 func (x *Amount) GetMax() int32 { 1260 if x != nil { 1261 return x.Max 1262 } 1263 return 0 1264 } 1265 1266 // A config for one type of VM. 1267 type Config struct { 1268 state protoimpl.MessageState 1269 sizeCache protoimpl.SizeCache 1270 unknownFields protoimpl.UnknownFields 1271 1272 // The amount of these VMs. 1273 Amount *Amount `protobuf:"bytes,1,opt,name=amount,proto3" json:"amount,omitempty"` 1274 // The attributes of these VMs. 1275 Attributes *VM `protobuf:"bytes,2,opt,name=attributes,proto3" json:"attributes,omitempty"` 1276 // The lifetime of these VMs. 1277 // At the end of their lifetime, each VM is deleted and replaced. But it 1278 // won't happen immediately becasuse of scheduling reasons. The delay varies 1279 // based on the specified lifetime. 1280 Lifetime *TimePeriod `protobuf:"bytes,3,opt,name=lifetime,proto3" json:"lifetime,omitempty"` 1281 // The prefix to use when naming these VMs. 1282 Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"` 1283 // The hostname of the Swarming server these VMs should connect to. 1284 Swarming string `protobuf:"bytes,6,opt,name=swarming,proto3" json:"swarming,omitempty"` 1285 // The timeout of these VMs. 1286 // If no Swarming bot has connected by the timeout, 1287 // the VM is deleted and replaced. 1288 Timeout *TimePeriod `protobuf:"bytes,7,opt,name=timeout,proto3" json:"timeout,omitempty"` 1289 // Chrome Infra Auth groups considered to own this config. 1290 Owner []string `protobuf:"bytes,9,rep,name=owner,proto3" json:"owner,omitempty"` 1291 // Set of VMs to be created. 1292 // Each VM represent a DUT. 1293 // Optional. Updated dynamically via RPC. 1294 // TODO(b/318715067): Remove once Device Manager is ready. 1295 Duts map[string]*emptypb.Empty `protobuf:"bytes,10,rep,name=duts,proto3" json:"duts,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 1296 // Should only be set by the server. The revision of this config. 1297 Revision string `protobuf:"bytes,5,opt,name=revision,proto3" json:"revision,omitempty"` 1298 // Should only be set by the server. The current amount of VMs the server is 1299 // trying to create. 1300 CurrentAmount int32 `protobuf:"varint,8,opt,name=current_amount,json=currentAmount,proto3" json:"current_amount,omitempty"` 1301 } 1302 1303 func (x *Config) Reset() { 1304 *x = Config{} 1305 if protoimpl.UnsafeEnabled { 1306 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[12] 1307 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1308 ms.StoreMessageInfo(mi) 1309 } 1310 } 1311 1312 func (x *Config) String() string { 1313 return protoimpl.X.MessageStringOf(x) 1314 } 1315 1316 func (*Config) ProtoMessage() {} 1317 1318 func (x *Config) ProtoReflect() protoreflect.Message { 1319 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[12] 1320 if protoimpl.UnsafeEnabled && x != nil { 1321 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1322 if ms.LoadMessageInfo() == nil { 1323 ms.StoreMessageInfo(mi) 1324 } 1325 return ms 1326 } 1327 return mi.MessageOf(x) 1328 } 1329 1330 // Deprecated: Use Config.ProtoReflect.Descriptor instead. 1331 func (*Config) Descriptor() ([]byte, []int) { 1332 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{12} 1333 } 1334 1335 func (x *Config) GetAmount() *Amount { 1336 if x != nil { 1337 return x.Amount 1338 } 1339 return nil 1340 } 1341 1342 func (x *Config) GetAttributes() *VM { 1343 if x != nil { 1344 return x.Attributes 1345 } 1346 return nil 1347 } 1348 1349 func (x *Config) GetLifetime() *TimePeriod { 1350 if x != nil { 1351 return x.Lifetime 1352 } 1353 return nil 1354 } 1355 1356 func (x *Config) GetPrefix() string { 1357 if x != nil { 1358 return x.Prefix 1359 } 1360 return "" 1361 } 1362 1363 func (x *Config) GetSwarming() string { 1364 if x != nil { 1365 return x.Swarming 1366 } 1367 return "" 1368 } 1369 1370 func (x *Config) GetTimeout() *TimePeriod { 1371 if x != nil { 1372 return x.Timeout 1373 } 1374 return nil 1375 } 1376 1377 func (x *Config) GetOwner() []string { 1378 if x != nil { 1379 return x.Owner 1380 } 1381 return nil 1382 } 1383 1384 func (x *Config) GetDuts() map[string]*emptypb.Empty { 1385 if x != nil { 1386 return x.Duts 1387 } 1388 return nil 1389 } 1390 1391 func (x *Config) GetRevision() string { 1392 if x != nil { 1393 return x.Revision 1394 } 1395 return "" 1396 } 1397 1398 func (x *Config) GetCurrentAmount() int32 { 1399 if x != nil { 1400 return x.CurrentAmount 1401 } 1402 return 0 1403 } 1404 1405 // A config for several types of VMs. 1406 type Configs struct { 1407 state protoimpl.MessageState 1408 sizeCache protoimpl.SizeCache 1409 unknownFields protoimpl.UnknownFields 1410 1411 // The configs for different types of VMs. 1412 Vms []*Config `protobuf:"bytes,1,rep,name=vms,proto3" json:"vms,omitempty"` 1413 } 1414 1415 func (x *Configs) Reset() { 1416 *x = Configs{} 1417 if protoimpl.UnsafeEnabled { 1418 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[13] 1419 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1420 ms.StoreMessageInfo(mi) 1421 } 1422 } 1423 1424 func (x *Configs) String() string { 1425 return protoimpl.X.MessageStringOf(x) 1426 } 1427 1428 func (*Configs) ProtoMessage() {} 1429 1430 func (x *Configs) ProtoReflect() protoreflect.Message { 1431 mi := &file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[13] 1432 if protoimpl.UnsafeEnabled && x != nil { 1433 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1434 if ms.LoadMessageInfo() == nil { 1435 ms.StoreMessageInfo(mi) 1436 } 1437 return ms 1438 } 1439 return mi.MessageOf(x) 1440 } 1441 1442 // Deprecated: Use Configs.ProtoReflect.Descriptor instead. 1443 func (*Configs) Descriptor() ([]byte, []int) { 1444 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP(), []int{13} 1445 } 1446 1447 func (x *Configs) GetVms() []*Config { 1448 if x != nil { 1449 return x.Vms 1450 } 1451 return nil 1452 } 1453 1454 var File_go_chromium_org_luci_gce_api_config_v1_config_proto protoreflect.FileDescriptor 1455 1456 var file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDesc = []byte{ 1457 0x0a, 0x33, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 1458 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x67, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 1459 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 1460 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x1b, 0x67, 1461 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x64, 0x61, 0x79, 0x6f, 0x66, 1462 0x77, 0x65, 0x65, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 1463 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x65, 0x6d, 0x70, 0x74, 1464 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x67, 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 1465 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 0x75, 0x63, 0x69, 0x2f, 0x63, 0x6f, 1466 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 1467 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x3c, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 1468 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 1469 0x61, 0x69, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 1470 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 1471 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x3c, 0x0a, 0x0c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 1472 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 1473 0x20, 0x01, 0x28, 0x0e, 0x32, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 1474 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 1475 0x74, 0x79, 0x70, 0x65, 0x22, 0x87, 0x01, 0x0a, 0x10, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 1476 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x39, 0x0a, 0x0d, 0x61, 0x63, 0x63, 1477 0x65, 0x73, 0x73, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 1478 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 1479 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 1480 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 1481 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x1e, 1482 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x18, 0x03, 0x20, 0x01, 1483 0x28, 0x09, 0x52, 0x0a, 0x73, 0x75, 0x62, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x22, 0x79, 1484 0x0a, 0x04, 0x44, 0x69, 0x73, 0x6b, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 1485 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 1486 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 1487 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 1488 0x74, 0x79, 0x70, 0x65, 0x12, 0x33, 0x0a, 0x09, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 1489 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x15, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1490 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x09, 1491 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x22, 0x54, 0x0a, 0x08, 0x4d, 0x65, 0x74, 1492 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x74, 0x65, 1493 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 1494 0x54, 0x65, 0x78, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x66, 0x72, 0x6f, 0x6d, 0x5f, 0x66, 0x69, 0x6c, 1495 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x66, 0x72, 0x6f, 0x6d, 0x46, 1496 0x69, 0x6c, 0x65, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 1497 0x72, 0x0a, 0x0c, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 1498 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 1499 0x79, 0x12, 0x38, 0x0a, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, 1500 0x01, 0x28, 0x0e, 0x32, 0x1c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x6f, 0x64, 1501 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 1502 0x72, 0x52, 0x08, 0x6f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x76, 1503 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x76, 0x61, 0x6c, 1504 0x75, 0x65, 0x73, 0x22, 0x47, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 1505 0x67, 0x12, 0x39, 0x0a, 0x0d, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 1506 0x74, 0x79, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x14, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 1507 0x67, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x52, 0x0c, 1508 0x6e, 0x6f, 0x64, 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x22, 0xf6, 0x07, 0x0a, 1509 0x02, 0x56, 0x4d, 0x12, 0x20, 0x0a, 0x04, 0x64, 0x69, 0x73, 0x6b, 0x18, 0x01, 0x20, 0x03, 0x28, 1510 0x0b, 0x32, 0x0c, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x52, 1511 0x04, 0x64, 0x69, 0x73, 0x6b, 0x12, 0x21, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 1512 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6d, 0x61, 0x63, 1513 0x68, 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 1514 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 1515 0x66, 0x69, 0x67, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 1516 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x69, 0x6e, 0x5f, 0x63, 0x70, 1517 0x75, 0x5f, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 1518 0x52, 0x0e, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 1519 0x12, 0x45, 0x0a, 0x11, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x5f, 0x69, 0x6e, 0x74, 0x65, 1520 0x72, 0x66, 0x61, 0x63, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 1521 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 0x74, 0x65, 1522 0x72, 0x66, 0x61, 0x63, 0x65, 0x52, 0x10, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x49, 0x6e, 1523 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 1524 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 1525 0x74, 0x12, 0x3f, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 1526 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x63, 0x6f, 0x6e, 1527 0x66, 0x69, 0x67, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 1528 0x6e, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 1529 0x6e, 0x74, 0x12, 0x10, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, 0x08, 0x20, 0x03, 0x28, 0x09, 0x52, 1530 0x03, 0x74, 0x61, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 1531 0x28, 0x09, 0x52, 0x04, 0x7a, 0x6f, 0x6e, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x73, 0x63, 0x68, 0x65, 1532 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 1533 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 1534 0x52, 0x0a, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x2b, 0x0a, 0x05, 1535 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x15, 0x2e, 0x63, 0x6f, 1536 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x4d, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x45, 0x6e, 0x74, 1537 0x72, 0x79, 0x52, 0x05, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x40, 0x0a, 0x1c, 0x64, 0x69, 0x73, 1538 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 0x79, 0x5f, 0x6d, 1539 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 1540 0x1a, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x69, 0x74, 1541 0x79, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x12, 0x65, 1542 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6f, 0x6f, 1543 0x74, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 1544 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x12, 0x21, 0x0a, 0x0c, 0x64, 0x69, 0x73, 1545 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x76, 0x74, 0x70, 0x6d, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 1546 0x0b, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x56, 0x74, 0x70, 0x6d, 0x12, 0x3e, 0x0a, 0x1b, 1547 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x74, 1548 0x69, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 1549 0x08, 0x52, 0x19, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 1550 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x43, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x12, 0x2a, 0x0a, 0x11, 1551 0x66, 0x6f, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6e, 0x64, 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 1552 0x73, 0x18, 0x10, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0f, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x53, 0x65, 1553 0x6e, 0x64, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x6e, 0x75, 0x6c, 0x6c, 1554 0x5f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x6e, 1555 0x75, 0x6c, 0x6c, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x73, 0x12, 0x33, 0x0a, 0x0b, 0x67, 0x63, 0x70, 1556 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x12, 1557 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x47, 0x43, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 1558 0x65, 0x6c, 0x52, 0x0a, 0x67, 0x63, 0x70, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x61, 1559 0x0a, 0x1b, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x5f, 0x6d, 0x6f, 1560 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x5f, 0x75, 0x6e, 0x69, 0x74, 0x18, 0x13, 0x20, 1561 0x01, 0x28, 0x0e, 0x32, 0x21, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x65, 0x72, 1562 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 1563 0x6e, 0x67, 0x55, 0x6e, 0x69, 0x74, 0x52, 0x19, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 1564 0x6e, 0x63, 0x65, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x69, 1565 0x74, 0x12, 0x38, 0x0a, 0x18, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x5f, 0x6f, 1566 0x6e, 0x5f, 0x6d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x14, 0x20, 1567 0x01, 0x28, 0x08, 0x52, 0x16, 0x74, 0x65, 0x72, 0x6d, 0x69, 0x6e, 0x61, 0x74, 0x65, 0x4f, 0x6e, 1568 0x4d, 0x61, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x61, 0x6e, 0x63, 0x65, 0x1a, 0x38, 0x0a, 0x0a, 0x4c, 1569 0x61, 0x62, 0x65, 0x6c, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 1570 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 1571 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 1572 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x4e, 0x0a, 0x0a, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 1573 0x69, 0x6f, 0x64, 0x12, 0x1c, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 1574 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 1575 0x6e, 0x12, 0x1a, 0x0a, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 1576 0x28, 0x03, 0x48, 0x00, 0x52, 0x07, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x42, 0x06, 0x0a, 1577 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x65, 0x0a, 0x09, 0x54, 0x69, 0x6d, 0x65, 0x4f, 0x66, 0x44, 1578 0x61, 0x79, 0x12, 0x28, 0x0a, 0x03, 0x64, 0x61, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 1579 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 1580 0x79, 0x4f, 0x66, 0x57, 0x65, 0x65, 0x6b, 0x52, 0x03, 0x64, 0x61, 0x79, 0x12, 0x1a, 0x0a, 0x08, 1581 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 1582 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 1583 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x89, 0x01, 0x0a, 1584 0x08, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x6c, 0x65, 0x6e, 1585 0x67, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 1586 0x69, 0x67, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x06, 0x6c, 1587 0x65, 0x6e, 0x67, 0x74, 0x68, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x03, 1588 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x69, 1589 0x6d, 0x65, 0x4f, 0x66, 0x44, 0x61, 0x79, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 1590 0x0a, 0x03, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, 0x6e, 1591 0x12, 0x10, 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 1592 0x61, 0x78, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0x5c, 0x0a, 0x06, 0x41, 0x6d, 0x6f, 0x75, 1593 0x6e, 0x74, 0x12, 0x28, 0x0a, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x02, 0x20, 0x03, 1594 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x63, 0x68, 0x65, 1595 0x64, 0x75, 0x6c, 0x65, 0x52, 0x06, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x10, 0x0a, 0x03, 1596 0x6d, 0x69, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x69, 0x6e, 0x12, 0x10, 1597 0x0a, 0x03, 0x6d, 0x61, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6d, 0x61, 0x78, 1598 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x22, 0xc6, 0x03, 0x0a, 0x06, 0x43, 0x6f, 0x6e, 0x66, 0x69, 1599 0x67, 0x12, 0x26, 0x0a, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 1600 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 1601 0x74, 0x52, 0x06, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 1602 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x0a, 0x2e, 1603 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x4d, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 1604 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2e, 0x0a, 0x08, 0x6c, 0x69, 0x66, 0x65, 0x74, 0x69, 0x6d, 1605 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1606 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x08, 0x6c, 0x69, 0x66, 1607 0x65, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 1608 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 1609 0x08, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 1610 0x08, 0x73, 0x77, 0x61, 0x72, 0x6d, 0x69, 0x6e, 0x67, 0x12, 0x2c, 0x0a, 0x07, 0x74, 0x69, 0x6d, 1611 0x65, 0x6f, 0x75, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x63, 0x6f, 0x6e, 1612 0x66, 0x69, 0x67, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x52, 0x07, 1613 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 1614 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x2c, 0x0a, 1615 0x04, 0x64, 0x75, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x63, 0x6f, 1616 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x75, 0x74, 0x73, 1617 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x04, 0x64, 0x75, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 1618 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 1619 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x25, 0x0a, 0x0e, 0x63, 0x75, 0x72, 0x72, 0x65, 1620 0x6e, 0x74, 0x5f, 0x61, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x05, 0x52, 1621 0x0d, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x41, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x1a, 0x4f, 1622 0x0a, 0x09, 0x44, 0x75, 0x74, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 1623 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x2c, 0x0a, 1624 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x67, 1625 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 1626 0x6d, 0x70, 0x74, 0x79, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 1627 0x2b, 0x0a, 0x07, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x12, 0x20, 0x0a, 0x03, 0x76, 0x6d, 1628 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x0e, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1629 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x03, 0x76, 0x6d, 0x73, 0x2a, 0x26, 0x0a, 0x10, 1630 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x54, 0x79, 0x70, 0x65, 1631 0x12, 0x12, 0x0a, 0x0e, 0x4f, 0x4e, 0x45, 0x5f, 0x54, 0x4f, 0x5f, 0x4f, 0x4e, 0x45, 0x5f, 0x4e, 1632 0x41, 0x54, 0x10, 0x00, 0x2a, 0x23, 0x0a, 0x0d, 0x44, 0x69, 0x73, 0x6b, 0x49, 0x6e, 0x74, 0x65, 1633 0x72, 0x66, 0x61, 0x63, 0x65, 0x12, 0x08, 0x0a, 0x04, 0x53, 0x43, 0x53, 0x49, 0x10, 0x00, 0x12, 1634 0x08, 0x0a, 0x04, 0x4e, 0x56, 0x4d, 0x45, 0x10, 0x01, 0x2a, 0x44, 0x0a, 0x14, 0x4e, 0x6f, 0x64, 1635 0x65, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x4f, 0x70, 0x65, 0x72, 0x61, 0x74, 0x6f, 1636 0x72, 0x12, 0x18, 0x0a, 0x14, 0x4f, 0x50, 0x45, 0x52, 0x41, 0x54, 0x4f, 0x52, 0x5f, 0x55, 0x4e, 1637 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x06, 0x0a, 0x02, 0x49, 1638 0x4e, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x4f, 0x54, 0x5f, 0x49, 0x4e, 0x10, 0x02, 0x2a, 1639 0x6e, 0x0a, 0x0a, 0x47, 0x43, 0x50, 0x43, 0x68, 0x61, 0x6e, 0x6e, 0x65, 0x6c, 0x12, 0x1b, 0x0a, 1640 0x17, 0x47, 0x43, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 1641 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x47, 0x43, 1642 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x53, 0x54, 0x41, 0x42, 0x4c, 0x45, 1643 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x47, 0x43, 0x50, 0x5f, 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 1644 0x4c, 0x5f, 0x42, 0x45, 0x54, 0x41, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x47, 0x43, 0x50, 0x5f, 1645 0x43, 0x48, 0x41, 0x4e, 0x4e, 0x45, 0x4c, 0x5f, 0x41, 0x4c, 0x50, 0x48, 0x41, 0x10, 0x03, 0x2a, 1646 0x77, 0x0a, 0x19, 0x50, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x6e, 0x63, 0x65, 0x4d, 0x6f, 1647 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x69, 0x6e, 0x67, 0x55, 0x6e, 0x69, 0x74, 0x12, 0x2b, 0x0a, 0x27, 1648 0x50, 0x45, 0x52, 0x46, 0x4f, 0x52, 0x4d, 0x41, 0x4e, 0x43, 0x45, 0x5f, 0x4d, 0x4f, 0x4e, 0x49, 1649 0x54, 0x4f, 0x52, 0x49, 0x4e, 0x47, 0x5f, 0x55, 0x4e, 0x49, 0x54, 0x5f, 0x55, 0x4e, 0x53, 0x50, 1650 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x41, 0x52, 0x43, 1651 0x48, 0x49, 0x54, 0x45, 0x43, 0x54, 0x55, 0x52, 0x41, 0x4c, 0x10, 0x01, 0x12, 0x0c, 0x0a, 0x08, 1652 0x45, 0x4e, 0x48, 0x41, 0x4e, 0x43, 0x45, 0x44, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 1653 0x41, 0x4e, 0x44, 0x41, 0x52, 0x44, 0x10, 0x03, 0x42, 0x72, 0xa2, 0xfe, 0x23, 0x3f, 0x0a, 0x3d, 1654 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6c, 1655 0x75, 0x63, 0x69, 0x2e, 0x61, 0x70, 0x70, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x73, 0x2f, 1656 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x67, 0x63, 0x65, 0x2d, 0x70, 0x72, 0x6f, 1657 0x76, 0x69, 0x64, 0x65, 0x72, 0x3a, 0x76, 0x6d, 0x73, 0x2e, 0x63, 0x66, 0x67, 0x5a, 0x2d, 0x67, 1658 0x6f, 0x2e, 0x63, 0x68, 0x72, 0x6f, 0x6d, 0x69, 0x75, 0x6d, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, 1659 0x75, 0x63, 0x69, 0x2f, 0x67, 0x63, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 1660 0x69, 0x67, 0x2f, 0x76, 0x31, 0x3b, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 1661 0x6f, 0x74, 0x6f, 0x33, 1662 } 1663 1664 var ( 1665 file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescOnce sync.Once 1666 file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescData = file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDesc 1667 ) 1668 1669 func file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescGZIP() []byte { 1670 file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescOnce.Do(func() { 1671 file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescData) 1672 }) 1673 return file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDescData 1674 } 1675 1676 var file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes = make([]protoimpl.EnumInfo, 5) 1677 var file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes = make([]protoimpl.MessageInfo, 16) 1678 var file_go_chromium_org_luci_gce_api_config_v1_config_proto_goTypes = []interface{}{ 1679 (AccessConfigType)(0), // 0: config.AccessConfigType 1680 (DiskInterface)(0), // 1: config.DiskInterface 1681 (NodeAffinityOperator)(0), // 2: config.NodeAffinityOperator 1682 (GCPChannel)(0), // 3: config.GCPChannel 1683 (PerformanceMonitoringUnit)(0), // 4: config.PerformanceMonitoringUnit 1684 (*ServiceAccount)(nil), // 5: config.ServiceAccount 1685 (*AccessConfig)(nil), // 6: config.AccessConfig 1686 (*NetworkInterface)(nil), // 7: config.NetworkInterface 1687 (*Disk)(nil), // 8: config.Disk 1688 (*Metadata)(nil), // 9: config.Metadata 1689 (*NodeAffinity)(nil), // 10: config.NodeAffinity 1690 (*Scheduling)(nil), // 11: config.Scheduling 1691 (*VM)(nil), // 12: config.VM 1692 (*TimePeriod)(nil), // 13: config.TimePeriod 1693 (*TimeOfDay)(nil), // 14: config.TimeOfDay 1694 (*Schedule)(nil), // 15: config.Schedule 1695 (*Amount)(nil), // 16: config.Amount 1696 (*Config)(nil), // 17: config.Config 1697 (*Configs)(nil), // 18: config.Configs 1698 nil, // 19: config.VM.LabelEntry 1699 nil, // 20: config.Config.DutsEntry 1700 (dayofweek.DayOfWeek)(0), // 21: google.type.DayOfWeek 1701 (*emptypb.Empty)(nil), // 22: google.protobuf.Empty 1702 } 1703 var file_go_chromium_org_luci_gce_api_config_v1_config_proto_depIdxs = []int32{ 1704 0, // 0: config.AccessConfig.type:type_name -> config.AccessConfigType 1705 6, // 1: config.NetworkInterface.access_config:type_name -> config.AccessConfig 1706 1, // 2: config.Disk.interface:type_name -> config.DiskInterface 1707 2, // 3: config.NodeAffinity.operator:type_name -> config.NodeAffinityOperator 1708 10, // 4: config.Scheduling.node_affinity:type_name -> config.NodeAffinity 1709 8, // 5: config.VM.disk:type_name -> config.Disk 1710 9, // 6: config.VM.metadata:type_name -> config.Metadata 1711 7, // 7: config.VM.network_interface:type_name -> config.NetworkInterface 1712 5, // 8: config.VM.service_account:type_name -> config.ServiceAccount 1713 11, // 9: config.VM.scheduling:type_name -> config.Scheduling 1714 19, // 10: config.VM.label:type_name -> config.VM.LabelEntry 1715 3, // 11: config.VM.gcp_channel:type_name -> config.GCPChannel 1716 4, // 12: config.VM.performance_monitoring_unit:type_name -> config.PerformanceMonitoringUnit 1717 21, // 13: config.TimeOfDay.day:type_name -> google.type.DayOfWeek 1718 13, // 14: config.Schedule.length:type_name -> config.TimePeriod 1719 14, // 15: config.Schedule.start:type_name -> config.TimeOfDay 1720 15, // 16: config.Amount.change:type_name -> config.Schedule 1721 16, // 17: config.Config.amount:type_name -> config.Amount 1722 12, // 18: config.Config.attributes:type_name -> config.VM 1723 13, // 19: config.Config.lifetime:type_name -> config.TimePeriod 1724 13, // 20: config.Config.timeout:type_name -> config.TimePeriod 1725 20, // 21: config.Config.duts:type_name -> config.Config.DutsEntry 1726 17, // 22: config.Configs.vms:type_name -> config.Config 1727 22, // 23: config.Config.DutsEntry.value:type_name -> google.protobuf.Empty 1728 24, // [24:24] is the sub-list for method output_type 1729 24, // [24:24] is the sub-list for method input_type 1730 24, // [24:24] is the sub-list for extension type_name 1731 24, // [24:24] is the sub-list for extension extendee 1732 0, // [0:24] is the sub-list for field type_name 1733 } 1734 1735 func init() { file_go_chromium_org_luci_gce_api_config_v1_config_proto_init() } 1736 func file_go_chromium_org_luci_gce_api_config_v1_config_proto_init() { 1737 if File_go_chromium_org_luci_gce_api_config_v1_config_proto != nil { 1738 return 1739 } 1740 if !protoimpl.UnsafeEnabled { 1741 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 1742 switch v := v.(*ServiceAccount); i { 1743 case 0: 1744 return &v.state 1745 case 1: 1746 return &v.sizeCache 1747 case 2: 1748 return &v.unknownFields 1749 default: 1750 return nil 1751 } 1752 } 1753 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 1754 switch v := v.(*AccessConfig); i { 1755 case 0: 1756 return &v.state 1757 case 1: 1758 return &v.sizeCache 1759 case 2: 1760 return &v.unknownFields 1761 default: 1762 return nil 1763 } 1764 } 1765 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 1766 switch v := v.(*NetworkInterface); i { 1767 case 0: 1768 return &v.state 1769 case 1: 1770 return &v.sizeCache 1771 case 2: 1772 return &v.unknownFields 1773 default: 1774 return nil 1775 } 1776 } 1777 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 1778 switch v := v.(*Disk); i { 1779 case 0: 1780 return &v.state 1781 case 1: 1782 return &v.sizeCache 1783 case 2: 1784 return &v.unknownFields 1785 default: 1786 return nil 1787 } 1788 } 1789 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 1790 switch v := v.(*Metadata); i { 1791 case 0: 1792 return &v.state 1793 case 1: 1794 return &v.sizeCache 1795 case 2: 1796 return &v.unknownFields 1797 default: 1798 return nil 1799 } 1800 } 1801 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 1802 switch v := v.(*NodeAffinity); i { 1803 case 0: 1804 return &v.state 1805 case 1: 1806 return &v.sizeCache 1807 case 2: 1808 return &v.unknownFields 1809 default: 1810 return nil 1811 } 1812 } 1813 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 1814 switch v := v.(*Scheduling); i { 1815 case 0: 1816 return &v.state 1817 case 1: 1818 return &v.sizeCache 1819 case 2: 1820 return &v.unknownFields 1821 default: 1822 return nil 1823 } 1824 } 1825 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 1826 switch v := v.(*VM); i { 1827 case 0: 1828 return &v.state 1829 case 1: 1830 return &v.sizeCache 1831 case 2: 1832 return &v.unknownFields 1833 default: 1834 return nil 1835 } 1836 } 1837 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 1838 switch v := v.(*TimePeriod); i { 1839 case 0: 1840 return &v.state 1841 case 1: 1842 return &v.sizeCache 1843 case 2: 1844 return &v.unknownFields 1845 default: 1846 return nil 1847 } 1848 } 1849 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 1850 switch v := v.(*TimeOfDay); i { 1851 case 0: 1852 return &v.state 1853 case 1: 1854 return &v.sizeCache 1855 case 2: 1856 return &v.unknownFields 1857 default: 1858 return nil 1859 } 1860 } 1861 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 1862 switch v := v.(*Schedule); i { 1863 case 0: 1864 return &v.state 1865 case 1: 1866 return &v.sizeCache 1867 case 2: 1868 return &v.unknownFields 1869 default: 1870 return nil 1871 } 1872 } 1873 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 1874 switch v := v.(*Amount); i { 1875 case 0: 1876 return &v.state 1877 case 1: 1878 return &v.sizeCache 1879 case 2: 1880 return &v.unknownFields 1881 default: 1882 return nil 1883 } 1884 } 1885 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 1886 switch v := v.(*Config); i { 1887 case 0: 1888 return &v.state 1889 case 1: 1890 return &v.sizeCache 1891 case 2: 1892 return &v.unknownFields 1893 default: 1894 return nil 1895 } 1896 } 1897 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 1898 switch v := v.(*Configs); i { 1899 case 0: 1900 return &v.state 1901 case 1: 1902 return &v.sizeCache 1903 case 2: 1904 return &v.unknownFields 1905 default: 1906 return nil 1907 } 1908 } 1909 } 1910 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[4].OneofWrappers = []interface{}{ 1911 (*Metadata_FromText)(nil), 1912 (*Metadata_FromFile)(nil), 1913 } 1914 file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes[8].OneofWrappers = []interface{}{ 1915 (*TimePeriod_Duration)(nil), 1916 (*TimePeriod_Seconds)(nil), 1917 } 1918 type x struct{} 1919 out := protoimpl.TypeBuilder{ 1920 File: protoimpl.DescBuilder{ 1921 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1922 RawDescriptor: file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDesc, 1923 NumEnums: 5, 1924 NumMessages: 16, 1925 NumExtensions: 0, 1926 NumServices: 0, 1927 }, 1928 GoTypes: file_go_chromium_org_luci_gce_api_config_v1_config_proto_goTypes, 1929 DependencyIndexes: file_go_chromium_org_luci_gce_api_config_v1_config_proto_depIdxs, 1930 EnumInfos: file_go_chromium_org_luci_gce_api_config_v1_config_proto_enumTypes, 1931 MessageInfos: file_go_chromium_org_luci_gce_api_config_v1_config_proto_msgTypes, 1932 }.Build() 1933 File_go_chromium_org_luci_gce_api_config_v1_config_proto = out.File 1934 file_go_chromium_org_luci_gce_api_config_v1_config_proto_rawDesc = nil 1935 file_go_chromium_org_luci_gce_api_config_v1_config_proto_goTypes = nil 1936 file_go_chromium_org_luci_gce_api_config_v1_config_proto_depIdxs = nil 1937 }