Class: Google::Apis::DataflowV1b3::Job

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/dataflow_v1b3/classes.rb,
lib/google/apis/dataflow_v1b3/representations.rb,
lib/google/apis/dataflow_v1b3/representations.rb

Overview

Defines a job to be run by the Cloud Dataflow service. Do not enter confidential information when you supply string values using the API.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Job

Returns a new instance of Job.



2750
2751
2752
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2750

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#client_request_idString

The client's unique identifier of the job, re-used across retried attempts. If this field is set, the service will ensure its uniqueness. The request to create a job will fail if the service has knowledge of a previously submitted job with the same client's ID and job name. The caller may use this field to ensure idempotence of job creation across retried attempts to create a job. By default, the field is empty and, in that case, the service ignores it. Corresponds to the JSON property clientRequestId

Returns:

  • (String)


2559
2560
2561
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2559

def client_request_id
  @client_request_id
end

#create_timeString

The timestamp when the job was initially created. Immutable and set by the Cloud Dataflow service. Corresponds to the JSON property createTime

Returns:

  • (String)


2565
2566
2567
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2565

def create_time
  @create_time
end

#created_from_snapshot_idString

If this is specified, the job's initial state is populated from the given snapshot. Corresponds to the JSON property createdFromSnapshotId

Returns:

  • (String)


2571
2572
2573
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2571

def created_from_snapshot_id
  @created_from_snapshot_id
end

#current_stateString

The current state of the job. Jobs are created in the JOB_STATE_STOPPED state unless otherwise specified. A job in the JOB_STATE_RUNNING state may asynchronously enter a terminal state. After a job has reached a terminal state, no further state updates may be made. This field might be mutated by the Dataflow service; callers cannot mutate it. Corresponds to the JSON property currentState

Returns:

  • (String)


2580
2581
2582
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2580

def current_state
  @current_state
end

#current_state_timeString

The timestamp associated with the current state. Corresponds to the JSON property currentStateTime

Returns:

  • (String)


2585
2586
2587
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2585

def current_state_time
  @current_state_time
end

#environmentGoogle::Apis::DataflowV1b3::Environment

Describes the environment in which a Dataflow Job runs. Corresponds to the JSON property environment



2590
2591
2592
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2590

def environment
  @environment
end

#execution_infoGoogle::Apis::DataflowV1b3::JobExecutionInfo

Additional information about how a Cloud Dataflow job will be executed that isn't contained in the submitted job. Corresponds to the JSON property executionInfo



2596
2597
2598
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2596

def execution_info
  @execution_info
end

#idString

The unique ID of this job. This field is set by the Dataflow service when the job is created, and is immutable for the life of the job. Corresponds to the JSON property id

Returns:

  • (String)


2602
2603
2604
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2602

def id
  @id
end

#job_metadataGoogle::Apis::DataflowV1b3::JobMetadata

Metadata available primarily for filtering jobs. Will be included in the ListJob response and Job SUMMARY view. Corresponds to the JSON property jobMetadata



2608
2609
2610
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2608

def 
  @job_metadata
end

#labelsHash<String,String>

User-defined labels for this job. The labels map can contain no more than 64 entries. Entries of the labels map are UTF8 strings that comply with the following restrictions: * Keys must conform to regexp: \pLl\pLo0,62 * Values must conform to regexp: [\pLl\pLo\pN_-]0,63 * Both keys and values are additionally constrained to be <= 128 bytes in size. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


2617
2618
2619
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2617

def labels
  @labels
end

#locationString

Optional. The regional endpoint that contains this job. Corresponds to the JSON property location

Returns:

  • (String)


2623
2624
2625
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2623

def location
  @location
end

#nameString

Optional. The user-specified Dataflow job name. Only one active job with a given name can exist in a project within one region at any given time. Jobs in different regions can have the same name. If a caller attempts to create a job with the same name as an active job that already exists, the attempt returns the existing job. The name must match the regular expression [a-z]([-a-z0-9] 0,1022[a-z0-9])? Corresponds to the JSON property name

Returns:

  • (String)


2633
2634
2635
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2633

def name
  @name
end

#pausableBoolean Also known as: pausable?

Output only. Indicates whether the job can be paused. Corresponds to the JSON property pausable

Returns:

  • (Boolean)


2638
2639
2640
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2638

def pausable
  @pausable
end

#pipeline_descriptionGoogle::Apis::DataflowV1b3::PipelineDescription

A descriptive representation of submitted pipeline as well as the executed form. This data is provided by the Dataflow service for ease of visualizing the pipeline and interpreting Dataflow provided metrics. Corresponds to the JSON property pipelineDescription



2646
2647
2648
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2646

def pipeline_description
  @pipeline_description
end

#project_idString

The ID of the Google Cloud project that the job belongs to. Corresponds to the JSON property projectId

Returns:

  • (String)


2651
2652
2653
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2651

def project_id
  @project_id
end

#replace_job_idString

If this job is an update of an existing job, this field is the job ID of the job it replaced. When sending a CreateJobRequest, you can update a job by specifying it here. The job named here is stopped, and its intermediate state is transferred to this job. Corresponds to the JSON property replaceJobId

Returns:

  • (String)


2659
2660
2661
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2659

def replace_job_id
  @replace_job_id
end

#replaced_by_job_idString

If another job is an update of this job (and thus, this job is in JOB_STATE_UPDATED), this field contains the ID of that job. Corresponds to the JSON property replacedByJobId

Returns:

  • (String)


2665
2666
2667
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2665

def replaced_by_job_id
  @replaced_by_job_id
end

#requested_stateString

