pub struct ExternalReference {
pub source_name: String,
pub description: Option<String>,
pub url: Option<String>,
pub external_id: Option<String>,
}Expand description
External Reference - Links to external resources
Used to reference external sources like ATT&CK techniques, CVEs, or research papers related to MAEC objects.
Fields§
§source_name: StringName of the source (e.g., “mitre-attack”, “cve”)
description: Option<String>Description of the reference
url: Option<String>URL to the external resource
external_id: Option<String>External identifier (e.g., “T1055” for ATT&CK)
Implementations§
Source§impl ExternalReference
impl ExternalReference
Sourcepub fn new(source_name: impl Into<String>) -> Self
pub fn new(source_name: impl Into<String>) -> Self
Creates a new external reference with just a source name
Sourcepub fn attack_technique(
technique_id: impl Into<String>,
name: impl Into<String>,
) -> Self
pub fn attack_technique( technique_id: impl Into<String>, name: impl Into<String>, ) -> Self
Creates an ATT&CK technique reference
§Examples
use maec::common::ExternalReference;
let technique = ExternalReference::attack_technique("T1055", "Process Injection");
assert_eq!(technique.source_name, "mitre-attack");
assert_eq!(technique.external_id, Some("T1055".to_string()));Trait Implementations§
Source§impl Clone for ExternalReference
impl Clone for ExternalReference
Source§fn clone(&self) -> ExternalReference
fn clone(&self) -> ExternalReference
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ExternalReference
impl Debug for ExternalReference
Source§impl<'de> Deserialize<'de> for ExternalReference
impl<'de> Deserialize<'de> for ExternalReference
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for ExternalReference
impl PartialEq for ExternalReference
Source§impl Serialize for ExternalReference
impl Serialize for ExternalReference
impl Eq for ExternalReference
impl StructuralPartialEq for ExternalReference
Auto Trait Implementations§
impl Freeze for ExternalReference
impl RefUnwindSafe for ExternalReference
impl Send for ExternalReference
impl Sync for ExternalReference
impl Unpin for ExternalReference
impl UnwindSafe for ExternalReference
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more