// 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/v1/model_garden_service.proto

package aiplatformpb

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

	longrunningpb "cloud.google.com/go/longrunning/autogen/longrunningpb"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
)

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)
)

// View enumeration of PublisherModel.
type PublisherModelView int32

const (
	// The default / unset value. The API will default to the BASIC view.
	PublisherModelView_PUBLISHER_MODEL_VIEW_UNSPECIFIED PublisherModelView = 0
	// Include basic metadata about the publisher model, but not the full
	// contents.
	PublisherModelView_PUBLISHER_MODEL_VIEW_BASIC PublisherModelView = 1
	// Include everything.
	PublisherModelView_PUBLISHER_MODEL_VIEW_FULL PublisherModelView = 2
	// Include: VersionId, ModelVersionExternalName, and SupportedActions.
	PublisherModelView_PUBLISHER_MODEL_VERSION_VIEW_BASIC PublisherModelView = 3
)

// Enum value maps for PublisherModelView.
var (
	PublisherModelView_name = map[int32]string{
		0: "PUBLISHER_MODEL_VIEW_UNSPECIFIED",
		1: "PUBLISHER_MODEL_VIEW_BASIC",
		2: "PUBLISHER_MODEL_VIEW_FULL",
		3: "PUBLISHER_MODEL_VERSION_VIEW_BASIC",
	}
	PublisherModelView_value = map[string]int32{
		"PUBLISHER_MODEL_VIEW_UNSPECIFIED":   0,
		"PUBLISHER_MODEL_VIEW_BASIC":         1,
		"PUBLISHER_MODEL_VIEW_FULL":          2,
		"PUBLISHER_MODEL_VERSION_VIEW_BASIC": 3,
	}
)

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

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

func (PublisherModelView) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_enumTypes[0].Descriptor()
}

func (PublisherModelView) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1_model_garden_service_proto_enumTypes[0]
}

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

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

// Request message for
// [ModelGardenService.GetPublisherModel][google.cloud.aiplatform.v1.ModelGardenService.GetPublisherModel]
type GetPublisherModelRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the PublisherModel resource.
	// Format:
	// `publishers/{publisher}/models/{publisher_model}`
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Optional. The IETF BCP-47 language code representing the language in which
	// the publisher model's text information should be written in.
	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// Optional. PublisherModel view specifying which fields to read.
	View PublisherModelView `protobuf:"varint,3,opt,name=view,proto3,enum=google.cloud.aiplatform.v1.PublisherModelView" json:"view,omitempty"`
	// Optional. Boolean indicates whether the requested model is a Hugging Face
	// model.
	IsHuggingFaceModel bool `protobuf:"varint,5,opt,name=is_hugging_face_model,json=isHuggingFaceModel,proto3" json:"is_hugging_face_model,omitempty"`
	// Optional. Token used to access Hugging Face gated models.
	HuggingFaceToken string `protobuf:"bytes,6,opt,name=hugging_face_token,json=huggingFaceToken,proto3" json:"hugging_face_token,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*GetPublisherModelRequest) ProtoMessage() {}

func (x *GetPublisherModelRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 GetPublisherModelRequest.ProtoReflect.Descriptor instead.
func (*GetPublisherModelRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{0}
}

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

func (x *GetPublisherModelRequest) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

func (x *GetPublisherModelRequest) GetView() PublisherModelView {
	if x != nil {
		return x.View
	}
	return PublisherModelView_PUBLISHER_MODEL_VIEW_UNSPECIFIED
}

func (x *GetPublisherModelRequest) GetIsHuggingFaceModel() bool {
	if x != nil {
		return x.IsHuggingFaceModel
	}
	return false
}

func (x *GetPublisherModelRequest) GetHuggingFaceToken() string {
	if x != nil {
		return x.HuggingFaceToken
	}
	return ""
}

// Request message for
// [ModelGardenService.Deploy][google.cloud.aiplatform.v1.ModelGardenService.Deploy].
type DeployRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The artifacts to deploy.
	//
	// Types that are valid to be assigned to Artifacts:
	//
	//	*DeployRequest_PublisherModelName
	//	*DeployRequest_HuggingFaceModelId
	Artifacts isDeployRequest_Artifacts `protobuf_oneof:"artifacts"`
	// Required. The resource name of the Location to deploy the model in.
	// Format: `projects/{project}/locations/{location}`
	Destination string `protobuf:"bytes,4,opt,name=destination,proto3" json:"destination,omitempty"`
	// Optional. The model config to use for the deployment.
	// If not specified, the default model config will be used.
	ModelConfig *DeployRequest_ModelConfig `protobuf:"bytes,5,opt,name=model_config,json=modelConfig,proto3" json:"model_config,omitempty"`
	// Optional. The endpoint config to use for the deployment.
	// If not specified, the default endpoint config will be used.
	EndpointConfig *DeployRequest_EndpointConfig `protobuf:"bytes,6,opt,name=endpoint_config,json=endpointConfig,proto3" json:"endpoint_config,omitempty"`
	// Optional. The deploy config to use for the deployment.
	// If not specified, the default deploy config will be used.
	DeployConfig  *DeployRequest_DeployConfig `protobuf:"bytes,7,opt,name=deploy_config,json=deployConfig,proto3" json:"deploy_config,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployRequest) ProtoMessage() {}

