#!{{ ansible_python['executable'] }}
# -*- coding: utf-8 -*-

# Copyright (C) 2019 Maciej Delmanowski <drybjed@gmail.com>
# Copyright (C) 2019 DebOps <https://debops.org/>
# SPDX-License-Identifier: GPL-3.0-only

# {{ ansible_managed }}

from __future__ import print_function
from json import dumps, loads
import subprocess
import os


def cmd_exists(cmd):
    return any(
        os.access(os.path.join(path, cmd), os.X_OK)
        for path in os.environ["PATH"].split(os.pathsep)
    )


output = {'installed': cmd_exists('lxd')}

try:
    output['version'] = subprocess.check_output(
            ["lxd", "version"]
            ).decode('utf-8').strip()

    output['networks'] = loads(
            subprocess.check_output(["lxc", "network", "list",
                                     "--format=json"]
                                    ).decode('utf-8').strip())

except Exception:
    pass

print(dumps(output, sort_keys=True, indent=4))
