跳转到主要内容

Prophetess的Netbox插件

项目描述

🧙‍♀️ Prophetess Netbox 插件

Prophetess 插件,用于将数据加载到 Netbox

🚀 安装

pip install prophetess-netbox

🔧 配置

NetboxLoader 包含多个必需和可选的配置选项。完整的配置说明如下

host: 'http://localhost:8000'
api_key: 123key
update_method: update
endpoint: dcim
model: sites
pk:
- slug
- cf_id: "{site}"
fk:
  region:
    endpoint: dcim
    model: regions
    pk:
    - cf_sf_id: "{region}"

加载器

描述
host 字符串 Netbox安装根的全限定URL
api_key 字符串 用于访问Netbox资源的有效API密钥
update_method (update, partial_update) 在更新现有记录时,使用哪种方法。 update 将发送所有字段,partial_update 将仅提交更改的值,如果没有值已更改,则跳过更新
endpoint 字符串 要使用的根API组,例如:dcim, ipam, tenant等
model 字符串 要操作的端点模型
pk 字符串或列表 (pk) 如何从端点和模型中识别唯一记录。请参阅PK
fk 对象(外键) 映射与其它数据模型相关的任何记录字段。请参阅FK

主键

主键(PK),是一个字符串或字典(对象)列表,用于检查要加载的记录是否存在。当使用字典时,键用于与API进行查找,值是一个Python格式化字符串。这允许在映射解析的记录到Netbox假设的内容时具有灵活性。

例如,给定以下解析的记录:

{
  'slug': 'nb-slug',
  'region': 'custom-field-lookup',
  'name': 'test',
}

主键配置为:

- slug
- cf_region: '{region}'

结果查找将是: ?slug=nb-slug&cf_region=自定义字段查找

FK

FK(外键),允许将提取器中的字符串值映射到Netbox中的记录ID。它是一个记录键到查找配置映射的字典。记录可以在单个Netbox实例内的任何端点和模型之间进行链接。

给定以下记录:

{
  'slug': 'nb-slug',
  'region': 'region-slug',
  'name': 'test',
}

使用以下FK配置进行解析:

region:
  endpoint: dcim
  model: regions
  pk:
  - slug

如果假设存在一个slug为region-slug且记录ID为12的区域

{
  'slug': 'nb-slug',
  'region': 12,
  'name': 'test',
}

如果没有找到FK记录,则设置None

配置

描述
endpoint 字符串 要使用的根API组,例如:dcim, ipam, tenant等
model 字符串 要操作的端点模型
pk 字符串或列表 (pk) 如何从端点和模型中识别唯一记录。请参阅PK

🧰 开发

请fork此项目并创建一个新的分支以提交任何更改。虽然不是必需的,但强烈建议首先创建一个问题来提出您希望进行的更改。请保持拉取请求针对一个更改/功能。

此项目使用tox + pytest进行单元测试和代码检查。使用以下命令验证您的更改是否破坏了现有功能

tox --cov-report term-missing
tox -e lint

🎉 特别感谢

❤️ Charles Butler
❤️ Erick Daniszewski

项目详情


下载文件

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

源分布

prophetess-netbox-0.3.6.tar.gz (21.6 kB 查看哈希值)

上传时间

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面