cloud.google.com/go/aiplatform@v1.106.0/apiv1beta1/aiplatformpb/machine_resources.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/machine_resources.proto 20 21 package aiplatformpb 22 23 import ( 24 _ "google.golang.org/genproto/googleapis/api/annotations" 25 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 26 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 27 durationpb "google.golang.org/protobuf/types/known/durationpb" 28 reflect "reflect" 29 sync "sync" 30 ) 31 32 const ( 33 // Verify that this generated code is sufficiently up-to-date. 34 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 35 // Verify that runtime/protoimpl is sufficiently up-to-date. 36 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 37 ) 38 39 // Specification of a single machine. 40 type MachineSpec struct { 41 state protoimpl.MessageState 42 sizeCache protoimpl.SizeCache 43 unknownFields protoimpl.UnknownFields 44 45 // Immutable. The type of the machine. 46 // 47 // See the [list of machine types supported for 48 // prediction](https://cloud.google.com/vertex-ai/docs/predictions/configure-compute#machine-types) 49 // 50 // See the [list of machine types supported for custom 51 // training](https://cloud.google.com/vertex-ai/docs/training/configure-compute#machine-types). 52 // 53 // For [DeployedModel][google.cloud.aiplatform.v1beta1.DeployedModel] this 54 // field is optional, and the default value is `n1-standard-2`. For 55 // [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob] or 56 // as part of [WorkerPoolSpec][google.cloud.aiplatform.v1beta1.WorkerPoolSpec] 57 // this field is required. 58 MachineType string `protobuf:"bytes,1,opt,name=machine_type,json=machineType,proto3" json:"machine_type,omitempty"` 59 // Immutable. The type of accelerator(s) that may be attached to the machine 60 // as per 61 // [accelerator_count][google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count]. 62 AcceleratorType AcceleratorType `protobuf:"varint,2,opt,name=accelerator_type,json=acceleratorType,proto3,enum=google.cloud.aiplatform.v1beta1.AcceleratorType" json:"accelerator_type,omitempty"` 63 // The number of accelerators to attach to the machine. 64 AcceleratorCount int32 `protobuf:"varint,3,opt,name=accelerator_count,json=acceleratorCount,proto3" json:"accelerator_count,omitempty"` 65 // Optional. Immutable. The Nvidia GPU partition size. 66 // 67 // When specified, the requested accelerators will be partitioned into 68 // smaller GPU partitions. For example, if the request is for 8 units of 69 // NVIDIA A100 GPUs, and gpu_partition_size="1g.10gb", the service will 70 // create 8 * 7 = 56 partitioned MIG instances. 71 // 72 // The partition size must be a value supported by the requested accelerator. 73 // Refer to 74 // [Nvidia GPU 75 // Partitioning](https://cloud.google.com/kubernetes-engine/docs/how-to/gpus-multi#multi-instance_gpu_partitions) 76 // for the available partition sizes. 77 // 78 // If set, the accelerator_count should be set to 1. 79 GpuPartitionSize string `protobuf:"bytes,7,opt,name=gpu_partition_size,json=gpuPartitionSize,proto3" json:"gpu_partition_size,omitempty"` 80 // Immutable. The topology of the TPUs. Corresponds to the TPU topologies 81 // available from GKE. (Example: tpu_topology: "2x2x1"). 82 TpuTopology string `protobuf:"bytes,4,opt,name=tpu_topology,json=tpuTopology,proto3" json:"tpu_topology,omitempty"` 83 // Optional. Immutable. The number of nodes per replica for multihost GPU 84 // deployments. 85 MultihostGpuNodeCount int32 `protobuf:"varint,6,opt,name=multihost_gpu_node_count,json=multihostGpuNodeCount,proto3" json:"multihost_gpu_node_count,omitempty"` 86 // Optional. Immutable. Configuration controlling how this resource pool 87 // consumes reservation. 88 ReservationAffinity *ReservationAffinity `protobuf:"bytes,5,opt,name=reservation_affinity,json=reservationAffinity,proto3" json:"reservation_affinity,omitempty"` 89 } 90 91 func (x *MachineSpec) Reset() { 92 *x = MachineSpec{} 93 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[0] 94 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 95 ms.StoreMessageInfo(mi) 96 } 97 98 func (x *MachineSpec) String() string { 99 return protoimpl.X.MessageStringOf(x) 100 } 101 102 func (*MachineSpec) ProtoMessage() {} 103 104 func (x *MachineSpec) ProtoReflect() protoreflect.Message { 105 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[0] 106 if x != nil { 107 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 108 if ms.LoadMessageInfo() == nil { 109 ms.StoreMessageInfo(mi) 110 } 111 return ms 112 } 113 return mi.MessageOf(x) 114 } 115 116 // Deprecated: Use MachineSpec.ProtoReflect.Descriptor instead. 117 func (*MachineSpec) Descriptor() ([]byte, []int) { 118 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{0} 119 } 120 121 func (x *MachineSpec) GetMachineType() string { 122 if x != nil { 123 return x.MachineType 124 } 125 return "" 126 } 127 128 func (x *MachineSpec) GetAcceleratorType() AcceleratorType { 129 if x != nil { 130 return x.AcceleratorType 131 } 132 return AcceleratorType_ACCELERATOR_TYPE_UNSPECIFIED 133 } 134 135 func (x *MachineSpec) GetAcceleratorCount() int32 { 136 if x != nil { 137 return x.AcceleratorCount 138 } 139 return 0 140 } 141 142 func (x *MachineSpec) GetGpuPartitionSize() string { 143 if x != nil { 144 return x.GpuPartitionSize 145 } 146 return "" 147 } 148 149 func (x *MachineSpec) GetTpuTopology() string { 150 if x != nil { 151 return x.TpuTopology 152 } 153 return "" 154 } 155 156 func (x *MachineSpec) GetMultihostGpuNodeCount() int32 { 157 if x != nil { 158 return x.MultihostGpuNodeCount 159 } 160 return 0 161 } 162 163 func (x *MachineSpec) GetReservationAffinity() *ReservationAffinity { 164 if x != nil { 165 return x.ReservationAffinity 166 } 167 return nil 168 } 169 170 // A description of resources that are dedicated to a DeployedModel or 171 // DeployedIndex, and that need a higher degree of manual configuration. 172 type DedicatedResources struct { 173 state protoimpl.MessageState 174 sizeCache protoimpl.SizeCache 175 unknownFields protoimpl.UnknownFields 176 177 // Required. Immutable. The specification of a single machine being used. 178 MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` 179 // Required. Immutable. The minimum number of machine replicas that will be 180 // always deployed on. This value must be greater than or equal to 1. 181 // 182 // If traffic increases, it may dynamically be deployed onto more replicas, 183 // and as traffic decreases, some of these extra replicas may be freed. 184 MinReplicaCount int32 `protobuf:"varint,2,opt,name=min_replica_count,json=minReplicaCount,proto3" json:"min_replica_count,omitempty"` 185 // Immutable. The maximum number of replicas that may be deployed on when the 186 // traffic against it increases. If the requested value is too large, the 187 // deployment will error, but if deployment succeeds then the ability to scale 188 // to that many replicas is guaranteed (barring service outages). If traffic 189 // increases beyond what its replicas at maximum may handle, a portion of the 190 // traffic will be dropped. If this value is not provided, will use 191 // [min_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.min_replica_count] 192 // as the default value. 193 // 194 // The value of this field impacts the charge against Vertex CPU and GPU 195 // quotas. Specifically, you will be charged for (max_replica_count * 196 // number of cores in the selected machine type) and (max_replica_count * 197 // number of GPUs per replica in the selected machine type). 198 MaxReplicaCount int32 `protobuf:"varint,3,opt,name=max_replica_count,json=maxReplicaCount,proto3" json:"max_replica_count,omitempty"` 199 // Optional. Number of required available replicas for the deployment to 200 // succeed. This field is only needed when partial deployment/mutation is 201 // desired. If set, the deploy/mutate operation will succeed once 202 // available_replica_count reaches required_replica_count, and the rest of 203 // the replicas will be retried. If not set, the default 204 // required_replica_count will be min_replica_count. 205 RequiredReplicaCount int32 `protobuf:"varint,9,opt,name=required_replica_count,json=requiredReplicaCount,proto3" json:"required_replica_count,omitempty"` 206 // Immutable. Number of initial replicas being deployed on when scaling the 207 // workload up from zero or when creating the workload in case 208 // [min_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.min_replica_count] 209 // = 0. When 210 // [min_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.min_replica_count] 211 // > 0 (meaning that the scale-to-zero feature is not enabled), 212 // [initial_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.initial_replica_count] 213 // should not be set. When 214 // [min_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.min_replica_count] 215 // = 0 (meaning that the scale-to-zero feature is enabled), 216 // [initial_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.initial_replica_count] 217 // should be larger than zero, but no greater than 218 // [max_replica_count][google.cloud.aiplatform.v1beta1.DedicatedResources.max_replica_count]. 219 InitialReplicaCount int32 `protobuf:"varint,6,opt,name=initial_replica_count,json=initialReplicaCount,proto3" json:"initial_replica_count,omitempty"` 220 // Immutable. The metric specifications that overrides a resource 221 // utilization metric (CPU utilization, accelerator's duty cycle, and so on) 222 // target value (default to 60 if not set). At most one entry is allowed per 223 // metric. 224 // 225 // If 226 // [machine_spec.accelerator_count][google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count] 227 // is above 0, the autoscaling will be based on both CPU utilization and 228 // accelerator's duty cycle metrics and scale up when either metrics exceeds 229 // its target value while scale down if both metrics are under their target 230 // value. The default target value is 60 for both metrics. 231 // 232 // If 233 // [machine_spec.accelerator_count][google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_count] 234 // is 0, the autoscaling will be based on CPU utilization metric only with 235 // default target value 60 if not explicitly set. 236 // 237 // For example, in the case of Online Prediction, if you want to override 238 // target CPU utilization to 80, you should set 239 // [autoscaling_metric_specs.metric_name][google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.metric_name] 240 // to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and 241 // [autoscaling_metric_specs.target][google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.target] 242 // to `80`. 243 AutoscalingMetricSpecs []*AutoscalingMetricSpec `protobuf:"bytes,4,rep,name=autoscaling_metric_specs,json=autoscalingMetricSpecs,proto3" json:"autoscaling_metric_specs,omitempty"` 244 // Optional. If true, schedule the deployment workload on [spot 245 // VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). 246 Spot bool `protobuf:"varint,5,opt,name=spot,proto3" json:"spot,omitempty"` 247 // Optional. Immutable. If set, use DWS resource to schedule the deployment 248 // workload. reference: 249 // (https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler) 250 FlexStart *FlexStart `protobuf:"bytes,10,opt,name=flex_start,json=flexStart,proto3" json:"flex_start,omitempty"` 251 // Optional. Specification for scale-to-zero feature. 252 ScaleToZeroSpec *DedicatedResources_ScaleToZeroSpec `protobuf:"bytes,11,opt,name=scale_to_zero_spec,json=scaleToZeroSpec,proto3" json:"scale_to_zero_spec,omitempty"` 253 } 254 255 func (x *DedicatedResources) Reset() { 256 *x = DedicatedResources{} 257 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[1] 258 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 259 ms.StoreMessageInfo(mi) 260 } 261 262 func (x *DedicatedResources) String() string { 263 return protoimpl.X.MessageStringOf(x) 264 } 265 266 func (*DedicatedResources) ProtoMessage() {} 267 268 func (x *DedicatedResources) ProtoReflect() protoreflect.Message { 269 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[1] 270 if x != nil { 271 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 272 if ms.LoadMessageInfo() == nil { 273 ms.StoreMessageInfo(mi) 274 } 275 return ms 276 } 277 return mi.MessageOf(x) 278 } 279 280 // Deprecated: Use DedicatedResources.ProtoReflect.Descriptor instead. 281 func (*DedicatedResources) Descriptor() ([]byte, []int) { 282 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{1} 283 } 284 285 func (x *DedicatedResources) GetMachineSpec() *MachineSpec { 286 if x != nil { 287 return x.MachineSpec 288 } 289 return nil 290 } 291 292 func (x *DedicatedResources) GetMinReplicaCount() int32 { 293 if x != nil { 294 return x.MinReplicaCount 295 } 296 return 0 297 } 298 299 func (x *DedicatedResources) GetMaxReplicaCount() int32 { 300 if x != nil { 301 return x.MaxReplicaCount 302 } 303 return 0 304 } 305 306 func (x *DedicatedResources) GetRequiredReplicaCount() int32 { 307 if x != nil { 308 return x.RequiredReplicaCount 309 } 310 return 0 311 } 312 313 func (x *DedicatedResources) GetInitialReplicaCount() int32 { 314 if x != nil { 315 return x.InitialReplicaCount 316 } 317 return 0 318 } 319 320 func (x *DedicatedResources) GetAutoscalingMetricSpecs() []*AutoscalingMetricSpec { 321 if x != nil { 322 return x.AutoscalingMetricSpecs 323 } 324 return nil 325 } 326 327 func (x *DedicatedResources) GetSpot() bool { 328 if x != nil { 329 return x.Spot 330 } 331 return false 332 } 333 334 func (x *DedicatedResources) GetFlexStart() *FlexStart { 335 if x != nil { 336 return x.FlexStart 337 } 338 return nil 339 } 340 341 func (x *DedicatedResources) GetScaleToZeroSpec() *DedicatedResources_ScaleToZeroSpec { 342 if x != nil { 343 return x.ScaleToZeroSpec 344 } 345 return nil 346 } 347 348 // A description of resources that to large degree are decided by Vertex AI, 349 // and require only a modest additional configuration. 350 // Each Model supporting these resources documents its specific guidelines. 351 type AutomaticResources struct { 352 state protoimpl.MessageState 353 sizeCache protoimpl.SizeCache 354 unknownFields protoimpl.UnknownFields 355 356 // Immutable. The minimum number of replicas that will be always deployed on. 357 // If traffic against it increases, it may dynamically be deployed onto more 358 // replicas up to 359 // [max_replica_count][google.cloud.aiplatform.v1beta1.AutomaticResources.max_replica_count], 360 // and as traffic decreases, some of these extra replicas may be freed. If the 361 // requested value is too large, the deployment will error. 362 MinReplicaCount int32 `protobuf:"varint,1,opt,name=min_replica_count,json=minReplicaCount,proto3" json:"min_replica_count,omitempty"` 363 // Immutable. The maximum number of replicas that may be deployed on when the 364 // traffic against it increases. If the requested value is too large, the 365 // deployment will error, but if deployment succeeds then the ability to scale 366 // to that many replicas is guaranteed (barring service outages). If traffic 367 // increases beyond what its replicas at maximum may handle, a portion of the 368 // traffic will be dropped. If this value is not provided, a no upper bound 369 // for scaling under heavy traffic will be assume, though Vertex AI may be 370 // unable to scale beyond certain replica number. 371 MaxReplicaCount int32 `protobuf:"varint,2,opt,name=max_replica_count,json=maxReplicaCount,proto3" json:"max_replica_count,omitempty"` 372 } 373 374 func (x *AutomaticResources) Reset() { 375 *x = AutomaticResources{} 376 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[2] 377 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 378 ms.StoreMessageInfo(mi) 379 } 380 381 func (x *AutomaticResources) String() string { 382 return protoimpl.X.MessageStringOf(x) 383 } 384 385 func (*AutomaticResources) ProtoMessage() {} 386 387 func (x *AutomaticResources) ProtoReflect() protoreflect.Message { 388 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[2] 389 if x != nil { 390 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 391 if ms.LoadMessageInfo() == nil { 392 ms.StoreMessageInfo(mi) 393 } 394 return ms 395 } 396 return mi.MessageOf(x) 397 } 398 399 // Deprecated: Use AutomaticResources.ProtoReflect.Descriptor instead. 400 func (*AutomaticResources) Descriptor() ([]byte, []int) { 401 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{2} 402 } 403 404 func (x *AutomaticResources) GetMinReplicaCount() int32 { 405 if x != nil { 406 return x.MinReplicaCount 407 } 408 return 0 409 } 410 411 func (x *AutomaticResources) GetMaxReplicaCount() int32 { 412 if x != nil { 413 return x.MaxReplicaCount 414 } 415 return 0 416 } 417 418 // A description of resources that are used for performing batch operations, are 419 // dedicated to a Model, and need manual configuration. 420 type BatchDedicatedResources struct { 421 state protoimpl.MessageState 422 sizeCache protoimpl.SizeCache 423 unknownFields protoimpl.UnknownFields 424 425 // Required. Immutable. The specification of a single machine. 426 MachineSpec *MachineSpec `protobuf:"bytes,1,opt,name=machine_spec,json=machineSpec,proto3" json:"machine_spec,omitempty"` 427 // Immutable. The number of machine replicas used at the start of the batch 428 // operation. If not set, Vertex AI decides starting number, not greater than 429 // [max_replica_count][google.cloud.aiplatform.v1beta1.BatchDedicatedResources.max_replica_count] 430 StartingReplicaCount int32 `protobuf:"varint,2,opt,name=starting_replica_count,json=startingReplicaCount,proto3" json:"starting_replica_count,omitempty"` 431 // Immutable. The maximum number of machine replicas the batch operation may 432 // be scaled to. The default value is 10. 433 MaxReplicaCount int32 `protobuf:"varint,3,opt,name=max_replica_count,json=maxReplicaCount,proto3" json:"max_replica_count,omitempty"` 434 // Optional. Immutable. If set, use DWS resource to schedule the deployment 435 // workload. reference: 436 // (https://cloud.google.com/blog/products/compute/introducing-dynamic-workload-scheduler) 437 FlexStart *FlexStart `protobuf:"bytes,4,opt,name=flex_start,json=flexStart,proto3" json:"flex_start,omitempty"` 438 // Optional. If true, schedule the deployment workload on [spot 439 // VMs](https://cloud.google.com/kubernetes-engine/docs/concepts/spot-vms). 440 Spot bool `protobuf:"varint,5,opt,name=spot,proto3" json:"spot,omitempty"` 441 } 442 443 func (x *BatchDedicatedResources) Reset() { 444 *x = BatchDedicatedResources{} 445 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[3] 446 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 447 ms.StoreMessageInfo(mi) 448 } 449 450 func (x *BatchDedicatedResources) String() string { 451 return protoimpl.X.MessageStringOf(x) 452 } 453 454 func (*BatchDedicatedResources) ProtoMessage() {} 455 456 func (x *BatchDedicatedResources) ProtoReflect() protoreflect.Message { 457 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[3] 458 if x != nil { 459 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 460 if ms.LoadMessageInfo() == nil { 461 ms.StoreMessageInfo(mi) 462 } 463 return ms 464 } 465 return mi.MessageOf(x) 466 } 467 468 // Deprecated: Use BatchDedicatedResources.ProtoReflect.Descriptor instead. 469 func (*BatchDedicatedResources) Descriptor() ([]byte, []int) { 470 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{3} 471 } 472 473 func (x *BatchDedicatedResources) GetMachineSpec() *MachineSpec { 474 if x != nil { 475 return x.MachineSpec 476 } 477 return nil 478 } 479 480 func (x *BatchDedicatedResources) GetStartingReplicaCount() int32 { 481 if x != nil { 482 return x.StartingReplicaCount 483 } 484 return 0 485 } 486 487 func (x *BatchDedicatedResources) GetMaxReplicaCount() int32 { 488 if x != nil { 489 return x.MaxReplicaCount 490 } 491 return 0 492 } 493 494 func (x *BatchDedicatedResources) GetFlexStart() *FlexStart { 495 if x != nil { 496 return x.FlexStart 497 } 498 return nil 499 } 500 501 func (x *BatchDedicatedResources) GetSpot() bool { 502 if x != nil { 503 return x.Spot 504 } 505 return false 506 } 507 508 // Statistics information about resource consumption. 509 type ResourcesConsumed struct { 510 state protoimpl.MessageState 511 sizeCache protoimpl.SizeCache 512 unknownFields protoimpl.UnknownFields 513 514 // Output only. The number of replica hours used. Note that many replicas may 515 // run in parallel, and additionally any given work may be queued for some 516 // time. Therefore this value is not strictly related to wall time. 517 ReplicaHours float64 `protobuf:"fixed64,1,opt,name=replica_hours,json=replicaHours,proto3" json:"replica_hours,omitempty"` 518 } 519 520 func (x *ResourcesConsumed) Reset() { 521 *x = ResourcesConsumed{} 522 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[4] 523 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 524 ms.StoreMessageInfo(mi) 525 } 526 527 func (x *ResourcesConsumed) String() string { 528 return protoimpl.X.MessageStringOf(x) 529 } 530 531 func (*ResourcesConsumed) ProtoMessage() {} 532 533 func (x *ResourcesConsumed) ProtoReflect() protoreflect.Message { 534 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[4] 535 if x != nil { 536 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 537 if ms.LoadMessageInfo() == nil { 538 ms.StoreMessageInfo(mi) 539 } 540 return ms 541 } 542 return mi.MessageOf(x) 543 } 544 545 // Deprecated: Use ResourcesConsumed.ProtoReflect.Descriptor instead. 546 func (*ResourcesConsumed) Descriptor() ([]byte, []int) { 547 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{4} 548 } 549 550 func (x *ResourcesConsumed) GetReplicaHours() float64 { 551 if x != nil { 552 return x.ReplicaHours 553 } 554 return 0 555 } 556 557 // Represents the spec of disk options. 558 type DiskSpec struct { 559 state protoimpl.MessageState 560 sizeCache protoimpl.SizeCache 561 unknownFields protoimpl.UnknownFields 562 563 // Type of the boot disk. For non-A3U machines, the default value is 564 // "pd-ssd", for A3U machines, the default value is "hyperdisk-balanced". 565 // Valid values: "pd-ssd" (Persistent Disk Solid State Drive), 566 // "pd-standard" (Persistent Disk Hard Disk Drive) or "hyperdisk-balanced". 567 BootDiskType string `protobuf:"bytes,1,opt,name=boot_disk_type,json=bootDiskType,proto3" json:"boot_disk_type,omitempty"` 568 // Size in GB of the boot disk (default is 100GB). 569 BootDiskSizeGb int32 `protobuf:"varint,2,opt,name=boot_disk_size_gb,json=bootDiskSizeGb,proto3" json:"boot_disk_size_gb,omitempty"` 570 } 571 572 func (x *DiskSpec) Reset() { 573 *x = DiskSpec{} 574 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5] 575 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 576 ms.StoreMessageInfo(mi) 577 } 578 579 func (x *DiskSpec) String() string { 580 return protoimpl.X.MessageStringOf(x) 581 } 582 583 func (*DiskSpec) ProtoMessage() {} 584 585 func (x *DiskSpec) ProtoReflect() protoreflect.Message { 586 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[5] 587 if x != nil { 588 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 589 if ms.LoadMessageInfo() == nil { 590 ms.StoreMessageInfo(mi) 591 } 592 return ms 593 } 594 return mi.MessageOf(x) 595 } 596 597 // Deprecated: Use DiskSpec.ProtoReflect.Descriptor instead. 598 func (*DiskSpec) Descriptor() ([]byte, []int) { 599 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{5} 600 } 601 602 func (x *DiskSpec) GetBootDiskType() string { 603 if x != nil { 604 return x.BootDiskType 605 } 606 return "" 607 } 608 609 func (x *DiskSpec) GetBootDiskSizeGb() int32 { 610 if x != nil { 611 return x.BootDiskSizeGb 612 } 613 return 0 614 } 615 616 // Represents the spec of [persistent 617 // disk][https://cloud.google.com/compute/docs/disks/persistent-disks] options. 618 type PersistentDiskSpec struct { 619 state protoimpl.MessageState 620 sizeCache protoimpl.SizeCache 621 unknownFields protoimpl.UnknownFields 622 623 // Type of the disk (default is "pd-standard"). 624 // Valid values: "pd-ssd" (Persistent Disk Solid State Drive) 625 // "pd-standard" (Persistent Disk Hard Disk Drive) 626 // "pd-balanced" (Balanced Persistent Disk) 627 // "pd-extreme" (Extreme Persistent Disk) 628 DiskType string `protobuf:"bytes,1,opt,name=disk_type,json=diskType,proto3" json:"disk_type,omitempty"` 629 // Size in GB of the disk (default is 100GB). 630 DiskSizeGb int64 `protobuf:"varint,2,opt,name=disk_size_gb,json=diskSizeGb,proto3" json:"disk_size_gb,omitempty"` 631 } 632 633 func (x *PersistentDiskSpec) Reset() { 634 *x = PersistentDiskSpec{} 635 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[6] 636 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 637 ms.StoreMessageInfo(mi) 638 } 639 640 func (x *PersistentDiskSpec) String() string { 641 return protoimpl.X.MessageStringOf(x) 642 } 643 644 func (*PersistentDiskSpec) ProtoMessage() {} 645 646 func (x *PersistentDiskSpec) ProtoReflect() protoreflect.Message { 647 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[6] 648 if x != nil { 649 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 650 if ms.LoadMessageInfo() == nil { 651 ms.StoreMessageInfo(mi) 652 } 653 return ms 654 } 655 return mi.MessageOf(x) 656 } 657 658 // Deprecated: Use PersistentDiskSpec.ProtoReflect.Descriptor instead. 659 func (*PersistentDiskSpec) Descriptor() ([]byte, []int) { 660 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{6} 661 } 662 663 func (x *PersistentDiskSpec) GetDiskType() string { 664 if x != nil { 665 return x.DiskType 666 } 667 return "" 668 } 669 670 func (x *PersistentDiskSpec) GetDiskSizeGb() int64 { 671 if x != nil { 672 return x.DiskSizeGb 673 } 674 return 0 675 } 676 677 // Represents a mount configuration for Network File System (NFS) to mount. 678 type NfsMount struct { 679 state protoimpl.MessageState 680 sizeCache protoimpl.SizeCache 681 unknownFields protoimpl.UnknownFields 682 683 // Required. IP address of the NFS server. 684 Server string `protobuf:"bytes,1,opt,name=server,proto3" json:"server,omitempty"` 685 // Required. Source path exported from NFS server. 686 // Has to start with '/', and combined with the ip address, it indicates 687 // the source mount path in the form of `server:path` 688 Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"` 689 // Required. Destination mount path. The NFS will be mounted for the user 690 // under /mnt/nfs/<mount_point> 691 MountPoint string `protobuf:"bytes,3,opt,name=mount_point,json=mountPoint,proto3" json:"mount_point,omitempty"` 692 } 693 694 func (x *NfsMount) Reset() { 695 *x = NfsMount{} 696 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[7] 697 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 698 ms.StoreMessageInfo(mi) 699 } 700 701 func (x *NfsMount) String() string { 702 return protoimpl.X.MessageStringOf(x) 703 } 704 705 func (*NfsMount) ProtoMessage() {} 706 707 func (x *NfsMount) ProtoReflect() protoreflect.Message { 708 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[7] 709 if x != nil { 710 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 711 if ms.LoadMessageInfo() == nil { 712 ms.StoreMessageInfo(mi) 713 } 714 return ms 715 } 716 return mi.MessageOf(x) 717 } 718 719 // Deprecated: Use NfsMount.ProtoReflect.Descriptor instead. 720 func (*NfsMount) Descriptor() ([]byte, []int) { 721 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{7} 722 } 723 724 func (x *NfsMount) GetServer() string { 725 if x != nil { 726 return x.Server 727 } 728 return "" 729 } 730 731 func (x *NfsMount) GetPath() string { 732 if x != nil { 733 return x.Path 734 } 735 return "" 736 } 737 738 func (x *NfsMount) GetMountPoint() string { 739 if x != nil { 740 return x.MountPoint 741 } 742 return "" 743 } 744 745 // The metric specification that defines the target resource utilization 746 // (CPU utilization, accelerator's duty cycle, and so on) for calculating the 747 // desired replica count. 748 type AutoscalingMetricSpec struct { 749 state protoimpl.MessageState 750 sizeCache protoimpl.SizeCache 751 unknownFields protoimpl.UnknownFields 752 753 // Required. The resource metric name. 754 // Supported metrics: 755 // 756 // * For Online Prediction: 757 // * `aiplatform.googleapis.com/prediction/online/accelerator/duty_cycle` 758 // * `aiplatform.googleapis.com/prediction/online/cpu/utilization` 759 // * `aiplatform.googleapis.com/prediction/online/request_count` 760 MetricName string `protobuf:"bytes,1,opt,name=metric_name,json=metricName,proto3" json:"metric_name,omitempty"` 761 // The target resource utilization in percentage (1% - 100%) for the given 762 // metric; once the real usage deviates from the target by a certain 763 // percentage, the machine replicas change. The default value is 60 764 // (representing 60%) if not provided. 765 Target int32 `protobuf:"varint,2,opt,name=target,proto3" json:"target,omitempty"` 766 // Optional. The Cloud Monitoring monitored resource labels as key value pairs 767 // used for metrics filtering. See Cloud Monitoring Labels 768 // https://cloud.google.com/monitoring/api/v3/metric-model#generic-label-info 769 MonitoredResourceLabels map[string]string `protobuf:"bytes,3,rep,name=monitored_resource_labels,json=monitoredResourceLabels,proto3" json:"monitored_resource_labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 770 } 771 772 func (x *AutoscalingMetricSpec) Reset() { 773 *x = AutoscalingMetricSpec{} 774 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[8] 775 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 776 ms.StoreMessageInfo(mi) 777 } 778 779 func (x *AutoscalingMetricSpec) String() string { 780 return protoimpl.X.MessageStringOf(x) 781 } 782 783 func (*AutoscalingMetricSpec) ProtoMessage() {} 784 785 func (x *AutoscalingMetricSpec) ProtoReflect() protoreflect.Message { 786 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[8] 787 if x != nil { 788 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 789 if ms.LoadMessageInfo() == nil { 790 ms.StoreMessageInfo(mi) 791 } 792 return ms 793 } 794 return mi.MessageOf(x) 795 } 796 797 // Deprecated: Use AutoscalingMetricSpec.ProtoReflect.Descriptor instead. 798 func (*AutoscalingMetricSpec) Descriptor() ([]byte, []int) { 799 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{8} 800 } 801 802 func (x *AutoscalingMetricSpec) GetMetricName() string { 803 if x != nil { 804 return x.MetricName 805 } 806 return "" 807 } 808 809 func (x *AutoscalingMetricSpec) GetTarget() int32 { 810 if x != nil { 811 return x.Target 812 } 813 return 0 814 } 815 816 func (x *AutoscalingMetricSpec) GetMonitoredResourceLabels() map[string]string { 817 if x != nil { 818 return x.MonitoredResourceLabels 819 } 820 return nil 821 } 822 823 // A set of Shielded Instance options. 824 // See [Images using supported Shielded VM 825 // features](https://cloud.google.com/compute/docs/instances/modifying-shielded-vm). 826 type ShieldedVmConfig struct { 827 state protoimpl.MessageState 828 sizeCache protoimpl.SizeCache 829 unknownFields protoimpl.UnknownFields 830 831 // Defines whether the instance has [Secure 832 // Boot](https://cloud.google.com/compute/shielded-vm/docs/shielded-vm#secure-boot) 833 // enabled. 834 // 835 // Secure Boot helps ensure that the system only runs authentic software by 836 // verifying the digital signature of all boot components, and halting the 837 // boot process if signature verification fails. 838 EnableSecureBoot bool `protobuf:"varint,1,opt,name=enable_secure_boot,json=enableSecureBoot,proto3" json:"enable_secure_boot,omitempty"` 839 } 840 841 func (x *ShieldedVmConfig) Reset() { 842 *x = ShieldedVmConfig{} 843 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[9] 844 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 845 ms.StoreMessageInfo(mi) 846 } 847 848 func (x *ShieldedVmConfig) String() string { 849 return protoimpl.X.MessageStringOf(x) 850 } 851 852 func (*ShieldedVmConfig) ProtoMessage() {} 853 854 func (x *ShieldedVmConfig) ProtoReflect() protoreflect.Message { 855 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[9] 856 if x != nil { 857 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 858 if ms.LoadMessageInfo() == nil { 859 ms.StoreMessageInfo(mi) 860 } 861 return ms 862 } 863 return mi.MessageOf(x) 864 } 865 866 // Deprecated: Use ShieldedVmConfig.ProtoReflect.Descriptor instead. 867 func (*ShieldedVmConfig) Descriptor() ([]byte, []int) { 868 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{9} 869 } 870 871 func (x *ShieldedVmConfig) GetEnableSecureBoot() bool { 872 if x != nil { 873 return x.EnableSecureBoot 874 } 875 return false 876 } 877 878 // FlexStart is used to schedule the deployment workload on DWS resource. It 879 // contains the max duration of the deployment. 880 type FlexStart struct { 881 state protoimpl.MessageState 882 sizeCache protoimpl.SizeCache 883 unknownFields protoimpl.UnknownFields 884 885 // The max duration of the deployment is max_runtime_duration. The 886 // deployment will be terminated after the duration. The 887 // max_runtime_duration can be set up to 7 days. 888 MaxRuntimeDuration *durationpb.Duration `protobuf:"bytes,1,opt,name=max_runtime_duration,json=maxRuntimeDuration,proto3" json:"max_runtime_duration,omitempty"` 889 } 890 891 func (x *FlexStart) Reset() { 892 *x = FlexStart{} 893 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[10] 894 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 895 ms.StoreMessageInfo(mi) 896 } 897 898 func (x *FlexStart) String() string { 899 return protoimpl.X.MessageStringOf(x) 900 } 901 902 func (*FlexStart) ProtoMessage() {} 903 904 func (x *FlexStart) ProtoReflect() protoreflect.Message { 905 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[10] 906 if x != nil { 907 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 908 if ms.LoadMessageInfo() == nil { 909 ms.StoreMessageInfo(mi) 910 } 911 return ms 912 } 913 return mi.MessageOf(x) 914 } 915 916 // Deprecated: Use FlexStart.ProtoReflect.Descriptor instead. 917 func (*FlexStart) Descriptor() ([]byte, []int) { 918 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{10} 919 } 920 921 func (x *FlexStart) GetMaxRuntimeDuration() *durationpb.Duration { 922 if x != nil { 923 return x.MaxRuntimeDuration 924 } 925 return nil 926 } 927 928 // Specification for scale-to-zero feature. 929 type DedicatedResources_ScaleToZeroSpec struct { 930 state protoimpl.MessageState 931 sizeCache protoimpl.SizeCache 932 unknownFields protoimpl.UnknownFields 933 934 // Optional. Minimum duration that a deployment will be scaled up before 935 // traffic is evaluated for potential scale-down. [MinValue=300] (5 minutes) 936 // [MaxValue=28800] (8 hours) 937 MinScaleupPeriod *durationpb.Duration `protobuf:"bytes,1,opt,name=min_scaleup_period,json=minScaleupPeriod,proto3" json:"min_scaleup_period,omitempty"` 938 // Optional. Duration of no traffic before scaling to zero. 939 // [MinValue=3600] (5 minutes) 940 // [MaxValue=28800] (8 hours) 941 IdleScaledownPeriod *durationpb.Duration `protobuf:"bytes,2,opt,name=idle_scaledown_period,json=idleScaledownPeriod,proto3" json:"idle_scaledown_period,omitempty"` 942 } 943 944 func (x *DedicatedResources_ScaleToZeroSpec) Reset() { 945 *x = DedicatedResources_ScaleToZeroSpec{} 946 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[11] 947 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 948 ms.StoreMessageInfo(mi) 949 } 950 951 func (x *DedicatedResources_ScaleToZeroSpec) String() string { 952 return protoimpl.X.MessageStringOf(x) 953 } 954 955 func (*DedicatedResources_ScaleToZeroSpec) ProtoMessage() {} 956 957 func (x *DedicatedResources_ScaleToZeroSpec) ProtoReflect() protoreflect.Message { 958 mi := &file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes[11] 959 if x != nil { 960 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 961 if ms.LoadMessageInfo() == nil { 962 ms.StoreMessageInfo(mi) 963 } 964 return ms 965 } 966 return mi.MessageOf(x) 967 } 968 969 // Deprecated: Use DedicatedResources_ScaleToZeroSpec.ProtoReflect.Descriptor instead. 970 func (*DedicatedResources_ScaleToZeroSpec) Descriptor() ([]byte, []int) { 971 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP(), []int{1, 0} 972 } 973 974 func (x *DedicatedResources_ScaleToZeroSpec) GetMinScaleupPeriod() *durationpb.Duration { 975 if x != nil { 976 return x.MinScaleupPeriod 977 } 978 return nil 979 } 980 981 func (x *DedicatedResources_ScaleToZeroSpec) GetIdleScaledownPeriod() *durationpb.Duration { 982 if x != nil { 983 return x.IdleScaledownPeriod 984 } 985 return nil 986 } 987 988 var File_google_cloud_aiplatform_v1beta1_machine_resources_proto protoreflect.FileDescriptor 989 990 var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = []byte{ 991 0x0a, 0x37, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 992 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 993 0x31, 0x2f, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 994 0x63, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 995 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 996 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 997 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 998 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x36, 0x67, 0x6f, 0x6f, 999 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1000 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x63, 0x63, 1001 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x70, 0x72, 1002 0x6f, 0x74, 0x6f, 0x1a, 0x3a, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 1003 0x64, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x76, 0x31, 0x62, 1004 0x65, 0x74, 0x61, 0x31, 0x2f, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1005 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 1006 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 1007 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 1008 0xd4, 0x03, 0x0a, 0x0b, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 1009 0x26, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 1010 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 1011 0x69, 0x6e, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x60, 0x0a, 0x10, 0x61, 0x63, 0x63, 0x65, 0x6c, 1012 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 1013 0x0e, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1014 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1015 0x74, 0x61, 0x31, 0x2e, 0x41, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 1016 0x79, 0x70, 0x65, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 1017 0x72, 0x61, 0x74, 0x6f, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x11, 0x61, 0x63, 0x63, 1018 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 1019 0x20, 0x01, 0x28, 0x05, 0x52, 0x10, 0x61, 0x63, 0x63, 0x65, 0x6c, 0x65, 0x72, 0x61, 0x74, 0x6f, 1020 0x72, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x34, 0x0a, 0x12, 0x67, 0x70, 0x75, 0x5f, 0x70, 0x61, 1021 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x07, 0x20, 0x01, 1022 0x28, 0x09, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x67, 0x70, 0x75, 0x50, 1023 0x61, 0x72, 0x74, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x26, 0x0a, 0x0c, 1024 0x74, 0x70, 0x75, 0x5f, 0x74, 0x6f, 0x70, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x18, 0x04, 0x20, 0x01, 1025 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x74, 0x70, 0x75, 0x54, 0x6f, 0x70, 0x6f, 1026 0x6c, 0x6f, 0x67, 0x79, 0x12, 0x3f, 0x0a, 0x18, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x73, 1027 0x74, 0x5f, 0x67, 0x70, 0x75, 0x5f, 0x6e, 0x6f, 0x64, 0x65, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 1028 0x18, 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x01, 0x52, 0x15, 1029 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x68, 0x6f, 0x73, 0x74, 0x47, 0x70, 0x75, 0x4e, 0x6f, 0x64, 0x65, 1030 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6f, 0x0a, 0x14, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 1031 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18, 0x05, 0x20, 1032 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1033 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1034 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 1035 0x6e, 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 1036 0x01, 0x52, 0x13, 0x72, 0x65, 0x73, 0x65, 0x72, 0x76, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x66, 1037 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x22, 0xd6, 0x06, 0x0a, 0x12, 0x44, 0x65, 0x64, 0x69, 0x63, 1038 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x57, 0x0a, 1039 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 1040 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1041 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1042 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 1043 0x63, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 1044 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x32, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 1045 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 1046 0x05, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, 0x65, 1047 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x61, 1048 0x78, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 1049 0x03, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 1050 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x39, 0x0a, 0x16, 0x72, 1051 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 1052 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 1053 0x52, 0x14, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 1054 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 1055 0x6c, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 1056 0x06, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x13, 0x69, 0x6e, 0x69, 0x74, 1057 0x69, 0x61, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 1058 0x75, 0x0a, 0x18, 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x6d, 1059 0x65, 0x74, 0x72, 0x69, 0x63, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 1060 0x0b, 0x32, 0x36, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1061 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 1062 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 1063 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x16, 1064 0x61, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 1065 0x63, 0x53, 0x70, 0x65, 0x63, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x70, 0x6f, 0x74, 0x18, 0x05, 1066 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 0x73, 0x70, 0x6f, 0x74, 0x12, 1067 0x51, 0x0a, 0x0a, 0x66, 0x6c, 0x65, 0x78, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 1068 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 1069 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 1070 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 0x6c, 0x65, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 1071 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x66, 0x6c, 0x65, 0x78, 0x53, 0x74, 0x61, 1072 0x72, 0x74, 0x12, 0x75, 0x0a, 0x12, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x5f, 0x74, 0x6f, 0x5f, 0x7a, 1073 0x65, 0x72, 0x6f, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x43, 1074 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 1075 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1076 0x2e, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 1077 0x63, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x61, 0x6c, 0x65, 0x54, 0x6f, 0x5a, 0x65, 0x72, 0x6f, 0x53, 1078 0x70, 0x65, 0x63, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x54, 1079 0x6f, 0x5a, 0x65, 0x72, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x1a, 0xb3, 0x01, 0x0a, 0x0f, 0x53, 0x63, 1080 0x61, 0x6c, 0x65, 0x54, 0x6f, 0x5a, 0x65, 0x72, 0x6f, 0x53, 0x70, 0x65, 0x63, 0x12, 0x4c, 0x0a, 1081 0x12, 0x6d, 0x69, 0x6e, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x75, 0x70, 0x5f, 0x70, 0x65, 0x72, 1082 0x69, 0x6f, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1083 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 1084 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6d, 0x69, 0x6e, 0x53, 0x63, 1085 0x61, 0x6c, 0x65, 0x75, 0x70, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x12, 0x52, 0x0a, 0x15, 0x69, 1086 0x64, 0x6c, 0x65, 0x5f, 0x73, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x5f, 0x70, 0x65, 1087 0x72, 0x69, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 1088 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 1089 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x69, 0x64, 0x6c, 0x65, 1090 0x53, 0x63, 0x61, 0x6c, 0x65, 0x64, 0x6f, 0x77, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x22, 1091 0x76, 0x0a, 0x12, 0x41, 0x75, 0x74, 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x52, 0x65, 0x73, 0x6f, 1092 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x69, 0x6e, 0x5f, 0x72, 0x65, 0x70, 1093 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 1094 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x70, 0x6c, 0x69, 0x63, 1095 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 1096 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 1097 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 0x69, 1098 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xca, 0x02, 0x0a, 0x17, 0x42, 0x61, 0x74, 0x63, 1099 0x68, 0x44, 0x65, 0x64, 0x69, 0x63, 0x61, 0x74, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 1100 0x63, 0x65, 0x73, 0x12, 0x57, 0x0a, 0x0c, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x5f, 0x73, 1101 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1102 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1103 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4d, 0x61, 0x63, 0x68, 1104 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x06, 0xe0, 0x41, 0x02, 0xe0, 0x41, 0x05, 0x52, 1105 0x0b, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x39, 0x0a, 0x16, 1106 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x5f, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 1107 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 1108 0x05, 0x52, 0x14, 0x73, 0x74, 0x61, 0x72, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x70, 0x6c, 0x69, 1109 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2f, 0x0a, 0x11, 0x6d, 0x61, 0x78, 0x5f, 0x72, 1110 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 1111 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0f, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x70, 0x6c, 1112 0x69, 0x63, 0x61, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x51, 0x0a, 0x0a, 0x66, 0x6c, 0x65, 0x78, 1113 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 1114 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 1115 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x46, 1116 0x6c, 0x65, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x42, 0x06, 0xe0, 0x41, 0x05, 0xe0, 0x41, 0x01, 1117 0x52, 0x09, 0x66, 0x6c, 0x65, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x73, 1118 0x70, 0x6f, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x04, 1119 0x73, 0x70, 0x6f, 0x74, 0x22, 0x3d, 0x0a, 0x11, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 1120 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x75, 0x6d, 0x65, 0x64, 0x12, 0x28, 0x0a, 0x0d, 0x72, 0x65, 0x70, 1121 0x6c, 0x69, 0x63, 0x61, 0x5f, 0x68, 0x6f, 0x75, 0x72, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x01, 1122 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x72, 0x65, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x48, 0x6f, 1123 0x75, 0x72, 0x73, 0x22, 0x5b, 0x0a, 0x08, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 1124 0x24, 0x0a, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 0x79, 0x70, 1125 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 1126 0x6b, 0x54, 0x79, 0x70, 0x65, 0x12, 0x29, 0x0a, 0x11, 0x62, 0x6f, 0x6f, 0x74, 0x5f, 0x64, 0x69, 1127 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 1128 0x52, 0x0e, 0x62, 0x6f, 0x6f, 0x74, 0x44, 0x69, 0x73, 0x6b, 0x53, 0x69, 0x7a, 0x65, 0x47, 0x62, 1129 0x22, 0x53, 0x0a, 0x12, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 1130 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1b, 0x0a, 0x09, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x74, 1131 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x64, 0x69, 0x73, 0x6b, 0x54, 1132 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x6b, 0x5f, 0x73, 0x69, 0x7a, 0x65, 1133 0x5f, 0x67, 0x62, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x64, 0x69, 0x73, 0x6b, 0x53, 1134 0x69, 0x7a, 0x65, 0x47, 0x62, 0x22, 0x66, 0x0a, 0x08, 0x4e, 0x66, 0x73, 0x4d, 0x6f, 0x75, 0x6e, 1135 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 1136 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x17, 1137 0x0a, 0x04, 0x70, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1138 0x02, 0x52, 0x04, 0x70, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 1139 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1140 0x02, 0x52, 0x0a, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0xb8, 0x02, 1141 0x0a, 0x15, 0x41, 0x75, 0x74, 0x6f, 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 1142 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x0b, 0x6d, 0x65, 0x74, 0x72, 0x69, 1143 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 1144 0x02, 0x52, 0x0a, 0x6d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 1145 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x06, 0x74, 1146 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x94, 0x01, 0x0a, 0x19, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 1147 0x72, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6c, 0x61, 0x62, 1148 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x53, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1149 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 1150 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x6f, 1151 0x73, 0x63, 0x61, 0x6c, 0x69, 0x6e, 0x67, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x53, 0x70, 0x65, 1152 0x63, 0x2e, 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 1153 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 1154 0xe0, 0x41, 0x01, 0x52, 0x17, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 1155 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x4a, 0x0a, 0x1c, 1156 0x4d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x65, 0x64, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 1157 0x65, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 1158 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 1159 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 1160 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x40, 0x0a, 0x10, 0x53, 0x68, 0x69, 0x65, 1161 0x6c, 0x64, 0x65, 0x64, 0x56, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2c, 0x0a, 0x12, 1162 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x6f, 1163 0x6f, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 1164 0x53, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x22, 0x58, 0x0a, 0x09, 0x46, 0x6c, 1165 0x65, 0x78, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x4b, 0x0a, 0x14, 0x6d, 0x61, 0x78, 0x5f, 0x72, 1166 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 1167 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1168 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 1169 0x52, 0x12, 0x6d, 0x61, 0x78, 0x52, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x44, 0x75, 0x72, 0x61, 1170 0x74, 0x69, 0x6f, 0x6e, 0x42, 0xec, 0x01, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 1171 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 1172 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x42, 0x15, 0x4d, 0x61, 1173 0x63, 0x68, 0x69, 0x6e, 0x65, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x50, 0x72, 1174 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x43, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x67, 0x6f, 0x6f, 1175 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 1176 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2f, 0x61, 0x70, 0x69, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 1177 0x2f, 0x61, 0x69, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0x3b, 0x61, 0x69, 1178 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x70, 0x62, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 1179 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 1180 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x56, 0x31, 0x42, 0x65, 0x74, 0x61, 0x31, 0xca, 0x02, 0x1f, 0x47, 1181 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x5c, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x5c, 0x41, 0x49, 0x50, 0x6c, 1182 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x5c, 0x56, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x02, 1183 0x22, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x3a, 0x3a, 0x43, 0x6c, 0x6f, 0x75, 0x64, 0x3a, 0x3a, 1184 0x41, 0x49, 0x50, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x65, 1185 0x74, 0x61, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, 1186 } 1187 1188 var ( 1189 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescOnce sync.Once 1190 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData = file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc 1191 ) 1192 1193 func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescGZIP() []byte { 1194 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescOnce.Do(func() { 1195 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData) 1196 }) 1197 return file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDescData 1198 } 1199 1200 var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes = make([]protoimpl.MessageInfo, 13) 1201 var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = []any{ 1202 (*MachineSpec)(nil), // 0: google.cloud.aiplatform.v1beta1.MachineSpec 1203 (*DedicatedResources)(nil), // 1: google.cloud.aiplatform.v1beta1.DedicatedResources 1204 (*AutomaticResources)(nil), // 2: google.cloud.aiplatform.v1beta1.AutomaticResources 1205 (*BatchDedicatedResources)(nil), // 3: google.cloud.aiplatform.v1beta1.BatchDedicatedResources 1206 (*ResourcesConsumed)(nil), // 4: google.cloud.aiplatform.v1beta1.ResourcesConsumed 1207 (*DiskSpec)(nil), // 5: google.cloud.aiplatform.v1beta1.DiskSpec 1208 (*PersistentDiskSpec)(nil), // 6: google.cloud.aiplatform.v1beta1.PersistentDiskSpec 1209 (*NfsMount)(nil), // 7: google.cloud.aiplatform.v1beta1.NfsMount 1210 (*AutoscalingMetricSpec)(nil), // 8: google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec 1211 (*ShieldedVmConfig)(nil), // 9: google.cloud.aiplatform.v1beta1.ShieldedVmConfig 1212 (*FlexStart)(nil), // 10: google.cloud.aiplatform.v1beta1.FlexStart 1213 (*DedicatedResources_ScaleToZeroSpec)(nil), // 11: google.cloud.aiplatform.v1beta1.DedicatedResources.ScaleToZeroSpec 1214 nil, // 12: google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.MonitoredResourceLabelsEntry 1215 (AcceleratorType)(0), // 13: google.cloud.aiplatform.v1beta1.AcceleratorType 1216 (*ReservationAffinity)(nil), // 14: google.cloud.aiplatform.v1beta1.ReservationAffinity 1217 (*durationpb.Duration)(nil), // 15: google.protobuf.Duration 1218 } 1219 var file_google_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs = []int32{ 1220 13, // 0: google.cloud.aiplatform.v1beta1.MachineSpec.accelerator_type:type_name -> google.cloud.aiplatform.v1beta1.AcceleratorType 1221 14, // 1: google.cloud.aiplatform.v1beta1.MachineSpec.reservation_affinity:type_name -> google.cloud.aiplatform.v1beta1.ReservationAffinity 1222 0, // 2: google.cloud.aiplatform.v1beta1.DedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec 1223 8, // 3: google.cloud.aiplatform.v1beta1.DedicatedResources.autoscaling_metric_specs:type_name -> google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec 1224 10, // 4: google.cloud.aiplatform.v1beta1.DedicatedResources.flex_start:type_name -> google.cloud.aiplatform.v1beta1.FlexStart 1225 11, // 5: google.cloud.aiplatform.v1beta1.DedicatedResources.scale_to_zero_spec:type_name -> google.cloud.aiplatform.v1beta1.DedicatedResources.ScaleToZeroSpec 1226 0, // 6: google.cloud.aiplatform.v1beta1.BatchDedicatedResources.machine_spec:type_name -> google.cloud.aiplatform.v1beta1.MachineSpec 1227 10, // 7: google.cloud.aiplatform.v1beta1.BatchDedicatedResources.flex_start:type_name -> google.cloud.aiplatform.v1beta1.FlexStart 1228 12, // 8: google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.monitored_resource_labels:type_name -> google.cloud.aiplatform.v1beta1.AutoscalingMetricSpec.MonitoredResourceLabelsEntry 1229 15, // 9: google.cloud.aiplatform.v1beta1.FlexStart.max_runtime_duration:type_name -> google.protobuf.Duration 1230 15, // 10: google.cloud.aiplatform.v1beta1.DedicatedResources.ScaleToZeroSpec.min_scaleup_period:type_name -> google.protobuf.Duration 1231 15, // 11: google.cloud.aiplatform.v1beta1.DedicatedResources.ScaleToZeroSpec.idle_scaledown_period:type_name -> google.protobuf.Duration 1232 12, // [12:12] is the sub-list for method output_type 1233 12, // [12:12] is the sub-list for method input_type 1234 12, // [12:12] is the sub-list for extension type_name 1235 12, // [12:12] is the sub-list for extension extendee 1236 0, // [0:12] is the sub-list for field type_name 1237 } 1238 1239 func init() { file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() } 1240 func file_google_cloud_aiplatform_v1beta1_machine_resources_proto_init() { 1241 if File_google_cloud_aiplatform_v1beta1_machine_resources_proto != nil { 1242 return 1243 } 1244 file_google_cloud_aiplatform_v1beta1_accelerator_type_proto_init() 1245 file_google_cloud_aiplatform_v1beta1_reservation_affinity_proto_init() 1246 type x struct{} 1247 out := protoimpl.TypeBuilder{ 1248 File: protoimpl.DescBuilder{ 1249 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 1250 RawDescriptor: file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc, 1251 NumEnums: 0, 1252 NumMessages: 13, 1253 NumExtensions: 0, 1254 NumServices: 0, 1255 }, 1256 GoTypes: file_google_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes, 1257 DependencyIndexes: file_google_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs, 1258 MessageInfos: file_google_cloud_aiplatform_v1beta1_machine_resources_proto_msgTypes, 1259 }.Build() 1260 File_google_cloud_aiplatform_v1beta1_machine_resources_proto = out.File 1261 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_rawDesc = nil 1262 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_goTypes = nil 1263 file_google_cloud_aiplatform_v1beta1_machine_resources_proto_depIdxs = nil 1264 }