MCPcopy Create free account
hub / github.com/NVIDIA/OpenShell / merge_rules

Function merge_rules

crates/openshell-policy/src/merge.rs:444–464  ·  view source on GitHub ↗
(
    existing_rule: &mut NetworkPolicyRule,
    incoming_rule: &NetworkPolicyRule,
    warnings: &mut Vec<PolicyMergeWarning>,
)

Source from the content-addressed store, hash-verified

442}
443
444fn merge_rules(
445 existing_rule: &mut NetworkPolicyRule,
446 incoming_rule: &NetworkPolicyRule,
447 warnings: &mut Vec<PolicyMergeWarning>,
448) -> Result<(), PolicyMergeError> {
449 append_unique_binaries(&mut existing_rule.binaries, &incoming_rule.binaries);
450
451 for incoming_endpoint in &incoming_rule.endpoints {
452 let mut incoming_endpoint = incoming_endpoint.clone();
453 normalize_endpoint(&mut incoming_endpoint);
454 if let Some(existing_endpoint) =
455 find_matching_endpoint_mut(&mut existing_rule.endpoints, &incoming_endpoint)
456 {
457 merge_endpoint(existing_endpoint, &incoming_endpoint, warnings)?;
458 } else {
459 existing_rule.endpoints.push(incoming_endpoint);
460 }
461 }
462
463 Ok(())
464}
465
466fn merge_endpoint(
467 existing: &mut NetworkEndpoint,

Callers 1

add_ruleFunction · 0.85

Calls 5

append_unique_binariesFunction · 0.85
normalize_endpointFunction · 0.85
merge_endpointFunction · 0.85
pushMethod · 0.80

Tested by

no test coverage detected