diff --git a/src/script/parameter.rs b/src/script/parameter.rs index e2f5630..fd8b71a 100644 --- a/src/script/parameter.rs +++ b/src/script/parameter.rs @@ -5,10 +5,13 @@ use validation::Validation; mod validation; -#[derive(Deserialize, Serialize)] +#[derive(Deserialize, Serialize, Clone, Debug)] +#[serde(rename_all = "camelCase")] pub struct Parameter { name: Arc, + #[serde(rename = "type")] data_type: DataType, + #[serde(skip)] is_array: bool, aliases: Vec>, description: Option>, @@ -17,7 +20,7 @@ pub struct Parameter { validations: Vec, } -#[derive(Deserialize, Serialize)] +#[derive(Deserialize, Serialize, Clone, PartialEq, Eq, Default, Debug)] pub struct ParameterSet { name: Arc, mandatory: bool, @@ -26,13 +29,19 @@ pub struct ParameterSet { value_from_pipeline_by_property_name: Option, } -#[derive(Deserialize, Serialize)] +#[derive(Deserialize, Serialize, Clone, Debug)] pub enum DataType { + DateTime, + //TODO: Make this Variant obsolete by implementing De-/Serialize on the using Structs + #[serde(rename = "String[]")] + StringArray, String, Int32, Int64, + #[serde(rename = "SwitchParameter")] Switch, - Bool, + Boolean, + #[serde(rename = "PSCredential")] Credential, SecureString, }