func (x *DeployRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 DeployRequest.ProtoReflect.Descriptor instead.
func (*DeployRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{1}
}

func (x *DeployRequest) GetArtifacts() isDeployRequest_Artifacts {
	if x != nil {
		return x.Artifacts
	}
	return nil
}

func (x *DeployRequest) GetPublisherModelName() string {
	if x != nil {
		if x, ok := x.Artifacts.(*DeployRequest_PublisherModelName); ok {
			return x.PublisherModelName
		}
	}
	return ""
}

func (x *DeployRequest) GetHuggingFaceModelId() string {
	if x != nil {
		if x, ok := x.Artifacts.(*DeployRequest_HuggingFaceModelId); ok {
			return x.HuggingFaceModelId
		}
	}
	return ""
}

func (x *DeployRequest) GetDestination() string {
	if x != nil {
		return x.Destination
	}
	return ""
}

func (x *DeployRequest) GetModelConfig() *DeployRequest_ModelConfig {
	if x != nil {
		return x.ModelConfig
	}
	return nil
}

func (x *DeployRequest) GetEndpointConfig() *DeployRequest_EndpointConfig {
	if x != nil {
		return x.EndpointConfig
	}
	return nil
}

func (x *DeployRequest) GetDeployConfig() *DeployRequest_DeployConfig {
	if x != nil {
		return x.DeployConfig
	}
	return nil
}

type isDeployRequest_Artifacts interface {
	isDeployRequest_Artifacts()
}

type DeployRequest_PublisherModelName struct {
	// The Model Garden model to deploy.
	// Format:
	// `publishers/{publisher}/models/{publisher_model}@{version_id}`, or
	// `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`.
	PublisherModelName string `protobuf:"bytes,1,opt,name=publisher_model_name,json=publisherModelName,proto3,oneof"`
}

type DeployRequest_HuggingFaceModelId struct {
	// The Hugging Face model to deploy.
	// Format: Hugging Face model ID like `google/gemma-2-2b-it`.
	HuggingFaceModelId string `protobuf:"bytes,2,opt,name=hugging_face_model_id,json=huggingFaceModelId,proto3,oneof"`
}

func (*DeployRequest_PublisherModelName) isDeployRequest_Artifacts() {}

func (*DeployRequest_HuggingFaceModelId) isDeployRequest_Artifacts() {}

// Response message for
// [ModelGardenService.Deploy][google.cloud.aiplatform.v1.ModelGardenService.Deploy].
type DeployResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The name of the PublisherModel resource.
	// Format:
	// `publishers/{publisher}/models/{publisher_model}@{version_id}`, or
	// `publishers/hf-{hugging-face-author}/models/{hugging-face-model-name}@001`
	PublisherModel string `protobuf:"bytes,1,opt,name=publisher_model,json=publisherModel,proto3" json:"publisher_model,omitempty"`
	// Output only. The name of the Endpoint created.
	// Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`
	Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"`
	// Output only. The name of the Model created.
	// Format: `projects/{project}/locations/{location}/models/{model}`
	Model         string `protobuf:"bytes,3,opt,name=model,proto3" json:"model,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployResponse) ProtoMessage() {}

func (x *DeployResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 DeployResponse.ProtoReflect.Descriptor instead.
func (*DeployResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{2}
}

func (x *DeployResponse) GetPublisherModel() string {
	if x != nil {
		return x.PublisherModel
	}
	return ""
}

func (x *DeployResponse) GetEndpoint() string {
	if x != nil {
		return x.Endpoint
	}
	return ""
}

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

// Runtime operation information for
// [ModelGardenService.Deploy][google.cloud.aiplatform.v1.ModelGardenService.Deploy].
type DeployOperationMetadata struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The operation generic information.
	GenericMetadata *GenericOperationMetadata `protobuf:"bytes,1,opt,name=generic_metadata,json=genericMetadata,proto3" json:"generic_metadata,omitempty"`
	// Output only. The name of the model resource.
	PublisherModel string `protobuf:"bytes,2,opt,name=publisher_model,json=publisherModel,proto3" json:"publisher_model,omitempty"`
	// Output only. The resource name of the Location to deploy the model in.
	// Format: `projects/{project}/locations/{location}`
	Destination string `protobuf:"bytes,3,opt,name=destination,proto3" json:"destination,omitempty"`
	// Output only. The project number where the deploy model request is sent.
	ProjectNumber int64 `protobuf:"varint,4,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"`
	// Output only. The model id to be used at query time.
	ModelId       string `protobuf:"bytes,5,opt,name=model_id,json=modelId,proto3" json:"model_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployOperationMetadata) ProtoMessage() {}

func (x *DeployOperationMetadata) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 DeployOperationMetadata.ProtoReflect.Descriptor instead.
func (*DeployOperationMetadata) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{3}
}

