Class: Google::Apis::DataflowV1b3::WorkerPool

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

Describes one particular pool of Cloud Dataflow workers to be instantiated by the Cloud Dataflow service in order to perform the computations required by a job. Note that a workflow job may use multiple pools, in order to match the various computational requirements of the various stages of the job.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ WorkerPool

Returns a new instance of WorkerPool.



8152
8153
8154
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8152

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

Instance Attribute Details

#autoscaling_settingsGoogle::Apis::DataflowV1b3::AutoscalingSettings

Settings for WorkerPool autoscaling. Corresponds to the JSON property autoscalingSettings



8007
8008
8009
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8007

def autoscaling_settings
  @autoscaling_settings
end

#data_disksArray<Google::Apis::DataflowV1b3::Disk>

Data disks that are used by a VM in this workflow. Corresponds to the JSON property dataDisks



8012
8013
8014
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8012

def data_disks
  @data_disks
end

#default_package_setString

The default package set to install. This allows the service to select a default set of packages which are useful to worker harnesses written in a particular language. Corresponds to the JSON property defaultPackageSet

Returns:

  • (String)


8019
8020
8021
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8019

def default_package_set
  @default_package_set
end

#disk_provisioned_iopsFixnum

Optional. IOPS provisioned for the root disk for VMs. Corresponds to the JSON property diskProvisionedIops

Returns:

  • (Fixnum)


8024
8025
8026
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8024

def disk_provisioned_iops
  @disk_provisioned_iops
end

#disk_provisioned_throughput_mibpsFixnum

Optional. Throughput provisioned for the root disk for VMs. Corresponds to the JSON property diskProvisionedThroughputMibps

Returns:

  • (Fixnum)


8029
8030
8031
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8029

def disk_provisioned_throughput_mibps
  @disk_provisioned_throughput_mibps
end

#disk_size_gbFixnum

Size of root disk for VMs, in GB. If zero or unspecified, the service will attempt to choose a reasonable default. Corresponds to the JSON property diskSizeGb

Returns:

  • (Fixnum)


8035
8036
8037
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8035

def disk_size_gb
  @disk_size_gb
end

#disk_source_imageString

Fully qualified source image for disks. Corresponds to the JSON property diskSourceImage

Returns:

  • (String)


8040
8041
8042
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8040

def disk_source_image
  @disk_source_image
end

#disk_typeString

Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default. Corresponds to the JSON property diskType

Returns:

  • (String)


8046
8047
8048
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8046

def disk_type
  @disk_type
end

#ip_configurationString

Configuration for VM IPs. Corresponds to the JSON property ipConfiguration

Returns:

  • (String)


8051
8052
8053
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8051

def ip_configuration
  @ip_configuration
end

#kindString

The kind of the worker pool; currently only harness and shuffle are supported. Corresponds to the JSON property kind

Returns:

  • (String)


8057
8058
8059
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8057

def kind
  @kind
end

#machine_typeString

Machine type (e.g. "n1-standard-1"). If empty or unspecified, the service will attempt to choose a reasonable default. Corresponds to the JSON property machineType

Returns:

  • (String)


8063
8064
8065
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8063

def machine_type
  @machine_type
end

#metadataHash<String,String>

Metadata to set on the Google Compute Engine VMs. Corresponds to the JSON property metadata

Returns:

  • (Hash<String,String>)


8068
8069
8070
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8068

def 
  @metadata
end

#networkString

Network to which VMs will be assigned. If empty or unspecified, the service will use the network "default". Corresponds to the JSON property network

Returns:

  • (String)


8074
8075
8076
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8074

def network
  @network
end

#num_threads_per_workerFixnum

The number of threads per worker harness. If empty or unspecified, the service will choose a number of threads (according to the number of cores on the selected machine type for batch, or 1 by convention for streaming). Corresponds to the JSON property numThreadsPerWorker

Returns:

  • (Fixnum)


8081
8082
8083
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8081

def num_threads_per_worker
  @num_threads_per_worker
end

#num_workersFixnum

Number of Google Compute Engine workers in this pool needed to execute the job. If zero or unspecified, the service will attempt to choose a reasonable default. Corresponds to the JSON property numWorkers

Returns:

  • (Fixnum)


8088
8089
8090
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8088

def num_workers
  @num_workers
end

#on_host_maintenanceString

The action to take on host maintenance, as defined by the Google Compute Engine API. Corresponds to the JSON property onHostMaintenance

Returns:

  • (String)


8094
8095
8096
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8094

def on_host_maintenance
  @on_host_maintenance
end

