#[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
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.name: StringRequired. 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: StringOptional. 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
impl TemplateParameter
Sourcepub fn set_fields<T, V>(self, v: T) -> Self
pub fn set_fields<T, V>(self, v: T) -> Self
Sourcepub fn set_description<T: Into<String>>(self, v: T) -> Self
pub fn set_description<T: Into<String>>(self, v: T) -> Self
Sets the value of description.
§Example
let x = TemplateParameter::new().set_description("example");Sourcepub fn set_validation<T>(self, v: T) -> Selfwhere
T: Into<ParameterValidation>,
pub fn set_validation<T>(self, v: T) -> Selfwhere
T: Into<ParameterValidation>,
Sets the value of validation.
§Example
use google_cloud_dataproc_v1::model::ParameterValidation;
let x = TemplateParameter::new().set_validation(ParameterValidation::default()/* use setters */);Sourcepub fn set_or_clear_validation<T>(self, v: Option<T>) -> Selfwhere
T: Into<ParameterValidation>,
pub fn set_or_clear_validation<T>(self, v: Option<T>) -> Selfwhere
T: Into<ParameterValidation>,
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
impl Clone for TemplateParameter
Source§fn clone(&self) -> TemplateParameter
fn clone(&self) -> TemplateParameter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for TemplateParameter
impl Debug for TemplateParameter
Source§impl Default for TemplateParameter
impl Default for TemplateParameter
Source§fn default() -> TemplateParameter
fn default() -> TemplateParameter
Source§impl Message for TemplateParameter
impl Message for TemplateParameter
Source§impl PartialEq for TemplateParameter
impl PartialEq for TemplateParameter
impl StructuralPartialEq for TemplateParameter
Auto Trait Implementations§
impl Freeze for TemplateParameter
impl RefUnwindSafe for TemplateParameter
impl Send for TemplateParameter
impl Sync for TemplateParameter
impl Unpin for TemplateParameter
impl UnsafeUnpin for TemplateParameter
impl UnwindSafe for TemplateParameter
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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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