@@ -10,7 +10,7 @@ use std::{collections::HashMap, fmt::Display};
1010use tracing:: trace;
1111
1212#[ derive( Debug , Clone , PartialEq , Deserialize , JsonSchema ) ]
13- pub struct Input {
13+ pub struct SimpleInput {
1414 pub parameters : HashMap < String , Value > ,
1515}
1616
@@ -24,12 +24,6 @@ pub struct InputObject {
2424 pub value : Value ,
2525}
2626
27- #[ derive( Debug , Clone , PartialEq , Deserialize ) ]
28- pub struct ParametersJson {
29- #[ serde( rename = "parametersJson" ) ]
30- pub parameters_json : String ,
31- }
32-
3327pub const SECURE_VALUE_REDACTED : & str = "<secureValue>" ;
3428
3529#[ derive( Debug , Clone , PartialEq , Deserialize , Serialize , JsonSchema ) ]
@@ -85,46 +79,27 @@ pub enum SecureKind {
8579}
8680
8781pub fn import_parameters ( parameters : & Value ) -> Result < HashMap < String , Value > , DscError > {
88- let input = match serde_json:: from_value :: < ParametersJson > ( parameters. clone ( ) ) {
89- Ok ( input) => {
90- trace ! ( "{}" , t!( "configure.parameters.importingParametersFromJson" ) ) ;
91- let param_map = match serde_json:: from_str :: < ComplexInput > ( & input. parameters_json ) {
92- Ok ( param_map) => param_map,
93- Err ( e) => {
94- return Err ( DscError :: Parser ( t ! ( "configure.parameters.invalidParamsJsonFormat" , error = e) . to_string ( ) ) ) ;
95- }
96- } ;
82+ let parameters = match serde_json:: from_value :: < ComplexInput > ( parameters. clone ( ) ) {
83+ Ok ( complex_input) => {
84+ trace ! ( "{}" , t!( "configure.parameters.importingParametersFromComplexInput" ) ) ;
9785 let mut result: HashMap < String , Value > = HashMap :: new ( ) ;
98- for ( name, input_object) in param_map . parameters {
86+ for ( name, input_object) in complex_input . parameters {
9987 result. insert ( name, input_object. value ) ;
10088 }
10189 result
10290 } ,
10391 Err ( _) => {
104- let complex_input = match serde_json:: from_value :: < ComplexInput > ( parameters. clone ( ) ) {
105- Ok ( complex_input) => {
106- trace ! ( "{}" , t!( "configure.parameters.importingParametersFromComplexInput" ) ) ;
107- let mut result: HashMap < String , Value > = HashMap :: new ( ) ;
108- for ( name, input_object) in complex_input. parameters {
109- result. insert ( name, input_object. value ) ;
110- }
111- result
112- } ,
113- Err ( _) => {
114- let simple_input = match serde_json:: from_value :: < Input > ( parameters. clone ( ) ) {
115- Ok ( simple_input) => {
116- trace ! ( "{}" , t!( "configure.parameters.importingParametersFromInput" ) ) ;
117- simple_input. parameters
118- }
119- Err ( e) => {
120- return Err ( DscError :: Parser ( t ! ( "configure.parameters.invalidParamsFormat" , error = e) . to_string ( ) ) ) ;
121- }
122- } ;
123- simple_input
92+ let simple_input = match serde_json:: from_value :: < SimpleInput > ( parameters. clone ( ) ) {
93+ Ok ( simple_input) => {
94+ trace ! ( "{}" , t!( "configure.parameters.importingParametersFromInput" ) ) ;
95+ simple_input. parameters
96+ }
97+ Err ( e) => {
98+ return Err ( DscError :: Parser ( t ! ( "configure.parameters.invalidParamsFormat" , error = e) . to_string ( ) ) ) ;
12499 }
125100 } ;
126- complex_input
127- } ,
101+ simple_input
102+ }
128103 } ;
129- Ok ( input )
104+ Ok ( parameters )
130105}
0 commit comments