cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/persistent_resource.pb.go (about) 1 // Copyright 2025 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.35.2 18 // protoc v4.25.7 19 // source: google/cloud/aiplatform/v1beta1/persistent_resource.proto 20 21 package aiplatformpb 22 23 import ( 24 _ "google.golang.org/genproto/googleapis/api/annotations" 25 status "google.golang.org/genproto/googleapis/rpc/status" 26 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 27 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 28 timestamppb "google.golang.org/protobuf/types/known/timestamppb" 29 reflect "reflect" 30 sync "sync" 31 ) 32 33 const ( 34 // Verify that this generated code is sufficiently up-to-date. 35 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 36 // Verify that runtime/protoimpl is sufficiently up-to-date. 37 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 38 ) 39 40 // Describes the PersistentResource state. 41 type PersistentResource_State int32 42 43 const ( 44 // Not set. 45 PersistentResource_STATE_UNSPECIFIED PersistentResource_State = 0 46 // The PROVISIONING state indicates the persistent resources is being 47 // created. 48 PersistentResource_PROVISIONING PersistentResource_State = 1 49 // The RUNNING state indicates the persistent resource is healthy and fully 50 // usable. 51 PersistentResource_RUNNING PersistentResource_State = 3 52 // The STOPPING state indicates the persistent resource is being deleted. 53 PersistentResource_STOPPING PersistentResource_State = 4 54 // The ERROR state indicates the persistent resource may be unusable. 55 // Details can be found in the `error` field. 56 PersistentResource_ERROR PersistentResource_State = 5 57 // The REBOOTING state indicates the persistent resource is being rebooted 58 // (PR is not available right now but is expected to be ready again later). 59 PersistentResource_REBOOTING PersistentResource_State = 6 60 // The UPDATING state indicates the persistent resource is being updated. 61 PersistentResource_UPDATING PersistentResource_State = 7 62 ) 63 64 // Enum value maps for PersistentResource_State. 65 var ( 66 PersistentResource_State_name = map[int32]string{ 67 0: "STATE_UNSPECIFIED", 68 1: "PROVISIONING", 69 3: "RUNNING", 70 4: "STOPPING", 71 5: "ERROR", 72 6: "REBOOTING", 73 7: "UPDATING", 74 } 75 PersistentResource_State_value = map[string]int32{ 76 "STATE_UNSPECIFIED": 0, 77 "PROVISIONING": 1, 78 "RUNNING": 3, 79 "STOPPING": 4, 80 "ERROR": 5, 81 "REBOOTING": 6, 82 "UPDATING": 7, 83 } 84 ) 85 86 func (x PersistentResource_State) Enum() *PersistentResource_State { 87 p := new(PersistentResource_State) 88 *p = x 89 return p 90 } 91 92 func (x PersistentResource_State) String() string { 93 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 94 } 95 96 func (PersistentResource_State) Descriptor() protoreflect.EnumDescriptor { 97 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes[0].Descriptor() 98 } 99 100 func (PersistentResource_State) Type() protoreflect.EnumType { 101 return &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes[0] 102 } 103 104 func (x PersistentResource_State) Number() protoreflect.EnumNumber { 105 return protoreflect.EnumNumber(x) 106 } 107 108 // Deprecated: Use PersistentResource_State.Descriptor instead. 109 func (PersistentResource_State) EnumDescriptor() ([]byte, []int) { 110 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{0, 0} 111 } 112 113 // Represents long-lasting resources that are dedicated to users to runs custom 114 // workloads. 115 // A PersistentResource can have multiple node pools and each node 116 // pool can have its own machine spec. 117 type PersistentResource struct { 118 state protoimpl.MessageState 119 sizeCache protoimpl.SizeCache 120 unknownFields protoimpl.UnknownFields 121 122 // Immutable. Resource name of a PersistentResource. 123 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 124 // Optional. The display name of the PersistentResource. 125 // The name can be up to 128 characters long and can consist of any UTF-8 126 // characters. 127 DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"` 128 // Required. The spec of the pools of different resources. 129 ResourcePools []*ResourcePool `protobuf:"bytes,4,rep,name=resource_pools,json=resourcePools,proto3" json:"resource_pools,omitempty"` 130 // Output only. The detailed state of a Study. 131 State PersistentResource_State `protobuf:"varint,5,opt,name=state,proto3,enum=google.cloud.aiplatform.v1beta1.PersistentResource_State" json:"state,omitempty"` 132 // Output only. Only populated when persistent resource's state is `STOPPING` 133 // or `ERROR`. 134 Error *status.Status `protobuf:"bytes,6,opt,name=error,proto3" json:"error,omitempty"` 135 // Output only. Time when the PersistentResource was created. 136 CreateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` 137 // Output only. Time when the PersistentResource for the first time entered 138 // the `RUNNING` state. 139 StartTime *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"` 140 // Output only. Time when the PersistentResource was most recently updated. 141 UpdateTime *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` 142 // Optional. The labels with user-defined metadata to organize 143 // PersistentResource. 144 // 145 // Label keys and values can be no longer than 64 characters 146 // (Unicode codepoints), can only contain lowercase letters, numeric 147 // characters, underscores and dashes. International characters are allowed. 148 // 149 // See https://goo.gl/xmQnxf for more information and examples of labels. 150 Labels map[string]string `protobuf:"bytes,10,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 151 // Optional. The full name of the Compute Engine 152 // [network](/compute/docs/networks-and-firewalls#networks) to peered with 153 // Vertex AI to host the persistent resources. 154 // For example, `projects/12345/global/networks/myVPC`. 155 // [Format](/compute/docs/reference/rest/v1/networks/insert) 156 // is of the form `projects/{project}/global/networks/{network}`. 157 // Where {project} is a project number, as in `12345`, and {network} is a 158 // network name. 159 // 160 // To specify this field, you must have already [configured VPC Network 161 // Peering for Vertex 162 // AI](https://cloud.google.com/vertex-ai/docs/general/vpc-peering). 163 // 164 // If this field is left unspecified, the resources aren't peered with any 165 // network. 166 Network string `protobuf:"bytes,11,opt,name=network,proto3" json:"network,omitempty"` 167 // Optional. Configuration for PSC-I for PersistentResource. 168 PscInterfaceConfig *PscInterfaceConfig `protobuf:"bytes,17,opt,name=psc_interface_config,json=pscInterfaceConfig,proto3" json:"psc_interface_config,omitempty"` 169 // Optional. Customer-managed encryption key spec for a PersistentResource. 170 // If set, this PersistentResource and all sub-resources of this 171 // PersistentResource will be secured by this key. 172 EncryptionSpec *EncryptionSpec `protobuf:"bytes,12,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"` 173 // Optional. Persistent Resource runtime spec. 174 // For example, used for Ray cluster configuration. 175 ResourceRuntimeSpec *ResourceRuntimeSpec `protobuf:"bytes,13,opt,name=resource_runtime_spec,json=resourceRuntimeSpec,proto3" json:"resource_runtime_spec,omitempty"` 176 // Output only. Runtime information of the Persistent Resource. 177 ResourceRuntime *ResourceRuntime `protobuf:"bytes,14,opt,name=resource_runtime,json=resourceRuntime,proto3" json:"resource_runtime,omitempty"` 178 // Optional. A list of names for the reserved IP ranges under the VPC network 179 // that can be used for this persistent resource. 180 // 181 // If set, we will deploy the persistent resource within the provided IP 182 // ranges. Otherwise, the persistent resource is deployed to any IP 183 // ranges under the provided VPC network. 184 // 185 // Example: ['vertex-ai-ip-range']. 186 ReservedIpRanges []string `protobuf:"bytes,15,rep,name=reserved_ip_ranges,json=reservedIpRanges,proto3" json:"reserved_ip_ranges,omitempty"` 187 // Output only. Reserved for future use. 188 SatisfiesPzs bool `protobuf:"varint,18,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"` 189 // Output only. Reserved for future use. 190 SatisfiesPzi bool `protobuf:"varint,19,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"` 191 } 192 193 func (x *PersistentResource) Reset() { 194 *x = PersistentResource{} 195 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[0] 196 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 197 ms.StoreMessageInfo(mi) 198 } 199 200 func (x *PersistentResource) String() string { 201 return protoimpl.X.MessageStringOf(x) 202 } 203 204 func (*PersistentResource) ProtoMessage() {} 205 206 func (x *PersistentResource) ProtoReflect() protoreflect.Message { 207 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[0] 208 if x != nil { 209 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 210 if ms.LoadMessageInfo() == nil { 211 ms.StoreMessageInfo(mi) 212 } 213 return ms 214 } 215 return mi.MessageOf(x) 216 } 217 218 // Deprecated: Use PersistentResource.ProtoReflect.Descriptor instead. 219 func (*PersistentResource) Descriptor() ([]byte, []int) { 220 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{0} 221 } 222 223 func (x *PersistentResource) GetName() string { 224 if x != nil { 225 return x.Name 226 } 227 return "" 228 } 229 230 func (x *PersistentResource) GetDisplayName() string { 231 if x != nil { 232 return x.DisplayName 233 } 234 return "" 235 } 236 237 func (x *PersistentResource) GetResourcePools() []*ResourcePool { 238 if x != nil { 239 return x.ResourcePools 240 } 241 return nil 242 } 243 244 func (x *PersistentResource) GetState() PersistentResource_State { 245 if x != nil { 246 return x.State 247 } 248 return PersistentResource_STATE_UNSPECIFIED 249 } 250 251 func (x *PersistentResource) GetError() *status.Status { 252 if x != nil { 253 return x.Error 254 } 255 return nil 256 } 257 258 func (x *PersistentResource) GetCreateTime() *timestamppb.Timestamp { 259 if x != nil { 260 return x.CreateTime 261 } 262 return nil 263 } 264 265 func (x *PersistentResource) GetStartTime() *timestamppb.Timestamp { 266 if x != nil { 267 return x.StartTime 268 } 269 return nil 270 } 271 272 func (x *PersistentResource) GetUpdateTime() *timestamppb.Timestamp { 273 if x != nil { 274 return x.UpdateTime 275 } 276 return nil 277 } 278 279 func (x *PersistentResource) GetLabels() map[string]string { 280 if x != nil { 281 return x.Labels 282 } 283 return nil 284 } 285 286 func (x *PersistentResource) GetNetwork() string { 287 if x != nil { 288 return x.Network 289 } 290 return "" 291 } 292 293 func (x *PersistentResource) GetPscInterfaceConfig() *PscInterfaceConfig { 294 if x != nil { 295 return x.PscInterfaceConfig 296 } 297 return nil 298 } 299 300 func (x *PersistentResource) GetEncryptionSpec() *EncryptionSpec { 301 if x != nil { 302 return x.EncryptionSpec 303 } 304 return nil 305 } 306 307 func (x *PersistentResource) GetResourceRuntimeSpec() *ResourceRuntimeSpec { 308 if x != nil { 309 return x.ResourceRuntimeSpec 310 } 311 return nil 312 } 313 314 func (x *PersistentResource) GetResourceRuntime() *ResourceRuntime { 315 if x != nil { 316 return x.ResourceRuntime 317 } 318 return nil 319 } 320 321 func (x *PersistentResource) GetReservedIpRanges() []string { 322 if x != nil { 323 return x.ReservedIpRanges 324 } 325 return nil 326 } 327 328 func (x *PersistentResource) GetSatisfiesPzs() bool { 329 if x != nil { 330 return x.SatisfiesPzs 331 } 332 return false 333 } 334 335 func (x *PersistentResource) GetSatisfiesPzi() bool { 336 if x != nil { 337 return x.SatisfiesPzi 338 } 339 return false 340 } 341 342 // Represents the spec of a group of resources of the same type, 343 // for example machine type, disk, and accelerators, in a PersistentResource. 344 type ResourcePool struct { 345 state protoimpl.MessageState 346 sizeCache protoimpl.SizeCache 347 unknownFields protoimpl.UnknownFields 348 349 // Immutable. The unique ID in a PersistentResource for referring to this 350 // resource pool. User can specify it if necessary. Otherwise, it's generated 351 // automatically. 352 Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` 353 // Required. Immutable. The specification of a single machine. 354 MachineSpec *MachineSpec `protobuf:"bytes,2,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` 355 // Optional. The total number of machines to use for this resource pool. 356 ReplicaCount *int64 `protobuf:"varint,3,opt,name=replica_count,json=replicaCount,proto3,oneof" json:"replica_count,omitempty"` 357 // Optional. Disk spec for the machine in this node pool. 358 DiskSpec *DiskSpec `protobuf:"bytes,4,opt,name=disk_spec,json=diskSpec,proto3" json:"disk_spec,omitempty"` 359 // Output only. The number of machines currently in use by training jobs for 360 // this resource pool. Will replace idle_replica_count. 361 UsedReplicaCount int64 `protobuf:"varint,6,opt,name=used_replica_count,json=usedReplicaCount,proto3" json:"used_replica_count,omitempty"` 362 // Optional. Optional spec to configure GKE or Ray-on-Vertex autoscaling 363 AutoscalingSpec *ResourcePool_AutoscalingSpec `protobuf:"bytes,7,opt,name=autoscaling_spec,json=autoscalingSpec,proto3" json:"autoscaling_spec,omitempty"` 364 } 365 366 func (x *ResourcePool) Reset() { 367 *x = ResourcePool{} 368 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1] 369 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 370 ms.StoreMessageInfo(mi) 371 } 372 373 func (x *ResourcePool) String() string { 374 return protoimpl.X.MessageStringOf(x) 375 } 376 377 func (*ResourcePool) ProtoMessage() {} 378 379 func (x *ResourcePool) ProtoReflect() protoreflect.Message { 380 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1] 381 if x != nil { 382 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 383 if ms.LoadMessageInfo() == nil { 384 ms.StoreMessageInfo(mi) 385 } 386 return ms 387 } 388 return mi.MessageOf(x) 389 } 390 391 // Deprecated: Use ResourcePool.ProtoReflect.Descriptor instead. 392 func (*ResourcePool) Descriptor() ([]byte, []int) { 393 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{1} 394 } 395 396 func (x *ResourcePool) GetId() string { 397 if x != nil { 398 return x.Id 399 } 400 return "" 401 } 402 403 func (x *ResourcePool) GetMachineSpec() *MachineSpec { 404 if x != nil { 405 return x.MachineSpec 406 } 407 return nil 408 } 409 410 func (x *ResourcePool) GetReplicaCount() int64 { 411 if x != nil && x.ReplicaCount != nil { 412 return *x.ReplicaCount 413 } 414 return 0 415 } 416 417 func (x *ResourcePool) GetDiskSpec() *DiskSpec { 418 if x != nil { 419 return x.DiskSpec 420 } 421 return nil 422 } 423 424 func (x *ResourcePool) GetUsedReplicaCount() int64 { 425 if x != nil { 426 return x.UsedReplicaCount 427 } 428 return 0 429 } 430 431 func (x *ResourcePool) GetAutoscalingSpec() *ResourcePool_AutoscalingSpec { 432 if x != nil { 433 return x.AutoscalingSpec 434 } 435 return nil 436 } 437 438 // Configuration for the runtime on a PersistentResource instance, including 439 // but not limited to: 440 // 441 // * Service accounts used to run the workloads. 442 // * Whether to make it a dedicated Ray Cluster. 443 type ResourceRuntimeSpec struct { 444 state protoimpl.MessageState 445 sizeCache protoimpl.SizeCache 446 unknownFields protoimpl.UnknownFields 447 448 // Optional. Configure the use of workload identity on the PersistentResource 449 ServiceAccountSpec *ServiceAccountSpec `protobuf:"bytes,2,opt,name=service_account_spec,json=serviceAccountSpec,proto3" json:"service_account_spec,omitempty"` 450 // Optional. Ray cluster configuration. 451 // Required when creating a dedicated RayCluster on the PersistentResource. 452 RaySpec *RaySpec `protobuf:"bytes,1,opt,name=ray_spec,json=raySpec,proto3" json:"ray_spec,omitempty"` 453 } 454 455 func (x *ResourceRuntimeSpec) Reset() { 456 *x = ResourceRuntimeSpec{} 457 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[2] 458 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 459 ms.StoreMessageInfo(mi) 460 } 461 462 func (x *ResourceRuntimeSpec) String() string { 463 return protoimpl.X.MessageStringOf(x) 464 } 465 466 func (*ResourceRuntimeSpec) ProtoMessage() {} 467 468 func (x *ResourceRuntimeSpec) ProtoReflect() protoreflect.Message { 469 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[2] 470 if x != nil { 471 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 472 if ms.LoadMessageInfo() == nil { 473 ms.StoreMessageInfo(mi) 474 } 475 return ms 476 } 477 return mi.MessageOf(x) 478 } 479 480 // Deprecated: Use ResourceRuntimeSpec.ProtoReflect.Descriptor instead. 481 func (*ResourceRuntimeSpec) Descriptor() ([]byte, []int) { 482 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{2} 483 } 484 485 func (x *ResourceRuntimeSpec) GetServiceAccountSpec() *ServiceAccountSpec { 486 if x != nil { 487 return x.ServiceAccountSpec 488 } 489 return nil 490 } 491 492 func (x *ResourceRuntimeSpec) GetRaySpec() *RaySpec { 493 if x != nil { 494 return x.RaySpec 495 } 496 return nil 497 } 498 499 // Configuration information for the Ray cluster. 500 // For experimental launch, Ray cluster creation and Persistent 501 // cluster creation are 1:1 mapping: We will provision all the nodes within the 502 // Persistent cluster as Ray nodes. 503 type RaySpec struct { 504 state protoimpl.MessageState 505 sizeCache protoimpl.SizeCache 506 unknownFields protoimpl.UnknownFields 507 508 // Optional. Default image for user to choose a preferred ML framework 509 // (for example, TensorFlow or Pytorch) by choosing from [Vertex prebuilt 510 // images](https://cloud.google.com/vertex-ai/docs/training/pre-built-containers). 511 // Either this or the resource_pool_images is required. Use this field if 512 // you need all the resource pools to have the same Ray image. Otherwise, use 513 // the {@code resource_pool_images} field. 514 ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"` 515 // Optional. Use if you want to mount to any NFS storages. 516 NfsMounts []*NfsMount `protobuf:"bytes,11,rep,name=nfs_mounts,json=nfsMounts,proto3" json:"nfs_mounts,omitempty"` 517 // Optional. Required if image_uri isn't set. A map of resource_pool_id to 518 // prebuild Ray image if user need to use different images for different 519 // head/worker pools. This map needs to cover all the resource pool ids. 520 // Example: 521 // 522 // { 523 // "ray_head_node_pool": "head image" 524 // "ray_worker_node_pool1": "worker image" 525 // "ray_worker_node_pool2": "another worker image" 526 // } 527 ResourcePoolImages map[string]string `protobuf:"bytes,6,rep,name=resource_pool_images,json=resourcePoolImages,proto3" json:"resource_pool_images,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 528 // Optional. This will be used to indicate which resource pool will serve as 529 // the Ray head node(the first node within that pool). Will use the machine 530 // from the first workerpool as the head node by default if this field isn't 531 // set. 532 HeadNodeResourcePoolId string `protobuf:"bytes,7,opt,name=head_node_resource_pool_id,json=headNodeResourcePoolId,proto3" json:"head_node_resource_pool_id,omitempty"` 533 // Optional. Ray metrics configurations. 534 RayMetricSpec *RayMetricSpec `protobuf:"bytes,8,opt,name=ray_metric_spec,json=rayMetricSpec,proto3" json:"ray_metric_spec,omitempty"` 535 // Optional. OSS Ray logging configurations. 536 RayLogsSpec *RayLogsSpec `protobuf:"bytes,10,opt,name=ray_logs_spec,json=rayLogsSpec,proto3" json:"ray_logs_spec,omitempty"` 537 } 538 539 func (x *RaySpec) Reset() { 540 *x = RaySpec{} 541 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[3] 542 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 543 ms.StoreMessageInfo(mi) 544 } 545 546 func (x *RaySpec) String() string { 547 return protoimpl.X.MessageStringOf(x) 548 } 549 550 func (*RaySpec) ProtoMessage() {} 551 552 func (x *RaySpec) ProtoReflect() protoreflect.Message { 553 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[3] 554 if x != nil { 555 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 556 if ms.LoadMessageInfo() == nil { 557 ms.StoreMessageInfo(mi) 558 } 559 return ms 560 } 561 return mi.MessageOf(x) 562 } 563 564 // Deprecated: Use RaySpec.ProtoReflect.Descriptor instead. 565 func (*RaySpec) Descriptor() ([]byte, []int) { 566 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{3} 567 } 568 569 func (x *RaySpec) GetImageUri() string { 570 if x != nil { 571 return x.ImageUri 572 } 573 return "" 574 } 575 576 func (x *RaySpec) GetNfsMounts() []*NfsMount { 577 if x != nil { 578 return x.NfsMounts 579 } 580 return nil 581 } 582 583 func (x *RaySpec) GetResourcePoolImages() map[string]string { 584 if x != nil { 585 return x.ResourcePoolImages 586 } 587 return nil 588 } 589 590 func (x *RaySpec) GetHeadNodeResourcePoolId() string { 591 if x != nil { 592 return x.HeadNodeResourcePoolId 593 } 594 return "" 595 } 596 597 func (x *RaySpec) GetRayMetricSpec() *RayMetricSpec { 598 if x != nil { 599 return x.RayMetricSpec 600 } 601 return nil 602 } 603 604 func (x *RaySpec) GetRayLogsSpec() *RayLogsSpec { 605 if x != nil { 606 return x.RayLogsSpec 607 } 608 return nil 609 } 610 611 // Persistent Cluster runtime information as output 612 type ResourceRuntime struct { 613 state protoimpl.MessageState 614 sizeCache protoimpl.SizeCache 615 unknownFields protoimpl.UnknownFields 616 617 // Output only. URIs for user to connect to the Cluster. 618 // Example: 619 // 620 // { 621 // "RAY_HEAD_NODE_INTERNAL_IP": "head-node-IP:10001" 622 // "RAY_DASHBOARD_URI": "ray-dashboard-address:8888" 623 // } 624 AccessUris map[string]string `protobuf:"bytes,1,rep,name=access_uris,json=accessUris,proto3" json:"access_uris,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 625 // Output only. The resource name of NotebookRuntimeTemplate for the RoV 626 // Persistent Cluster The NotebokRuntimeTemplate is created in the same VPC 627 // (if set), and with the same Ray and Python version as the Persistent 628 // Cluster. Example: 629 // 630 // "projects/1000/locations/us-central1/notebookRuntimeTemplates/abc123" 631 // 632 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/persistent_resource.proto. 633 NotebookRuntimeTemplate string `protobuf:"bytes,2,opt,name=notebook_runtime_template,json=notebookRuntimeTemplate,proto3" json:"notebook_runtime_template,omitempty"` 634 } 635 636 func (x *ResourceRuntime) Reset() { 637 *x = ResourceRuntime{} 638 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[4] 639 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 640 ms.StoreMessageInfo(mi) 641 } 642 643 func (x *ResourceRuntime) String() string { 644 return protoimpl.X.MessageStringOf(x) 645 } 646 647 func (*ResourceRuntime) ProtoMessage() {} 648 649 func (x *ResourceRuntime) ProtoReflect() protoreflect.Message { 650 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[4] 651 if x != nil { 652 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 653 if ms.LoadMessageInfo() == nil { 654 ms.StoreMessageInfo(mi) 655 } 656 return ms 657 } 658 return mi.MessageOf(x) 659 } 660 661 // Deprecated: Use ResourceRuntime.ProtoReflect.Descriptor instead. 662 func (*ResourceRuntime) Descriptor() ([]byte, []int) { 663 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{4} 664 } 665 666 func (x *ResourceRuntime) GetAccessUris() map[string]string { 667 if x != nil { 668 return x.AccessUris 669 } 670 return nil 671 } 672 673 // Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/persistent_resource.proto. 674 func (x *ResourceRuntime) GetNotebookRuntimeTemplate() string { 675 if x != nil { 676 return x.NotebookRuntimeTemplate 677 } 678 return "" 679 } 680 681 // Configuration for the use of custom service account to run the workloads. 682 type ServiceAccountSpec struct { 683 state protoimpl.MessageState 684 sizeCache protoimpl.SizeCache 685 unknownFields protoimpl.UnknownFields 686 687 // Required. If true, custom user-managed service account is enforced to run 688 // any workloads (for example, Vertex Jobs) on the resource. Otherwise, uses 689 // the [Vertex AI Custom Code Service 690 // Agent](https://cloud.google.com/vertex-ai/docs/general/access-control#service-agents). 691 EnableCustomServiceAccount bool `protobuf:"varint,1,opt,name=enable_custom_service_account,json=enableCustomServiceAccount,proto3" json:"enable_custom_service_account,omitempty"` 692 // Optional. Required when all below conditions are met 693 // - `enable_custom_service_account` is true; 694 // - any runtime is specified via `ResourceRuntimeSpec` on creation time, 695 // for example, Ray 696 // 697 // The users must have `iam.serviceAccounts.actAs` permission on this service 698 // account and then the specified runtime containers will run as it. 699 // 700 // Do not set this field if you want to submit jobs using custom service 701 // account to this PersistentResource after creation, but only specify the 702 // `service_account` inside the job. 703 ServiceAccount string `protobuf:"bytes,2,opt,name=service_account,json=serviceAccount,proto3" json:"service_account,omitempty"` 704 } 705 706 func (x *ServiceAccountSpec) Reset() { 707 *x = ServiceAccountSpec{} 708 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[5] 709 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 710 ms.StoreMessageInfo(mi) 711 } 712 713 func (x *ServiceAccountSpec) String() string { 714 return protoimpl.X.MessageStringOf(x) 715 } 716 717 func (*ServiceAccountSpec) ProtoMessage() {} 718 719 func (x *ServiceAccountSpec) ProtoReflect() protoreflect.Message { 720 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[5] 721 if x != nil { 722 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 723 if ms.LoadMessageInfo() == nil { 724 ms.StoreMessageInfo(mi) 725 } 726 return ms 727 } 728 return mi.MessageOf(x) 729 } 730 731 // Deprecated: Use ServiceAccountSpec.ProtoReflect.Descriptor instead. 732 func (*ServiceAccountSpec) Descriptor() ([]byte, []int) { 733 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{5} 734 } 735 736 func (x *ServiceAccountSpec) GetEnableCustomServiceAccount() bool { 737 if x != nil { 738 return x.EnableCustomServiceAccount 739 } 740 return false 741 } 742 743 func (x *ServiceAccountSpec) GetServiceAccount() string { 744 if x != nil { 745 return x.ServiceAccount 746 } 747 return "" 748 } 749 750 // Configuration for the Ray metrics. 751 type RayMetricSpec struct { 752 state protoimpl.MessageState 753 sizeCache protoimpl.SizeCache 754 unknownFields protoimpl.UnknownFields 755 756 // Optional. Flag to disable the Ray metrics collection. 757 Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` 758 } 759 760 func (x *RayMetricSpec) Reset() { 761 *x = RayMetricSpec{} 762 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[6] 763 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 764 ms.StoreMessageInfo(mi) 765 } 766 767 func (x *RayMetricSpec) String() string { 768 return protoimpl.X.MessageStringOf(x) 769 } 770 771 func (*RayMetricSpec) ProtoMessage() {} 772 773 func (x *RayMetricSpec) ProtoReflect() protoreflect.Message { 774 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[6] 775 if x != nil { 776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 777 if ms.LoadMessageInfo() == nil { 778 ms.StoreMessageInfo(mi) 779 } 780 return ms 781 } 782 return mi.MessageOf(x) 783 } 784 785 // Deprecated: Use RayMetricSpec.ProtoReflect.Descriptor instead. 786 func (*RayMetricSpec) Descriptor() ([]byte, []int) { 787 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{6} 788 } 789 790 func (x *RayMetricSpec) GetDisabled() bool { 791 if x != nil { 792 return x.Disabled 793 } 794 return false 795 } 796 797 // Configuration for the Ray OSS Logs. 798 type RayLogsSpec struct { 799 state protoimpl.MessageState 800 sizeCache protoimpl.SizeCache 801 unknownFields protoimpl.UnknownFields 802 803 // Optional. Flag to disable the export of Ray OSS logs to Cloud Logging. 804 Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"` 805 } 806 807 func (x *RayLogsSpec) Reset() { 808 *x = RayLogsSpec{} 809 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[7] 810 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 811 ms.StoreMessageInfo(mi) 812 } 813 814 func (x *RayLogsSpec) String() string { 815 return protoimpl.X.MessageStringOf(x) 816 } 817 818 func (*RayLogsSpec) ProtoMessage() {} 819 820 func (x *RayLogsSpec) ProtoReflect() protoreflect.Message { 821 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[7] 822 if x != nil { 823 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 824 if ms.LoadMessageInfo() == nil { 825 ms.StoreMessageInfo(mi) 826 } 827 return ms 828 } 829 return mi.MessageOf(x) 830 } 831 832 // Deprecated: Use RayLogsSpec.ProtoReflect.Descriptor instead. 833 func (*RayLogsSpec) Descriptor() ([]byte, []int) { 834 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{7} 835 } 836 837 func (x *RayLogsSpec) GetDisabled() bool { 838 if x != nil { 839 return x.Disabled 840 } 841 return false 842 } 843 844 // The min/max number of replicas allowed if enabling autoscaling 845 type ResourcePool_AutoscalingSpec struct { 846 state protoimpl.MessageState 847 sizeCache protoimpl.SizeCache 848 unknownFields protoimpl.UnknownFields 849 850 // Optional. min replicas in the node pool, 851 // must be ≤ replica_count and < max_replica_count or will throw error. 852 // For autoscaling enabled Ray-on-Vertex, we allow min_replica_count of a 853 // resource_pool to be 0 to match the OSS Ray 854 // behavior(https://docs.ray.io/en/latest/cluster/vms/user-guides/configuring-autoscaling.html#cluster-config-parameters). 855 // As for Persistent Resource, the min_replica_count must be > 0, we added 856 // a corresponding validation inside 857 // CreatePersistentResourceRequestValidator.java. 858 MinReplicaCount *int64 `protobuf:"varint,1,opt,name=min_replica_count,json=minReplicaCount,proto3,oneof" json:"min_replica_count,omitempty"` 859 // Optional. max replicas in the node pool, 860 // must be ≥ replica_count and > min_replica_count or will throw error 861 MaxReplicaCount *int64 `protobuf:"varint,2,opt,name=max_replica_count,json=maxReplicaCount,proto3,oneof" json:"max_replica_count,omitempty"` 862 } 863 864 func (x *ResourcePool_AutoscalingSpec) Reset() { 865 *x = ResourcePool_AutoscalingSpec{} 866 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[9] 867 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 868 ms.StoreMessageInfo(mi) 869 } 870 871 func (x *ResourcePool_AutoscalingSpec) String() string { 872 return protoimpl.X.MessageStringOf(x) 873 } 874 875 func (*ResourcePool_AutoscalingSpec) ProtoMessage() {} 876 877 func (x *ResourcePool_AutoscalingSpec) ProtoReflect() protoreflect.Message { 878 mi := &file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[9] 879 if x != nil { 880 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 881 if ms.LoadMessageInfo() == nil { 882 ms.StoreMessageInfo(mi) 883 } 884 return ms 885 } 886 return mi.MessageOf(x) 887 } 888 889 // Deprecated: Use ResourcePool_AutoscalingSpec.ProtoReflect.Descriptor instead. 890 func (*ResourcePool_AutoscalingSpec) Descriptor() ([]byte, []int) { 891 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP(), []int{1, 0} 892 } 893 894 func (x *ResourcePool_AutoscalingSpec) GetMinReplicaCount() int64 { 895 if x != nil && x.MinReplicaCount != nil { 896 return *x.MinReplicaCount 897 } 898 return 0 899 } 900 901 func (x *ResourcePool_AutoscalingSpec) GetMaxReplicaCount() int64 { 902 if x != nil && x.MaxReplicaCount != nil { 903 return *x.MaxReplicaCount 904 } 905 return 0 906 } 907 908 var File_google_cloud_aiplatform_v1beta1_persistent_resource_proto protoreflect.FileDescriptor 909 910 var file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc = []byte{ 911 0x0a, 0x39, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 912 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 913 0x31, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 914 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 915 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 916 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 917 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 918 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 919 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 920 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x35, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 921 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 922 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 923 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 924 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 925 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 926 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 927 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 928 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 929 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 930 0x65, 0x5f, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 931 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 932 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 933 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x72, 0x70, 0x63, 0x2f, 934 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf4, 0x0b, 0x0a, 935 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 936 0x72, 0x63, 0x65, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 937 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0c, 938 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 939 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 940 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 941 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x67, 942 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 943 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 944 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x42, 0x03, 0xe0, 0x41, 0x02, 945 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x73, 0x12, 946 0x54, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x39, 947 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 948 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 949 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 950 0x72, 0x63, 0x65, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 951 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x2d, 0x0a, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x06, 952 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 953 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x65, 954 0x72, 0x72, 0x6f, 0x72, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 955 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 956 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 957 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 958 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 959 0x74, 0x69, 0x6d, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 960 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 961 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x73, 0x74, 0x61, 962 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 963 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 964 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 965 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 966 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x5c, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 967 0x6c, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 968 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 969 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x65, 0x72, 0x73, 0x69, 970 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x4c, 0x61, 971 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x06, 972 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x40, 0x0a, 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 973 0x6b, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xe0, 0x41, 0x01, 0xfa, 0x41, 0x20, 0x0a, 974 0x1e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 975 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x52, 976 0x07, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x12, 0x6a, 0x0a, 0x14, 0x70, 0x73, 0x63, 0x5f, 977 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 978 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 979 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 980 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x50, 0x73, 0x63, 0x49, 0x6e, 0x74, 0x65, 981 0x72, 0x66, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x03, 0xe0, 0x41, 0x01, 982 0x52, 0x12, 0x70, 0x73, 0x63, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x43, 0x6f, 983 0x6e, 0x66, 0x69, 0x67, 0x12, 0x5d, 0x0a, 0x0f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 984 0x6f, 0x6e, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 985 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 986 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 987 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 988 0xe0, 0x41, 0x01, 0x52, 0x0e, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x53, 989 0x70, 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x15, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 990 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0d, 0x20, 0x01, 991 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 992 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 993 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 994 0x74, 0x69, 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x72, 995 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x53, 0x70, 996 0x65, 0x63, 0x12, 0x60, 0x0a, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x72, 997 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 998 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 999 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 1000 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x03, 1001 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 1002 0x74, 0x69, 0x6d, 0x65, 0x12, 0x31, 0x0a, 0x12, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 1003 0x5f, 0x69, 0x70, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x09, 1004 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x49, 1005 0x70, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 1006 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x12, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 1007 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 1008 0x73, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 1009 0x7a, 0x69, 0x18, 0x13, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x73, 1010 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x69, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 1011 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 1012 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 1013 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 1014 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x73, 0x0a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 1015 0x15, 0x0a, 0x11, 0x53, 0x54, 0x41, 0x54, 0x45, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 1016 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x50, 0x52, 0x4f, 0x56, 0x49, 0x53, 1017 0x49, 0x4f, 0x4e, 0x49, 0x4e, 0x47, 0x10, 0x01, 0x12, 0x0b, 0x0a, 0x07, 0x52, 0x55, 0x4e, 0x4e, 1018 0x49, 0x4e, 0x47, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x54, 0x4f, 0x50, 0x50, 0x49, 0x4e, 1019 0x47, 0x10, 0x04, 0x12, 0x09, 0x0a, 0x05, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x12, 0x0d, 1020 0x0a, 0x09, 0x52, 0x45, 0x42, 0x4f, 0x4f, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x06, 0x12, 0x0c, 0x0a, 1021 0x08, 0x55, 0x50, 0x44, 0x41, 0x54, 0x49, 0x4e, 0x47, 0x10, 0x07, 0x3a, 0x85, 0x01, 0xea, 0x41, 1022 0x81, 0x01, 0x0a, 0x2c, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x67, 1023 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x65, 1024 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1025 0x12, 0x51, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 1026 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 1027 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 1028 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x7b, 0x70, 1029 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 1030 0x63, 0x65, 0x7d, 0x22, 0xd8, 0x04, 0x0a, 0x0c, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1031 0x50, 0x6f, 0x6f, 0x6c, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 1032 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x02, 0x69, 0x64, 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 1033 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 1034 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 1035 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 1036 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 1037 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 1038 0x65, 0x63, 0x12, 0x2d, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 1039 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 1040 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 1041 0x01, 0x12, 0x4b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 1042 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1043 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1044 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 1045 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x31, 1046 0x0a, 0x12, 0x75, 0x73, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 1047 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 1048 0x10, 0x75, 0x73, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 1049 0x74, 0x12, 0x6d, 0x0a, 0x10, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 1050 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3d, 0x2e, 0x67, 0x6f, 1051 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 1052 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 1053 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 1054 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1055 0x0f, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x70, 0x65, 0x63, 1056 0x1a, 0xa9, 0x01, 0x0a, 0x0f, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 1057 0x53, 0x70, 0x65, 0x63, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 1058 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, 1059 0x03, 0xe0, 0x41, 0x01, 0x48, 0x00, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 1060 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 0x12, 0x34, 0x0a, 0x11, 0x6d, 0x61, 1061 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 1062 0x02, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x48, 0x01, 0x52, 0x0f, 0x6d, 0x61, 1063 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x88, 0x01, 0x01, 1064 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 1065 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x14, 0x0a, 0x12, 0x5f, 0x6d, 0x61, 0x78, 0x5f, 0x72, 1066 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x10, 0x0a, 0x0e, 1067 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xcb, 1068 0x01, 0x0a, 0x13, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 1069 0x6d, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6a, 0x0a, 0x14, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 1070 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 1071 0x20, 0x01, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1072 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1073 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 1074 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 1075 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 1076 0x65, 0x63, 0x12, 0x48, 0x0a, 0x08, 0x72, 0x61, 0x79, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 1077 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 1078 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 1079 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 1080 0xe0, 0x41, 0x01, 0x52, 0x07, 0x72, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x22, 0xaf, 0x04, 0x0a, 1081 0x07, 0x52, 0x61, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x09, 0x69, 0x6d, 0x61, 0x67, 1082 0x65, 0x5f, 0x75, 0x72, 0x69, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 1083 0x52, 0x08, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x55, 0x72, 0x69, 0x12, 0x4d, 0x0a, 0x0a, 0x6e, 0x66, 1084 0x73, 0x5f, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 1085 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1086 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1087 0x2e, 0x4e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 1088 0x6e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x77, 0x0a, 0x14, 0x72, 0x65, 0x73, 1089 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 1090 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1091 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1092 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x79, 0x53, 0x70, 0x65, 1093 0x63, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6d, 1094 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x12, 1095 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6d, 0x61, 0x67, 1096 0x65, 0x73, 0x12, 0x3f, 0x0a, 0x1a, 0x68, 0x65, 0x61, 0x64, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 1097 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x70, 0x6f, 0x6f, 0x6c, 0x5f, 0x69, 0x64, 1098 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x16, 0x68, 0x65, 0x61, 1099 0x64, 0x4e, 0x6f, 0x64, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 1100 0x6c, 0x49, 0x64, 0x12, 0x5b, 0x0a, 0x0f, 0x72, 0x61, 0x79, 0x5f, 0x6d, 0x65, 0x74, 0x72, 0x69, 1101 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x67, 1102 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1103 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 1104 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 1105 0x01, 0x52, 0x0d, 0x72, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 1106 0x12, 0x55, 0x0a, 0x0d, 0x72, 0x61, 0x79, 0x5f, 0x6c, 0x6f, 0x67, 0x73, 0x5f, 0x73, 0x70, 0x65, 1107 0x63, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1108 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1109 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x61, 0x79, 0x4c, 0x6f, 0x67, 1110 0x73, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0b, 0x72, 0x61, 0x79, 0x4c, 1111 0x6f, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 0x1a, 0x45, 0x0a, 0x17, 0x52, 0x65, 0x73, 0x6f, 0x75, 1112 0x72, 0x63, 0x65, 0x50, 0x6f, 0x6f, 0x6c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x73, 0x45, 0x6e, 0x74, 1113 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 1114 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 1115 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xb1, 1116 0x02, 0x0a, 0x0f, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 1117 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x0b, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x75, 0x72, 0x69, 1118 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x40, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1119 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1120 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 1121 0x63, 0x65, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 1122 0x55, 0x72, 0x69, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 1123 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 0x73, 0x12, 0x77, 0x0a, 0x19, 0x6e, 0x6f, 1124 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x5f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x74, 1125 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0xe0, 1126 0x41, 0x03, 0xfa, 0x41, 0x33, 0x0a, 0x31, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1127 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 1128 0x2f, 0x4e, 0x6f, 0x74, 0x65, 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 1129 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x01, 0x52, 0x17, 0x6e, 0x6f, 0x74, 0x65, 1130 0x62, 0x6f, 0x6f, 0x6b, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 1131 0x61, 0x74, 0x65, 0x1a, 0x3d, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x55, 0x72, 0x69, 1132 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 1133 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 1134 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 1135 0x38, 0x01, 0x22, 0x8a, 0x01, 0x0a, 0x12, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 1136 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x1d, 0x65, 0x6e, 0x61, 1137 0x62, 0x6c, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x73, 0x65, 0x72, 0x76, 0x69, 1138 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 1139 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x1a, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x75, 0x73, 1140 0x74, 0x6f, 0x6d, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 1141 0x74, 0x12, 0x2c, 0x0a, 0x0f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 1142 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 1143 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 1144 0x30, 0x0a, 0x0d, 0x52, 0x61, 0x79, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 1145 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 1146 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 1147 0x64, 0x22, 0x2e, 0x0a, 0x0b, 0x52, 0x61, 0x79, 0x4c, 0x6f, 0x67, 0x73, 0x53, 0x70, 0x65, 0x63, 1148 0x12, 0x1f, 0x0a, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 1149 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 1150 0x64, 0x42, 0xee, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1151 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 1152 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x17, 0x50, 0x65, 0x72, 0x73, 0x69, 1153 0x73, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x50, 0x72, 0x6f, 1154 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1155 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1156 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 1157 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 0x70, 1158 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 1159 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 1160 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 0x6f, 1161 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 0x61, 1162 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 0x22, 1163 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 0x41, 1164 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 0x74, 1165 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1166 } 1167 1168 var ( 1169 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescOnce sync.Once 1170 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc 1171 ) 1172 1173 func file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescGZIP() []byte { 1174 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescOnce.Do(func() { 1175 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData) 1176 }) 1177 return file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDescData 1178 } 1179 1180 var file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes = make([]protoimpl.EnumInfo, 1) 1181 var file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes = make([]protoimpl.MessageInfo, 12) 1182 var file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_goTypes = []any{ 1183 (PersistentResource_State)(0), // 0: google.cloud.aiplatform.v1beta1.PersistentResource.State 1184 (*PersistentResource)(nil), // 1: google.cloud.aiplatform.v1beta1.PersistentResource 1185 (*ResourcePool)(nil), // 2: google.cloud.aiplatform.v1beta1.ResourcePool 1186 (*ResourceRuntimeSpec)(nil), // 3: google.cloud.aiplatform.v1beta1.ResourceRuntimeSpec 1187 (*RaySpec)(nil), // 4: google.cloud.aiplatform.v1beta1.RaySpec 1188 (*ResourceRuntime)(nil), // 5: google.cloud.aiplatform.v1beta1.ResourceRuntime 1189 (*ServiceAccountSpec)(nil), // 6: google.cloud.aiplatform.v1beta1.ServiceAccountSpec 1190 (*RayMetricSpec)(nil), // 7: google.cloud.aiplatform.v1beta1.RayMetricSpec 1191 (*RayLogsSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.RayLogsSpec 1192 nil, // 9: google.cloud.aiplatform.v1beta1.PersistentResource.LabelsEntry 1193 (*ResourcePool_AutoscalingSpec)(nil), // 10: google.cloud.aiplatform.v1beta1.ResourcePool.AutoscalingSpec 1194 nil, // 11: google.cloud.aiplatform.v1beta1.RaySpec.ResourcePoolImagesEntry 1195 nil, // 12: google.cloud.aiplatform.v1beta1.ResourceRuntime.AccessUrisEntry 1196 (*status.Status)(nil), // 13: google.rpc.Status 1197 (*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp 1198 (*PscInterfaceConfig)(nil), // 15: google.cloud.aiplatform.v1beta1.PscInterfaceConfig 1199 (*EncryptionSpec)(nil), // 16: google.cloud.aiplatform.v1beta1.EncryptionSpec 1200 (*MachineSpec)(nil), // 17: google.cloud.aiplatform.v1beta1.MachineSpec 1201 (*DiskSpec)(nil), // 18: google.cloud.aiplatform.v1beta1.DiskSpec 1202 (*NfsMount)(nil), // 19: google.cloud.aiplatform.v1beta1.NfsMount 1203 } 1204 var file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_depIdxs = []int32{ 1205 2, // 0: google.cloud.aiplatform.v1beta1.PersistentResource.resource_pools:type_name -> google.cloud.aiplatform.v1beta1.ResourcePool 1206 0, // 1: google.cloud.aiplatform.v1beta1.PersistentResource.state:type_name -> google.cloud.aiplatform.v1beta1.PersistentResource.State 1207 13, // 2: google.cloud.aiplatform.v1beta1.PersistentResource.error:type_name -> google.rpc.Status 1208 14, // 3: google.cloud.aiplatform.v1beta1.PersistentResource.create_time:type_name -> google.protobuf.Timestamp 1209 14, // 4: google.cloud.aiplatform.v1beta1.PersistentResource.start_time:type_name -> google.protobuf.Timestamp 1210 14, // 5: google.cloud.aiplatform.v1beta1.PersistentResource.update_time:type_name -> google.protobuf.Timestamp 1211 9, // 6: google.cloud.aiplatform.v1beta1.PersistentResource.labels:type_name -> google.cloud.aiplatform.v1beta1.PersistentResource.LabelsEntry 1212 15, // 7: google.cloud.aiplatform.v1beta1.PersistentResource.psc_interface_config:type_name -> google.cloud.aiplatform.v1beta1.PscInterfaceConfig 1213 16, // 8: google.cloud.aiplatform.v1beta1.PersistentResource.encryption_spec:type_name -> google.cloud.aiplatform.v1beta1.EncryptionSpec 1214 3, // 9: google.cloud.aiplatform.v1beta1.PersistentResource.resource_runtime_spec:type_name -> google.cloud.aiplatform.v1beta1.ResourceRuntimeSpec 1215 5, // 10: google.cloud.aiplatform.v1beta1.PersistentResource.resource_runtime:type_name -> google.cloud.aiplatform.v1beta1.ResourceRuntime 1216 17, // 11: google.cloud.aiplatform.v1beta1.ResourcePool.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec 1217 18, // 12: google.cloud.aiplatform.v1beta1.ResourcePool.disk_spec:type_name -> google.cloud.aiplatform.v1beta1.DiskSpec 1218 10, // 13: google.cloud.aiplatform.v1beta1.ResourcePool.autoscaling_spec:type_name -> google.cloud.aiplatform.v1beta1.ResourcePool.AutoscalingSpec 1219 6, // 14: google.cloud.aiplatform.v1beta1.ResourceRuntimeSpec.service_account_spec:type_name -> google.cloud.aiplatform.v1beta1.ServiceAccountSpec 1220 4, // 15: google.cloud.aiplatform.v1beta1.ResourceRuntimeSpec.ray_spec:type_name -> google.cloud.aiplatform.v1beta1.RaySpec 1221 19, // 16: google.cloud.aiplatform.v1beta1.RaySpec.nfs_mounts:type_name -> google.cloud.aiplatform.v1beta1.NfsMount 1222 11, // 17: google.cloud.aiplatform.v1beta1.RaySpec.resource_pool_images:type_name -> google.cloud.aiplatform.v1beta1.RaySpec.ResourcePoolImagesEntry 1223 7, // 18: google.cloud.aiplatform.v1beta1.RaySpec.ray_metric_spec:type_name -> google.cloud.aiplatform.v1beta1.RayMetricSpec 1224 8, // 19: google.cloud.aiplatform.v1beta1.RaySpec.ray_logs_spec:type_name -> google.cloud.aiplatform.v1beta1.RayLogsSpec 1225 12, // 20: google.cloud.aiplatform.v1beta1.ResourceRuntime.access_uris:type_name -> google.cloud.aiplatform.v1beta1.ResourceRuntime.AccessUrisEntry 1226 21, // [21:21] is the sub-list for method output_type 1227 21, // [21:21] is the sub-list for method input_type 1228 21, // [21:21] is the sub-list for extension type_name 1229 21, // [21:21] is the sub-list for extension extendee 1230 0, // [0:21] is the sub-list for field type_name 1231 } 1232 1233 func init() { file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_init() } 1234 func file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_init() { 1235 if File_google_cloud_aiplatform_v1beta1_persistent_resource_proto != nil { 1236 return 1237 } 1238 file_google_cloud_aiplatform_v1beta1_encryption_spec_proto_init() 1239 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() 1240 file_google_cloud_aiplatform_v1beta1_service_networking_proto_init() 1241 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[1].OneofWrappers = []any{} 1242 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes[9].OneofWrappers = []any{} 1243 type x struct{} 1244 out := protoimpl.TypeBuilder{ 1245 File: protoimpl.DescBuilder{ 1246 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1247 RawDescriptor: file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc, 1248 NumEnums: 1, 1249 NumMessages: 12, 1250 NumExtensions: 0, 1251 NumServices: 0, 1252 }, 1253 GoTypes: file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_goTypes, 1254 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_depIdxs, 1255 EnumInfos: file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_enumTypes, 1256 MessageInfos: file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_msgTypes, 1257 }.Build() 1258 File_google_cloud_aiplatform_v1beta1_persistent_resource_proto = out.File 1259 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_rawDesc = nil 1260 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_goTypes = nil 1261 file_google_cloud_aiplatform_v1beta1_persistent_resource_proto_depIdxs = nil 1262 }