// 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/featurestore_monitoring.proto

package aiplatformpb

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

	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
)

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

// The state defines whether to enable ImportFeature analysis.
type FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State int32

const (
	// Should not be used.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_STATE_UNSPECIFIED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 0
	// The default behavior of whether to enable the monitoring.
	// EntityType-level config: disabled.
	// Feature-level config: inherited from the configuration of EntityType
	// this Feature belongs to.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_DEFAULT FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 1
	// Explicitly enables import features analysis.
	// EntityType-level config: by default enables import features analysis
	// for all Features under it. Feature-level config: enables import
	// features analysis regardless of the EntityType-level config.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_ENABLED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 2
	// Explicitly disables import features analysis.
	// EntityType-level config: by default disables import features analysis
	// for all Features under it. Feature-level config: disables import
	// features analysis regardless of the EntityType-level config.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_DISABLED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State = 3
)

// Enum value maps for FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State.
var (
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State_name = map[int32]string{
		0: "STATE_UNSPECIFIED",
		1: "DEFAULT",
		2: "ENABLED",
		3: "DISABLED",
	}
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State_value = map[string]int32{
		"STATE_UNSPECIFIED": 0,
		"DEFAULT":           1,
		"ENABLED":           2,
		"DISABLED":          3,
	}
)

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

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

func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[0].Descriptor()
}

func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[0]
}

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

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

// Defines the baseline to do anomaly detection for feature values imported
// by each
// [ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues]
// operation.
type FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline int32

const (
	// Should not be used.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_BASELINE_UNSPECIFIED FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 0
	// Choose the later one statistics generated by either most recent
	// snapshot analysis or previous import features analysis. If non of them
	// exists, skip anomaly detection and only generate a statistics.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_LATEST_STATS FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 1
	// Use the statistics generated by the most recent snapshot analysis if
	// exists.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_MOST_RECENT_SNAPSHOT_STATS FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 2
	// Use the statistics generated by the previous import features analysis
	// if exists.
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_PREVIOUS_IMPORT_FEATURES_STATS FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline = 3
)

// Enum value maps for FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline.
var (
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline_name = map[int32]string{
		0: "BASELINE_UNSPECIFIED",
		1: "LATEST_STATS",
		2: "MOST_RECENT_SNAPSHOT_STATS",
		3: "PREVIOUS_IMPORT_FEATURES_STATS",
	}
	FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline_value = map[string]int32{
		"BASELINE_UNSPECIFIED":           0,
		"LATEST_STATS":                   1,
		"MOST_RECENT_SNAPSHOT_STATS":     2,
		"PREVIOUS_IMPORT_FEATURES_STATS": 3,
	}
)

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

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

func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[1].Descriptor()
}

func (FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline) Type() protoreflect.EnumType {
	return &file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes[1]
}

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

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

