Source code for cybox.core.action

# Copyright (c) 2017, The MITRE Corporation. All rights reserved.
# See LICENSE.txt for complete terms.

import datetime

from mixbox import entities
from mixbox import fields

import cybox
import cybox.bindings.cybox_core as core_binding
from cybox.common import StructuredText, MeasureSource
from cybox.common.vocabs import VocabField
from cybox.core import ActionReference, AssociatedObject, Frequency

from cybox.common.vocabs import ActionName, ActionType
from cybox.common.vocabs import ActionArgumentName as ArgumentName


[docs]class ActionAliases(entities.EntityList): _binding = core_binding _binding_class = core_binding.ActionAliasesType _namespace = 'http://cybox.mitre.org/cybox-2' action_alias = fields.TypedField("Action_Alias", cybox.Unicode, multiple=True)
[docs]class ActionArgument(entities.Entity): _binding = core_binding _binding_class = core_binding.ActionArgumentType _namespace = 'http://cybox.mitre.org/cybox-2' argument_name = VocabField("Argument_Name", ArgumentName) argument_value = fields.TypedField("Argument_Value")
[docs]class ActionArguments(entities.EntityList): _binding_class = core_binding.ActionArgumentsType _namespace = 'http://cybox.mitre.org/cybox-2' action_argument = fields.TypedField("Action_Argument", ActionArgument, multiple=True)
[docs]class AssociatedObjects(entities.EntityList): _binding_class = core_binding.AssociatedObjectsType _namespace = 'http://cybox.mitre.org/cybox-2' associated_object = fields.TypedField("Associated_Object", AssociatedObject, multiple=True)
[docs]class ActionRelationship(entities.Entity): _binding = core_binding _binding_class = _binding.ActionRelationshipType _namespace = 'http://cybox.mitre.org/cybox-2' type = VocabField("Type", ActionType) action_references = fields.TypedField("Action_Reference", ActionReference, multiple=True)
[docs]class ActionRelationships(entities.EntityList): _binding_class = core_binding.ActionRelationshipsType _binding_var = "Relationship" _contained_type = ActionRelationship _namespace = 'http://cybox.mitre.org/cybox-2' relationship = fields.TypedField("Relationship", ActionRelationship, multiple=True)
[docs]class Action(entities.Entity): _binding = core_binding _binding_class = core_binding.ActionType _namespace = 'http://cybox.mitre.org/cybox-2' id_ = fields.TypedField("id") idref = fields.TypedField("idref") ordinal_position = fields.TypedField("ordinal_position") action_status = fields.TypedField("action_status") context = fields.TypedField("context") timestamp = fields.DateTimeField("timestamp") type_ = VocabField("Type", ActionType) name = VocabField("Name", ActionName) description = fields.TypedField("Description", StructuredText) action_aliases = fields.TypedField("Action_Aliases", ActionAliases) action_arguments = fields.TypedField("Action_Arguments", ActionArguments) discovery_method = fields.TypedField("Discovery_Method", MeasureSource) associated_objects = fields.TypedField("Associated_Objects", AssociatedObjects) relationships = fields.TypedField("Relationships", ActionRelationships) frequency = fields.TypedField("Frequency", Frequency)
[docs]class Actions(entities.EntityList): _binding = core_binding _binding_class = core_binding.ActionsType _namespace = 'http://cybox.mitre.org/cybox-2' action = fields.TypedField("Action", Action, multiple=True)