class ResourceDisposition(stix.Entity): _binding = cyber_profile _binding_class = _binding.ResourceDispositionType _namespace = 'urn:edm:edh:cyber:v3' disposition_date = fields.DateField("dispositionDate", key_name="disposition_date") disposition_process = fields.TypedField("dispositionProcess", key_name="disposition_process", preset_hook=validate_token) def __init__(self): super(ResourceDisposition, self).__init__()
class PublicRelease(stix.Entity): _binding = cyber_profile _binding_class = _binding.PublicReleaseType _namespace = 'urn:edm:edh:cyber:v3' released_by = fields.TypedField("releasedBy", key_name="released_by", preset_hook=validate_token) released_on = fields.DateField("releasedOn", key_name="released_on") def __init__(self): super(PublicRelease, self).__init__()
class DerivativeClassification(stix.Entity): _binding = cyber_profile _binding_class = _binding.DerivativeClassificationType _namespace = 'urn:edm:edh:cyber:v3' classified_by = fields.TypedField("classifiedBy", key_name="classified_by", preset_hook=validate_token) classified_on = fields.DateField("classifiedOn", key_name="classified_on") derived_from = fields.TypedField("derivedFrom", type_="stix_edh.common.NMTokens", key_name="derived_from") def __init__(self): super(DerivativeClassification, self).__init__()
class OriginalClassification(stix.Entity): _binding = cyber_profile _binding_class = _binding.OriginalClassificationType _namespace = 'urn:edm:edh:cyber:v3' classified_by = fields.TypedField("classifiedBy", key_name="classified_by", preset_hook=validate_token) classified_on = fields.DateField("classifiedOn", key_name="classified_on") classification_reason = fields.TypedField("classificationReason", type_="stix_edh.common.NMTokens", key_name="classification_reason") compilation_reason = fields.TypedField("compilationReason", type_="stix_edh.common.NMTokens", key_name="compilation_reason") def __init__(self): super(OriginalClassification, self).__init__()
class Declassification(stix.Entity): _binding = cyber_profile _binding_class = _binding.DeclassificationType _namespace = 'urn:edm:edh:cyber:v3' declass_exemption = fields.TypedField("declassExemption", key_name="declass_exemption", preset_hook=validate_token) declass_period = fields.IntegerField("declassPeriod", key_name="declass_period") declass_date = fields.DateField("declassDate", key_name="declass_date") declass_event = fields.TypedField("declassEvent", key_name="declass_event", preset_hook=validate_token) def __init__(self): super(Declassification, self).__init__()
class DateWithPrecision(entities.Entity): _binding = common_binding _binding_class = common_binding.DateWithPrecisionType _namespace = 'http://cybox.mitre.org/common-2' value = fields.DateField("valueOf_", key_name="value") precision = fields.TypedField("precision", preset_hook=validate_date_precision) def __init__(self, value=None, precision='day'): super(DateWithPrecision, self).__init__() self.value = value self.precision = precision def to_dict(self): if self.precision == 'day': return dates.serialize_date(self.value) return super(DateWithPrecision, self).to_dict()