def __init__(self, id_=None, idref=None, timestamp=None, stix_header=None, courses_of_action=None, exploit_targets=None, indicators=None, observables=None, incidents=None, threat_actors=None, ttps=None, campaigns=None): self.id_ = id_ or stix.utils.create_id("Package") self.idref = idref self.version = self._version self.stix_header = stix_header self.campaigns = campaigns self.courses_of_action = courses_of_action self.exploit_targets = exploit_targets self.observables = observables self.indicators = indicators self.incidents = incidents self.threat_actors = threat_actors self.ttps = ttps self.related_packages = RelatedPackages() if timestamp: self.timestamp = timestamp else: self.timestamp = utils.dates.now() if not idref else None
def related_packages(self, value): if isinstance(value, RelatedPackages): self._related_packages = value else: self._related_packages = RelatedPackages(value)