Skip to content

Commit f0bc5a4

Browse files
committed
Add execution_type
1 parent 0e9eb75 commit f0bc5a4

File tree

1 file changed

+8
-7
lines changed

1 file changed

+8
-7
lines changed

dsc_lib/src/dscresources/dscresource.rs

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)