// Configuration of how features in Featurestore are monitored.
type FeaturestoreMonitoringConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The config for Snapshot Analysis Based Feature Monitoring.
	SnapshotAnalysis *FeaturestoreMonitoringConfig_SnapshotAnalysis `protobuf:"bytes,1,opt,name=snapshot_analysis,json=snapshotAnalysis,proto3" json:"snapshot_analysis,omitempty"`
	// The config for ImportFeatures Analysis Based Feature Monitoring.
	ImportFeaturesAnalysis *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis `protobuf:"bytes,2,opt,name=import_features_analysis,json=importFeaturesAnalysis,proto3" json:"import_features_analysis,omitempty"`
	// Threshold for numerical features of anomaly detection.
	// This is shared by all objectives of Featurestore Monitoring for numerical
	// features (i.e. Features with type
	// ([Feature.ValueType][google.cloud.aiplatform.v1beta1.Feature.ValueType])
	// DOUBLE or INT64).
	NumericalThresholdConfig *FeaturestoreMonitoringConfig_ThresholdConfig `protobuf:"bytes,3,opt,name=numerical_threshold_config,json=numericalThresholdConfig,proto3" json:"numerical_threshold_config,omitempty"`
	// Threshold for categorical features of anomaly detection.
	// This is shared by all types of Featurestore Monitoring for categorical
	// features (i.e. Features with type
	// ([Feature.ValueType][google.cloud.aiplatform.v1beta1.Feature.ValueType])
	// BOOL or STRING).
	CategoricalThresholdConfig *FeaturestoreMonitoringConfig_ThresholdConfig `protobuf:"bytes,4,opt,name=categorical_threshold_config,json=categoricalThresholdConfig,proto3" json:"categorical_threshold_config,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

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

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

func (*FeaturestoreMonitoringConfig) ProtoMessage() {}

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

func (x *FeaturestoreMonitoringConfig) GetSnapshotAnalysis() *FeaturestoreMonitoringConfig_SnapshotAnalysis {
	if x != nil {
		return x.SnapshotAnalysis
	}
	return nil
}

func (x *FeaturestoreMonitoringConfig) GetImportFeaturesAnalysis() *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis {
	if x != nil {
		return x.ImportFeaturesAnalysis
	}
	return nil
}

func (x *FeaturestoreMonitoringConfig) GetNumericalThresholdConfig() *FeaturestoreMonitoringConfig_ThresholdConfig {
	if x != nil {
		return x.NumericalThresholdConfig
	}
	return nil
}

func (x *FeaturestoreMonitoringConfig) GetCategoricalThresholdConfig() *FeaturestoreMonitoringConfig_ThresholdConfig {
	if x != nil {
		return x.CategoricalThresholdConfig
	}
	return nil
}

// Configuration of the Featurestore's Snapshot Analysis Based Monitoring.
// This type of analysis generates statistics for each Feature based on a
// snapshot of the latest feature value of each entities every
// monitoring_interval.
type FeaturestoreMonitoringConfig_SnapshotAnalysis struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The monitoring schedule for snapshot analysis.
	// For EntityType-level config:
	//
	//	unset / disabled = true indicates disabled by
	//	default for Features under it; otherwise by default enable snapshot
	//	analysis monitoring with monitoring_interval for Features under it.
	//
	// Feature-level config:
	//
	//	disabled = true indicates disabled regardless of the EntityType-level
	//	config; unset monitoring_interval indicates going with EntityType-level
	//	config; otherwise run snapshot analysis monitoring with
	//	monitoring_interval regardless of the EntityType-level config.
	//
	// Explicitly Disable the snapshot analysis based monitoring.
	Disabled bool `protobuf:"varint,1,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// Configuration of the snapshot analysis based monitoring pipeline running
	// interval. The value is rolled up to full day.
	// If both
	// [monitoring_interval_days][google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days]
	// and the deprecated `monitoring_interval` field
	// are set when creating/updating EntityTypes/Features,
	// [monitoring_interval_days][google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval_days]
	// will be used.
	//
	// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto.
	MonitoringInterval *durationpb.Duration `protobuf:"bytes,2,opt,name=monitoring_interval,json=monitoringInterval,proto3" json:"monitoring_interval,omitempty"`
	// Configuration of the snapshot analysis based monitoring pipeline
	// running interval. The value indicates number of days.
	MonitoringIntervalDays int32 `protobuf:"varint,3,opt,name=monitoring_interval_days,json=monitoringIntervalDays,proto3" json:"monitoring_interval_days,omitempty"`
	// Customized export features time window for snapshot analysis. Unit is one
	// day. Default value is 3 weeks. Minimum value is 1 day. Maximum value is
	// 4000 days.
	StalenessDays int32 `protobuf:"varint,4,opt,name=staleness_days,json=stalenessDays,proto3" json:"staleness_days,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FeaturestoreMonitoringConfig_SnapshotAnalysis) ProtoMessage() {}

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

func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetDisabled() bool {
	if x != nil {
		return x.Disabled
	}
	return false
}

// Deprecated: Marked as deprecated in google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto.
func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetMonitoringInterval() *durationpb.Duration {
	if x != nil {
		return x.MonitoringInterval
	}
	return nil
}

func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetMonitoringIntervalDays() int32 {
	if x != nil {
		return x.MonitoringIntervalDays
	}
	return 0
}

func (x *FeaturestoreMonitoringConfig_SnapshotAnalysis) GetStalenessDays() int32 {
	if x != nil {
		return x.StalenessDays
	}
	return 0
}

// Configuration of the Featurestore's ImportFeature Analysis Based
// Monitoring. This type of analysis generates statistics for values of each
// Feature imported by every
// [ImportFeatureValues][google.cloud.aiplatform.v1beta1.FeaturestoreService.ImportFeatureValues]
// operation.
type FeaturestoreMonitoringConfig_ImportFeaturesAnalysis struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Whether to enable / disable / inherite default hebavior for import
	// features analysis.
	State FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State `protobuf:"varint,1,opt,name=state,proto3,enum=google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State" json:"state,omitempty"`
	// The baseline used to do anomaly detection for the statistics generated by
	// import features analysis.
	AnomalyDetectionBaseline FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline `protobuf:"varint,2,opt,name=anomaly_detection_baseline,json=anomalyDetectionBaseline,proto3,enum=google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline" json:"anomaly_detection_baseline,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

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

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

