""" Command line entry point for Puppet External Node Classifier (enc). """ import click import yaml # from flask import current_app, g # from flask.cli import with_appcontext, AppGroup from flask.cli import AppGroup # from .db import db from . import model app_group = AppGroup('user', help="Testt") @app_group.command('enc') @click.argument('fqdn') # @with_appcontext def run_enc(fqdn): """ Run the puppet node classifier. Runs the node clasifier for puppet, return the data as yaml. """ host = model.Host.query.where(model.Host.fqdn == fqdn).first() if not host: print(f"No host with name {fqdn}") return 1 out = { 'environment': host.environment, 'classes': [cls.class_name for cls in host.classes], } print(yaml.dump(out)) return 0 def init_app(app): """Add puppet enc click to current flask app.""" app.cli.add_command(app_group)