// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v6.33.2
// source: google/cloud/aiplatform/v1beta1/model.proto

package aiplatformpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	structpb "google.golang.org/protobuf/types/known/structpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Identifies a type of Model's prediction resources.
type Model_DeploymentResourcesType int32

const (
	// Should not be used.
	Model_DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED Model_DeploymentResourcesType = 0
	// Resources that are dedicated to the
	// [DeployedModel][google.cloud.aiplatform.v1beta1.DeployedModel], and that
	// need a higher degree of manual configuration.
	Model_DEDICATED_RESOURCES Model_DeploymentResourcesType = 1
	// Resources that to large degree are decided by Vertex AI, and require
	// only a modest additional configuration.
	Model_AUTOMATIC_RESOURCES Model_DeploymentResourcesType = 2
	// Resources that can be shared by multiple
	// [DeployedModels][google.cloud.aiplatform.v1beta1.DeployedModel]. A
	// pre-configured
	// [DeploymentResourcePool][google.cloud.aiplatform.v1beta1.DeploymentResourcePool]
	// is required.
	Model_SHARED_RESOURCES Model_DeploymentResourcesType = 3
)

// Enum value maps for Model_DeploymentResourcesType.
var (
	Model_DeploymentResourcesType_name = map[int32]string{
		0: "DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED",
		1: "DEDICATED_RESOURCES",
		2: "AUTOMATIC_RESOURCES",
		3: "SHARED_RESOURCES",
	}
	Model_DeploymentResourcesType_value = map[string]int32{
		"DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED": 0,
		"DEDICATED_RESOURCES":                   1,
		"AUTOMATIC_RESOURCES":                   2,
		"SHARED_RESOURCES":                      3,
	}
)

func (x Model_DeploymentResourcesType) Enum() *Model_DeploymentResourcesType {
	p := new(Model_DeploymentResourcesType)
	*p = x
	return p
}

func (x Model_DeploymentResourcesType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Model_DeploymentResourcesType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes[0].Descriptor()
}

func (Model_DeploymentResourcesType) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes[0]
}

func (x Model_DeploymentResourcesType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Model_DeploymentResourcesType.Descriptor instead.
func (Model_DeploymentResourcesType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 0}
}

// The Model content that can be exported.
type Model_ExportFormat_ExportableContent int32

const (
	// Should not be used.
	Model_ExportFormat_EXPORTABLE_CONTENT_UNSPECIFIED Model_ExportFormat_ExportableContent = 0
	// Model artifact and any of its supported files. Will be exported to the
	// location specified by the `artifactDestination` field of the
	// [ExportModelRequest.output_config][google.cloud.aiplatform.v1beta1.ExportModelRequest.output_config]
	// object.
	Model_ExportFormat_ARTIFACT Model_ExportFormat_ExportableContent = 1
	// The container image that is to be used when deploying this Model. Will
	// be exported to the location specified by the `imageDestination` field
	// of the
	// [ExportModelRequest.output_config][google.cloud.aiplatform.v1beta1.ExportModelRequest.output_config]
	// object.
	Model_ExportFormat_IMAGE Model_ExportFormat_ExportableContent = 2
)

// Enum value maps for Model_ExportFormat_ExportableContent.
var (
	Model_ExportFormat_ExportableContent_name = map[int32]string{
		0: "EXPORTABLE_CONTENT_UNSPECIFIED",
		1: "ARTIFACT",
		2: "IMAGE",
	}
	Model_ExportFormat_ExportableContent_value = map[string]int32{
		"EXPORTABLE_CONTENT_UNSPECIFIED": 0,
		"ARTIFACT":                       1,
		"IMAGE":                          2,
	}
)

func (x Model_ExportFormat_ExportableContent) Enum() *Model_ExportFormat_ExportableContent {
	p := new(Model_ExportFormat_ExportableContent)
	*p = x
	return p
}

func (x Model_ExportFormat_ExportableContent) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Model_ExportFormat_ExportableContent) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes[1].Descriptor()
}

func (Model_ExportFormat_ExportableContent) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes[1]
}

func (x Model_ExportFormat_ExportableContent) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Model_ExportFormat_ExportableContent.Descriptor instead.
func (Model_ExportFormat_ExportableContent) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 0, 0}
}

// Source of the model.
// Different from `objective` field, this `ModelSourceType` enum
// indicates the source from which the model was accessed or obtained,
// whereas the `objective` indicates the overall aim or function of this
// model.
type ModelSourceInfo_ModelSourceType int32

const (
	// Should not be used.
	ModelSourceInfo_MODEL_SOURCE_TYPE_UNSPECIFIED ModelSourceInfo_ModelSourceType = 0
	// The Model is uploaded by automl training pipeline.
	ModelSourceInfo_AUTOML ModelSourceInfo_ModelSourceType = 1
	// The Model is uploaded by user or custom training pipeline.
	ModelSourceInfo_CUSTOM ModelSourceInfo_ModelSourceType = 2
	// The Model is registered and sync'ed from BigQuery ML.
	ModelSourceInfo_BQML ModelSourceInfo_ModelSourceType = 3
	// The Model is saved or tuned from Model Garden.
	ModelSourceInfo_MODEL_GARDEN ModelSourceInfo_ModelSourceType = 4
	// The Model is saved or tuned from Genie.
	ModelSourceInfo_GENIE ModelSourceInfo_ModelSourceType = 5
	// The Model is uploaded by text embedding finetuning pipeline.
	ModelSourceInfo_CUSTOM_TEXT_EMBEDDING ModelSourceInfo_ModelSourceType = 6
	// The Model is saved or tuned from Marketplace.
	ModelSourceInfo_MARKETPLACE ModelSourceInfo_ModelSourceType = 7
)

// Enum value maps for ModelSourceInfo_ModelSourceType.
var (
	ModelSourceInfo_ModelSourceType_name = map[int32]string{
		0: "MODEL_SOURCE_TYPE_UNSPECIFIED",
		1: "AUTOML",
		2: "CUSTOM",
		3: "BQML",
		4: "MODEL_GARDEN",
		5: "GENIE",
		6: "CUSTOM_TEXT_EMBEDDING",
		7: "MARKETPLACE",
	}
	ModelSourceInfo_ModelSourceType_value = map[string]int32{
		"MODEL_SOURCE_TYPE_UNSPECIFIED": 0,
		"AUTOML":                        1,
		"CUSTOM":                        2,
		"BQML":                          3,
		"MODEL_GARDEN":                  4,
		"GENIE":                         5,
		"CUSTOM_TEXT_EMBEDDING":         6,
		"MARKETPLACE":                   7,
	}
)

func (x ModelSourceInfo_ModelSourceType) Enum() *ModelSourceInfo_ModelSourceType {
	p := new(ModelSourceInfo_ModelSourceType)
	*p = x
	return p
}

func (x ModelSourceInfo_ModelSourceType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ModelSourceInfo_ModelSourceType) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes[2].Descriptor()
}

func (ModelSourceInfo_ModelSourceType) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes[2]
}

func (x ModelSourceInfo_ModelSourceType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ModelSourceInfo_ModelSourceType.Descriptor instead.
func (ModelSourceInfo_ModelSourceType) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{7, 0}
}

