Source code for saltext.influxdb.states.influxdb_database

"""
Manage InfluxDB 0.9-1.x databases statefully.

.. important::
    You can optionally specify default connection parameters via the general :ref:`influxdb setup <influxdb-setup>`.
"""


def __virtual__():
    if "influxdb.db_exists" in __salt__:
        return "influxdb_database"
    return (False, "influxdb module could not be loaded")


[docs] def present(name, **client_args): """ Ensure that given database is present. name Name of the database to create. """ ret = { "name": name, "changes": {}, "result": True, "comment": f"Database {name} is already present", } if not __salt__["influxdb.db_exists"](name, **client_args): if __opts__["test"]: ret["result"] = None ret["comment"] = f"Database {name} is absent and will be created" return ret if __salt__["influxdb.create_db"](name, **client_args): ret["comment"] = f"Database {name} has been created" ret["changes"][name] = "Present" return ret else: ret["comment"] = f"Failed to create database {name}" ret["result"] = False return ret return ret
[docs] def absent(name, **client_args): """ Ensure that given database is absent. name Name of the database to remove. """ ret = { "name": name, "changes": {}, "result": True, "comment": f"Database {name} is not present", } if __salt__["influxdb.db_exists"](name, **client_args): if __opts__["test"]: ret["result"] = None ret["comment"] = f"Database {name} is present and needs to be removed" return ret if __salt__["influxdb.drop_db"](name, **client_args): ret["comment"] = f"Database {name} has been removed" ret["changes"][name] = "Absent" return ret else: ret["comment"] = f"Failed to remove database {name}" ret["result"] = False return ret return ret