diff --git a/ara/cli/playbook.py b/ara/cli/playbook.py index 83299184..3b017704 100644 --- a/ara/cli/playbook.py +++ b/ara/cli/playbook.py @@ -373,3 +373,184 @@ class PlaybookPrune(Command): self.deleted += 1 self.log.info("%s playbooks deleted" % self.deleted) + + +class PlaybookMetrics(Lister): + """ Provides metrics about playbooks """ + + log = logging.getLogger(__name__) + + def get_parser(self, prog_name): + parser = super(PlaybookMetrics, self).get_parser(prog_name) + parser = global_arguments(parser) + # fmt: off + parser.add_argument( + "--aggregate", + choices=["name", "path", "ansible_version", "controller"], + default="path", + help=("Aggregate playbooks by path, name, ansible version or controller. Defaults to path."), + ) + # Playbook search arguments and ordering as per ara.api.filters.PlaybookFilter + parser.add_argument( + "--label", + metavar="