// A trained machine learning Model.
type Model struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The resource name of the Model.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Output only. Immutable. The version ID of the model.
	// A new version is committed when a new model version is uploaded or
	// trained under an existing model id. It is an auto-incrementing decimal
	// number in string representation.
	VersionId string `protobuf:"bytes,28,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
	// User provided version aliases so that a model version can be referenced via
	// alias (i.e.
	// `projects/{project}/locations/{location}/models/{model_id}@{version_alias}`
	// instead of auto-generated version id (i.e.
	// `projects/{project}/locations/{location}/models/{model_id}@{version_id})`.
	// The format is [a-z][a-zA-Z0-9-]{0,126}[a-z0-9] to distinguish from
	// version_id. A default version alias will be created for the first version
	// of the model, and there must be exactly one default version alias for a
	// model.
	VersionAliases []string `protobuf:"bytes,29,rep,name=version_aliases,json=versionAliases,proto3" json:"version_aliases,omitempty"`
	// Output only. Timestamp when this version was created.
	VersionCreateTime *timestamppb.Timestamp `protobuf:"bytes,31,opt,name=version_create_time,json=versionCreateTime,proto3" json:"version_create_time,omitempty"`
	// Output only. Timestamp when this version was most recently updated.
	VersionUpdateTime *timestamppb.Timestamp `protobuf:"bytes,32,opt,name=version_update_time,json=versionUpdateTime,proto3" json:"version_update_time,omitempty"`
	// Required. The display name of the Model.
	// The name can be up to 128 characters long and can consist of any UTF-8
	// characters.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// The description of the Model.
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// The description of this version.
	VersionDescription string `protobuf:"bytes,30,opt,name=version_description,json=versionDescription,proto3" json:"version_description,omitempty"`
	// The default checkpoint id of a model version.
	DefaultCheckpointId string `protobuf:"bytes,53,opt,name=default_checkpoint_id,json=defaultCheckpointId,proto3" json:"default_checkpoint_id,omitempty"`
	// The schemata that describe formats of the Model's predictions and
	// explanations as given and returned via
	// [PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]
	// and
	// [PredictionService.Explain][google.cloud.aiplatform.v1beta1.PredictionService.Explain].
	PredictSchemata *PredictSchemata `protobuf:"bytes,4,opt,name=predict_schemata,json=predictSchemata,proto3" json:"predict_schemata,omitempty"`
	// Immutable. Points to a YAML file stored on Google Cloud Storage describing
	// additional information about the Model, that is specific to it. Unset if
	// the Model does not have any additional information. The schema is defined
	// as an OpenAPI 3.0.2 [Schema
	// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
	// AutoML Models always have this field populated by Vertex AI, if no
	// additional metadata is needed, this field is set to an empty string.
	// Note: The URI given on output will be immutable and probably different,
	// including the URI scheme, than the one given on input. The output URI will
	// point to a location where the user only has a read access.
	MetadataSchemaUri string `protobuf:"bytes,5,opt,name=metadata_schema_uri,json=metadataSchemaUri,proto3" json:"metadata_schema_uri,omitempty"`
	// Immutable. An additional information about the Model; the schema of the
	// metadata can be found in
	// [metadata_schema][google.cloud.aiplatform.v1beta1.Model.metadata_schema_uri].
	// Unset if the Model does not have any additional information.
	Metadata *structpb.Value `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Output only. The formats in which this Model may be exported. If empty,
	// this Model is not available for export.
	SupportedExportFormats []*Model_ExportFormat `protobuf:"bytes,20,rep,name=supported_export_formats,json=supportedExportFormats,proto3" json:"supported_export_formats,omitempty"`
	// Output only. The resource name of the TrainingPipeline that uploaded this
	// Model, if any.
	TrainingPipeline string `protobuf:"bytes,7,opt,name=training_pipeline,json=trainingPipeline,proto3" json:"training_pipeline,omitempty"`
	// Input only. The specification of the container that is to be used when
	// deploying this Model. The specification is ingested upon
	// [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel],
	// and all binaries it contains are copied and stored internally by Vertex AI.
	// Not required for AutoML Models.
	ContainerSpec *ModelContainerSpec `protobuf:"bytes,9,opt,name=container_spec,json=containerSpec,proto3" json:"container_spec,omitempty"`
	// Immutable. The path to the directory containing the Model artifact and any
	// of its supporting files. Not required for AutoML Models.
	ArtifactUri string `protobuf:"bytes,26,opt,name=artifact_uri,json=artifactUri,proto3" json:"artifact_uri,omitempty"`
	// Output only. When this Model is deployed, its prediction resources are
	// described by the `prediction_resources` field of the
	// [Endpoint.deployed_models][google.cloud.aiplatform.v1beta1.Endpoint.deployed_models]
	// object. Because not all Models support all resource configuration types,
	// the configuration types this Model supports are listed here. If no
	// configuration types are listed, the Model cannot be deployed to an
	// [Endpoint][google.cloud.aiplatform.v1beta1.Endpoint] and does not support
	// online predictions
	// ([PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]
	// or
	// [PredictionService.Explain][google.cloud.aiplatform.v1beta1.PredictionService.Explain]).
	// Such a Model can serve predictions by using a
	// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob],
	// if it has at least one entry each in
	// [supported_input_storage_formats][google.cloud.aiplatform.v1beta1.Model.supported_input_storage_formats]
	// and
	// [supported_output_storage_formats][google.cloud.aiplatform.v1beta1.Model.supported_output_storage_formats].
	SupportedDeploymentResourcesTypes []Model_DeploymentResourcesType `protobuf:"varint,10,rep,packed,name=supported_deployment_resources_types,json=supportedDeploymentResourcesTypes,proto3,enum=google.cloud.aiplatform.v1beta1.Model_DeploymentResourcesType" json:"supported_deployment_resources_types,omitempty"`
	// Output only. The formats this Model supports in
	// [BatchPredictionJob.input_config][google.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config].
	// If
	// [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]
	// exists, the instances should be given as per that schema.
	//
	// The possible formats are:
	//
	// * `jsonl`
	// The JSON Lines format, where each instance is a single line. Uses
	// [GcsSource][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source].
	//
	// * `csv`
	// The CSV format, where each instance is a single comma-separated line.
	// The first line in the file is the header, containing comma-separated field
	// names. Uses
	// [GcsSource][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source].
	//
	// * `tf-record`
	// The TFRecord format, where each instance is a single record in tfrecord
	// syntax. Uses
	// [GcsSource][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source].
	//
	// * `tf-record-gzip`
	// Similar to `tf-record`, but the file is gzipped. Uses
	// [GcsSource][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.gcs_source].
	//
	// * `bigquery`
	// Each instance is a single row in BigQuery. Uses
	// [BigQuerySource][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig.bigquery_source].
	//
	// * `file-list`
	// Each line of the file is the location of an instance to process, uses
	// `gcs_source` field of the
	// [InputConfig][google.cloud.aiplatform.v1beta1.BatchPredictionJob.InputConfig]
	// object.
	//
	// If this Model doesn't support any of these formats it means it cannot be
	// used with a
	// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
	// However, if it has
	// [supported_deployment_resources_types][google.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types],
	// it could serve online predictions by using
	// [PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]
	// or
	// [PredictionService.Explain][google.cloud.aiplatform.v1beta1.PredictionService.Explain].
	SupportedInputStorageFormats []string `protobuf:"bytes,11,rep,name=supported_input_storage_formats,json=supportedInputStorageFormats,proto3" json:"supported_input_storage_formats,omitempty"`
	// Output only. The formats this Model supports in
	// [BatchPredictionJob.output_config][google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config].
	// If both
	// [PredictSchemata.instance_schema_uri][google.cloud.aiplatform.v1beta1.PredictSchemata.instance_schema_uri]
	// and
	// [PredictSchemata.prediction_schema_uri][google.cloud.aiplatform.v1beta1.PredictSchemata.prediction_schema_uri]
	// exist, the predictions are returned together with their instances. In other
	// words, the prediction has the original instance data first, followed by the
	// actual prediction content (as per the schema).
	//
	// The possible formats are:
	//
	// * `jsonl`
	// The JSON Lines format, where each prediction is a single line. Uses
	// [GcsDestination][google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination].
	//
	// * `csv`
	// The CSV format, where each prediction is a single comma-separated line.
	// The first line in the file is the header, containing comma-separated field
	// names. Uses
	// [GcsDestination][google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.gcs_destination].
	//
	// * `bigquery`
	// Each prediction is a single row in a BigQuery table, uses
	// [BigQueryDestination][google.cloud.aiplatform.v1beta1.BatchPredictionJob.OutputConfig.bigquery_destination]
	// .
	//
	// If this Model doesn't support any of these formats it means it cannot be
	// used with a
	// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
	// However, if it has
	// [supported_deployment_resources_types][google.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types],
	// it could serve online predictions by using
	// [PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]
	// or
	// [PredictionService.Explain][google.cloud.aiplatform.v1beta1.PredictionService.Explain].
	SupportedOutputStorageFormats []string `protobuf:"bytes,12,rep,name=supported_output_storage_formats,json=supportedOutputStorageFormats,proto3" json:"supported_output_storage_formats,omitempty"`
	// Output only. Timestamp when this Model was uploaded into Vertex AI.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Output only. Timestamp when this Model was most recently updated.
	UpdateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
	// Output only. The pointers to DeployedModels created from this Model. Note
	// that Model could have been deployed to Endpoints in different Locations.
	DeployedModels []*DeployedModelRef `protobuf:"bytes,15,rep,name=deployed_models,json=deployedModels,proto3" json:"deployed_models,omitempty"`
	// The default explanation specification for this Model.
	//
	// The Model can be used for
	// [requesting
	// explanation][google.cloud.aiplatform.v1beta1.PredictionService.Explain]
	// after being
	// [deployed][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel] if
	// it is populated. The Model can be used for [batch
	// explanation][google.cloud.aiplatform.v1beta1.BatchPredictionJob.generate_explanation]
	// if it is populated.
	//
	// All fields of the explanation_spec can be overridden by
	// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]
	// of
	// [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model],
	// or
	// [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec]
	// of
	// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
	//
	// If the default explanation specification is not set for this Model, this
	// Model can still be used for
	// [requesting
	// explanation][google.cloud.aiplatform.v1beta1.PredictionService.Explain] by
	// setting
	// [explanation_spec][google.cloud.aiplatform.v1beta1.DeployedModel.explanation_spec]
	// of
	// [DeployModelRequest.deployed_model][google.cloud.aiplatform.v1beta1.DeployModelRequest.deployed_model]
	// and for [batch
	// explanation][google.cloud.aiplatform.v1beta1.BatchPredictionJob.generate_explanation]
	// by setting
	// [explanation_spec][google.cloud.aiplatform.v1beta1.BatchPredictionJob.explanation_spec]
	// of
	// [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
	ExplanationSpec *ExplanationSpec `protobuf:"bytes,23,opt,name=explanation_spec,json=explanationSpec,proto3" json:"explanation_spec,omitempty"`
	// Used to perform consistent read-modify-write updates. If not set, a blind
	// "overwrite" update happens.
	Etag string `protobuf:"bytes,16,opt,name=etag,proto3" json:"etag,omitempty"`
	// The labels with user-defined metadata to organize your Models.
	//
	// Label keys and values can be no longer than 64 characters
	// (Unicode codepoints), can only contain lowercase letters, numeric
	// characters, underscores and dashes. International characters are allowed.
	//
	// See https://goo.gl/xmQnxf for more information and examples of labels.
	Labels map[string]string `protobuf:"bytes,17,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	// Customer-managed encryption key spec for a Model. If set, this
	// Model and all sub-resources of this Model will be secured by this key.
	EncryptionSpec *EncryptionSpec `protobuf:"bytes,24,opt,name=encryption_spec,json=encryptionSpec,proto3" json:"encryption_spec,omitempty"`
	// Output only. Source of a model. It can either be automl training pipeline,
	// custom training pipeline, BigQuery ML, or saved and tuned from Genie or
	// Model Garden.
	ModelSourceInfo *ModelSourceInfo `protobuf:"bytes,38,opt,name=model_source_info,json=modelSourceInfo,proto3" json:"model_source_info,omitempty"`
	// Output only. If this Model is a copy of another Model, this contains info
	// about the original.
	OriginalModelInfo *Model_OriginalModelInfo `protobuf:"bytes,34,opt,name=original_model_info,json=originalModelInfo,proto3" json:"original_model_info,omitempty"`
	// Output only. The resource name of the Artifact that was created in
	// MetadataStore when creating the Model. The Artifact resource name pattern
	// is
	// `projects/{project}/locations/{location}/metadataStores/{metadata_store}/artifacts/{artifact}`.
	MetadataArtifact string `protobuf:"bytes,44,opt,name=metadata_artifact,json=metadataArtifact,proto3" json:"metadata_artifact,omitempty"`
	// Optional. User input field to specify the base model source. Currently it
	// only supports specifing the Model Garden models and Genie models.
	BaseModelSource *Model_BaseModelSource `protobuf:"bytes,50,opt,name=base_model_source,json=baseModelSource,proto3" json:"base_model_source,omitempty"`
	// Output only. Reserved for future use.
	SatisfiesPzs bool `protobuf:"varint,51,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
	// Output only. Reserved for future use.
	SatisfiesPzi bool `protobuf:"varint,52,opt,name=satisfies_pzi,json=satisfiesPzi,proto3" json:"satisfies_pzi,omitempty"`
	// Optional. Output only. The checkpoints of the model.
	Checkpoints   []*Checkpoint `protobuf:"bytes,57,rep,name=checkpoints,proto3" json:"checkpoints,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Model) Reset() {
	*x = Model{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Model) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Model) ProtoMessage() {}

func (x *Model) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Model.ProtoReflect.Descriptor instead.
func (*Model) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0}
}

func (x *Model) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Model) GetVersionId() string {
	if x != nil {
		return x.VersionId
	}
	return ""
}

func (x *Model) GetVersionAliases() []string {
	if x != nil {
		return x.VersionAliases
	}
	return nil
}

func (x *Model) GetVersionCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.VersionCreateTime
	}
	return nil
}

func (x *Model) GetVersionUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.VersionUpdateTime
	}
	return nil
}

func (x *Model) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Model) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Model) GetVersionDescription() string {
	if x != nil {
		return x.VersionDescription
	}
	return ""
}

func (x *Model) GetDefaultCheckpointId() string {
	if x != nil {
		return x.DefaultCheckpointId
	}
	return ""
}

func (x *Model) GetPredictSchemata() *PredictSchemata {
	if x != nil {
		return x.PredictSchemata
	}
	return nil
}

func (x *Model) GetMetadataSchemaUri() string {
	if x != nil {
		return x.MetadataSchemaUri
	}
	return ""
}

func (x *Model) GetMetadata() *structpb.Value {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *Model) GetSupportedExportFormats() []*Model_ExportFormat {
	if x != nil {
		return x.SupportedExportFormats
	}
	return nil
}

func (x *Model) GetTrainingPipeline() string {
	if x != nil {
		return x.TrainingPipeline
	}
	return ""
}

func (x *Model) GetContainerSpec() *ModelContainerSpec {
	if x != nil {
		return x.ContainerSpec
	}
	return nil
}

func (x *Model) GetArtifactUri() string {
	if x != nil {
		return x.ArtifactUri
	}
	return ""
}

func (x *Model) GetSupportedDeploymentResourcesTypes() []Model_DeploymentResourcesType {
	if x != nil {
		return x.SupportedDeploymentResourcesTypes
	}
	return nil
}

func (x *Model) GetSupportedInputStorageFormats() []string {
	if x != nil {
		return x.SupportedInputStorageFormats
	}
	return nil
}

func (x *Model) GetSupportedOutputStorageFormats() []string {
	if x != nil {
		return x.SupportedOutputStorageFormats
	}
	return nil
}

func (x *Model) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Model) GetUpdateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdateTime
	}
	return nil
}

func (x *Model) GetDeployedModels() []*DeployedModelRef {
	if x != nil {
		return x.DeployedModels
	}
	return nil
}

func (x *Model) GetExplanationSpec() *ExplanationSpec {
	if x != nil {
		return x.ExplanationSpec
	}
	return nil
}

func (x *Model) GetEtag() string {
	if x != nil {
		return x.Etag
	}
	return ""
}

func (x *Model) GetLabels() map[string]string {
	if x != nil {
		return x.Labels
	}
	return nil
}

func (x *Model) GetEncryptionSpec() *EncryptionSpec {
	if x != nil {
		return x.EncryptionSpec
	}
	return nil
}

func (x *Model) GetModelSourceInfo() *ModelSourceInfo {
	if x != nil {
		return x.ModelSourceInfo
	}
	return nil
}

func (x *Model) GetOriginalModelInfo() *Model_OriginalModelInfo {
	if x != nil {
		return x.OriginalModelInfo
	}
	return nil
}

func (x *Model) GetMetadataArtifact() string {
	if x != nil {
		return x.MetadataArtifact
	}
	return ""
}

func (x *Model) GetBaseModelSource() *Model_BaseModelSource {
	if x != nil {
		return x.BaseModelSource
	}
	return nil
}

func (x *Model) GetSatisfiesPzs() bool {
	if x != nil {
		return x.SatisfiesPzs
	}
	return false
}

func (x *Model) GetSatisfiesPzi() bool {
	if x != nil {
		return x.SatisfiesPzi
	}
	return false
}

func (x *Model) GetCheckpoints() []*Checkpoint {
	if x != nil {
		return x.Checkpoints
	}
	return nil
}

// Contains information about the Large Model.
type LargeModelReference struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The unique name of the large Foundation or pre-built model. Like
	// "chat-bison", "text-bison". Or model name with version ID, like
	// "chat-bison@001", "text-bison@005", etc.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LargeModelReference) Reset() {
	*x = LargeModelReference{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LargeModelReference) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LargeModelReference) ProtoMessage() {}

func (x *LargeModelReference) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LargeModelReference.ProtoReflect.Descriptor instead.
func (*LargeModelReference) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{1}
}

func (x *LargeModelReference) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// Contains information about the source of the models generated from Model
// Garden.
type ModelGardenSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The model garden source model resource name.
	PublicModelName string `protobuf:"bytes,1,opt,name=public_model_name,json=publicModelName,proto3" json:"public_model_name,omitempty"`
	// Optional. The model garden source model version ID.
	VersionId string `protobuf:"bytes,3,opt,name=version_id,json=versionId,proto3" json:"version_id,omitempty"`
	// Optional. Whether to avoid pulling the model from the HF cache.
	SkipHfModelCache bool `protobuf:"varint,4,opt,name=skip_hf_model_cache,json=skipHfModelCache,proto3" json:"skip_hf_model_cache,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ModelGardenSource) Reset() {
	*x = ModelGardenSource{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ModelGardenSource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModelGardenSource) ProtoMessage() {}

func (x *ModelGardenSource) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModelGardenSource.ProtoReflect.Descriptor instead.
func (*ModelGardenSource) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{2}
}

func (x *ModelGardenSource) GetPublicModelName() string {
	if x != nil {
		return x.PublicModelName
	}
	return ""
}

func (x *ModelGardenSource) GetVersionId() string {
	if x != nil {
		return x.VersionId
	}
	return ""
}

func (x *ModelGardenSource) GetSkipHfModelCache() bool {
	if x != nil {
		return x.SkipHfModelCache
	}
	return false
}

// Contains information about the source of the models generated from Generative
// AI Studio.
type GenieSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The public base model URI.
	BaseModelUri  string `protobuf:"bytes,1,opt,name=base_model_uri,json=baseModelUri,proto3" json:"base_model_uri,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GenieSource) Reset() {
	*x = GenieSource{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GenieSource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GenieSource) ProtoMessage() {}

func (x *GenieSource) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GenieSource.ProtoReflect.Descriptor instead.
func (*GenieSource) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{3}
}

func (x *GenieSource) GetBaseModelUri() string {
	if x != nil {
		return x.BaseModelUri
	}
	return ""
}

// Contains the schemata used in Model's predictions and explanations via
// [PredictionService.Predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict],
// [PredictionService.Explain][google.cloud.aiplatform.v1beta1.PredictionService.Explain]
// and [BatchPredictionJob][google.cloud.aiplatform.v1beta1.BatchPredictionJob].
type PredictSchemata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Immutable. Points to a YAML file stored on Google Cloud Storage describing
	// the format of a single instance, which are used in
	// [PredictRequest.instances][google.cloud.aiplatform.v1beta1.PredictRequest.instances],
	// [ExplainRequest.instances][google.cloud.aiplatform.v1beta1.ExplainRequest.instances]
	// and
	// [BatchPredictionJob.input_config][google.cloud.aiplatform.v1beta1.BatchPredictionJob.input_config].
	// The schema is defined as an OpenAPI 3.0.2 [Schema
	// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
	// AutoML Models always have this field populated by Vertex AI.
	// Note: The URI given on output will be immutable and probably different,
	// including the URI scheme, than the one given on input. The output URI will
	// point to a location where the user only has a read access.
	InstanceSchemaUri string `protobuf:"bytes,1,opt,name=instance_schema_uri,json=instanceSchemaUri,proto3" json:"instance_schema_uri,omitempty"`
	// Immutable. Points to a YAML file stored on Google Cloud Storage describing
	// the parameters of prediction and explanation via
	// [PredictRequest.parameters][google.cloud.aiplatform.v1beta1.PredictRequest.parameters],
	// [ExplainRequest.parameters][google.cloud.aiplatform.v1beta1.ExplainRequest.parameters]
	// and
	// [BatchPredictionJob.model_parameters][google.cloud.aiplatform.v1beta1.BatchPredictionJob.model_parameters].
	// The schema is defined as an OpenAPI 3.0.2 [Schema
	// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
	// AutoML Models always have this field populated by Vertex AI, if no
	// parameters are supported, then it is set to an empty string.
	// Note: The URI given on output will be immutable and probably different,
	// including the URI scheme, than the one given on input. The output URI will
	// point to a location where the user only has a read access.
	ParametersSchemaUri string `protobuf:"bytes,2,opt,name=parameters_schema_uri,json=parametersSchemaUri,proto3" json:"parameters_schema_uri,omitempty"`
	// Immutable. Points to a YAML file stored on Google Cloud Storage describing
	// the format of a single prediction produced by this Model, which are
	// returned via
	// [PredictResponse.predictions][google.cloud.aiplatform.v1beta1.PredictResponse.predictions],
	// [ExplainResponse.explanations][google.cloud.aiplatform.v1beta1.ExplainResponse.explanations],
	// and
	// [BatchPredictionJob.output_config][google.cloud.aiplatform.v1beta1.BatchPredictionJob.output_config].
	// The schema is defined as an OpenAPI 3.0.2 [Schema
	// Object](https://github.com/OAI/OpenAPI-Specification/blob/main/versions/3.0.2.md#schemaObject).
	// AutoML Models always have this field populated by Vertex AI.
	// Note: The URI given on output will be immutable and probably different,
	// including the URI scheme, than the one given on input. The output URI will
	// point to a location where the user only has a read access.
	PredictionSchemaUri string `protobuf:"bytes,3,opt,name=prediction_schema_uri,json=predictionSchemaUri,proto3" json:"prediction_schema_uri,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *PredictSchemata) Reset() {
	*x = PredictSchemata{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PredictSchemata) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PredictSchemata) ProtoMessage() {}

func (x *PredictSchemata) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PredictSchemata.ProtoReflect.Descriptor instead.
func (*PredictSchemata) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{4}
}

func (x *PredictSchemata) GetInstanceSchemaUri() string {
	if x != nil {
		return x.InstanceSchemaUri
	}
	return ""
}

func (x *PredictSchemata) GetParametersSchemaUri() string {
	if x != nil {
		return x.ParametersSchemaUri
	}
	return ""
}

func (x *PredictSchemata) GetPredictionSchemaUri() string {
	if x != nil {
		return x.PredictionSchemaUri
	}
	return ""
}

