def METHOD_NAME(
    self, outer_context: Optional[object] = None
) -> Iterator[ResourceRequirement]:
    # outer_context in this case is a string of (job, job name) or (node, node name)
    attached_to = cast(Optional[str], outer_context)
    for resource_key in sorted(list(self.required_resource_keys)):
        yield HookResourceRequirement(
            key=resource_key, attached_to=attached_to, hook_name=self.name
        )