Class: Google::Apis::GenomicsV1alpha2::PipelineParameter
- Inherits:
-
Object
- Object
- Google::Apis::GenomicsV1alpha2::PipelineParameter
- Includes:
- Core::Hashable, Core::JsonObjectSupport
- Defined in:
- generated/google/apis/genomics_v1alpha2/classes.rb,
generated/google/apis/genomics_v1alpha2/representations.rb,
generated/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 path | Local 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 path | Google 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.
Methods included from Core::JsonObjectSupport
Methods included from Core::Hashable
Constructor Details
#initialize(**args) ⇒ PipelineParameter
Returns a new instance of PipelineParameter
928 929 930 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 928 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
910 911 912 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 910 def default_value @default_value end |
#description ⇒ String
Human-readable description.
Corresponds to the JSON property description
915 916 917 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 915 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
920 921 922 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 920 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
926 927 928 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 926 def name @name end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
933 934 935 936 937 938 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 933 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 |