pub struct CommonProperties {Show 15 fields
pub type: String,
pub id: String,
pub spec_version: Option<String>,
pub created: DateTime<Utc>,
pub modified: DateTime<Utc>,
pub created_by_ref: Option<String>,
pub revoked: Option<bool>,
pub labels: Option<Vec<String>>,
pub confidence: Option<u8>,
pub lang: Option<String>,
pub external_references: Option<Vec<ExternalReference>>,
pub object_marking_refs: Option<Vec<String>>,
pub granular_markings: Option<Vec<GranularMarking>>,
pub extensions: Option<HashMap<String, Value>>,
pub custom_properties: HashMap<String, Value>,
}Expand description
Common STIX properties shared by STIX domain objects
Fields§
§type: String§id: String§spec_version: Option<String>§created: DateTime<Utc>§modified: DateTime<Utc>§created_by_ref: Option<String>§revoked: Option<bool>§labels: Option<Vec<String>>§confidence: Option<u8>§lang: Option<String>§external_references: Option<Vec<ExternalReference>>§object_marking_refs: Option<Vec<String>>§granular_markings: Option<Vec<GranularMarking>>§extensions: Option<HashMap<String, Value>>§custom_properties: HashMap<String, Value>Implementations§
Source§impl CommonProperties
impl CommonProperties
pub fn new( object_type: impl Into<String>, created_by_ref: Option<String>, ) -> Self
Sourcepub fn new_version(&mut self)
pub fn new_version(&mut self)
Creates a new version of this object by updating the modified timestamp
In STIX, when you update an object, you keep the same ID and created timestamp but update the modified timestamp to indicate a new version.
§Examples
use stix_rs::Malware;
use chrono::Utc;
let mut malware = Malware::builder()
.name("BadWare")
.malware_types(vec!["trojan".into()])
.build()
.unwrap();
let original_modified = malware.common.modified;
std::thread::sleep(std::time::Duration::from_millis(10));
malware.common.new_version();
assert!(malware.common.modified > original_modified);Trait Implementations§
Source§impl Clone for CommonProperties
impl Clone for CommonProperties
Source§fn clone(&self) -> CommonProperties
fn clone(&self) -> CommonProperties
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 CommonProperties
impl Debug for CommonProperties
Source§impl Default for CommonProperties
impl Default for CommonProperties
Source§impl<'de> Deserialize<'de> for CommonProperties
impl<'de> Deserialize<'de> for CommonProperties
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 CommonProperties
impl PartialEq for CommonProperties
Source§impl Serialize for CommonProperties
impl Serialize for CommonProperties
Source§impl StixObject for CommonProperties
impl StixObject for CommonProperties
impl Eq for CommonProperties
impl StructuralPartialEq for CommonProperties
Auto Trait Implementations§
impl Freeze for CommonProperties
impl RefUnwindSafe for CommonProperties
impl Send for CommonProperties
impl Sync for CommonProperties
impl Unpin for CommonProperties
impl UnwindSafe for CommonProperties
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