# 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/dataflow/property/projectlocationjob_pipeline_description_display_data'
require 'google/dataflow/property/projectlocationjob_pipeline_description_execution_pipeline_stage'
require 'google/dataflow/property/projectlocationjob_pipeline_description_original_pipeline_transform'
module GoogleInSpec
  module Dataflow
    module Property
      class ProjectLocationJobPipelineDescription
        attr_reader :original_pipeline_transform

        attr_reader :execution_pipeline_stage

        attr_reader :display_data

        attr_reader :step_names_hash

        def initialize(args = nil, parent_identifier = nil)
          return if args.nil?
          @parent_identifier = parent_identifier
          @original_pipeline_transform = GoogleInSpec::Dataflow::Property::ProjectLocationJobPipelineDescriptionOriginalPipelineTransformArray.parse(args['originalPipelineTransform'], to_s)
          @execution_pipeline_stage = GoogleInSpec::Dataflow::Property::ProjectLocationJobPipelineDescriptionExecutionPipelineStageArray.parse(args['executionPipelineStage'], to_s)
          @display_data = GoogleInSpec::Dataflow::Property::ProjectLocationJobPipelineDescriptionDisplayDataArray.parse(args['displayData'], to_s)
          @step_names_hash = args['stepNamesHash']
        end

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