// Specification of a container for serving predictions. Some fields in this
// message correspond to fields in the [Kubernetes Container v1 core
// specification](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
type ModelContainerSpec struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. Immutable. URI of the Docker image to be used as the custom
	// container for serving predictions. This URI must identify an image in
	// Artifact Registry or Container Registry. Learn more about the [container
	// publishing
	// requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#publishing),
	// including permissions requirements for the Vertex AI Service Agent.
	//
	// The container image is ingested upon
	// [ModelService.UploadModel][google.cloud.aiplatform.v1beta1.ModelService.UploadModel],
	// stored internally, and this original path is afterwards not used.
	//
	// To learn about the requirements for the Docker image itself, see
	// [Custom container
	// requirements](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#).
	//
	// You can use the URI to one of Vertex AI's [pre-built container images for
	// prediction](https://cloud.google.com/vertex-ai/docs/predictions/pre-built-containers)
	// in this field.
	ImageUri string `protobuf:"bytes,1,opt,name=image_uri,json=imageUri,proto3" json:"image_uri,omitempty"`
	// Immutable. Specifies the command that runs when the container starts. This
	// overrides the container's
	// [ENTRYPOINT](https://docs.docker.com/engine/reference/builder/#entrypoint).
	// Specify this field as an array of executable and arguments, similar to a
	// Docker `ENTRYPOINT`'s "exec" form, not its "shell" form.
	//
	// If you do not specify this field, then the container's `ENTRYPOINT` runs,
	// in conjunction with the
	// [args][google.cloud.aiplatform.v1beta1.ModelContainerSpec.args] field or
	// the container's
	// [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd), if either
	// exists. If this field is not specified and the container does not have an
	// `ENTRYPOINT`, then refer to the Docker documentation about [how `CMD` and
	// `ENTRYPOINT`
	// interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
	//
	// If you specify this field, then you can also specify the `args` field to
	// provide additional arguments for this command. However, if you specify this
	// field, then the container's `CMD` is ignored. See the
	// [Kubernetes documentation about how the
	// `command` and `args` fields interact with a container's `ENTRYPOINT` and
	// `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
	//
	// In this field, you can reference [environment variables set by Vertex
	// AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
	// and environment variables set in the
	// [env][google.cloud.aiplatform.v1beta1.ModelContainerSpec.env] field. You
	// cannot reference environment variables set in the Docker image. In order
	// for environment variables to be expanded, reference them by using the
	// following syntax:
	// <code>$(<var>VARIABLE_NAME</var>)</code>
	// Note that this differs from Bash variable expansion, which does not use
	// parentheses. If a variable cannot be resolved, the reference in the input
	// string is used unchanged. To avoid variable expansion, you can escape this
	// syntax with `$$`; for example:
	// <code>$$(<var>VARIABLE_NAME</var>)</code>
	// This field corresponds to the `command` field of the Kubernetes Containers
	// [v1 core
	// API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
	Command []string `protobuf:"bytes,2,rep,name=command,proto3" json:"command,omitempty"`
	// Immutable. Specifies arguments for the command that runs when the container
	// starts. This overrides the container's
	// [`CMD`](https://docs.docker.com/engine/reference/builder/#cmd). Specify
	// this field as an array of executable and arguments, similar to a Docker
	// `CMD`'s "default parameters" form.
	//
	// If you don't specify this field but do specify the
	// [command][google.cloud.aiplatform.v1beta1.ModelContainerSpec.command]
	// field, then the command from the `command` field runs without any
	// additional arguments. See the [Kubernetes documentation about how the
	// `command` and `args` fields interact with a container's `ENTRYPOINT` and
	// `CMD`](https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#notes).
	//
	// If you don't specify this field and don't specify the `command` field,
	// then the container's
	// [`ENTRYPOINT`](https://docs.docker.com/engine/reference/builder/#cmd) and
	// `CMD` determine what runs based on their default behavior. See the Docker
	// documentation about [how `CMD` and `ENTRYPOINT`
	// interact](https://docs.docker.com/engine/reference/builder/#understand-how-cmd-and-entrypoint-interact).
	//
	// In this field, you can reference [environment variables
	// set by Vertex
	// AI](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables)
	// and environment variables set in the
	// [env][google.cloud.aiplatform.v1beta1.ModelContainerSpec.env] field. You
	// cannot reference environment variables set in the Docker image. In order
	// for environment variables to be expanded, reference them by using the
	// following syntax:
	// <code>$(<var>VARIABLE_NAME</var>)</code>
	// Note that this differs from Bash variable expansion, which does not use
	// parentheses. If a variable cannot be resolved, the reference in the input
	// string is used unchanged. To avoid variable expansion, you can escape this
	// syntax with `$$`; for example:
	// <code>$$(<var>VARIABLE_NAME</var>)</code>
	// This field corresponds to the `args` field of the Kubernetes Containers
	// [v1 core
	// API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
	Args []string `protobuf:"bytes,3,rep,name=args,proto3" json:"args,omitempty"`
	// Immutable. List of environment variables to set in the container. After the
	// container starts running, code running in the container can read these
	// environment variables.
	//
	// Additionally, the
	// [command][google.cloud.aiplatform.v1beta1.ModelContainerSpec.command] and
	// [args][google.cloud.aiplatform.v1beta1.ModelContainerSpec.args] fields can
	// reference these variables. Later entries in this list can also reference
	// earlier entries. For example, the following example sets the variable
	// `VAR_2` to have the value `foo bar`:
	//
	// ```json
	// [
	//
	//	{
	//	  "name": "VAR_1",
	//	  "value": "foo"
	//	},
	//	{
	//	  "name": "VAR_2",
	//	  "value": "$(VAR_1) bar"
	//	}
	//
	// ]
	// ```
	//
	// If you switch the order of the variables in the example, then the expansion
	// does not occur.
	//
	// This field corresponds to the `env` field of the Kubernetes Containers
	// [v1 core
	// API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
	Env []*EnvVar `protobuf:"bytes,4,rep,name=env,proto3" json:"env,omitempty"`
	// Immutable. List of ports to expose from the container. Vertex AI sends any
	// prediction requests that it receives to the first port on this list. Vertex
	// AI also sends
	// [liveness and health
	// checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#liveness)
	// to this port.
	//
	// If you do not specify this field, it defaults to following value:
	//
	// ```json
	// [
	//
	//	{
	//	  "containerPort": 8080
	//	}
	//
	// ]
	// ```
	//
	// Vertex AI does not use ports other than the first one listed. This field
	// corresponds to the `ports` field of the Kubernetes Containers
	// [v1 core
	// API](https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.23/#container-v1-core).
	Ports []*Port `protobuf:"bytes,5,rep,name=ports,proto3" json:"ports,omitempty"`
	// Immutable. HTTP path on the container to send prediction requests to.
	// Vertex AI forwards requests sent using
	// [projects.locations.endpoints.predict][google.cloud.aiplatform.v1beta1.PredictionService.Predict]
	// to this path on the container's IP address and port. Vertex AI then returns
	// the container's response in the API response.
	//
	// For example, if you set this field to `/foo`, then when Vertex AI
	// receives a prediction request, it forwards the request body in a POST
	// request to the `/foo` path on the port of your container specified by the
	// first value of this `ModelContainerSpec`'s
	// [ports][google.cloud.aiplatform.v1beta1.ModelContainerSpec.ports] field.
	//
	// If you don't specify this field, it defaults to the following value when
	// you [deploy this Model to an
	// Endpoint][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel]:
	// <code>/v1/endpoints/<var>ENDPOINT</var>/deployedModels/<var>DEPLOYED_MODEL</var>:predict</code>
	// The placeholders in this value are replaced as follows:
	//
	//   - <var>ENDPOINT</var>: The last segment (following `endpoints/`)of the
	//     Endpoint.name][] field of the Endpoint where this Model has been
	//     deployed. (Vertex AI makes this value available to your container code
	//     as the [`AIP_ENDPOINT_ID` environment
	//     variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
	//
	// * <var>DEPLOYED_MODEL</var>:
	// [DeployedModel.id][google.cloud.aiplatform.v1beta1.DeployedModel.id] of the
	// `DeployedModel`.
	//
	//	(Vertex AI makes this value available to your container code
	//	as the [`AIP_DEPLOYED_MODEL_ID` environment
	//	variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
	PredictRoute string `protobuf:"bytes,6,opt,name=predict_route,json=predictRoute,proto3" json:"predict_route,omitempty"`
	// Immutable. HTTP path on the container to send health checks to. Vertex AI
	// intermittently sends GET requests to this path on the container's IP
	// address and port to check that the container is healthy. Read more about
	// [health
	// checks](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#health).
	//
	// For example, if you set this field to `/bar`, then Vertex AI
	// intermittently sends a GET request to the `/bar` path on the port of your
	// container specified by the first value of this `ModelContainerSpec`'s
	// [ports][google.cloud.aiplatform.v1beta1.ModelContainerSpec.ports] field.
	//
	// If you don't specify this field, it defaults to the following value when
	// you [deploy this Model to an
	// Endpoint][google.cloud.aiplatform.v1beta1.EndpointService.DeployModel]:
	// <code>/v1/endpoints/<var>ENDPOINT</var>/deployedModels/<var>DEPLOYED_MODEL</var>:predict</code>
	// The placeholders in this value are replaced as follows:
	//
	//   - <var>ENDPOINT</var>: The last segment (following `endpoints/`)of the
	//     Endpoint.name][] field of the Endpoint where this Model has been
	//     deployed. (Vertex AI makes this value available to your container code
	//     as the [`AIP_ENDPOINT_ID` environment
	//     variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
	//
	// * <var>DEPLOYED_MODEL</var>:
	// [DeployedModel.id][google.cloud.aiplatform.v1beta1.DeployedModel.id] of the
	// `DeployedModel`.
	//
	//	(Vertex AI makes this value available to your container code as the
	//	[`AIP_DEPLOYED_MODEL_ID` environment
	//	variable](https://cloud.google.com/vertex-ai/docs/predictions/custom-container-requirements#aip-variables).)
	HealthRoute string `protobuf:"bytes,7,opt,name=health_route,json=healthRoute,proto3" json:"health_route,omitempty"`
	// Immutable. Invoke route prefix for the custom container. "/*" is the only
	// supported value right now. By setting this field, any non-root route on
	// this model will be accessible with [PredictionService.Invoke] eg:
	// "/invoke/foo/bar".
	//
	// Only one of `predict_route` or `invoke_route_prefix` can be set, and we
	// default to using `predict_route` if this field is not set. If this field
	// is set, the Model can only be deployed to dedicated endpoint.
	InvokeRoutePrefix string `protobuf:"bytes,15,opt,name=invoke_route_prefix,json=invokeRoutePrefix,proto3" json:"invoke_route_prefix,omitempty"`
	// Immutable. List of ports to expose from the container. Vertex AI sends gRPC
	// prediction requests that it receives to the first port on this list. Vertex
	// AI also sends liveness and health checks to this port.
	//
	// If you do not specify this field, gRPC requests to the container will be
	// disabled.
	//
	// Vertex AI does not use ports other than the first one listed. This field
	// corresponds to the `ports` field of the Kubernetes Containers v1 core API.
	GrpcPorts []*Port `protobuf:"bytes,9,rep,name=grpc_ports,json=grpcPorts,proto3" json:"grpc_ports,omitempty"`
	// Immutable. Deployment timeout.
	// Limit for deployment timeout is 2 hours.
	DeploymentTimeout *durationpb.Duration `protobuf:"bytes,10,opt,name=deployment_timeout,json=deploymentTimeout,proto3" json:"deployment_timeout,omitempty"`
	// Immutable. The amount of the VM memory to reserve as the shared memory for
	// the model in megabytes.
	SharedMemorySizeMb int64 `protobuf:"varint,11,opt,name=shared_memory_size_mb,json=sharedMemorySizeMb,proto3" json:"shared_memory_size_mb,omitempty"`
	// Immutable. Specification for Kubernetes startup probe.
	StartupProbe *Probe `protobuf:"bytes,12,opt,name=startup_probe,json=startupProbe,proto3" json:"startup_probe,omitempty"`
	// Immutable. Specification for Kubernetes readiness probe.
	HealthProbe *Probe `protobuf:"bytes,13,opt,name=health_probe,json=healthProbe,proto3" json:"health_probe,omitempty"`
	// Immutable. Specification for Kubernetes liveness probe.
	LivenessProbe *Probe `protobuf:"bytes,14,opt,name=liveness_probe,json=livenessProbe,proto3" json:"liveness_probe,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ModelContainerSpec) Reset() {
	*x = ModelContainerSpec{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ModelContainerSpec) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModelContainerSpec) ProtoMessage() {}

func (x *ModelContainerSpec) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModelContainerSpec.ProtoReflect.Descriptor instead.
func (*ModelContainerSpec) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{5}
}

func (x *ModelContainerSpec) GetImageUri() string {
	if x != nil {
		return x.ImageUri
	}
	return ""
}

func (x *ModelContainerSpec) GetCommand() []string {
	if x != nil {
		return x.Command
	}
	return nil
}

func (x *ModelContainerSpec) GetArgs() []string {
	if x != nil {
		return x.Args
	}
	return nil
}

func (x *ModelContainerSpec) GetEnv() []*EnvVar {
	if x != nil {
		return x.Env
	}
	return nil
}

func (x *ModelContainerSpec) GetPorts() []*Port {
	if x != nil {
		return x.Ports
	}
	return nil
}

func (x *ModelContainerSpec) GetPredictRoute() string {
	if x != nil {
		return x.PredictRoute
	}
	return ""
}

func (x *ModelContainerSpec) GetHealthRoute() string {
	if x != nil {
		return x.HealthRoute
	}
	return ""
}

func (x *ModelContainerSpec) GetInvokeRoutePrefix() string {
	if x != nil {
		return x.InvokeRoutePrefix
	}
	return ""
}

func (x *ModelContainerSpec) GetGrpcPorts() []*Port {
	if x != nil {
		return x.GrpcPorts
	}
	return nil
}

func (x *ModelContainerSpec) GetDeploymentTimeout() *durationpb.Duration {
	if x != nil {
		return x.DeploymentTimeout
	}
	return nil
}

func (x *ModelContainerSpec) GetSharedMemorySizeMb() int64 {
	if x != nil {
		return x.SharedMemorySizeMb
	}
	return 0
}

func (x *ModelContainerSpec) GetStartupProbe() *Probe {
	if x != nil {
		return x.StartupProbe
	}
	return nil
}

func (x *ModelContainerSpec) GetHealthProbe() *Probe {
	if x != nil {
		return x.HealthProbe
	}
	return nil
}

func (x *ModelContainerSpec) GetLivenessProbe() *Probe {
	if x != nil {
		return x.LivenessProbe
	}
	return nil
}

// Represents a network port in a container.
type Port struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of the port to expose on the pod's IP address.
	// Must be a valid port number, between 1 and 65535 inclusive.
	ContainerPort int32 `protobuf:"varint,3,opt,name=container_port,json=containerPort,proto3" json:"container_port,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Port) Reset() {
	*x = Port{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Port) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Port) ProtoMessage() {}