#packagesArray<Google::Apis::DataflowV1b3::Package>

Packages to be installed on workers. Corresponds to the JSON property packages



8099
8100
8101
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8099

def packages
  @packages
end

#pool_argsHash<String,Object>

Extra arguments for this worker pool. Corresponds to the JSON property poolArgs

Returns:

  • (Hash<String,Object>)


8104
8105
8106
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8104

def pool_args
  @pool_args
end

#sdk_harness_container_imagesArray<Google::Apis::DataflowV1b3::SdkHarnessContainerImage>

Set of SDK harness containers needed to execute this pipeline. This will only be set in the Fn API path. For non-cross-language pipelines this should have only one entry. Cross-language pipelines will have two or more entries. Corresponds to the JSON property sdkHarnessContainerImages



8111
8112
8113
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8111

def sdk_harness_container_images
  @sdk_harness_container_images
end

#subnetworkString

Subnetwork to which VMs will be assigned, if desired. Expected to be of the form "regions/REGION/subnetworks/SUBNETWORK". Corresponds to the JSON property subnetwork

Returns:

  • (String)


8117
8118
8119
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8117

def subnetwork
  @subnetwork
end

#taskrunner_settingsGoogle::Apis::DataflowV1b3::TaskRunnerSettings

Taskrunner configuration settings. Corresponds to the JSON property taskrunnerSettings



8122
8123
8124
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8122

def taskrunner_settings
  @taskrunner_settings
end

#teardown_policyString

Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default. Corresponds to the JSON property teardownPolicy

Returns:

  • (String)


8137
8138
8139
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8137

def teardown_policy
  @teardown_policy
end

#worker_harness_container_imageString

Required. Docker container image that executes the Cloud Dataflow worker harness, residing in Google Container Registry. Deprecated for the Fn API path. Use sdk_harness_container_images instead. Corresponds to the JSON property workerHarnessContainerImage

Returns:

  • (String)


8144
8145
8146
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8144

def worker_harness_container_image
  @worker_harness_container_image
end

#zoneString

Zone to run the worker pools in. If empty or unspecified, the service will attempt to choose a reasonable default. Corresponds to the JSON property zone

Returns:

  • (String)


8150
8151
8152
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8150

def zone
  @zone
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



8157
8158
8159
8160
8161
8162
8163
8164
8165
8166
8167
8168
8169
8170
8171
8172
8173
8174
8175
8176
8177
8178
8179
8180
8181
8182
# File 'lib/google/apis/dataflow_v1b3/classes.rb', line 8157

def update!(**args)
  @autoscaling_settings = args[:autoscaling_settings] if args.key?(:autoscaling_settings)
  @data_disks = args[:data_disks] if args.key?(:data_disks)
  @default_package_set = args[:default_package_set] if args.key?(:default_package_set)
  @disk_provisioned_iops = args[:disk_provisioned_iops] if args.key?(:disk_provisioned_iops)
  @disk_provisioned_throughput_mibps = args[:disk_provisioned_throughput_mibps] if args.key?(:disk_provisioned_throughput_mibps)
  @disk_size_gb = args[:disk_size_gb] if args.key?(:disk_size_gb)
  @disk_source_image = args[:disk_source_image] if args.key?(:disk_source_image)
  @disk_type = args[:disk_type] if args.key?(:disk_type)
  @ip_configuration = args[:ip_configuration] if args.key?(:ip_configuration)
  @kind = args[:kind] if args.key?(:kind)
  @machine_type = args[:machine_type] if args.key?(:machine_type)
  @metadata = args[:metadata] if args.key?(:metadata)
  @network = args[:network] if args.key?(:network)
  @num_threads_per_worker = args[:num_threads_per_worker] if args.key?(:num_threads_per_worker)
  @num_workers = args[:num_workers] if args.key?(:num_workers)
  @on_host_maintenance = args[:on_host_maintenance] if args.key?(:on_host_maintenance)
  @packages = args[:packages] if args.key?(:packages)
  @pool_args = args[:pool_args] if args.key?(:pool_args)
  @sdk_harness_container_images = args[:sdk_harness_container_images] if args.key?(:sdk_harness_container_images)
  @subnetwork = args[:subnetwork] if args.key?(:subnetwork)
  @taskrunner_settings = args[:taskrunner_settings] if args.key?(:taskrunner_settings)
  @teardown_policy = args[:teardown_policy] if args.key?(:teardown_policy)
  @worker_harness_container_image = args[:worker_harness_container_image] if args.key?(:worker_harness_container_image)
  @zone = args[:zone] if args.key?(:zone)
end