The job's requested state. Applies to UpdateJob requests. Set requested_state with UpdateJob requests to switch between the states JOB_STATE_STOPPED and JOB_STATE_RUNNING. You can also use UpdateJob requests to change a job's state from JOB_STATE_RUNNING to JOB_STATE_CANCELLED, JOB_STATE_DONE, or JOB_STATE_DRAINED. These states irrevocably terminate the job if it hasn't already reached a terminal state. This field has no effect on CreateJob requests. Corresponds to the JSON property requestedState

Returns:

  • (String)


2676
2677
2678
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2676

def requested_state
  @requested_state
end

#runtime_updatable_paramsGoogle::Apis::DataflowV1b3::RuntimeUpdatableParams

Additional job parameters that can only be updated during runtime using the projects.jobs.update method. These fields have no effect when specified during job creation. Corresponds to the JSON property runtimeUpdatableParams



2683
2684
2685
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2683

def runtime_updatable_params
  @runtime_updatable_params
end

#satisfies_pziBoolean Also known as: satisfies_pzi?

Output only. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. Corresponds to the JSON property satisfiesPzi

Returns:

  • (Boolean)


2689
2690
2691
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2689

def satisfies_pzi
  @satisfies_pzi
end

#satisfies_pzsBoolean Also known as: satisfies_pzs?

Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests. Corresponds to the JSON property satisfiesPzs

Returns:

  • (Boolean)


2696
2697
2698
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2696

def satisfies_pzs
  @satisfies_pzs
end

#service_resourcesGoogle::Apis::DataflowV1b3::ServiceResources

Resources used by the Dataflow Service to run the job. Corresponds to the JSON property serviceResources



2702
2703
2704
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2702

def service_resources
  @service_resources
end

#stage_statesArray<Google::Apis::DataflowV1b3::ExecutionStageState>

This field may be mutated by the Cloud Dataflow service; callers cannot mutate it. Corresponds to the JSON property stageStates



2708
2709
2710
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2708

def stage_states
  @stage_states
end

#start_timeString

The timestamp when the job was started (transitioned to JOB_STATE_PENDING). Flexible resource scheduling jobs are started with some delay after job creation, so start_time is unset before start and is updated when the job is started by the Cloud Dataflow service. For other jobs, start_time always equals to create_time and is immutable and set by the Cloud Dataflow service. Corresponds to the JSON property startTime

Returns:

  • (String)


2717
2718
2719
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2717

def start_time
  @start_time
end

#stepsArray<Google::Apis::DataflowV1b3::Step>

Exactly one of step or steps_location should be specified. The top-level steps that constitute the entire job. Only retrieved with JOB_VIEW_ALL. Corresponds to the JSON property steps



2723
2724
2725
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2723

def steps
  @steps
end

#steps_locationString

The Cloud Storage location where the steps are stored. Corresponds to the JSON property stepsLocation

Returns:

  • (String)


2728
2729
2730
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2728

def steps_location
  @steps_location
end

#temp_filesArray<String>

A set of files the system should be aware of that are used for temporary storage. These temporary files will be removed on job completion. No duplicates are allowed. No file patterns are supported. The supported files are: Google Cloud Storage: storage.googleapis.com/bucket/object bucket. storage.googleapis.com/object Corresponds to the JSON property tempFiles

Returns:

  • (Array<String>)


2737
2738
2739
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2737

def temp_files
  @temp_files
end

#transform_name_mappingHash<String,String>

Optional. The map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job. Corresponds to the JSON property transformNameMapping

Returns:

  • (Hash<String,String>)


2743
2744
2745
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2743

def transform_name_mapping
  @transform_name_mapping
end

#typeString

Optional. The type of Dataflow job. Corresponds to the JSON property type

Returns:

  • (String)


2748
2749
2750
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2748

def type
  @type
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 2755

def update!(**args)
  @client_request_id = args[:client_request_id] if args.key?(:client_request_id)
  @create_time = args[:create_time] if args.key?(:create_time)
  @created_from_snapshot_id = args[:created_from_snapshot_id] if args.key?(:created_from_snapshot_id)
  @current_state = args[:current_state] if args.key?(:current_state)
  @current_state_time = args[:current_state_time] if args.key?(:current_state_time)
  @environment = args[:environment] if args.key?(:environment)
  @execution_info = args[:execution_info] if args.key?(:execution_info)
  @id = args[:id] if args.key?(:id)
  @job_metadata = args[:job_metadata] if args.key?(:job_metadata)
  @labels = args[:labels] if args.key?(:labels)
  @location = args[:location] if args.key?(:location)
  @name = args[:name] if args.key?(:name)
  @pausable = args[:pausable] if args.key?(:pausable)
  @pipeline_description = args[:pipeline_description] if args.key?(:pipeline_description)
  @project_id = args[:project_id] if args.key?(:project_id)
  @replace_job_id = args[:replace_job_id] if args.key?(:replace_job_id)
  @replaced_by_job_id = args[:replaced_by_job_id] if args.key?(:replaced_by_job_id)
  @requested_state = args[:requested_state] if args.key?(:requested_state)
  @runtime_updatable_params = args[:runtime_updatable_params] if args.key?(:runtime_updatable_params)
  @satisfies_pzi = args[:satisfies_pzi] if args.key?(:satisfies_pzi)
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
  @service_resources = args[:service_resources] if args.key?(:service_resources)
  @stage_states = args[:stage_states] if args.key?(:stage_states)
  @start_time = args[:start_time] if args.key?(:start_time)
  @steps = args[:steps] if args.key?(:steps)
  @steps_location = args[:steps_location] if args.key?(:steps_location)
  @temp_files = args[:temp_files] if args.key?(:temp_files)
  @transform_name_mapping = args[:transform_name_mapping] if args.key?(:transform_name_mapping)
  @type = args[:type] if args.key?(:type)
end