func (x *Port) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Port.ProtoReflect.Descriptor instead.
func (*Port) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{6}
}

func (x *Port) GetContainerPort() int32 {
	if x != nil {
		return x.ContainerPort
	}
	return 0
}

// Detail description of the source information of the model.
type ModelSourceInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Type of the model source.
	SourceType ModelSourceInfo_ModelSourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=google.cloud.aiplatform.v1beta1.ModelSourceInfo_ModelSourceType" json:"source_type,omitempty"`
	// If this Model is copy of another Model. If true then
	// [source_type][google.cloud.aiplatform.v1beta1.ModelSourceInfo.source_type]
	// pertains to the original.
	Copy          bool `protobuf:"varint,2,opt,name=copy,proto3" json:"copy,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ModelSourceInfo) Reset() {
	*x = ModelSourceInfo{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ModelSourceInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ModelSourceInfo) ProtoMessage() {}

func (x *ModelSourceInfo) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ModelSourceInfo.ProtoReflect.Descriptor instead.
func (*ModelSourceInfo) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{7}
}

func (x *ModelSourceInfo) GetSourceType() ModelSourceInfo_ModelSourceType {
	if x != nil {
		return x.SourceType
	}
	return ModelSourceInfo_MODEL_SOURCE_TYPE_UNSPECIFIED
}

func (x *ModelSourceInfo) GetCopy() bool {
	if x != nil {
		return x.Copy
	}
	return false
}

// Probe describes a health check to be performed against a container to
// determine whether it is alive or ready to receive traffic.
type Probe struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to ProbeType:
	//
	//	*Probe_Exec
	//	*Probe_HttpGet
	//	*Probe_Grpc
	//	*Probe_TcpSocket
	ProbeType isProbe_ProbeType `protobuf_oneof:"probe_type"`
	// How often (in seconds) to perform the probe. Default to 10 seconds.
	// Minimum value is 1. Must be less than timeout_seconds.
	//
	// Maps to Kubernetes probe argument 'periodSeconds'.
	PeriodSeconds int32 `protobuf:"varint,2,opt,name=period_seconds,json=periodSeconds,proto3" json:"period_seconds,omitempty"`
	// Number of seconds after which the probe times out. Defaults to 1 second.
	// Minimum value is 1. Must be greater or equal to period_seconds.
	//
	// Maps to Kubernetes probe argument 'timeoutSeconds'.
	TimeoutSeconds int32 `protobuf:"varint,3,opt,name=timeout_seconds,json=timeoutSeconds,proto3" json:"timeout_seconds,omitempty"`
	// Number of consecutive failures before the probe is considered failed.
	// Defaults to 3. Minimum value is 1.
	//
	// Maps to Kubernetes probe argument 'failureThreshold'.
	FailureThreshold int32 `protobuf:"varint,7,opt,name=failure_threshold,json=failureThreshold,proto3" json:"failure_threshold,omitempty"`
	// Number of consecutive successes before the probe is considered successful.
	// Defaults to 1. Minimum value is 1.
	//
	// Maps to Kubernetes probe argument 'successThreshold'.
	SuccessThreshold int32 `protobuf:"varint,8,opt,name=success_threshold,json=successThreshold,proto3" json:"success_threshold,omitempty"`
	// Number of seconds to wait before starting the probe. Defaults to 0.
	// Minimum value is 0.
	//
	// Maps to Kubernetes probe argument 'initialDelaySeconds'.
	InitialDelaySeconds int32 `protobuf:"varint,9,opt,name=initial_delay_seconds,json=initialDelaySeconds,proto3" json:"initial_delay_seconds,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *Probe) Reset() {
	*x = Probe{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Probe) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Probe) ProtoMessage() {}

func (x *Probe) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Probe.ProtoReflect.Descriptor instead.
func (*Probe) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{8}
}

func (x *Probe) GetProbeType() isProbe_ProbeType {
	if x != nil {
		return x.ProbeType
	}
	return nil
}

func (x *Probe) GetExec() *Probe_ExecAction {
	if x != nil {
		if x, ok := x.ProbeType.(*Probe_Exec); ok {
			return x.Exec
		}
	}
	return nil
}

func (x *Probe) GetHttpGet() *Probe_HttpGetAction {
	if x != nil {
		if x, ok := x.ProbeType.(*Probe_HttpGet); ok {
			return x.HttpGet
		}
	}
	return nil
}

func (x *Probe) GetGrpc() *Probe_GrpcAction {
	if x != nil {
		if x, ok := x.ProbeType.(*Probe_Grpc); ok {
			return x.Grpc
		}
	}
	return nil
}

func (x *Probe) GetTcpSocket() *Probe_TcpSocketAction {
	if x != nil {
		if x, ok := x.ProbeType.(*Probe_TcpSocket); ok {
			return x.TcpSocket
		}
	}
	return nil
}

func (x *Probe) GetPeriodSeconds() int32 {
	if x != nil {
		return x.PeriodSeconds
	}
	return 0
}

func (x *Probe) GetTimeoutSeconds() int32 {
	if x != nil {
		return x.TimeoutSeconds
	}
	return 0
}

func (x *Probe) GetFailureThreshold() int32 {
	if x != nil {
		return x.FailureThreshold
	}
	return 0
}

func (x *Probe) GetSuccessThreshold() int32 {
	if x != nil {
		return x.SuccessThreshold
	}
	return 0
}

func (x *Probe) GetInitialDelaySeconds() int32 {
	if x != nil {
		return x.InitialDelaySeconds
	}
	return 0
}

type isProbe_ProbeType interface {
	isProbe_ProbeType()
}

type Probe_Exec struct {
	// ExecAction probes the health of a container by executing a command.
	Exec *Probe_ExecAction `protobuf:"bytes,1,opt,name=exec,proto3,oneof"`
}

type Probe_HttpGet struct {
	// HttpGetAction probes the health of a container by sending an HTTP GET
	// request.
	HttpGet *Probe_HttpGetAction `protobuf:"bytes,4,opt,name=http_get,json=httpGet,proto3,oneof"`
}

type Probe_Grpc struct {
	// GrpcAction probes the health of a container by sending a gRPC request.
	Grpc *Probe_GrpcAction `protobuf:"bytes,5,opt,name=grpc,proto3,oneof"`
}

type Probe_TcpSocket struct {
	// TcpSocketAction probes the health of a container by opening a TCP socket
	// connection.
	TcpSocket *Probe_TcpSocketAction `protobuf:"bytes,6,opt,name=tcp_socket,json=tcpSocket,proto3,oneof"`
}

func (*Probe_Exec) isProbe_ProbeType() {}

func (*Probe_HttpGet) isProbe_ProbeType() {}

func (*Probe_Grpc) isProbe_ProbeType() {}

func (*Probe_TcpSocket) isProbe_ProbeType() {}

// Describes the machine learning model version checkpoint.
type Checkpoint struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The ID of the checkpoint.
	CheckpointId string `protobuf:"bytes,1,opt,name=checkpoint_id,json=checkpointId,proto3" json:"checkpoint_id,omitempty"`
	// The epoch of the checkpoint.
	Epoch int64 `protobuf:"varint,2,opt,name=epoch,proto3" json:"epoch,omitempty"`
	// The step of the checkpoint.
	Step          int64 `protobuf:"varint,3,opt,name=step,proto3" json:"step,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Checkpoint) Reset() {
	*x = Checkpoint{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Checkpoint) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Checkpoint) ProtoMessage() {}

func (x *Checkpoint) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Checkpoint.ProtoReflect.Descriptor instead.
func (*Checkpoint) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{9}
}

func (x *Checkpoint) GetCheckpointId() string {
	if x != nil {
		return x.CheckpointId
	}
	return ""
}

func (x *Checkpoint) GetEpoch() int64 {
	if x != nil {
		return x.Epoch
	}
	return 0
}

func (x *Checkpoint) GetStep() int64 {
	if x != nil {
		return x.Step
	}
	return 0
}

// Represents export format supported by the Model.
// All formats export to Google Cloud Storage.
type Model_ExportFormat struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The ID of the export format.
	// The possible format IDs are:
	//
	// * `tflite`
	// Used for Android mobile devices.
	//
	// * `edgetpu-tflite`
	// Used for [Edge TPU](https://cloud.google.com/edge-tpu/) devices.
	//
	// * `tf-saved-model`
	// A tensorflow model in SavedModel format.
	//
	// * `tf-js`
	// A [TensorFlow.js](https://www.tensorflow.org/js) model that can be used
	// in the browser and in Node.js using JavaScript.
	//
	// * `core-ml`
	// Used for iOS mobile devices.
	//
	// * `custom-trained`
	// A Model that was uploaded or trained by custom code.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// Output only. The content of this Model that may be exported.
	ExportableContents []Model_ExportFormat_ExportableContent `protobuf:"varint,2,rep,packed,name=exportable_contents,json=exportableContents,proto3,enum=google.cloud.aiplatform.v1beta1.Model_ExportFormat_ExportableContent" json:"exportable_contents,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Model_ExportFormat) Reset() {
	*x = Model_ExportFormat{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Model_ExportFormat) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Model_ExportFormat) ProtoMessage() {}

func (x *Model_ExportFormat) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Model_ExportFormat.ProtoReflect.Descriptor instead.
func (*Model_ExportFormat) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 0}
}

func (x *Model_ExportFormat) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Model_ExportFormat) GetExportableContents() []Model_ExportFormat_ExportableContent {
	if x != nil {
		return x.ExportableContents
	}
	return nil
}

// Contains information about the original Model if this Model is a copy.
type Model_OriginalModelInfo struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The resource name of the Model this Model is a copy of,
	// including the revision. Format:
	// `projects/{project}/locations/{location}/models/{model_id}@{version_id}`
	Model         string `protobuf:"bytes,1,opt,name=model,proto3" json:"model,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Model_OriginalModelInfo) Reset() {
	*x = Model_OriginalModelInfo{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Model_OriginalModelInfo) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Model_OriginalModelInfo) ProtoMessage() {}

func (x *Model_OriginalModelInfo) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Model_OriginalModelInfo.ProtoReflect.Descriptor instead.
func (*Model_OriginalModelInfo) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 1}
}

func (x *Model_OriginalModelInfo) GetModel() string {
	if x != nil {
		return x.Model
	}
	return ""
}

// User input field to specify the base model source. Currently it only
// supports specifing the Model Garden models and Genie models.
type Model_BaseModelSource struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Source:
	//
	//	*Model_BaseModelSource_ModelGardenSource
	//	*Model_BaseModelSource_GenieSource
	Source        isModel_BaseModelSource_Source `protobuf_oneof:"source"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Model_BaseModelSource) Reset() {
	*x = Model_BaseModelSource{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Model_BaseModelSource) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Model_BaseModelSource) ProtoMessage() {}

func (x *Model_BaseModelSource) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Model_BaseModelSource.ProtoReflect.Descriptor instead.
func (*Model_BaseModelSource) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{0, 2}
}

