@@ -94,7 +94,7 @@ impl DscResource {
94
94
}
95
95
}
96
96
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 > {
98
98
// create new configuration with adapter and use this as the resource
99
99
let mut configuration = Configuration :: new ( ) ;
100
100
let mut property_map = Map :: new ( ) ;
@@ -115,7 +115,8 @@ impl DscResource {
115
115
} ;
116
116
configuration. resources . push ( adapter_resource) ;
117
117
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 ( ) ;
119
120
Ok ( configurator)
120
121
}
121
122
}
@@ -218,7 +219,7 @@ impl Invoke for DscResource {
218
219
fn get ( & self , filter : & str ) -> Result < GetResult , DscError > {
219
220
debug ! ( "{}" , t!( "dscresources.dscresource.invokeGet" , resource = self . type_name) ) ;
220
221
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 ) ?;
222
223
let result = configurator. invoke_get ( ) ?;
223
224
let GetResult :: Resource ( ref resource_result) = result. results [ 0 ] . result else {
224
225
return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeReturnedWrongResult" , operation = "get" , resource = self . type_name) . to_string ( ) ) ) ;
@@ -252,7 +253,7 @@ impl Invoke for DscResource {
252
253
fn set ( & self , desired : & str , skip_test : bool , execution_type : & ExecutionKind ) -> Result < SetResult , DscError > {
253
254
debug ! ( "{}" , t!( "dscresources.dscresource.invokeSet" , resource = self . type_name) ) ;
254
255
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 ) ?;
256
257
let result = configurator. invoke_set ( false ) ?;
257
258
let SetResult :: Resource ( ref resource_result) = result. results [ 0 ] . result else {
258
259
return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeReturnedWrongResult" , operation = "set" , resource = self . type_name) . to_string ( ) ) ) ;
@@ -295,7 +296,7 @@ impl Invoke for DscResource {
295
296
fn test ( & self , expected : & str ) -> Result < TestResult , DscError > {
296
297
debug ! ( "{}" , t!( "dscresources.dscresource.invokeTest" , resource = self . type_name) ) ;
297
298
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 ) ?;
299
300
let result = configurator. invoke_test ( ) ?;
300
301
let TestResult :: Resource ( ref resource_result) = result. results [ 0 ] . result else {
301
302
return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeReturnedWrongResult" , operation = "test" , resource = self . type_name) . to_string ( ) ) ) ;
@@ -367,7 +368,7 @@ impl Invoke for DscResource {
367
368
fn delete ( & self , filter : & str ) -> Result < ( ) , DscError > {
368
369
debug ! ( "{}" , t!( "dscresources.dscresource.invokeDelete" , resource = self . type_name) ) ;
369
370
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 ) ?;
371
372
configurator. invoke_set ( false ) ?;
372
373
return Ok ( ( ) ) ;
373
374
}
@@ -429,7 +430,7 @@ impl Invoke for DscResource {
429
430
fn export ( & self , input : & str ) -> Result < ExportResult , DscError > {
430
431
debug ! ( "{}" , t!( "dscresources.dscresource.invokeExport" , resource = self . type_name) ) ;
431
432
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 ) ?;
433
434
let result = configurator. invoke_export ( ) ?;
434
435
let Some ( configuration) = result. result else {
435
436
return Err ( DscError :: Operation ( t ! ( "dscresources.dscresource.invokeExportReturnedNoResult" , resource = self . type_name) . to_string ( ) ) ) ;
0 commit comments