func (x *DeployOperationMetadata) GetGenericMetadata() *GenericOperationMetadata {
	if x != nil {
		return x.GenericMetadata
	}
	return nil
}

func (x *DeployOperationMetadata) GetPublisherModel() string {
	if x != nil {
		return x.PublisherModel
	}
	return ""
}

func (x *DeployOperationMetadata) GetDestination() string {
	if x != nil {
		return x.Destination
	}
	return ""
}

func (x *DeployOperationMetadata) GetProjectNumber() int64 {
	if x != nil {
		return x.ProjectNumber
	}
	return 0
}

func (x *DeployOperationMetadata) GetModelId() string {
	if x != nil {
		return x.ModelId
	}
	return ""
}

// The model config to use for the deployment.
type DeployRequest_ModelConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional. Whether the user accepts the End User License Agreement (EULA)
	// for the model.
	AcceptEula bool `protobuf:"varint,1,opt,name=accept_eula,json=acceptEula,proto3" json:"accept_eula,omitempty"`
	// Optional. The Hugging Face read access token used to access the model
	// artifacts of gated models.
	HuggingFaceAccessToken string `protobuf:"bytes,2,opt,name=hugging_face_access_token,json=huggingFaceAccessToken,proto3" json:"hugging_face_access_token,omitempty"`
	// Optional. If true, the model will deploy with a cached version instead of
	// directly downloading the model artifacts from Hugging Face. This is
	// suitable for VPC-SC users with limited internet access.
	HuggingFaceCacheEnabled bool `protobuf:"varint,3,opt,name=hugging_face_cache_enabled,json=huggingFaceCacheEnabled,proto3" json:"hugging_face_cache_enabled,omitempty"`
	// Optional. The user-specified display name of the uploaded model. If not
	// set, a default name will be used.
	ModelDisplayName string `protobuf:"bytes,4,opt,name=model_display_name,json=modelDisplayName,proto3" json:"model_display_name,omitempty"`
	// Optional. The specification of the container that is to be used when
	// deploying. If not set, the default container spec will be used.
	ContainerSpec *ModelContainerSpec `protobuf:"bytes,5,opt,name=container_spec,json=containerSpec,proto3" json:"container_spec,omitempty"`
	// Optional. The ID to use for the uploaded Model, which will become the
	// final component of the model resource name. When not provided, Vertex AI
	// will generate a value for this ID. When Model Registry model is provided,
	// this field will be ignored.
	//
	// This value may be up to 63 characters, and valid characters are
	// `[a-z0-9_-]`. The first character cannot be a number or hyphen.
	ModelUserId   string `protobuf:"bytes,6,opt,name=model_user_id,json=modelUserId,proto3" json:"model_user_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployRequest_ModelConfig) ProtoMessage() {}

func (x *DeployRequest_ModelConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 DeployRequest_ModelConfig.ProtoReflect.Descriptor instead.
func (*DeployRequest_ModelConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{1, 0}
}

func (x *DeployRequest_ModelConfig) GetAcceptEula() bool {
	if x != nil {
		return x.AcceptEula
	}
	return false
}

func (x *DeployRequest_ModelConfig) GetHuggingFaceAccessToken() string {
	if x != nil {
		return x.HuggingFaceAccessToken
	}
	return ""
}

func (x *DeployRequest_ModelConfig) GetHuggingFaceCacheEnabled() bool {
	if x != nil {
		return x.HuggingFaceCacheEnabled
	}
	return false
}

func (x *DeployRequest_ModelConfig) GetModelDisplayName() string {
	if x != nil {
		return x.ModelDisplayName
	}
	return ""
}

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

func (x *DeployRequest_ModelConfig) GetModelUserId() string {
	if x != nil {
		return x.ModelUserId
	}
	return ""
}

// The endpoint config to use for the deployment.
type DeployRequest_EndpointConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional. The user-specified display name of the endpoint. If not set, a
	// default name will be used.
	EndpointDisplayName string `protobuf:"bytes,1,opt,name=endpoint_display_name,json=endpointDisplayName,proto3" json:"endpoint_display_name,omitempty"`
	// Optional. Deprecated. Use dedicated_endpoint_disabled instead.
	// If true, the endpoint will be exposed through a
	// dedicated DNS [Endpoint.dedicated_endpoint_dns]. Your request to the
	// dedicated DNS will be isolated from other users' traffic and will have
	// better performance and reliability. Note: Once you enabled dedicated
	// endpoint, you won't be able to send request to the shared DNS
	// {region}-aiplatform.googleapis.com. The limitations will be removed soon.
	//
	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/model_garden_service.proto.
	DedicatedEndpointEnabled bool `protobuf:"varint,2,opt,name=dedicated_endpoint_enabled,json=dedicatedEndpointEnabled,proto3" json:"dedicated_endpoint_enabled,omitempty"`
	// Optional. By default, if dedicated endpoint is enabled, the endpoint will
	// be exposed through a dedicated DNS [Endpoint.dedicated_endpoint_dns].
	// Your request to the dedicated DNS will be isolated from other users'
	// traffic and will have better performance and reliability. Note: Once you
	// enabled dedicated endpoint, you won't be able to send request to the
	// shared DNS {region}-aiplatform.googleapis.com. The limitations will be
	// removed soon.
	//
	// If this field is set to true, the dedicated endpoint will be disabled
	// and the deployed model will be exposed through the shared DNS
	// {region}-aiplatform.googleapis.com.
	DedicatedEndpointDisabled bool `protobuf:"varint,4,opt,name=dedicated_endpoint_disabled,json=dedicatedEndpointDisabled,proto3" json:"dedicated_endpoint_disabled,omitempty"`
	// Optional. Immutable. The ID to use for endpoint, which will become the
	// final component of the endpoint resource name. If not provided, Vertex AI
	// will generate a value for this ID.
	//
	// If the first character is a letter, this value may be up to 63
	// characters, and valid characters are `[a-z0-9-]`. The last character must
	// be a letter or number.
	//
	// If the first character is a number, this value may be up to 9 characters,
	// and valid characters are `[0-9]` with no leading zeros.
	//
	// When using HTTP/JSON, this field is populated
	// based on a query string argument, such as `?endpoint_id=12345`. This is
	// the fallback for fields that are not included in either the URI or the
	// body.
	EndpointUserId string `protobuf:"bytes,3,opt,name=endpoint_user_id,json=endpointUserId,proto3" json:"endpoint_user_id,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

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

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

