Skip to main content

nornir_sql

项目描述

欢迎使用 Nornir SQL 库存插件!

如果您的设备清单分布在 SQL 数据库表中,并且您希望将其用作 Nornir 清单,您可以考虑查看这个项目。



安装

pypi安装

pip install nornir-sql

GitHub安装

pip install git+https://github.com/viktorkertesz/nornir_sql.git

简单的例子

from nornir import InitNornir

host_query = """\
SELECT ciname AS name, ip AS hostname, region AS 'data.region'
FROM host_table
WHERE status='deployed'
"""

inventory = {
    "plugin": "SQLInventory",
    "options": {
        "sql_connection": "sqlite:///inventory.db",
        "hosts_query": hosts_query,
    }
}

nr = InitNornir(inventory=inventory)
print(nr.inventory.hosts['FW1']['region'])

配置

该插件基于 SQLAlchemy,支持 SQLAlchemy 所做的所有数据库。

可以使用这些配置选项:

  1. sql_connection : SQLAlchemy 连接字符串
    格式:{driver}://[user]:[password]@{DBSERVER}/{DATABASE}
    SQLite 示例:
    sqlite:///somedb.db
    具有域用户身份验证的 MSSQL 示例:
    mssql+pymssql://ACME\\dbuser:verysecret@DBSRV1/INFRA
  2. hosts_query:选择返回主机清单元素的语句。
    选择必须至少返回名称字段!
    字段名称必须与预期的 Nornir 库存元素匹配!
    数据元素应为data .[element]格式。需要报价!
    如果返回,则还必须指定以下组查询!
  3. groups_query:选择返回组库存元素的语句。
    与hosts_query的要求相同。
  4. groups_file:包含组定义的 YAML 文件的路径。格式与 SimpleInventory使用的相同
    指定groups_querygroups时忽略此参数!
    使用此参数需要在此插件之外进行组分配!检查文档
  5. groups:组定义为dict。与使用groups_file相同的限制和功能!
    指定groups_query时忽略!
    使用此参数需要在此插件之外进行组分配!检查文档
  6. defaults:这是一个包含库存元素的字典。这些将应用于主机。

项目详情


下载文件

下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。

源分布

nornir_sql-0.0.4.tar.gz (5.1 kB 查看哈希)

已上传 source

内置分布

nornir_sql-0.0.4-py3-none-any.whl (5.6 kB 查看哈希

已上传 py3