func (x *Model_BaseModelSource) GetSource() isModel_BaseModelSource_Source {
	if x != nil {
		return x.Source
	}
	return nil
}

func (x *Model_BaseModelSource) GetModelGardenSource() *ModelGardenSource {
	if x != nil {
		if x, ok := x.Source.(*Model_BaseModelSource_ModelGardenSource); ok {
			return x.ModelGardenSource
		}
	}
	return nil
}

func (x *Model_BaseModelSource) GetGenieSource() *GenieSource {
	if x != nil {
		if x, ok := x.Source.(*Model_BaseModelSource_GenieSource); ok {
			return x.GenieSource
		}
	}
	return nil
}

type isModel_BaseModelSource_Source interface {
	isModel_BaseModelSource_Source()
}

type Model_BaseModelSource_ModelGardenSource struct {
	// Source information of Model Garden models.
	ModelGardenSource *ModelGardenSource `protobuf:"bytes,1,opt,name=model_garden_source,json=modelGardenSource,proto3,oneof"`
}

type Model_BaseModelSource_GenieSource struct {
	// Information about the base model of Genie models.
	GenieSource *GenieSource `protobuf:"bytes,2,opt,name=genie_source,json=genieSource,proto3,oneof"`
}

func (*Model_BaseModelSource_ModelGardenSource) isModel_BaseModelSource_Source() {}

func (*Model_BaseModelSource_GenieSource) isModel_BaseModelSource_Source() {}

// ExecAction specifies a command to execute.
type Probe_ExecAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Command is the command line to execute inside the container, the working
	// directory for the command is root ('/') in the container's filesystem.
	// The command is simply exec'd, it is not run inside a shell, so
	// traditional shell instructions ('|', etc) won't work. To use a shell, you
	// need to explicitly call out to that shell. Exit status of 0 is treated as
	// live/healthy and non-zero is unhealthy.
	Command       []string `protobuf:"bytes,1,rep,name=command,proto3" json:"command,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Probe_ExecAction) Reset() {
	*x = Probe_ExecAction{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Probe_ExecAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Probe_ExecAction) ProtoMessage() {}

func (x *Probe_ExecAction) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Probe_ExecAction.ProtoReflect.Descriptor instead.
func (*Probe_ExecAction) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{8, 0}
}

func (x *Probe_ExecAction) GetCommand() []string {
	if x != nil {
		return x.Command
	}
	return nil
}

// HttpGetAction describes an action based on HTTP Get requests.
type Probe_HttpGetAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Path to access on the HTTP server.
	Path string `protobuf:"bytes,1,opt,name=path,proto3" json:"path,omitempty"`
	// Number of the port to access on the container.
	// Number must be in the range 1 to 65535.
	Port int32 `protobuf:"varint,2,opt,name=port,proto3" json:"port,omitempty"`
	// Host name to connect to, defaults to the model serving container's IP.
	// You probably want to set "Host" in httpHeaders instead.
	Host string `protobuf:"bytes,3,opt,name=host,proto3" json:"host,omitempty"`
	// Scheme to use for connecting to the host.
	// Defaults to HTTP. Acceptable values are "HTTP" or "HTTPS".
	Scheme string `protobuf:"bytes,4,opt,name=scheme,proto3" json:"scheme,omitempty"`
	// Custom headers to set in the request. HTTP allows repeated headers.
	HttpHeaders   []*Probe_HttpHeader `protobuf:"bytes,5,rep,name=http_headers,json=httpHeaders,proto3" json:"http_headers,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Probe_HttpGetAction) Reset() {
	*x = Probe_HttpGetAction{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Probe_HttpGetAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Probe_HttpGetAction) ProtoMessage() {}

func (x *Probe_HttpGetAction) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Probe_HttpGetAction.ProtoReflect.Descriptor instead.
func (*Probe_HttpGetAction) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{8, 1}
}

func (x *Probe_HttpGetAction) GetPath() string {
	if x != nil {
		return x.Path
	}
	return ""
}

func (x *Probe_HttpGetAction) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *Probe_HttpGetAction) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

func (x *Probe_HttpGetAction) GetScheme() string {
	if x != nil {
		return x.Scheme
	}
	return ""
}

func (x *Probe_HttpGetAction) GetHttpHeaders() []*Probe_HttpHeader {
	if x != nil {
		return x.HttpHeaders
	}
	return nil
}

// GrpcAction checks the health of a container using a gRPC service.
type Probe_GrpcAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Port number of the gRPC service. Number must be in the range 1 to 65535.
	Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	// Service is the name of the service to place in the gRPC
	// HealthCheckRequest (see
	// https://github.com/grpc/grpc/blob/master/doc/health-checking.md).
	//
	// If this is not specified, the default behavior is defined by gRPC.
	Service       string `protobuf:"bytes,2,opt,name=service,proto3" json:"service,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Probe_GrpcAction) Reset() {
	*x = Probe_GrpcAction{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Probe_GrpcAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Probe_GrpcAction) ProtoMessage() {}

func (x *Probe_GrpcAction) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Probe_GrpcAction.ProtoReflect.Descriptor instead.
func (*Probe_GrpcAction) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{8, 2}
}

func (x *Probe_GrpcAction) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *Probe_GrpcAction) GetService() string {
	if x != nil {
		return x.Service
	}
	return ""
}

// TcpSocketAction probes the health of a container by opening a TCP socket
// connection.
type Probe_TcpSocketAction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of the port to access on the container.
	// Number must be in the range 1 to 65535.
	Port int32 `protobuf:"varint,1,opt,name=port,proto3" json:"port,omitempty"`
	// Optional: Host name to connect to, defaults to the model serving
	// container's IP.
	Host          string `protobuf:"bytes,2,opt,name=host,proto3" json:"host,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Probe_TcpSocketAction) Reset() {
	*x = Probe_TcpSocketAction{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Probe_TcpSocketAction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Probe_TcpSocketAction) ProtoMessage() {}

func (x *Probe_TcpSocketAction) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Probe_TcpSocketAction.ProtoReflect.Descriptor instead.
func (*Probe_TcpSocketAction) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{8, 3}
}

func (x *Probe_TcpSocketAction) GetPort() int32 {
	if x != nil {
		return x.Port
	}
	return 0
}

func (x *Probe_TcpSocketAction) GetHost() string {
	if x != nil {
		return x.Host
	}
	return ""
}

// HttpHeader describes a custom header to be used in HTTP probes
type Probe_HttpHeader struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The header field name.
	// This will be canonicalized upon output, so case-variant names will be
	// understood as the same header.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The header field value
	Value         string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Probe_HttpHeader) Reset() {
	*x = Probe_HttpHeader{}
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Probe_HttpHeader) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Probe_HttpHeader) ProtoMessage() {}

func (x *Probe_HttpHeader) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Probe_HttpHeader.ProtoReflect.Descriptor instead.
func (*Probe_HttpHeader) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP(), []int{8, 4}
}

func (x *Probe_HttpHeader) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Probe_HttpHeader) GetValue() string {
	if x != nil {
		return x.Value
	}
	return ""
}

var File_google_cloud_aiplatform_v1beta1_model_proto protoreflect.FileDescriptor