func (*DeployRequest_EndpointConfig) ProtoMessage() {}

func (x *DeployRequest_EndpointConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 DeployRequest_EndpointConfig.ProtoReflect.Descriptor instead.
func (*DeployRequest_EndpointConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{1, 1}
}

func (x *DeployRequest_EndpointConfig) GetEndpointDisplayName() string {
	if x != nil {
		return x.EndpointDisplayName
	}
	return ""
}

// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1/model_garden_service.proto.
func (x *DeployRequest_EndpointConfig) GetDedicatedEndpointEnabled() bool {
	if x != nil {
		return x.DedicatedEndpointEnabled
	}
	return false
}

func (x *DeployRequest_EndpointConfig) GetDedicatedEndpointDisabled() bool {
	if x != nil {
		return x.DedicatedEndpointDisabled
	}
	return false
}

func (x *DeployRequest_EndpointConfig) GetEndpointUserId() string {
	if x != nil {
		return x.EndpointUserId
	}
	return ""
}

// The deploy config to use for the deployment.
type DeployRequest_DeployConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Optional. The dedicated resources to use for the endpoint. If not set,
	// the default resources will be used.
	DedicatedResources *DedicatedResources `protobuf:"bytes,1,opt,name=dedicated_resources,json=dedicatedResources,proto3" json:"dedicated_resources,omitempty"`
	// Optional. If true, enable the QMT fast tryout feature for this model if
	// possible.
	FastTryoutEnabled bool `protobuf:"varint,2,opt,name=fast_tryout_enabled,json=fastTryoutEnabled,proto3" json:"fast_tryout_enabled,omitempty"`
	// Optional. System labels for Model Garden deployments.
	// These labels are managed by Google and for tracking purposes only.
	SystemLabels  map[string]string `protobuf:"bytes,3,rep,name=system_labels,json=systemLabels,proto3" json:"system_labels,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeployRequest_DeployConfig) ProtoMessage() {}

func (x *DeployRequest_DeployConfig) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_aiplatform_v1_model_garden_service_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 DeployRequest_DeployConfig.ProtoReflect.Descriptor instead.
func (*DeployRequest_DeployConfig) Descriptor() ([]byte, []int) {
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP(), []int{1, 2}
}

func (x *DeployRequest_DeployConfig) GetDedicatedResources() *DedicatedResources {
	if x != nil {
		return x.DedicatedResources
	}
	return nil
}

func (x *DeployRequest_DeployConfig) GetFastTryoutEnabled() bool {
	if x != nil {
		return x.FastTryoutEnabled
	}
	return false
}

func (x *DeployRequest_DeployConfig) GetSystemLabels() map[string]string {
	if x != nil {
		return x.SystemLabels
	}
	return nil
}

var File_google_cloud_aiplatform_v1_model_garden_service_proto protoreflect.FileDescriptor

const file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDesc = "" +
	"\n" +
	"5google/cloud/aiplatform/v1/model_garden_service.proto\x12\x1agoogle.cloud.aiplatform.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a2google/cloud/aiplatform/v1/machine_resources.proto\x1a&google/cloud/aiplatform/v1/model.proto\x1a*google/cloud/aiplatform/v1/operation.proto\x1a0google/cloud/aiplatform/v1/publisher_model.proto\x1a#google/longrunning/operations.proto\"\xbe\x02\n" +
	"\x18GetPublisherModelRequest\x12D\n" +
	"\x04name\x18\x01 \x01(\tB0\xe0A\x02\xfaA*\n" +
	"(aiplatform.googleapis.com/PublisherModelR\x04name\x12(\n" +
	"\rlanguage_code\x18\x02 \x01(\tB\x03\xe0A\x01R\flanguageCode\x12G\n" +
	"\x04view\x18\x03 \x01(\x0e2..google.cloud.aiplatform.v1.PublisherModelViewB\x03\xe0A\x01R\x04view\x126\n" +
	"\x15is_hugging_face_model\x18\x05 \x01(\bB\x03\xe0A\x01R\x12isHuggingFaceModel\x121\n" +
	"\x12hugging_face_token\x18\x06 \x01(\tB\x03\xe0A\x01R\x10huggingFaceToken\"\x83\f\n" +
	"\rDeployRequest\x12a\n" +
	"\x14publisher_model_name\x18\x01 \x01(\tB-\xfaA*\n" +
	"(aiplatform.googleapis.com/PublisherModelH\x00R\x12publisherModelName\x123\n" +
	"\x15hugging_face_model_id\x18\x02 \x01(\tH\x00R\x12huggingFaceModelId\x12K\n" +
	"\vdestination\x18\x04 \x01(\tB)\xe0A\x02\xfaA#\n" +
	"!locations.googleapis.com/LocationR\vdestination\x12]\n" +
	"\fmodel_config\x18\x05 \x01(\v25.google.cloud.aiplatform.v1.DeployRequest.ModelConfigB\x03\xe0A\x01R\vmodelConfig\x12f\n" +
	"\x0fendpoint_config\x18\x06 \x01(\v28.google.cloud.aiplatform.v1.DeployRequest.EndpointConfigB\x03\xe0A\x01R\x0eendpointConfig\x12`\n" +
	"\rdeploy_config\x18\a \x01(\v26.google.cloud.aiplatform.v1.DeployRequest.DeployConfigB\x03\xe0A\x01R\fdeployConfig\x1a\xed\x02\n" +
	"\vModelConfig\x12$\n" +
	"\vaccept_eula\x18\x01 \x01(\bB\x03\xe0A\x01R\n" +
	"acceptEula\x12>\n" +
	"\x19hugging_face_access_token\x18\x02 \x01(\tB\x03\xe0A\x01R\x16huggingFaceAccessToken\x12@\n" +
	"\x1ahugging_face_cache_enabled\x18\x03 \x01(\bB\x03\xe0A\x01R\x17huggingFaceCacheEnabled\x121\n" +
	"\x12model_display_name\x18\x04 \x01(\tB\x03\xe0A\x01R\x10modelDisplayName\x12Z\n" +
	"\x0econtainer_spec\x18\x05 \x01(\v2..google.cloud.aiplatform.v1.ModelContainerSpecB\x03\xe0A\x01R\rcontainerSpec\x12'\n" +
	"\rmodel_user_id\x18\x06 \x01(\tB\x03\xe0A\x01R\vmodelUserId\x1a\x85\x02\n" +
	"\x0eEndpointConfig\x127\n" +
	"\x15endpoint_display_name\x18\x01 \x01(\tB\x03\xe0A\x01R\x13endpointDisplayName\x12C\n" +
	"\x1adedicated_endpoint_enabled\x18\x02 \x01(\bB\x05\xe0A\x01\x18\x01R\x18dedicatedEndpointEnabled\x12C\n" +
	"\x1bdedicated_endpoint_disabled\x18\x04 \x01(\bB\x03\xe0A\x01R\x19dedicatedEndpointDisabled\x120\n" +
	"\x10endpoint_user_id\x18\x03 \x01(\tB\x06\xe0A\x05\xe0A\x01R\x0eendpointUserId\x1a\xde\x02\n" +
	"\fDeployConfig\x12d\n" +
	"\x13dedicated_resources\x18\x01 \x01(\v2..google.cloud.aiplatform.v1.DedicatedResourcesB\x03\xe0A\x01R\x12dedicatedResources\x123\n" +
	"\x13fast_tryout_enabled\x18\x02 \x01(\bB\x03\xe0A\x01R\x11fastTryoutEnabled\x12r\n" +
	"\rsystem_labels\x18\x03 \x03(\v2H.google.cloud.aiplatform.v1.DeployRequest.DeployConfig.SystemLabelsEntryB\x03\xe0A\x01R\fsystemLabels\x1a?\n" +
	"\x11SystemLabelsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01B\v\n" +
	"\tartifacts\"\xf2\x01\n" +
	"\x0eDeployResponse\x12Y\n" +
	"\x0fpublisher_model\x18\x01 \x01(\tB0\xe0A\x03\xfaA*\n" +
	"(aiplatform.googleapis.com/PublisherModelR\x0epublisherModel\x12F\n" +
	"\bendpoint\x18\x02 \x01(\tB*\xe0A\x03\xfaA$\n" +
	"\"aiplatform.googleapis.com/EndpointR\bendpoint\x12=\n" +
	"\x05model\x18\x03 \x01(\tB'\xe0A\x03\xfaA!\n" +
	"\x1faiplatform.googleapis.com/ModelR\x05model\"\xee\x02\n" +
	"\x17DeployOperationMetadata\x12_\n" +
	"\x10generic_metadata\x18\x01 \x01(\v24.google.cloud.aiplatform.v1.GenericOperationMetadataR\x0fgenericMetadata\x12Y\n" +
	"\x0fpublisher_model\x18\x02 \x01(\tB0\xe0A\x03\xfaA*\n" +
	"(aiplatform.googleapis.com/PublisherModelR\x0epublisherModel\x12K\n" +
	"\vdestination\x18\x03 \x01(\tB)\xe0A\x03\xfaA#\n" +
	"!locations.googleapis.com/LocationR\vdestination\x12*\n" +
	"\x0eproject_number\x18\x04 \x01(\x03B\x03\xe0A\x03R\rprojectNumber\x12\x1e\n" +
	"\bmodel_id\x18\x05 \x01(\tB\x03\xe0A\x03R\amodelId*\xa1\x01\n" +
	"\x12PublisherModelView\x12$\n" +
	" PUBLISHER_MODEL_VIEW_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aPUBLISHER_MODEL_VIEW_BASIC\x10\x01\x12\x1d\n" +
	"\x19PUBLISHER_MODEL_VIEW_FULL\x10\x02\x12&\n" +
	"\"PUBLISHER_MODEL_VERSION_VIEW_BASIC\x10\x032\xc9\x03\n" +
	"\x12ModelGardenService\x12\xa6\x01\n" +
	"\x11GetPublisherModel\x124.google.cloud.aiplatform.v1.GetPublisherModelRequest\x1a*.google.cloud.aiplatform.v1.PublisherModel\"/\xdaA\x04name\x82\xd3\xe4\x93\x02\"\x12 /v1/{name=publishers/*/models/*}\x12\xba\x01\n" +
	"\x06Deploy\x12).google.cloud.aiplatform.v1.DeployRequest\x1a\x1d.google.longrunning.Operation\"f\xcaA)\n" +
	"\x0eDeployResponse\x12\x17DeployOperationMetadata\x82\xd3\xe4\x93\x024:\x01*\"//v1/{destination=projects/*/locations/*}:deploy\x1aM\xcaA\x19aiplatform.googleapis.com\xd2A.https://www.googleapis.com/auth/cloud-platformB\xd5\x01\n" +
	"\x1ecom.google.cloud.aiplatform.v1B\x17ModelGardenServiceProtoP\x01Z>cloud.google.com/go/aiplatform/apiv1/aiplatformpb;aiplatformpb\xaa\x02\x1aGoogle.Cloud.AIPlatform.V1\xca\x02\x1aGoogle\\Cloud\\AIPlatform\\V1\xea\x02\x1dGoogle::Cloud::AIPlatform::V1b\x06proto3"

var (
	file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescOnce sync.Once
	file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescData []byte
)

func file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescGZIP() []byte {
	file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescOnce.Do(func() {
		file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDesc), len(file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDesc)))
	})
	return file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDescData
}

