Skip to main content

TemplateParameter

Struct TemplateParameter 

Source
#[non_exhaustive]
pub struct TemplateParameter { pub name: String, pub fields: Vec<String>, pub description: String, pub validation: Option<ParameterValidation>, /* private fields */ }
Expand description

A configurable parameter that replaces one or more fields in the template. Parameterizable fields:

  • Labels
  • File uris
  • Job properties
  • Job arguments
  • Script variables
  • Main class (in HadoopJob and SparkJob)
  • Zone (in ClusterSelector)

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§name: String

Required. Parameter name. The parameter name is used as the key, and paired with the parameter value, which are passed to the template when the template is instantiated. The name must contain only capital letters (A-Z), numbers (0-9), and underscores (_), and must not start with a number. The maximum length is 40 characters.

§fields: Vec<String>

Required. Paths to all fields that the parameter replaces. A field is allowed to appear in at most one parameter’s list of field paths.

A field path is similar in syntax to a google.protobuf.FieldMask. For example, a field path that references the zone field of a workflow template’s cluster selector would be specified as placement.clusterSelector.zone.

Also, field paths can reference fields using the following syntax:

  • Values in maps can be referenced by key:

    • labels[‘key’]
    • placement.clusterSelector.clusterLabels[‘key’]
    • placement.managedCluster.labels[‘key’]
    • placement.clusterSelector.clusterLabels[‘key’]
    • jobs[‘step-id’].labels[‘key’]
  • Jobs in the jobs list can be referenced by step-id:

    • jobs[‘step-id’].hadoopJob.mainJarFileUri
    • jobs[‘step-id’].hiveJob.queryFileUri
    • jobs[‘step-id’].pySparkJob.mainPythonFileUri
    • jobs[‘step-id’].hadoopJob.jarFileUris[0]
    • jobs[‘step-id’].hadoopJob.archiveUris[0]
    • jobs[‘step-id’].hadoopJob.fileUris[0]
    • jobs[‘step-id’].pySparkJob.pythonFileUris[0]
  • Items in repeated fields can be referenced by a zero-based index:

    • jobs[‘step-id’].sparkJob.args[0]
  • Other examples:

    • jobs[‘step-id’].hadoopJob.properties[‘key’]
    • jobs[‘step-id’].hadoopJob.args[0]
    • jobs[‘step-id’].hiveJob.scriptVariables[‘key’]
    • jobs[‘step-id’].hadoopJob.mainJarFileUri
    • placement.clusterSelector.zone

It may not be possible to parameterize maps and repeated fields in their entirety since only individual map values and individual items in repeated fields can be referenced. For example, the following field paths are invalid:

  • placement.clusterSelector.clusterLabels
  • jobs[‘step-id’].sparkJob.args
§description: String

Optional. Brief description of the parameter. Must not exceed 1024 characters.

§validation: Option<ParameterValidation>

Optional. Validation rules to be applied to this parameter’s value.

Implementations§

Source§

impl TemplateParameter

Source

pub fn new() -> Self

Source

pub fn set_name<T: Into<String>>(self, v: T) -> Self

Sets the value of name.

§Example
let x = TemplateParameter::new().set_name("example");
Source

pub fn set_fields<T, V>(self, v: T) -> Self
where T: IntoIterator<Item = V>, V: Into<String>,

Sets the value of fields.

§Example
let x = TemplateParameter::new().set_fields(["a", "b", "c"]);
Source

pub fn set_description<T: Into<String>>(self, v: T) -> Self

Sets the value of description.

§Example
let x = TemplateParameter::new().set_description("example");
Source

pub fn set_validation<T>(self, v: T) -> Self

Sets the value of validation.

§Example
use google_cloud_dataproc_v1::model::ParameterValidation;
let x = TemplateParameter::new().set_validation(ParameterValidation::default()/* use setters */);
Source

pub fn set_or_clear_validation<T>(self, v: Option<T>) -> Self

Sets or clears the value of validation.

§Example
use google_cloud_dataproc_v1::model::ParameterValidation;
let x = TemplateParameter::new().set_or_clear_validation(Some(ParameterValidation::default()/* use setters */));
let x = TemplateParameter::new().set_or_clear_validation(None::<ParameterValidation>);

Trait Implementations§

Source§

impl Clone for TemplateParameter

Source§

fn clone(&self) -> TemplateParameter

Returns a duplicate 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 TemplateParameter

Source§

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

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

impl Default for TemplateParameter

Source§

fn default() -> TemplateParameter

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

impl Message for TemplateParameter

Source§

fn typename() -> &'static str

The typename of this message.
Source§

impl PartialEq for TemplateParameter

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl StructuralPartialEq for TemplateParameter

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

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

Source§

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

Source§

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

Source§

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.
Source§

impl<T> WithSubscriber for T

Source§

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
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

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

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,