与Tcpwave的IPAM交互的客户端
tcpwave-client的Python项目详细描述
TCPWave的IPAM客户端
用于与Tcpwave的IPAM通信的Python客户端。在
先决条件 ############## 不支持基本身份验证。仅支持基于证书的身份验证。 必须添加适当的IPA和证书
所需证书文件:
- 客户端证书。在
- 客户端密钥。在
支持的操作 #################### 支持以下操作:
- 创建/列出/详述/删除网络
- 创建/列出/详细信息/删除子网
- 获取子网中的下一个可用IP
- 创建/删除IP对象
正在安装库 ################## 从python虚拟环境运行以下命令:
pip install tcpwave-client
示例 ###############在
创建网络
下面是一个完整的程序,展示了这个库的用法。
此示例显示如何使用此库在IPAM中创建网络:
列出网络
此代码段仅显示thr API调用所需的完整有效负载,以便列出所有网络:
def networks_list():
"""
List all networks
:return:
"""
try:
list_payload = {
'provider': {
'cert': '/path/to/client.crt',
'key': '/path/to/client.key',
'host': '192.168.0.116'
}
}
rsp = NetworkManager.list_all_networks(network=json.dumps(list_payload))
print("Networks Count : " + str(len(rsp)))
for i in range(0, len(rsp)):
print(str(rsp[i]))
except APICallFailedException as ex:
print(ex.msg)
删除网络
此示例显示删除网络::
def test_network_delete():
"""
Deletes given network
:return:
"""
try:
nw_create_payload = {
'address': '153.168.0.0/16',
'organization_name': 'Tcpwave',
'provider': {
'cert': '/path/to/client.crt',
'key': '/path/to/client.key',
'host': '192.168.0.116'
}
}
rsp = NetworkManager.delete_network(network=json.dumps(nw_create_payload))
print(str(rsp))
except APICallFailedException as ex:
print(ex.msg)
创建子网
此示例显示子网的创建:
def subnet_create():
"""
Creates test subnet
:return:
"""
try:
subnet_payload = {
'provider': {
'cert': '/path/to/client.crt',
'key': '/path/to/client.key',
'host': '192.168.0.116'
},
'organization_name': 'Tcpwave',
'name': 'Test Subnet 1',
'router_address': '153.168.0.1',
'network_address': '153.168.0.0/16',
'primary_domain': 'test.tcpwave.com'
}
rsp = NetworkManager.create_subnet(subnet=json.dumps(subnet_payload))
print(str(rsp))
except APICallFailedException as ex:
print(ex.msg)
下一个免费IP
此获取下一个免费IP::
def next_available_ip():
"""
Fetches next available ip
:return:
"""
try:
subnet_payload = {
'provider': {
'cert': '/path/to/client.crt',
'key': '/path/to/client.key',
'host': '192.168.0.116'
},
'organization_name': 'Tcpwave',
'subnet_address': '153.168.0.0/16'
}
rsp = NetworkManager.get_next_available_ip(subnet=json.dumps(subnet_payload))
print('Next available IP : ', str(rsp))
return str(rsp)
except APICallFailedException as ex:
print(ex.msg)
创建IP对象
此示例显示如何创建对象。::
def create_object():
"""
Creates IP Object
:return:
"""
try:
ip_payload = {
'provider': {
'cert': '/path/to/client.crt',
'key': '/path/to/client.key',
'host': '192.168.0.116'
},
'organization_name': 'Tcpwave',
'subnet_address': '153.168.0.0/16',
'ip_address': '153.168.0.5',
'name': 'tst obj 1',
'domain_name': 'test.tcpwave.com'
}
rsp = NetworkManager.create_ip(ip_payload=json.dumps(ip_payload))
print(str(rsp))
except APICallFailedException as ex:
print(ex.msg)
删除对象
此示例显示对象的删除:
def delete_object(ip):
"""
Releases the ip
:return:
"""
try:
ip_payload = {
'provider': {
'cert': '/path/to/client.crt',
'key': '/path/to/client.key',
'host': '192.168.0.116'
},
'organization_name': 'Tcpwave',
'ip_address': ip
}
rsp = NetworkManager.release_ip(ip_payload=json.dumps(ip_payload))
print(str(rsp))
except APICallFailedException as ex:
print(ex.msg)
1.0.2(2020-04-15)
- 包装重组
- 导入重新排序以修复错误
1.0.1(2020-04-15)
- 更新自述文件.rst使用示例
1.0.0(2020-04-15)
- 代码清理
0.0.1(2020-04-15)
- 添加了向Tcpwave的IPAM发送API请求的连接器
- PyPI的第一个版本。在
- 支持如下操作:
- 创建/列出/详述/删除网络
- 创建/列出/详细信息/删除子网
- 获取子网中的下一个可用IP
- 删除对象/IP
- 项目
标签: