# 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/schedule_create_pipeline_job_request_pipeline_job_encryption_spec'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_error'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_pipeline_context'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_pipeline_context_labels'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_pipeline_context_metadata'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_pipeline_run_context'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_pipeline_run_context_labels'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_pipeline_run_context_metadata'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_job_detail_task_details'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_labels'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_pipeline_spec'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_runtime_config'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_runtime_config_input_artifacts'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_runtime_config_parameter_values'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_runtime_config_parameters'
require 'google/vertexai/property/schedule_create_pipeline_job_request_pipeline_job_template_metadata'
module GoogleInSpec
  module VertexAI
    module Property
      class ScheduleCreatePipelineJobRequestPipelineJob
        attr_reader :encryption_spec

        attr_reader :end_time

        attr_reader :error

        attr_reader :update_time

        attr_reader :job_detail

        attr_reader :template_metadata

        attr_reader :state

        attr_reader :create_time

        attr_reader :name

        attr_reader :schedule_name

        attr_reader :reserved_ip_ranges

        attr_reader :start_time

        attr_reader :service_account

        attr_reader :display_name

        attr_reader :template_uri

        attr_reader :pipeline_spec

        attr_reader :network

        attr_reader :labels

        attr_reader :runtime_config

        def initialize(args = nil, parent_identifier = nil)
          return if args.nil?
          @parent_identifier = parent_identifier
          @encryption_spec = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobEncryptionSpec.new(args['encryptionSpec'], to_s)
          @end_time = args['endTime']
          @error = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobError.new(args['error'], to_s)
          @update_time = args['updateTime']
          @job_detail = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobJobDetail.new(args['jobDetail'], to_s)
          @template_metadata = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobTemplateMetadata.new(args['templateMetadata'], to_s)
          @state = args['state']
          @create_time = args['createTime']
          @name = args['name']
          @schedule_name = args['scheduleName']
          @reserved_ip_ranges = args['reservedIpRanges']
          @start_time = args['startTime']
          @service_account = args['serviceAccount']
          @display_name = args['displayName']
          @template_uri = args['templateUri']
          @pipeline_spec = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobPipelineSpec.new(args['pipelineSpec'], to_s)
          @network = args['network']
          @labels = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobLabels.new(args['labels'], to_s)
          @runtime_config = GoogleInSpec::VertexAI::Property::ScheduleCreatePipelineJobRequestPipelineJobRuntimeConfig.new(args['runtimeConfig'], to_s)
        end

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