(self, ability_id='', name=None, description=None, tactic=None, technique_id=None, technique_name=None,
executors=(), requirements=None, privilege=None, repeatable=False, buckets=None, access=None,
additional_info=None, tags=None, singleton=False, plugin='', delete_payload=True, **kwargs)
| 62 | yield from self._executor_map.values() |
| 63 | |
| 64 | def __init__(self, ability_id='', name=None, description=None, tactic=None, technique_id=None, technique_name=None, |
| 65 | executors=(), requirements=None, privilege=None, repeatable=False, buckets=None, access=None, |
| 66 | additional_info=None, tags=None, singleton=False, plugin='', delete_payload=True, **kwargs): |
| 67 | super().__init__() |
| 68 | self.ability_id = ability_id if ability_id else str(uuid.uuid4()) |
| 69 | self.tactic = tactic.lower() if tactic else None |
| 70 | self.technique_name = technique_name |
| 71 | self.technique_id = technique_id |
| 72 | self.name = name |
| 73 | self.description = description |
| 74 | |
| 75 | self._executor_map = collections.OrderedDict() |
| 76 | self.add_executors(executors) |
| 77 | |
| 78 | self.requirements = requirements if requirements else [] |
| 79 | self.privilege = privilege |
| 80 | self.repeatable = repeatable |
| 81 | self.buckets = buckets if buckets else [] |
| 82 | self.singleton = singleton |
| 83 | if access: |
| 84 | self.access = self.Access(access) |
| 85 | self.additional_info = additional_info or dict() |
| 86 | self.additional_info.update(**kwargs) |
| 87 | self.tags = set(tags) if tags else set() |
| 88 | self.plugin = plugin |
| 89 | self.delete_payload = delete_payload |
| 90 | |
| 91 | def __getattr__(self, item): |
| 92 | try: |
nothing calls this directly
no test coverage detected