const file_google_cloud_aiplatform_v1beta1_model_proto_rawDesc = "" +
	"\n" +
	"+google/cloud/aiplatform/v1beta1/model.proto\x12\x1fgoogle.cloud.aiplatform.v1beta1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a8google/cloud/aiplatform/v1beta1/deployed_model_ref.proto\x1a5google/cloud/aiplatform/v1beta1/encryption_spec.proto\x1a-google/cloud/aiplatform/v1beta1/env_var.proto\x1a1google/cloud/aiplatform/v1beta1/explanation.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf2\x18\n" +
	"\x05Model\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12%\n" +
	"\n" +
	"version_id\x18\x1c \x01(\tB\x06\xe0A\x05\xe0A\x03R\tversionId\x12'\n" +
	"\x0fversion_aliases\x18\x1d \x03(\tR\x0eversionAliases\x12O\n" +
	"\x13version_create_time\x18\x1f \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\x11versionCreateTime\x12O\n" +
	"\x13version_update_time\x18  \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\x11versionUpdateTime\x12&\n" +
	"\fdisplay_name\x18\x02 \x01(\tB\x03\xe0A\x02R\vdisplayName\x12 \n" +
	"\vdescription\x18\x03 \x01(\tR\vdescription\x12/\n" +
	"\x13version_description\x18\x1e \x01(\tR\x12versionDescription\x122\n" +
	"\x15default_checkpoint_id\x185 \x01(\tR\x13defaultCheckpointId\x12[\n" +
	"\x10predict_schemata\x18\x04 \x01(\v20.google.cloud.aiplatform.v1beta1.PredictSchemataR\x0fpredictSchemata\x123\n" +
	"\x13metadata_schema_uri\x18\x05 \x01(\tB\x03\xe0A\x05R\x11metadataSchemaUri\x127\n" +
	"\bmetadata\x18\x06 \x01(\v2\x16.google.protobuf.ValueB\x03\xe0A\x05R\bmetadata\x12r\n" +
	"\x18supported_export_formats\x18\x14 \x03(\v23.google.cloud.aiplatform.v1beta1.Model.ExportFormatB\x03\xe0A\x03R\x16supportedExportFormats\x12_\n" +
	"\x11training_pipeline\x18\a \x01(\tB2\xe0A\x03\xfaA,\n" +
	"*aiplatform.googleapis.com/TrainingPipelineR\x10trainingPipeline\x12_\n" +
	"\x0econtainer_spec\x18\t \x01(\v23.google.cloud.aiplatform.v1beta1.ModelContainerSpecB\x03\xe0A\x04R\rcontainerSpec\x12&\n" +
	"\fartifact_uri\x18\x1a \x01(\tB\x03\xe0A\x05R\vartifactUri\x12\x94\x01\n" +
	"$supported_deployment_resources_types\x18\n" +
	" \x03(\x0e2>.google.cloud.aiplatform.v1beta1.Model.DeploymentResourcesTypeB\x03\xe0A\x03R!supportedDeploymentResourcesTypes\x12J\n" +
	"\x1fsupported_input_storage_formats\x18\v \x03(\tB\x03\xe0A\x03R\x1csupportedInputStorageFormats\x12L\n" +
	" supported_output_storage_formats\x18\f \x03(\tB\x03\xe0A\x03R\x1dsupportedOutputStorageFormats\x12@\n" +
	"\vcreate_time\x18\r \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"createTime\x12@\n" +
	"\vupdate_time\x18\x0e \x01(\v2\x1a.google.protobuf.TimestampB\x03\xe0A\x03R\n" +
	"updateTime\x12_\n" +
	"\x0fdeployed_models\x18\x0f \x03(\v21.google.cloud.aiplatform.v1beta1.DeployedModelRefB\x03\xe0A\x03R\x0edeployedModels\x12[\n" +
	"\x10explanation_spec\x18\x17 \x01(\v20.google.cloud.aiplatform.v1beta1.ExplanationSpecR\x0fexplanationSpec\x12\x12\n" +
	"\x04etag\x18\x10 \x01(\tR\x04etag\x12J\n" +
	"\x06labels\x18\x11 \x03(\v22.google.cloud.aiplatform.v1beta1.Model.LabelsEntryR\x06labels\x12X\n" +
	"\x0fencryption_spec\x18\x18 \x01(\v2/.google.cloud.aiplatform.v1beta1.EncryptionSpecR\x0eencryptionSpec\x12a\n" +
	"\x11model_source_info\x18& \x01(\v20.google.cloud.aiplatform.v1beta1.ModelSourceInfoB\x03\xe0A\x03R\x0fmodelSourceInfo\x12m\n" +
	"\x13original_model_info\x18\" \x01(\v28.google.cloud.aiplatform.v1beta1.Model.OriginalModelInfoB\x03\xe0A\x03R\x11originalModelInfo\x120\n" +
	"\x11metadata_artifact\x18, \x01(\tB\x03\xe0A\x03R\x10metadataArtifact\x12g\n" +
	"\x11base_model_source\x182 \x01(\v26.google.cloud.aiplatform.v1beta1.Model.BaseModelSourceB\x03\xe0A\x01R\x0fbaseModelSource\x12(\n" +
	"\rsatisfies_pzs\x183 \x01(\bB\x03\xe0A\x03R\fsatisfiesPzs\x12(\n" +
	"\rsatisfies_pzi\x184 \x01(\bB\x03\xe0A\x03R\fsatisfiesPzi\x12U\n" +
	"\vcheckpoints\x189 \x03(\v2+.google.cloud.aiplatform.v1beta1.CheckpointB\x06\xe0A\x03\xe0A\x01R\vcheckpoints\x1a\xf2\x01\n" +
	"\fExportFormat\x12\x13\n" +
	"\x02id\x18\x01 \x01(\tB\x03\xe0A\x03R\x02id\x12{\n" +
	"\x13exportable_contents\x18\x02 \x03(\x0e2E.google.cloud.aiplatform.v1beta1.Model.ExportFormat.ExportableContentB\x03\xe0A\x03R\x12exportableContents\"P\n" +
	"\x11ExportableContent\x12\"\n" +
	"\x1eEXPORTABLE_CONTENT_UNSPECIFIED\x10\x00\x12\f\n" +
	"\bARTIFACT\x10\x01\x12\t\n" +
	"\x05IMAGE\x10\x02\x1aR\n" +
	"\x11OriginalModelInfo\x12=\n" +
	"\x05model\x18\x01 \x01(\tB'\xe0A\x03\xfaA!\n" +
	"\x1faiplatform.googleapis.com/ModelR\x05model\x1a\xd4\x01\n" +
	"\x0fBaseModelSource\x12d\n" +
	"\x13model_garden_source\x18\x01 \x01(\v22.google.cloud.aiplatform.v1beta1.ModelGardenSourceH\x00R\x11modelGardenSource\x12Q\n" +
	"\fgenie_source\x18\x02 \x01(\v2,.google.cloud.aiplatform.v1beta1.GenieSourceH\x00R\vgenieSourceB\b\n" +
	"\x06source\x1a9\n" +
	"\vLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\"\x8c\x01\n" +
	"\x17DeploymentResourcesType\x12)\n" +
	"%DEPLOYMENT_RESOURCES_TYPE_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13DEDICATED_RESOURCES\x10\x01\x12\x17\n" +
	"\x13AUTOMATIC_RESOURCES\x10\x02\x12\x14\n" +
	"\x10SHARED_RESOURCES\x10\x03:\\\xeaAY\n" +
	"\x1faiplatform.googleapis.com/Model\x126projects/{project}/locations/{location}/models/{model}\".\n" +
	"\x13LargeModelReference\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\x02R\x04name\"\x9c\x01\n" +
	"\x11ModelGardenSource\x12/\n" +
	"\x11public_model_name\x18\x01 \x01(\tB\x03\xe0A\x02R\x0fpublicModelName\x12\"\n" +
	"\n" +
	"version_id\x18\x03 \x01(\tB\x03\xe0A\x01R\tversionId\x122\n" +
	"\x13skip_hf_model_cache\x18\x04 \x01(\bB\x03\xe0A\x01R\x10skipHfModelCache\"8\n" +
	"\vGenieSource\x12)\n" +
	"\x0ebase_model_uri\x18\x01 \x01(\tB\x03\xe0A\x02R\fbaseModelUri\"\xb8\x01\n" +
	"\x0fPredictSchemata\x123\n" +
	"\x13instance_schema_uri\x18\x01 \x01(\tB\x03\xe0A\x05R\x11instanceSchemaUri\x127\n" +
	"\x15parameters_schema_uri\x18\x02 \x01(\tB\x03\xe0A\x05R\x13parametersSchemaUri\x127\n" +
	"\x15prediction_schema_uri\x18\x03 \x01(\tB\x03\xe0A\x05R\x13predictionSchemaUri\"\xc2\x06\n" +
	"\x12ModelContainerSpec\x12#\n" +
	"\timage_uri\x18\x01 \x01(\tB\x06\xe0A\x02\xe0A\x05R\bimageUri\x12\x1d\n" +
	"\acommand\x18\x02 \x03(\tB\x03\xe0A\x05R\acommand\x12\x17\n" +
	"\x04args\x18\x03 \x03(\tB\x03\xe0A\x05R\x04args\x12>\n" +
	"\x03env\x18\x04 \x03(\v2'.google.cloud.aiplatform.v1beta1.EnvVarB\x03\xe0A\x05R\x03env\x12@\n" +
	"\x05ports\x18\x05 \x03(\v2%.google.cloud.aiplatform.v1beta1.PortB\x03\xe0A\x05R\x05ports\x12(\n" +
	"\rpredict_route\x18\x06 \x01(\tB\x03\xe0A\x05R\fpredictRoute\x12&\n" +
	"\fhealth_route\x18\a \x01(\tB\x03\xe0A\x05R\vhealthRoute\x123\n" +
	"\x13invoke_route_prefix\x18\x0f \x01(\tB\x03\xe0A\x05R\x11invokeRoutePrefix\x12I\n" +
	"\n" +
	"grpc_ports\x18\t \x03(\v2%.google.cloud.aiplatform.v1beta1.PortB\x03\xe0A\x05R\tgrpcPorts\x12M\n" +
	"\x12deployment_timeout\x18\n" +
	" \x01(\v2\x19.google.protobuf.DurationB\x03\xe0A\x05R\x11deploymentTimeout\x126\n" +
	"\x15shared_memory_size_mb\x18\v \x01(\x03B\x03\xe0A\x05R\x12sharedMemorySizeMb\x12P\n" +
	"\rstartup_probe\x18\f \x01(\v2&.google.cloud.aiplatform.v1beta1.ProbeB\x03\xe0A\x05R\fstartupProbe\x12N\n" +
	"\fhealth_probe\x18\r \x01(\v2&.google.cloud.aiplatform.v1beta1.ProbeB\x03\xe0A\x05R\vhealthProbe\x12R\n" +
	"\x0eliveness_probe\x18\x0e \x01(\v2&.google.cloud.aiplatform.v1beta1.ProbeB\x03\xe0A\x05R\rlivenessProbe\"-\n" +
	"\x04Port\x12%\n" +
	"\x0econtainer_port\x18\x03 \x01(\x05R\rcontainerPort\"\xaa\x02\n" +
	"\x0fModelSourceInfo\x12a\n" +
	"\vsource_type\x18\x01 \x01(\x0e2@.google.cloud.aiplatform.v1beta1.ModelSourceInfo.ModelSourceTypeR\n" +
	"sourceType\x12\x12\n" +
	"\x04copy\x18\x02 \x01(\bR\x04copy\"\x9f\x01\n" +
	"\x0fModelSourceType\x12!\n" +
	"\x1dMODEL_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\n" +
	"\n" +
	"\x06AUTOML\x10\x01\x12\n" +
	"\n" +
	"\x06CUSTOM\x10\x02\x12\b\n" +
	"\x04BQML\x10\x03\x12\x10\n" +
	"\fMODEL_GARDEN\x10\x04\x12\t\n" +
	"\x05GENIE\x10\x05\x12\x19\n" +
	"\x15CUSTOM_TEXT_EMBEDDING\x10\x06\x12\x0f\n" +
	"\vMARKETPLACE\x10\a\"\xc4\a\n" +
	"\x05Probe\x12G\n" +
	"\x04exec\x18\x01 \x01(\v21.google.cloud.aiplatform.v1beta1.Probe.ExecActionH\x00R\x04exec\x12Q\n" +
	"\bhttp_get\x18\x04 \x01(\v24.google.cloud.aiplatform.v1beta1.Probe.HttpGetActionH\x00R\ahttpGet\x12G\n" +
	"\x04grpc\x18\x05 \x01(\v21.google.cloud.aiplatform.v1beta1.Probe.GrpcActionH\x00R\x04grpc\x12W\n" +
	"\n" +
	"tcp_socket\x18\x06 \x01(\v26.google.cloud.aiplatform.v1beta1.Probe.TcpSocketActionH\x00R\ttcpSocket\x12%\n" +
	"\x0eperiod_seconds\x18\x02 \x01(\x05R\rperiodSeconds\x12'\n" +
	"\x0ftimeout_seconds\x18\x03 \x01(\x05R\x0etimeoutSeconds\x12+\n" +
	"\x11failure_threshold\x18\a \x01(\x05R\x10failureThreshold\x12+\n" +
	"\x11success_threshold\x18\b \x01(\x05R\x10successThreshold\x122\n" +
	"\x15initial_delay_seconds\x18\t \x01(\x05R\x13initialDelaySeconds\x1a&\n" +
	"\n" +
	"ExecAction\x12\x18\n" +
	"\acommand\x18\x01 \x03(\tR\acommand\x1a\xb9\x01\n" +
	"\rHttpGetAction\x12\x12\n" +
	"\x04path\x18\x01 \x01(\tR\x04path\x12\x12\n" +
	"\x04port\x18\x02 \x01(\x05R\x04port\x12\x12\n" +
	"\x04host\x18\x03 \x01(\tR\x04host\x12\x16\n" +
	"\x06scheme\x18\x04 \x01(\tR\x06scheme\x12T\n" +
	"\fhttp_headers\x18\x05 \x03(\v21.google.cloud.aiplatform.v1beta1.Probe.HttpHeaderR\vhttpHeaders\x1a:\n" +
	"\n" +
	"GrpcAction\x12\x12\n" +
	"\x04port\x18\x01 \x01(\x05R\x04port\x12\x18\n" +
	"\aservice\x18\x02 \x01(\tR\aservice\x1a9\n" +
	"\x0fTcpSocketAction\x12\x12\n" +
	"\x04port\x18\x01 \x01(\x05R\x04port\x12\x12\n" +
	"\x04host\x18\x02 \x01(\tR\x04host\x1a6\n" +
	"\n" +
	"HttpHeader\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05valueB\f\n" +
	"\n" +
	"probe_type\"[\n" +
	"\n" +
	"Checkpoint\x12#\n" +
	"\rcheckpoint_id\x18\x01 \x01(\tR\fcheckpointId\x12\x14\n" +
	"\x05epoch\x18\x02 \x01(\x03R\x05epoch\x12\x12\n" +
	"\x04step\x18\x03 \x01(\x03R\x04stepB\xe1\x01\n" +
	"#com.google.cloud.aiplatform.v1beta1B\n" +
	"ModelProtoP\x01ZCcloud.google.com/go/aiplatform/apiv1beta1/aiplatformpb;aiplatformpb\xaa\x02\x1fGoogle.Cloud.AIPlatform.V1Beta1\xca\x02\x1fGoogle\\Cloud\\AIPlatform\\V1beta1\xea\x02\"Google::Cloud::AIPlatform::V1beta1b\x06proto3"

var (
	file_google_cloud_aiplatform_v1beta1_model_proto_rawDescOnce sync.Once
	file_google_cloud_aiplatform_v1beta1_model_proto_rawDescData []byte
)