var file_google_cloud_aiplatform_v1_model_garden_service_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_cloud_aiplatform_v1_model_garden_service_proto_msgTypes = make([]protoimpl.MessageInfo, 8)
var file_google_cloud_aiplatform_v1_model_garden_service_proto_goTypes = []any{
	(PublisherModelView)(0),              // 0: google.cloud.aiplatform.v1.PublisherModelView
	(*GetPublisherModelRequest)(nil),     // 1: google.cloud.aiplatform.v1.GetPublisherModelRequest
	(*DeployRequest)(nil),                // 2: google.cloud.aiplatform.v1.DeployRequest
	(*DeployResponse)(nil),               // 3: google.cloud.aiplatform.v1.DeployResponse
	(*DeployOperationMetadata)(nil),      // 4: google.cloud.aiplatform.v1.DeployOperationMetadata
	(*DeployRequest_ModelConfig)(nil),    // 5: google.cloud.aiplatform.v1.DeployRequest.ModelConfig
	(*DeployRequest_EndpointConfig)(nil), // 6: google.cloud.aiplatform.v1.DeployRequest.EndpointConfig
	(*DeployRequest_DeployConfig)(nil),   // 7: google.cloud.aiplatform.v1.DeployRequest.DeployConfig
	nil,                                  // 8: google.cloud.aiplatform.v1.DeployRequest.DeployConfig.SystemLabelsEntry
	(*GenericOperationMetadata)(nil),     // 9: google.cloud.aiplatform.v1.GenericOperationMetadata
	(*ModelContainerSpec)(nil),           // 10: google.cloud.aiplatform.v1.ModelContainerSpec
	(*DedicatedResources)(nil),           // 11: google.cloud.aiplatform.v1.DedicatedResources
	(*PublisherModel)(nil),               // 12: google.cloud.aiplatform.v1.PublisherModel
	(*longrunningpb.Operation)(nil),      // 13: google.longrunning.Operation
}
var file_google_cloud_aiplatform_v1_model_garden_service_proto_depIdxs = []int32{
	0,  // 0: google.cloud.aiplatform.v1.GetPublisherModelRequest.view:type_name -> google.cloud.aiplatform.v1.PublisherModelView
	5,  // 1: google.cloud.aiplatform.v1.DeployRequest.model_config:type_name -> google.cloud.aiplatform.v1.DeployRequest.ModelConfig
	6,  // 2: google.cloud.aiplatform.v1.DeployRequest.endpoint_config:type_name -> google.cloud.aiplatform.v1.DeployRequest.EndpointConfig
	7,  // 3: google.cloud.aiplatform.v1.DeployRequest.deploy_config:type_name -> google.cloud.aiplatform.v1.DeployRequest.DeployConfig
	9,  // 4: google.cloud.aiplatform.v1.DeployOperationMetadata.generic_metadata:type_name -> google.cloud.aiplatform.v1.GenericOperationMetadata
	10, // 5: google.cloud.aiplatform.v1.DeployRequest.ModelConfig.container_spec:type_name -> google.cloud.aiplatform.v1.ModelContainerSpec
	11, // 6: google.cloud.aiplatform.v1.DeployRequest.DeployConfig.dedicated_resources:type_name -> google.cloud.aiplatform.v1.DedicatedResources
	8,  // 7: google.cloud.aiplatform.v1.DeployRequest.DeployConfig.system_labels:type_name -> google.cloud.aiplatform.v1.DeployRequest.DeployConfig.SystemLabelsEntry
	1,  // 8: google.cloud.aiplatform.v1.ModelGardenService.GetPublisherModel:input_type -> google.cloud.aiplatform.v1.GetPublisherModelRequest
	2,  // 9: google.cloud.aiplatform.v1.ModelGardenService.Deploy:input_type -> google.cloud.aiplatform.v1.DeployRequest
	12, // 10: google.cloud.aiplatform.v1.ModelGardenService.GetPublisherModel:output_type -> google.cloud.aiplatform.v1.PublisherModel
	13, // 11: google.cloud.aiplatform.v1.ModelGardenService.Deploy:output_type -> google.longrunning.Operation
	10, // [10:12] is the sub-list for method output_type
	8,  // [8:10] is the sub-list for method input_type
	8,  // [8:8] is the sub-list for extension type_name
	8,  // [8:8] is the sub-list for extension extendee
	0,  // [0:8] is the sub-list for field type_name
}

