@@ -94,7 +94,7 @@ impl DscResource {
9494 }
9595 }
9696
97- fn create_config_for_adapter ( self , adapter : & str , input : & str ) -> Result < Configurator , DscError > {
97+ fn create_config_for_adapter ( self , adapter : & str , input : & str , execution_type : & ExecutionKind ) -> Result < Configurator , DscError > {
9898 // create new configuration with adapter and use this as the resource
9999 let mut configuration = Configuration :: new ( ) ;
100100 let mut property_map = Map :: new ( ) ;
@@ -115,7 +115,8 @@ impl DscResource {
115115 } ;
116116 configuration. resources . push ( adapter_resource) ;
117117 let config_json = serde_json:: to_string ( & configuration) ?;
118- let configurator = Configurator :: new ( & config_json, crate :: progress:: ProgressFormat :: None ) ?;
118+ let mut configurator = Configurator :: new ( & config_json, crate :: progress:: ProgressFormat :: None ) ?;
119+ configurator. context . execution_type = execution_type. clone ( ) ;
119120 Ok ( configurator)
120121 }
121122}
@@ -218,7 +219,7 @@ impl Invoke for DscResource {
218219 fn get ( & self , filter : & str ) -> Result < GetResult , DscError > {
219220 debug ! ( "{}" , t!( "dscresources.dscresource.invokeGet" , resource = self . type_name) ) ;
220221 if let Some ( adapter) = & self . require_adapter {
221- let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, filter) ?;
222+ let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, filter, & ExecutionKind :: Actual ) ?;
222223 let result = configurator. invoke_get ( ) ?;
223224 let GetResult :: Resource ( ref resource_result) = result. results [ 0 ] . result else {
224225 return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeReturnedWrongResult" , operation = "get" , resource = self . type_name) . to_string ( ) ) ) ;
@@ -252,7 +253,7 @@ impl Invoke for DscResource {
252253 fn set ( & self , desired : & str , skip_test : bool , execution_type : & ExecutionKind ) -> Result < SetResult , DscError > {
253254 debug ! ( "{}" , t!( "dscresources.dscresource.invokeSet" , resource = self . type_name) ) ;
254255 if let Some ( adapter) = & self . require_adapter {
255- let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, desired) ?;
256+ let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, desired, & execution_type ) ?;
256257 let result = configurator. invoke_set ( false ) ?;
257258 let SetResult :: Resource ( ref resource_result) = result. results [ 0 ] . result else {
258259 return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeReturnedWrongResult" , operation = "set" , resource = self . type_name) . to_string ( ) ) ) ;
@@ -295,7 +296,7 @@ impl Invoke for DscResource {
295296 fn test ( & self , expected : & str ) -> Result < TestResult , DscError > {
296297 debug ! ( "{}" , t!( "dscresources.dscresource.invokeTest" , resource = self . type_name) ) ;
297298 if let Some ( adapter) = & self . require_adapter {
298- let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, expected) ?;
299+ let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, expected, & ExecutionKind :: Actual ) ?;
299300 let result = configurator. invoke_test ( ) ?;
300301 let TestResult :: Resource ( ref resource_result) = result. results [ 0 ] . result else {
301302 return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeReturnedWrongResult" , operation = "test" , resource = self . type_name) . to_string ( ) ) ) ;
@@ -367,7 +368,7 @@ impl Invoke for DscResource {
367368 fn delete ( & self , filter : & str ) -> Result < ( ) , DscError > {
368369 debug ! ( "{}" , t!( "dscresources.dscresource.invokeDelete" , resource = self . type_name) ) ;
369370 if let Some ( adapter) = & self . require_adapter {
370- let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, filter) ?;
371+ let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, filter, & ExecutionKind :: Actual ) ?;
371372 configurator. invoke_set ( false ) ?;
372373 return Ok ( ( ) ) ;
373374 }
@@ -429,7 +430,7 @@ impl Invoke for DscResource {
429430 fn export ( & self , input : & str ) -> Result < ExportResult , DscError > {
430431 debug ! ( "{}" , t!( "dscresources.dscresource.invokeExport" , resource = self . type_name) ) ;
431432 if let Some ( adapter) = & self . require_adapter {
432- let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, input) ?;
433+ let mut configurator = self . clone ( ) . create_config_for_adapter ( adapter, input, & ExecutionKind :: Actual ) ?;
433434 let result = configurator. invoke_export ( ) ?;
434435 let Some ( configuration) = result. result else {
435436 return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeExportReturnedNoResult" , resource = self . type_name) . to_string ( ) ) ) ;
0 commit comments