func file_google_cloud_aiplatform_v1beta1_model_proto_rawDescGZIP() []byte {
	file_google_cloud_aiplatform_v1beta1_model_proto_rawDescOnce.Do(func() {
		file_google_cloud_aiplatform_v1beta1_model_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1beta1_model_proto_rawDesc), len(file_google_cloud_aiplatform_v1beta1_model_proto_rawDesc)))
	})
	return file_google_cloud_aiplatform_v1beta1_model_proto_rawDescData
}

var file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
var file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes = make([]protoimpl.MessageInfo, 19)
var file_google_cloud_aiplatform_v1beta1_model_proto_goTypes = []any{
	(Model_DeploymentResourcesType)(0),        // 0: google.cloud.aiplatform.v1beta1.Model.DeploymentResourcesType
	(Model_ExportFormat_ExportableContent)(0), // 1: google.cloud.aiplatform.v1beta1.Model.ExportFormat.ExportableContent
	(ModelSourceInfo_ModelSourceType)(0),      // 2: google.cloud.aiplatform.v1beta1.ModelSourceInfo.ModelSourceType
	(*Model)(nil),                             // 3: google.cloud.aiplatform.v1beta1.Model
	(*LargeModelReference)(nil),               // 4: google.cloud.aiplatform.v1beta1.LargeModelReference
	(*ModelGardenSource)(nil),                 // 5: google.cloud.aiplatform.v1beta1.ModelGardenSource
	(*GenieSource)(nil),                       // 6: google.cloud.aiplatform.v1beta1.GenieSource
	(*PredictSchemata)(nil),                   // 7: google.cloud.aiplatform.v1beta1.PredictSchemata
	(*ModelContainerSpec)(nil),                // 8: google.cloud.aiplatform.v1beta1.ModelContainerSpec
	(*Port)(nil),                              // 9: google.cloud.aiplatform.v1beta1.Port
	(*ModelSourceInfo)(nil),                   // 10: google.cloud.aiplatform.v1beta1.ModelSourceInfo
	(*Probe)(nil),                             // 11: google.cloud.aiplatform.v1beta1.Probe
	(*Checkpoint)(nil),                        // 12: google.cloud.aiplatform.v1beta1.Checkpoint
	(*Model_ExportFormat)(nil),                // 13: google.cloud.aiplatform.v1beta1.Model.ExportFormat
	(*Model_OriginalModelInfo)(nil),           // 14: google.cloud.aiplatform.v1beta1.Model.OriginalModelInfo
	(*Model_BaseModelSource)(nil),             // 15: google.cloud.aiplatform.v1beta1.Model.BaseModelSource
	nil,                                       // 16: google.cloud.aiplatform.v1beta1.Model.LabelsEntry
	(*Probe_ExecAction)(nil),                  // 17: google.cloud.aiplatform.v1beta1.Probe.ExecAction
	(*Probe_HttpGetAction)(nil),               // 18: google.cloud.aiplatform.v1beta1.Probe.HttpGetAction
	(*Probe_GrpcAction)(nil),                  // 19: google.cloud.aiplatform.v1beta1.Probe.GrpcAction
	(*Probe_TcpSocketAction)(nil),             // 20: google.cloud.aiplatform.v1beta1.Probe.TcpSocketAction
	(*Probe_HttpHeader)(nil),                  // 21: google.cloud.aiplatform.v1beta1.Probe.HttpHeader
	(*timestamppb.Timestamp)(nil),             // 22: google.protobuf.Timestamp
	(*structpb.Value)(nil),                    // 23: google.protobuf.Value
	(*DeployedModelRef)(nil),                  // 24: google.cloud.aiplatform.v1beta1.DeployedModelRef
	(*ExplanationSpec)(nil),                   // 25: google.cloud.aiplatform.v1beta1.ExplanationSpec
	(*EncryptionSpec)(nil),                    // 26: google.cloud.aiplatform.v1beta1.EncryptionSpec
	(*EnvVar)(nil),                            // 27: google.cloud.aiplatform.v1beta1.EnvVar
	(*durationpb.Duration)(nil),               // 28: google.protobuf.Duration
}
var file_google_cloud_aiplatform_v1beta1_model_proto_depIdxs = []int32{
	22, // 0: google.cloud.aiplatform.v1beta1.Model.version_create_time:type_name -> google.protobuf.Timestamp
	22, // 1: google.cloud.aiplatform.v1beta1.Model.version_update_time:type_name -> google.protobuf.Timestamp
	7,  // 2: google.cloud.aiplatform.v1beta1.Model.predict_schemata:type_name -> google.cloud.aiplatform.v1beta1.PredictSchemata
	23, // 3: google.cloud.aiplatform.v1beta1.Model.metadata:type_name -> google.protobuf.Value
	13, // 4: google.cloud.aiplatform.v1beta1.Model.supported_export_formats:type_name -> google.cloud.aiplatform.v1beta1.Model.ExportFormat
	8,  // 5: google.cloud.aiplatform.v1beta1.Model.container_spec:type_name -> google.cloud.aiplatform.v1beta1.ModelContainerSpec
	0,  // 6: google.cloud.aiplatform.v1beta1.Model.supported_deployment_resources_types:type_name -> google.cloud.aiplatform.v1beta1.Model.DeploymentResourcesType
	22, // 7: google.cloud.aiplatform.v1beta1.Model.create_time:type_name -> google.protobuf.Timestamp
	22, // 8: google.cloud.aiplatform.v1beta1.Model.update_time:type_name -> google.protobuf.Timestamp
	24, // 9: google.cloud.aiplatform.v1beta1.Model.deployed_models:type_name -> google.cloud.aiplatform.v1beta1.DeployedModelRef
	25, // 10: google.cloud.aiplatform.v1beta1.Model.explanation_spec:type_name -> google.cloud.aiplatform.v1beta1.ExplanationSpec
	16, // 11: google.cloud.aiplatform.v1beta1.Model.labels:type_name -> google.cloud.aiplatform.v1beta1.Model.LabelsEntry
	26, // 12: google.cloud.aiplatform.v1beta1.Model.encryption_spec:type_name -> google.cloud.aiplatform.v1beta1.EncryptionSpec
	10, // 13: google.cloud.aiplatform.v1beta1.Model.model_source_info:type_name -> google.cloud.aiplatform.v1beta1.ModelSourceInfo
	14, // 14: google.cloud.aiplatform.v1beta1.Model.original_model_info:type_name -> google.cloud.aiplatform.v1beta1.Model.OriginalModelInfo
	15, // 15: google.cloud.aiplatform.v1beta1.Model.base_model_source:type_name -> google.cloud.aiplatform.v1beta1.Model.BaseModelSource
	12, // 16: google.cloud.aiplatform.v1beta1.Model.checkpoints:type_name -> google.cloud.aiplatform.v1beta1.Checkpoint
	27, // 17: google.cloud.aiplatform.v1beta1.ModelContainerSpec.env:type_name -> google.cloud.aiplatform.v1beta1.EnvVar
	9,  // 18: google.cloud.aiplatform.v1beta1.ModelContainerSpec.ports:type_name -> google.cloud.aiplatform.v1beta1.Port
	9,  // 19: google.cloud.aiplatform.v1beta1.ModelContainerSpec.grpc_ports:type_name -> google.cloud.aiplatform.v1beta1.Port
	28, // 20: google.cloud.aiplatform.v1beta1.ModelContainerSpec.deployment_timeout:type_name -> google.protobuf.Duration
	11, // 21: google.cloud.aiplatform.v1beta1.ModelContainerSpec.startup_probe:type_name -> google.cloud.aiplatform.v1beta1.Probe
	11, // 22: google.cloud.aiplatform.v1beta1.ModelContainerSpec.health_probe:type_name -> google.cloud.aiplatform.v1beta1.Probe
	11, // 23: google.cloud.aiplatform.v1beta1.ModelContainerSpec.liveness_probe:type_name -> google.cloud.aiplatform.v1beta1.Probe
	2,  // 24: google.cloud.aiplatform.v1beta1.ModelSourceInfo.source_type:type_name -> google.cloud.aiplatform.v1beta1.ModelSourceInfo.ModelSourceType
	17, // 25: google.cloud.aiplatform.v1beta1.Probe.exec:type_name -> google.cloud.aiplatform.v1beta1.Probe.ExecAction
	18, // 26: google.cloud.aiplatform.v1beta1.Probe.http_get:type_name -> google.cloud.aiplatform.v1beta1.Probe.HttpGetAction
	19, // 27: google.cloud.aiplatform.v1beta1.Probe.grpc:type_name -> google.cloud.aiplatform.v1beta1.Probe.GrpcAction
	20, // 28: google.cloud.aiplatform.v1beta1.Probe.tcp_socket:type_name -> google.cloud.aiplatform.v1beta1.Probe.TcpSocketAction
	1,  // 29: google.cloud.aiplatform.v1beta1.Model.ExportFormat.exportable_contents:type_name -> google.cloud.aiplatform.v1beta1.Model.ExportFormat.ExportableContent
	5,  // 30: google.cloud.aiplatform.v1beta1.Model.BaseModelSource.model_garden_source:type_name -> google.cloud.aiplatform.v1beta1.ModelGardenSource
	6,  // 31: google.cloud.aiplatform.v1beta1.Model.BaseModelSource.genie_source:type_name -> google.cloud.aiplatform.v1beta1.GenieSource
	21, // 32: google.cloud.aiplatform.v1beta1.Probe.HttpGetAction.http_headers:type_name -> google.cloud.aiplatform.v1beta1.Probe.HttpHeader
	33, // [33:33] is the sub-list for method output_type
	33, // [33:33] is the sub-list for method input_type
	33, // [33:33] is the sub-list for extension type_name
	33, // [33:33] is the sub-list for extension extendee
	0,  // [0:33] is the sub-list for field type_name
}

func init() { file_google_cloud_aiplatform_v1beta1_model_proto_init() }
func file_google_cloud_aiplatform_v1beta1_model_proto_init() {
	if File_google_cloud_aiplatform_v1beta1_model_proto != nil {
		return
	}
	file_google_cloud_aiplatform_v1beta1_deployed_model_ref_proto_init()
	file_google_cloud_aiplatform_v1beta1_encryption_spec_proto_init()
	file_google_cloud_aiplatform_v1beta1_env_var_proto_init()
	file_google_cloud_aiplatform_v1beta1_explanation_proto_init()
	file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[8].OneofWrappers = []any{
		(*Probe_Exec)(nil),
		(*Probe_HttpGet)(nil),
		(*Probe_Grpc)(nil),
		(*Probe_TcpSocket)(nil),
	}
	file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes[12].OneofWrappers = []any{
		(*Model_BaseModelSource_ModelGardenSource)(nil),
		(*Model_BaseModelSource_GenieSource)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1beta1_model_proto_rawDesc), len(file_google_cloud_aiplatform_v1beta1_model_proto_rawDesc)),
			NumEnums:      3,
			NumMessages:   19,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_cloud_aiplatform_v1beta1_model_proto_goTypes,
		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_model_proto_depIdxs,
		EnumInfos:         file_google_cloud_aiplatform_v1beta1_model_proto_enumTypes,
		MessageInfos:      file_google_cloud_aiplatform_v1beta1_model_proto_msgTypes,
	}.Build()
	File_google_cloud_aiplatform_v1beta1_model_proto = out.File
	file_google_cloud_aiplatform_v1beta1_model_proto_goTypes = nil
	file_google_cloud_aiplatform_v1beta1_model_proto_depIdxs = nil
}
