use serde::{Deserialize, Serialize};
use crate::google_rest_apis::bigquery_v2::models;
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct Argument {
#[serde(rename = "argumentKind", skip_serializing_if = "Option::is_none")]
pub argument_kind: Option<ArgumentKind>,
#[serde(rename = "dataType", skip_serializing_if = "Option::is_none")]
pub data_type: Option<Box<models::StandardSqlDataType>>,
#[serde(rename = "mode", skip_serializing_if = "Option::is_none")]
pub mode: Option<Mode>,
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
}
impl Argument {
pub fn new() -> Argument {
Argument {
argument_kind: None,
data_type: None,
mode: None,
name: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum ArgumentKind {
#[serde(rename = "ARGUMENT_KIND_UNSPECIFIED")]
ArgumentKindUnspecified,
#[serde(rename = "FIXED_TYPE")]
FixedType,
#[serde(rename = "ANY_TYPE")]
AnyType,
}
impl Default for ArgumentKind {
fn default() -> ArgumentKind {
Self::ArgumentKindUnspecified
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Mode {
#[serde(rename = "MODE_UNSPECIFIED")]
ModeUnspecified,
#[serde(rename = "IN")]
In,
#[serde(rename = "OUT")]
Out,
#[serde(rename = "INOUT")]
Inout,
}
impl Default for Mode {
fn default() -> Mode {
Self::ModeUnspecified
}
}