func (*FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) ProtoMessage() {}

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

func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) GetState() FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State {
	if x != nil {
		return x.State
	}
	return FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_STATE_UNSPECIFIED
}

func (x *FeaturestoreMonitoringConfig_ImportFeaturesAnalysis) GetAnomalyDetectionBaseline() FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline {
	if x != nil {
		return x.AnomalyDetectionBaseline
	}
	return FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_BASELINE_UNSPECIFIED
}

// The config for Featurestore Monitoring threshold.
type FeaturestoreMonitoringConfig_ThresholdConfig struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to Threshold:
	//
	//	*FeaturestoreMonitoringConfig_ThresholdConfig_Value
	Threshold     isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold `protobuf_oneof:"threshold"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*FeaturestoreMonitoringConfig_ThresholdConfig) ProtoMessage() {}

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

func (x *FeaturestoreMonitoringConfig_ThresholdConfig) GetThreshold() isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold {
	if x != nil {
		return x.Threshold
	}
	return nil
}

func (x *FeaturestoreMonitoringConfig_ThresholdConfig) GetValue() float64 {
	if x != nil {
		if x, ok := x.Threshold.(*FeaturestoreMonitoringConfig_ThresholdConfig_Value); ok {
			return x.Value
		}
	}
	return 0
}

type isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold interface {
	isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold()
}

type FeaturestoreMonitoringConfig_ThresholdConfig_Value struct {
	// Specify a threshold value that can trigger the alert.
	// 1. For categorical feature, the distribution distance is calculated by
	// L-inifinity norm.
	// 2. For numerical feature, the distribution distance is calculated by
	// Jensen–Shannon divergence. Each feature must have a non-zero threshold
	// if they need to be monitored. Otherwise no alert will be triggered for
	// that feature.
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3,oneof"`
}

func (*FeaturestoreMonitoringConfig_ThresholdConfig_Value) isFeaturestoreMonitoringConfig_ThresholdConfig_Threshold() {
}

var File_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto protoreflect.FileDescriptor

