# frozen_string_literal: false

# ----------------------------------------------------------------------------
#
#     ***     AUTO GENERATED CODE    ***    Type: MMv1     ***
#
# ----------------------------------------------------------------------------
#
#     This file is automatically generated by Magic Modules and manual
#     changes will be clobbered when the file is regenerated.
#
#     Please read more about how to change this file in README.md and
#     CONTRIBUTING.md located at the root of this package.
#
# ----------------------------------------------------------------------------
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococe_config'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococece_baseline'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococeceb_bigquery'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococeceb_gcs'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococpdd_config'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococpddcasd_thresholds'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococpddcdd_threshold'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococpddcd_thresholds'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococt_dataset'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtdb_source'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtdg_source'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtdls_strategy'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtdlssrs_config'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtpsd_config'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtpsdcass_thresholds'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtpsdcds_threshold'
require 'google/vertexai/property/modeldeploymentmonitoringjob_mdmococtpsdcs_thresholds'
module GoogleInSpec
  module VertexAI
    module Property
      class ModelDeploymentMonitoringJobModelDeploymentMonitoringObjectiveConfigsObjectiveConfig
        attr_reader :explanation_config

        attr_reader :training_dataset

        attr_reader :training_prediction_skew_detection_config

        attr_reader :prediction_drift_detection_config

        def initialize(args = nil, parent_identifier = nil)
          return if args.nil?
          @parent_identifier = parent_identifier
          @explanation_config = GoogleInSpec::VertexAI::Property::ModelDeploymentMonitoringJobModelDeploymentMonitoringObjectiveConfigsObjectiveConfigExplanationConfig.new(args['explanationConfig'], to_s)
          @training_dataset = GoogleInSpec::VertexAI::Property::ModelDeploymentMonitoringJobModelDeploymentMonitoringObjectiveConfigsObjectiveConfigTrainingDataset.new(args['trainingDataset'], to_s)
          @training_prediction_skew_detection_config = GoogleInSpec::VertexAI::Property::ModelDeploymentMonitoringJobModelDeploymentMonitoringObjectiveConfigsObjectiveConfigTrainingPredictionSkewDetectionConfig.new(args['trainingPredictionSkewDetectionConfig'], to_s)
          @prediction_drift_detection_config = GoogleInSpec::VertexAI::Property::ModelDeploymentMonitoringJobModelDeploymentMonitoringObjectiveConfigsObjectiveConfigPredictionDriftDetectionConfig.new(args['predictionDriftDetectionConfig'], to_s)
        end

        def to_s
          "#{@parent_identifier} ModelDeploymentMonitoringJobModelDeploymentMonitoringObjectiveConfigsObjectiveConfig"
        end
      end
    end
  end
end
