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 pathLocal path
filefile
globdirectory

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
filefile
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

source§

fn clone(&self) -> PipelineParameter

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for PipelineParameter

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for PipelineParameter

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for PipelineParameter

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for PipelineParameter

source§

fn eq(&self, other: &PipelineParameter) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for PipelineParameter

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more