Class: Google::Apis::GenomicsV1alpha2::PipelineParameter
- Inherits:
-
Object
- Object
- Google::Apis::GenomicsV1alpha2::PipelineParameter
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- lib/google/apis/genomics_v1alpha2/classes.rb,
lib/google/apis/genomics_v1alpha2/representations.rb,
lib/google/apis/genomics_v1alpha2/representations.rb
Overview
Parameters facilitate setting and delivering data into the pipeline's
execution environment. They are defined at create time, with optional defaults,
and can be overridden at run time. If localCopy
is unset, then the
parameter specifies a string that is passed as-is into the pipeline, as the
value of the environment variable with the given name. A default value can be
optionally specified at create time. The default can be overridden at run time
using the inputs map. If no default is given, a value must be supplied at
runtime. If localCopy
is defined, then the parameter specifies a data source
or sink, both in Google Cloud Storage and on the Docker container where the
pipeline computation is run. The service account associated with the Pipeline (
by default the project's Compute Engine service account) must have access to
the Google Cloud Storage paths. At run time, the Google Cloud Storage paths
can be overridden if a default was provided at create time, or must be set
otherwise. The pipeline runner should add a key/value pair to either the
inputs or outputs map. The indicated data copies will be carried out before/
after pipeline execution, just as if the corresponding arguments were provided
to gsutil cp
. For example: Given the following PipelineParameter
,
specified in the inputParameters
list: `name: "input_file", localCopy: `
path: "file.txt", disk: "pd1"``
where disk
is defined in the
PipelineResources
object as: `name: "pd1", mountPoint: "/mnt/disk/"`
We create a disk named pd1
, mount it on the host VM, and map /mnt/pd1
to /
mnt/disk
in the docker container. At runtime, an entry for input_file
would
be required in the inputs map, such as: inputs["input_file"] = "gs://my-
bucket/bar.txt"
This would generate the following gsutil call: gsutil
cp gs://my-bucket/bar.txt /mnt/pd1/file.txt
The file /mnt/pd1/file.txt
maps to /mnt/disk/file.txt
in the Docker container. Acceptable paths are:
Google Cloud storage pathLocal path file file glob directory For outputs, the
direction of the copy is reversed: gsutil cp /mnt/disk/file.txt gs://my-
bucket/bar.txt
Acceptable paths are: Local pathGoogle Cloud Storage path
file file file directory - directory must already exist glob directory -
directory will be created if it doesn't exist One restriction due to docker
limitations, is that for outputs that are found on the boot disk, the local
path cannot be a glob and must be a file.
Instance Attribute Summary collapse
-
#default_value ⇒ String
The default value for this parameter.
-
#description ⇒ String
Human-readable description.
-
#local_copy ⇒ Google::Apis::GenomicsV1alpha2::LocalCopy
LocalCopy defines how a remote file should be copied to and from the VM.
-
#name ⇒ String
Required.
Instance Method Summary collapse
-
#initialize(**args) ⇒ PipelineParameter
constructor
A new instance of PipelineParameter.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ PipelineParameter
Returns a new instance of PipelineParameter.
833 834 835 |
# File 'lib/google/apis/genomics_v1alpha2/classes.rb', line 833 def initialize(**args) update!(**args) end |
Instance Attribute Details
#default_value ⇒ String
The default value for this parameter. Can be overridden at runtime. If
localCopy
is present, then this must be a Google Cloud Storage path beginning
with gs://
.
Corresponds to the JSON property defaultValue
815 816 817 |
# File 'lib/google/apis/genomics_v1alpha2/classes.rb', line 815 def default_value @default_value end |
#description ⇒ String
Human-readable description.
Corresponds to the JSON property description
820 821 822 |
# File 'lib/google/apis/genomics_v1alpha2/classes.rb', line 820 def description @description end |
#local_copy ⇒ Google::Apis::GenomicsV1alpha2::LocalCopy
LocalCopy defines how a remote file should be copied to and from the VM.
Corresponds to the JSON property localCopy
825 826 827 |
# File 'lib/google/apis/genomics_v1alpha2/classes.rb', line 825 def local_copy @local_copy end |
#name ⇒ String
Required. Name of the parameter - the pipeline runner uses this string as the
key to the input and output maps in RunPipeline.
Corresponds to the JSON property name
831 832 833 |
# File 'lib/google/apis/genomics_v1alpha2/classes.rb', line 831 def name @name end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
838 839 840 841 842 843 |
# File 'lib/google/apis/genomics_v1alpha2/classes.rb', line 838 def update!(**args) @default_value = args[:default_value] if args.key?(:default_value) @description = args[:description] if args.key?(:description) @local_copy = args[:local_copy] if args.key?(:local_copy) @name = args[:name] if args.key?(:name) end |