phpipam-exporter 的顶级包。
项目描述
phpipam-exporter
从phpipam生成DHCP、DNS或主机记录的生成器。
用法
所有参数都可以定义为环境变量。
参数 |
ENV变量 |
必需 |
描述 |
---|---|---|---|
--subnet / -s |
PHPIPAM_SUBNETS |
是 |
过滤特定PHPIPAM子网输出。可以使用多次(在PHPIPAM_SUBNETS中,子网由逗号分隔)。 |
--host |
PHPIPAM_HOST |
是 |
phpipam API入口点格式 https://<fqdn>/api/<api_id>/(例如,https://phpipam.example.com/api/exporter/) |
--token |
PHPIPAM_TOKEN |
是 |
phpipam API令牌。 |
--format / -f |
PHPIPAM_FORMAT |
否(默认:json) |
输出格式。(dhcpd,dnsmasq,hosts) |
--output / -o |
PHPIPAM_OUTPUT |
否(默认:stdout) |
输出文件。 |
--on-change-action |
PHPIPAM_ON_CHANGE_ACTION |
否 |
Bash命令。仅当输出文件更改时才会触发此命令。此参数必须与--output一起定义。(例如,systemctl reload named) |
--custom-template |
PHPIPAM_CUSTOM_TEMPLATE |
否 |
自定义Jinja模板文件的路径。 |
生成API令牌
启用API插件: 管理 > phpIPAM设置 > API = 开
创建令牌: 管理 > API > 创建API密钥
应用程序ID |
导出器 |
应用程序权限 |
读取 |
应用程序安全 |
使用应用程序代码令牌的SSL |
复制 应用程序代码 并将其用作 PHPIPAM_TOKEN。 应用程序ID 必须作为 PHPIPAM_HOST 的一部分使用。
主机文件
export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'
cat /etc/hosts.static
127.0.0.1 localhost localhost.localdomain
::1 localhost localhost.localdomain
phpipam_export -s 192.168.1.0/24 -f dhcpd -o /etc/hosts.dynamic --on-change-action "cat /etc/hosts.static /etc/hosts.dynamic >> /etc/hosts"
DHCPd
export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'
phpipam_export -s 192.168.1.0/24 -f dhcpd -o /etc/dhcp/subnet.conf --on-change-action "systemctl reload dhcpd"
/etc/dhcp/dhcpd.conf
authoritative;
ddns-update-style none;
default-lease-time 86400;
max-lease-time 172800;
shared-network "lan" {
subnet 192.168.1.0 netmask 255.255.255.0 {
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option broadcast-address 192.168.1.255;
option routers 192.168.1.1;
pool {
range 192.168.1.254 192.168.1.254;
deny unknown-clients;
include "/etc/dhcp/subnet.conf";
}
}
dnsmasq
export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'
phpipam_export -s 192.168.1.0/24 -f dnsmasq -o /etc/dnsmasq.d/subnet.conf --on-change-action "systemctl reload dnsmasq"
json格式
export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'
phpipam_export -s 192.168.1.0/24 -f json
自定义模板
我们可以创建一个自定义的 Jinja 模板文件,并用于格式化输出数据。地址存储在 addresses 模板变量中。每个设备的属性在此处描述 3.4 地址控制器 或我们可以使用 json 格式获取所有属性。
export PHPIPAM_TOKEN='12345678945678912345678a1235'
export PHPIPAM_HOST='https://phpipam.example.com/api/exporter/'
phpipam_export -s 192.168.1.0/24 --custom-template ansible_inventory.j2 -o /ansible-project/inventory.yml
项目详情
phpipam_exporter-0.5.1.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d051eb185f05edb9d2394ed649b4eb73e7957307a81f331770262f68daaa1635 |
|
MD5 | bd898091c65ad1be6991a3e49a464db0 |
|
BLAKE2b-256 | 39b15ca9cd74b250fa28a755c074caf4264f79588ce1071badd312783756b412 |
phpipam_exporter-0.5.1-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 895ebdceb032b3bd7f252b7a2ee5c9aff59f20196c96d4332f0fb1e0c2fc085f |
|
MD5 | 039aa9dc415558d80155af5f57f6f4b4 |
|
BLAKE2b-256 | d3dc6d63388655915bc98871cbee6b1ddb97d097191046d171ee9235ece76acd |