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  }