Infoblox客户端
ib-client的Python项目详细描述
IB客户端
最简单的infoblox客户端!
为什么选择另一个infoblox客户端?
如果你知道已经有了 infoblox支持的client。
答案是泛型。我试图尽可能地更通用,以支持 infoblox api通过其api的instroppetion。如果你知道wapi 对象/函数的文档,您将知道如何通过具有simple和 直观的api。
安装
pip install ib-client
n.b:ib客户端从python 3.6开始工作
文档可在https://ib-client.readthedocs.io/en/stable/找到。 下面是如何实例化客户机的。 创建网络: 要读取创建的所有网络: 您将得到类似于以下内容的输出: 修改网络: 如果要搜索已修改的网络,可以执行以下操作: 在上一次调用中,我们还注意到如何过滤要返回的字段,这一点也很有趣。输出包含
以前修改过网络。 n.b:引用总是返回的,所以这就是为什么我们不需要在 最后,要删除网络,您可以执行以下调用: 很简单! 在使用cli之前,必须设置3个环境变量,否则将出现错误。三大环境
变量为: 如果不想重复这些操作,可以在要使用cli的目录中创建一个.env文件。
您需要以 cli有帮助信息可帮助您快速了解如何使用它 每个命令还通过 注意:在powershell上,您可能在非管理员模式下遇到错误,如果您在管理员模式下,
您仍然会遇到如下错误: 请参阅microsoft documentation了解如何解决问题。 我们现在将执行在客户端实现的相同操作。 创建网络: 注意: 我知道这很难看,也很棘手,但在windows上我们不能有不同的做法:( 获取所有创建的网络: 更新网络: 搜索网络: 删除网络:文档
功能
.env
文件来配置客户端或cli。用法
客户
frominfobloximportClientclient=Client(url='https://foo.com/wapi/v2.8',user='foo',password='foo')
network=client.get_object('network')network.create(network='10.1.0.0/16')
network.get()
[{"_ref":"network/ZG5zLm5ldHdvcmskMTAuMS4wLjAvMTYvMA:10.1.0.0%2F16","network":"10.1.0.0/16","network_view":"default"},{"_ref":"network/ZG5zLm5ldHdvcmskMTAuMi4wLjAvMTYvMA:10.2.0.0%2F16","network":"10.2.0.0/16","network_view":"default"}]
network.update(object_ref='network/ZG5zLm5ldHdvcmskMTAuMS4wLjAvMTYvMA:10.1.0.0/16',comment='just a comment')
network.get(params={'comment~':'just'},return_fields=['network','networkview','comment'])
[{"_ref":"network/ZG5zLm5ldHdvcmskMTAuMS4wLjAvMTYvMA:10.1.0.0%2F16","comment":"just a comment","network":"10.1.0.0/16","network_view":"default"}]
return_fields
参数中提到它。network.delete(object_ref='network/ZG5zLm5ldHdvcmskMTAuMS4wLjAvMTYvMA:10.1.0.0/16')
cli
KEY=VALUE
的形式提供上述信息,每行一个。ib -h
Usage: ib [OPTIONS] COMMAND [ARGS]...
Infoblox Command Line Interface. It allows you to interact with infoblox
in the same way you will do with the python api client.
Options:
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
object Performs various object operations.
objects Lists the available objects supports by the infoblox...
request Makes a custom request using the request object of...
schema Shows the api schema.
shell-completion Installs shell completion.
-h
选项提供帮助信息。
通过执行以下命令,可以在bash、fish、zsh和powershell上激活shell完成:ib shell-completion
Set-ExecutionPolicy : Windows PowerShell updated your execution policy successfully, but the setting is overridden
by a policy defined at a more specific scope. Due to the override, your shell will retain its current effective
execution policy of Bypass. Type "Get-ExecutionPolicy -List" to view your execution policy settings.
For more information please see "Get-Help Set-ExecutionPolicy".
ib object -n network create -a '{"network": "10.1.0.0/16"}'
-n
选项指定要处理的对象。ib object -n network create -a "{\"network\": \"10.1.0.0/16\"}"
ib object -n network get
ib object -n network update -o network/ZG5zLm5ldHdvcmskMTAuMS4wLjAvMTYvMA:10.1.0.0%2F16 -a '{"comment":"just a comment"}'
ib object -n network get -p '{"comment~":"just"}' --return-fields=network,networkview,comment
ib object -n network delete -o network/ZG5zLm5ldHdvcmskMTAuMS4wLjAvMTYvMA:10.1.0.0%2F16
警告
推荐PyPI第三方库