# 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_environment_worker_pools_taskrunner_settings_parallel_worker_settings'
module GoogleInSpec
  module Dataflow
    module Property
      class ProjectLocationJobEnvironmentWorkerPoolsTaskrunnerSettings
        attr_reader :task_user

        attr_reader :task_group

        attr_reader :oauth_scopes

        attr_reader :base_url

        attr_reader :dataflow_api_version

        attr_reader :parallel_worker_settings

        attr_reader :base_task_dir

        attr_reader :continue_on_exception

        attr_reader :log_to_serialconsole

        attr_reader :alsologtostderr

        attr_reader :log_upload_location

        attr_reader :log_dir

        attr_reader :temp_storage_prefix

        attr_reader :harness_command

        attr_reader :workflow_file_name

        attr_reader :commandlines_file_name

        attr_reader :vm_id

        attr_reader :language_hint

        attr_reader :streaming_worker_main_class

        def initialize(args = nil, parent_identifier = nil)
          return if args.nil?
          @parent_identifier = parent_identifier
          @task_user = args['taskUser']
          @task_group = args['taskGroup']
          @oauth_scopes = args['oauthScopes']
          @base_url = args['baseUrl']
          @dataflow_api_version = args['dataflowApiVersion']
          @parallel_worker_settings = GoogleInSpec::Dataflow::Property::ProjectLocationJobEnvironmentWorkerPoolsTaskrunnerSettingsParallelWorkerSettings.new(args['parallelWorkerSettings'], to_s)
          @base_task_dir = args['baseTaskDir']
          @continue_on_exception = args['continueOnException']
          @log_to_serialconsole = args['logToSerialconsole']
          @alsologtostderr = args['alsologtostderr']
          @log_upload_location = args['logUploadLocation']
          @log_dir = args['logDir']
          @temp_storage_prefix = args['tempStoragePrefix']
          @harness_command = args['harnessCommand']
          @workflow_file_name = args['workflowFileName']
          @commandlines_file_name = args['commandlinesFileName']
          @vm_id = args['vmId']
          @language_hint = args['languageHint']
          @streaming_worker_main_class = args['streamingWorkerMainClass']
        end

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