config (naas_abi_cli.cli.config)
What it is
A click command group providing CLI utilities to validate and render an EngineConfiguration from an optional configuration file.
Public API
config(clickgroup): Top-level CLI group namedconfig.validate --configuration-file <path>: Loads configuration (from file if provided) viaEngineConfiguration.load_configuration()and printsConfiguration is validif no exception is raised.render --configuration-file <path>: Loads configuration (from file if provided), then prints a YAML dump ofconfiguration.model_dump().
Configuration/Dependencies
- Filesystem: Optional
--configuration-filepath must exist; otherwise raisesFileNotFoundError. - Dependencies:
clickfor CLI parsing/commands.yaml(PyYAML) for rendering output inrender.naas_abi_core.engine.engine_configuration.EngineConfiguration.EngineConfigurationfor loading and dumping configuration.
Usage
Minimal example of registering and invoking these commands via click:
import click
from naas_abi_cli.cli.config import config
@click.group()
def cli():
pass
cli.add_command(config)
if __name__ == "__main__":
cli()
Example CLI runs:
python app.py config validate --configuration-file ./config.yaml
python app.py config render --configuration-file ./config.yaml
Caveats
- Validation/rendering behavior depends on
EngineConfiguration.load_configuration(). Any parsing/validation errors are surfaced as exceptions from that loader. renderoutputs YAML usingyaml.dump(configuration.model_dump(), indent=2); key ordering/formatting is governed by PyYAML defaults.