Struct google_api_proto::google::genomics::v1alpha2::PipelineParameter
source · pub struct PipelineParameter {
pub name: String,
pub description: String,
pub default_value: String,
pub local_copy: Option<LocalCopy>,
}
Expand description
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][google.genomics.v1alpha2.RunPipelineArgs.service_account] (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.
Fields§
§name: String
Required. Name of the parameter - the pipeline runner uses this string as the key to the input and output maps in RunPipeline.
description: String
Human-readable description.
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://
.
local_copy: Option<LocalCopy>
If present, this parameter is marked for copying to and from the VM.
LocalCopy
indicates where on the VM the file should be. The value
given to this parameter (either at runtime or using defaultValue
)
must be the remote path where the file should be.
Trait Implementations§
source§impl Clone for PipelineParameter
impl Clone for PipelineParameter
source§fn clone(&self) -> PipelineParameter
fn clone(&self) -> PipelineParameter
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for PipelineParameter
impl Debug for PipelineParameter
source§impl Default for PipelineParameter
impl Default for PipelineParameter
source§impl Message for PipelineParameter
impl Message for PipelineParameter
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for PipelineParameter
impl PartialEq for PipelineParameter
source§fn eq(&self, other: &PipelineParameter) -> bool
fn eq(&self, other: &PipelineParameter) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for PipelineParameter
Auto Trait Implementations§
impl Freeze for PipelineParameter
impl RefUnwindSafe for PipelineParameter
impl Send for PipelineParameter
impl Sync for PipelineParameter
impl Unpin for PipelineParameter
impl UnwindSafe for PipelineParameter
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request