今天和infoblox卯上了

背景

大概有一年半的时间,从ipmanager转为infoblox,对于系统层面来说,对DNS的管理一直处于手动的状态,主要还是变更的不多,有时候想要做自动化,但是又觉得没必要,反正变化不是很多。

在上周的这件事情,成了要做自动化的最后一次提醒。就是pre-stage的阶段,几乎全平台都是自动化的,但是从pre-stage转到stage的生成环境的时候,由于IP需要变更,IP不设定,生产环境就无法联网,但是这个infoblox在生产环境一直都是手动的。

经过和总部的IT的人员邮件说明,过了2天,给我开通了API。

开始

添加主机记录

curl -k -u account:password -H 'content-type: application/json' -X POST "https://infoblox/wapi/v2.9/record:host?_return_fields%2B=name,ipv4addrs&_return_as_object=1 " -d '{"name": "apitest06.example.com","ipv4addrs":[{"ipv4addr":"func:nextavailableip:10.200.10.0/23","mac":"00:50:56:12:23:34"}],"extattrs":{"location":{"value":"NEW YORK"}}}'

这个是在IP区间10.200.10.0/23中,取出一个可用的IP绑定到MAC地址为0:50:56:12:23:34,注册主机名为“apitest06.example.com”,并且提供扩展属性地区为NEW YORK。

获得域名扩展属性

curl -k -u user:password -X GET "https://infoblox/wapi/v2.9/extensibleattributedef?_return_as_object=1"

获得Network信息

curl -k -u user:password -X GET "https://infoblox/wapi/v2.9/network?_return_as_object=1"

获得Zone信息

curl -k -u user:password -c cookies.txt -X GET "https://infoblox/wapi/v2.9/zone_auth?_return_as_object=1"

获得Schema信息

curl -k -u user:password -X GET "https://infoblox/wapi/v1.0/?_schema"

总结

还有一些开发人员编写了使用powershell或者python的模块,我也尝试用request甚至直接写个subprocess来跑curl,但是想了想又放弃了。

主要是用的次数不多,而且也就只有我用。直接跑curl好了。

等到还有其他人需要的时候,再做个webpage吧。

可能过两天改变主意了再说。

| 访问量:
Table of Contents