MCPcopy Create free account
hub / github.com/PowerShell/DSC / rule_to_model

Function rule_to_model

resources/windows_firewall/src/firewall.rs:268–293  ·  view source on GitHub ↗
(rule: &INetFwRule)

Source from the content-addressed store, hash-verified

266}
267
268fn rule_to_model(rule: &INetFwRule) -> Result<FirewallRule, FirewallError> {
269 let name = unsafe { rule.Name() }.map_err(|error| t!("firewall.ruleReadFailed", name = "<unknown>", error = error.to_string()).to_string())?;
270 let name = name.to_string();
271 let err = map_read_err(&name);
272 let profiles = profiles_from_mask(unsafe { rule.Profiles() }.map_err(&err)?);
273
274 Ok(FirewallRule {
275 name: Some(name.clone()),
276 exist: None,
277 description: bstr_to_option(unsafe { rule.Description() }.map_err(&err)?)?,
278 application_name: bstr_to_option(unsafe { rule.ApplicationName() }.map_err(&err)?)?,
279 service_name: bstr_to_option(unsafe { rule.ServiceName() }.map_err(&err)?)?,
280 protocol: Some(unsafe { rule.Protocol() }.map_err(&err)?),
281 local_ports: bstr_to_option(unsafe { rule.LocalPorts() }.map_err(&err)?)?,
282 remote_ports: bstr_to_option(unsafe { rule.RemotePorts() }.map_err(&err)?)?,
283 local_addresses: bstr_to_option(unsafe { rule.LocalAddresses() }.map_err(&err)?)?,
284 remote_addresses: bstr_to_option(unsafe { rule.RemoteAddresses() }.map_err(&err)?)?,
285 direction: native_direction_to_model(unsafe { rule.Direction() }.map_err(&err)?),
286 action: native_action_to_model(unsafe { rule.Action() }.map_err(&err)?),
287 enabled: Some(unsafe { rule.Enabled() }.map_err(&err)?.as_bool()),
288 profiles: Some(profiles),
289 grouping: bstr_to_option(unsafe { rule.Grouping() }.map_err(&err)?)?,
290 interface_types: split_csv(bstr_to_option(unsafe { rule.InterfaceTypes() }.map_err(&err)?)?),
291 edge_traversal: Some(unsafe { rule.EdgeTraversal() }.map_err(&err)?.as_bool()),
292 })
293}
294
295fn apply_rule_properties(rule: &INetFwRule, desired: &FirewallRule, existing_protocol: Option<i32>) -> Result<(), FirewallError> {
296 let name = desired.selector_name().unwrap_or("<unknown>");

Callers 3

get_rulesFunction · 0.85
set_rulesFunction · 0.85
export_rulesFunction · 0.85

Calls 6

map_read_errFunction · 0.85
profiles_from_maskFunction · 0.85
bstr_to_optionFunction · 0.85
native_action_to_modelFunction · 0.85
split_csvFunction · 0.85

Tested by

no test coverage detected