const file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc = "" +
	"\n" +
	"=google/cloud/aiplatform/v1beta1/featurestore_monitoring.proto\x12\x1fgoogle.cloud.aiplatform.v1beta1\x1a\x1egoogle/protobuf/duration.proto\"\xd5\n" +
	"\n" +
	"\x1cFeaturestoreMonitoringConfig\x12{\n" +
	"\x11snapshot_analysis\x18\x01 \x01(\v2N.google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysisR\x10snapshotAnalysis\x12\x8e\x01\n" +
	"\x18import_features_analysis\x18\x02 \x01(\v2T.google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysisR\x16importFeaturesAnalysis\x12\x8b\x01\n" +
	"\x1anumerical_threshold_config\x18\x03 \x01(\v2M.google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfigR\x18numericalThresholdConfig\x12\x8f\x01\n" +
	"\x1ccategorical_threshold_config\x18\x04 \x01(\v2M.google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfigR\x1acategoricalThresholdConfig\x1a\xdf\x01\n" +
	"\x10SnapshotAnalysis\x12\x1a\n" +
	"\bdisabled\x18\x01 \x01(\bR\bdisabled\x12N\n" +
	"\x13monitoring_interval\x18\x02 \x01(\v2\x19.google.protobuf.DurationB\x02\x18\x01R\x12monitoringInterval\x128\n" +
	"\x18monitoring_interval_days\x18\x03 \x01(\x05R\x16monitoringIntervalDays\x12%\n" +
	"\x0estaleness_days\x18\x04 \x01(\x05R\rstalenessDays\x1a\xec\x03\n" +
	"\x16ImportFeaturesAnalysis\x12p\n" +
	"\x05state\x18\x01 \x01(\x0e2Z.google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.StateR\x05state\x12\x9b\x01\n" +
	"\x1aanomaly_detection_baseline\x18\x02 \x01(\x0e2].google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.BaselineR\x18anomalyDetectionBaseline\"F\n" +
	"\x05State\x12\x15\n" +
	"\x11STATE_UNSPECIFIED\x10\x00\x12\v\n" +
	"\aDEFAULT\x10\x01\x12\v\n" +
	"\aENABLED\x10\x02\x12\f\n" +
	"\bDISABLED\x10\x03\"z\n" +
	"\bBaseline\x12\x18\n" +
	"\x14BASELINE_UNSPECIFIED\x10\x00\x12\x10\n" +
	"\fLATEST_STATS\x10\x01\x12\x1e\n" +
	"\x1aMOST_RECENT_SNAPSHOT_STATS\x10\x02\x12\"\n" +
	"\x1ePREVIOUS_IMPORT_FEATURES_STATS\x10\x03\x1a6\n" +
	"\x0fThresholdConfig\x12\x16\n" +
	"\x05value\x18\x01 \x01(\x01H\x00R\x05valueB\v\n" +
	"\tthresholdB\xf2\x01\n" +
	"#com.google.cloud.aiplatform.v1beta1B\x1bFeaturestoreMonitoringProtoP\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_featurestore_monitoring_proto_rawDescOnce sync.Once
	file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData []byte
)

func file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescGZIP() []byte {
	file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescOnce.Do(func() {
		file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc), len(file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc)))
	})
	return file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDescData
}

var file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_goTypes = []any{
	(FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_State)(0),    // 0: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.State
	(FeaturestoreMonitoringConfig_ImportFeaturesAnalysis_Baseline)(0), // 1: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.Baseline
	(*FeaturestoreMonitoringConfig)(nil),                              // 2: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig
	(*FeaturestoreMonitoringConfig_SnapshotAnalysis)(nil),             // 3: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis
	(*FeaturestoreMonitoringConfig_ImportFeaturesAnalysis)(nil),       // 4: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis
	(*FeaturestoreMonitoringConfig_ThresholdConfig)(nil),              // 5: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfig
	(*durationpb.Duration)(nil),                                       // 6: google.protobuf.Duration
}
var file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_depIdxs = []int32{
	3, // 0: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.snapshot_analysis:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis
	4, // 1: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.import_features_analysis:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis
	5, // 2: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.numerical_threshold_config:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfig
	5, // 3: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.categorical_threshold_config:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ThresholdConfig
	6, // 4: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.SnapshotAnalysis.monitoring_interval:type_name -> google.protobuf.Duration
	0, // 5: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.state:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.State
	1, // 6: google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.anomaly_detection_baseline:type_name -> google.cloud.aiplatform.v1beta1.FeaturestoreMonitoringConfig.ImportFeaturesAnalysis.Baseline
	7, // [7:7] is the sub-list for method output_type
	7, // [7:7] is the sub-list for method input_type
	7, // [7:7] is the sub-list for extension type_name
	7, // [7:7] is the sub-list for extension extendee
	0, // [0:7] is the sub-list for field type_name
}

func init() { file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() }
func file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_init() {
	if File_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto != nil {
		return
	}
	file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes[3].OneofWrappers = []any{
		(*FeaturestoreMonitoringConfig_ThresholdConfig_Value)(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_featurestore_monitoring_proto_rawDesc), len(file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_goTypes,
		DependencyIndexes: file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_depIdxs,
		EnumInfos:         file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_enumTypes,
		MessageInfos:      file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_msgTypes,
	}.Build()
	File_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto = out.File
	file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_goTypes = nil
	file_google_cloud_aiplatform_v1beta1_featurestore_monitoring_proto_depIdxs = nil
}
