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
961 962 963 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 961 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
943 944 945 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 943 def default_value @default_value end |
#description ⇒ String
Human-readable description.
Corresponds to the JSON property description
948 949 950 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 948 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
953 954 955 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 953 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
959 960 961 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 959 def name @name end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
966 967 968 969 970 971 |
# File 'generated/google/apis/genomics_v1alpha2/classes.rb', line 966 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 |