func init() { file_google_cloud_aiplatform_v1_model_garden_service_proto_init() }
func file_google_cloud_aiplatform_v1_model_garden_service_proto_init() {
	if File_google_cloud_aiplatform_v1_model_garden_service_proto != nil {
		return
	}
	file_google_cloud_aiplatform_v1_machine_resources_proto_init()
	file_google_cloud_aiplatform_v1_model_proto_init()
	file_google_cloud_aiplatform_v1_operation_proto_init()
	file_google_cloud_aiplatform_v1_publisher_model_proto_init()
	file_google_cloud_aiplatform_v1_model_garden_service_proto_msgTypes[1].OneofWrappers = []any{
		(*DeployRequest_PublisherModelName)(nil),
		(*DeployRequest_HuggingFaceModelId)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDesc), len(file_google_cloud_aiplatform_v1_model_garden_service_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   8,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_aiplatform_v1_model_garden_service_proto_goTypes,
		DependencyIndexes: file_google_cloud_aiplatform_v1_model_garden_service_proto_depIdxs,
		EnumInfos:         file_google_cloud_aiplatform_v1_model_garden_service_proto_enumTypes,
		MessageInfos:      file_google_cloud_aiplatform_v1_model_garden_service_proto_msgTypes,
	}.Build()
	File_google_cloud_aiplatform_v1_model_garden_service_proto = out.File
	file_google_cloud_aiplatform_v1_model_garden_service_proto_goTypes = nil
	file_google_cloud_aiplatform_v1_model_garden_service_proto_depIdxs = nil
}
