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
🎉 特别感谢
项目详情
关闭
prophetess-netbox-0.3.6.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 656303caa3a6e28487cf792d6776d7ee1ea713eff5918501ba7090849edc1544 |
|
MD5 | 0a995f25fcd6960c6c52571fe4f2fded |
|
BLAKE2b-256 | 4896825655d062dad67014792a26821aa070d358d1acea905aa48982ffd8a673 |