跳转到主要内容

通过WAPI与Infoblox NIOS交互的客户端

项目描述

=============================== Infoblox 客户端

.. image:: https://travis-ci.org/infobloxopen/infoblox-client.svg?branch=master :target: https://travis-ci.org/infobloxopen/infoblox-client

.. image:: https://img.shields.io/pypi/v/infoblox-client.svg :target: https://pypi.python.org/pypi/infoblox-client

.. image:: https://codecov.io/github/infobloxopen/infoblox-client/coverage.svg?branch=master :target: https://codecov.io/github/infobloxopen/infoblox-client?branch=master

.. image:: https://readthedocs.org/projects/infoblox-client/badge/?version=latest :target: http://infoblox-client.readthedocs.org/en/latest/?badge=latest

与Infoblox NIOS通过WAPI交互的客户端。

安装

使用pip安装infoblox-client

::

pip安装infoblox-client

用法

在加载infoblox_client之前配置logger,以便在控制台获取所有调试信息

.. code:: python

import logging logging.basicConfig(level=logging.DEBUG)

低级API,使用连接器模块


Retrieve list of network views from NIOS:

.. code:: python

  from infoblox_client import connector

  opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}
  conn = connector.Connector(opts)
  # get all network_views
  network_views = conn.get_object('networkview')
  # search network by cidr in specific network view
  network = conn.get_object('network', {'network': '100.0.0.0/8', 'network_view': 'default'})


For these request data is returned as list of dicts:

.. code:: python

  network_views:
  [{u'_ref': u'networkview/ZG5zLm5ldHdvcmtfdmlldyQw:default/true',
    u'is_default': True,
    u'name': u'default'}]

  network:
  [{u'_ref': u'network/ZG5zLm5ldHdvcmskMTAwLjAuMC4wLzgvMA:100.0.0.0/8/default',
    u'network': u'100.0.0.0/8',
    u'network_view': u'default'}]

High level API, using objects
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Example of creating Network View, Network, DNS View, DNSZone and HostRecord using NIOS objects:

.. code:: python

  from infoblox_client import connector
  from infoblox_client import objects

  opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}
  conn = connector.Connector(opts)

Create a network view, and network:

.. code:: python

  nview = objects.NetworkView.create(conn, name='my_view')
  network = objects.Network.create(conn, network_view='my_view', cidr='192.168.1.0/24')

Create a DNS view and zone:

.. code:: python

  view = objects.DNSView.create(conn, network_view='my_view', name='my_dns_view')
  zone = objects.DNSZone.create(conn, view='my_dns_view', fqdn='my_zone.com')

Create a host record:

.. code:: python

  my_ip = objects.IP.create(ip='192.168.1.25', mac='aa:bb:cc:11:22:33')
  hr = objects.HostRecord.create(conn, view='my_dns_view',
                                 name='my_host_record.my_zone.com', ip=my_ip)

Create host record with Extensible Attributes (EA):

.. code:: python

  ea = objects.EA({'Tenant ID': tenantid, 'CMP Type': cmptype,
                   'Cloud API Owned': True})
  host = objects.HostRecord.create(conn, name='new_host', ip=my_ip, extattrs=ea)

Create a host record with inherited Extensible Attributes (EA):

.. code:: python

  my_ip = objects.IP.create(ip='192.168.1.25', mac='aa:bb:cc:11:22:33', use_for_ea_inheritance=True)
  hr = objects.HostRecord.create(conn, view='my_dns_view',
                                 name='my_host_record.my_zone.com', ip=my_ip)

Set the TTL to 30 minutes:

.. code:: python

  hr = objects.HostRecord.create(conn, view='my_dns_view',
                                 name='my_host_record.my_zone.com', ip=my_ip,
                                 ttl = 1800)

Create a new host record, from the next available IP in a CIDR, with a MAC address, and DHCP enabled:

.. code:: python

    next = objects.IPAllocation.next_available_ip_from_cidr('default', '10.0.0.0/24')
    my_ip = objects.IP.create(ip=next, mac='aa:bb:cc:11:22:33', configure_for_dhcp=True)
    host = objects.HostRecord.create(conn, name='some.valid.fqdn', view='Internal', ip=my_ip)

Reply from NIOS is parsed back into objects and contains next data:

.. code:: python

  In [22]: hr
  Out[22]: HostRecordV4: _ref=record:host/ZG5zLmhvc3QkLjQuY29tLm15X3pvbmUubXlfaG9zdF9yZWNvcmQ:my_host_record.my_zone.com/my_dns_view, name=my_host_record.my_zone.com, ipv4addrs=[<infoblox_client.objects.IPv4 object at 0x7f7d6b0fe9d0>], view=my_dns_view


Create a new fixed address, with a MS server DHCP reservation:

.. code:: python

  obj, created = objects.FixedAddress.create_check_exists(connector=conn,
                                                          ip='192.168.100.100',
                                                          mac='aa:bb:cc:11:22:33',
                                                          comment='My DHCP reservation',
                                                          name='My hostname',
                                                          network_view='default',
                                                          ms_server={'_struct': 'msdhcpserver',
                                                                     'ipv4addr': '192.168.0.0'})



High level API, using InfobloxObjectManager

创建一个新的固定地址,从CIDR的下一个可用IP中选择

.. code:: python

from infoblox_client.object_manager import InfobloxObjectManager

new_address = InfobloxObjectManager(conn).create_fixed_address_from_cidr(netview='default', mac='aa:bb:cc:11:22:33', cidr='10.0.0.0/24', extattrs=[])

返回的是FixedAddressV4对象。

对象接口

所有顶级对象都支持CRUD操作的接口。支持的对象列表定义在下一段中。

  • create(cls, connector, check_if_exists=True, update_if_exists=False, **kwargs) 在NIOS侧创建对象。需要作为第一个参数传递的连接器,check_if_existsupdate_if_exists是可选的。与对象相关的字段作为kwargs传递:field=valuefield2=value2

  • search(cls, connector, return_fields=None, search_extattrs=None, force_proxy=False, **kwargs) 在NIOS侧搜索单个对象,返回第一个符合搜索条件的对象。需要作为第一个参数传递的连接器。可以设置return_fields以从NIOS检索特定字段,例如return_fields=['view', 'name']。如果return_fields[],则默认返回return_fields由NIOS侧针对当前wapi_version返回。如果使用search_extattrs,则用于通过可扩展属性过滤结果。force_proxy强制搜索请求在Grid Master上处理(仅适用于云环境)

  • search_all(cls, connector, return_fields=None, search_extattrs=None, force_proxy=False, **kwargs) 在NIOS侧搜索所有符合搜索条件的对象。返回对象列表。所有其他选项等于search()

  • update(self) 通过将本地对象中执行的变化推送到NIOS侧来更新对象。

  • delete(self) 从NIOS侧删除对象。

支持的NIOS对象

0.6.0版本发布中支持所有NIOS对象。请检查infoblox_client/objects.py以获取对象的描述。新支持的对象

  • AAAADtcRecord
  • AAAARecord
  • AAAASharedRecord
  • ADtcRecord
  • ADtcRecordBase
  • ARecord
  • ARecordBase
  • ASharedRecord
  • ASharedRecordBase
  • AdAuthServer
  • AdAuthService
  • Addressac
  • Admingroup
  • Adminrole
  • Adminuser
  • AliasRecord
  • 所有端点
  • 所有nsg组
  • 所有记录
  • 所有rpz记录
  • 任何成员
  • 审批工作流
  • 认证策略
  • Awsrte53任务
  • Awsrte53任务组
  • Aws用户
  • 基本对象
  • Bfd模板
  • Bgpas
  • 批量主机
  • 批量主机名称模板
  • CNAMEDtcRecord
  • CNAMERecord
  • CNAMESharedRecord
  • CaaRecord
  • Cacertificate
  • 容量报告
  • 容量报告对象计数
  • 捕获门户
  • 捕获门户文件
  • 证书认证服务
  • 已更改的对象
  • Ciscoise端点
  • 客户端子网域
  • Csvimporttask
  • DHCP租约
  • DHCPRoamingHost
  • DNS视图
  • DNS区域
  • DNS区域委派
  • DNS区域转发
  • Db对象
  • Dbsnapshot
  • DdnsPrincipalcluster
  • DdnsPrincipalclusterGroup
  • 已删除的对象
  • DhcidRecord
  • DhcpOptionDefinition
  • DhcpOptionDefinitionV4
  • DhcpOptionDefinitionV6
  • DhcpOptionSpace
  • DhcpOptionSpaceV4
  • DhcpOptionSpaceV6
  • DhcpStatistics
  • Dhcpddns
  • Dhcpfailover
  • Dhcpmember
  • Dhcpoption
  • 发现
  • 发现自动转换设置
  • 发现Ciscoapic配置
  • 发现Clicredential
  • 发现设备
  • 发现设备组件
  • 发现设备接口
  • 发现设备邻居
  • 发现设备支持包
  • 发现诊断任务
  • 发现网格属性
  • 发现Ifaddrinfo
  • 发现成员属性
  • 发现网络信息
  • 发现端口
  • 发现扫描接口
  • 发现种子路由器
  • 发现Snmp3Credential
  • 发现Snmpcredential
  • 发现状态
  • 发现Vlan信息
  • 发现Vrf
  • 发现Vrf映射规则
  • 发现任务
  • 发现任务端口
  • 发现任务vserver
  • 分发计划
  • DnameRecord
  • Dns64Group
  • DnskeyRecord
  • Dnsseckey
  • Dnssectrustedkey
  • DsRecord
  • Dtc
  • DtcAllrecords
  • DtcCertificate
  • DtcLbdn
  • DtcMonitor
  • DtcMonitorHttp
  • DtcMonitorIcmp
  • DtcMonitorPdp
  • DtcMonitorSip
  • DtcMonitorSnmp
  • DtcMonitorSnmpOid
  • DtcMonitorTcp
  • DtcObject
  • DtcPool
  • DtcPoolConsolidatedMonitorHealth
  • DtcPoolLink
  • DtcServer
  • DtcServerLink
  • DtcServerMonitor
  • DtcTopology
  • DtcTopologyLabel
  • DtcTopologyRule
  • DtcTopologyRuleSource
  • DtclbdnRecord
  • DxlEndpoint
  • DxlEndpointBroker
  • EA
  • EADefinition
  • 排除范围
  • 排除范围模板
  • 可扩展属性定义List值
  • Extserver
  • Extsyslogbackupserver
  • Fileop
  • Filterfingerprint
  • Filtermac
  • Filternac
  • Filteroption
  • Filterrelayagent
  • Filterrule
  • Fingerprint
  • 固定地址
  • 固定地址模板
  • 固定地址模板V4
  • 固定地址模板V6
  • 固定地址V4
  • 固定地址V6
  • 转发成员服务器
  • Ftpuser
  • 网格
  • GridCloudapi
  • GridCloudapiCloudstatistics
  • GridCloudapiUser
  • GridCloudapiVm
  • GridCloudapiVmaddress
  • GridDashboard
  • GridDhcpproperties
  • GridDns
  • GridDnsFixedrrsetorderfqdn
  • GridFiledistribution
  • GridLicensePool
  • GridLicensePoolContainer
  • GridLicensesubpool
  • GridMaxminddbinfo
  • GridMemberCloudapi
  • GridServicerestartGroup
  • GridServicerestartGroupOrder
  • GridServicerestartRequest
  • GridServicerestartRequestChangedobject
  • GridServicerestartStatus
  • GridThreatanalytics
  • GridThreatprotection
  • GridX509Certificate
  • GridmemberSoamname
  • GridmemberSoaserial
  • 主机记录
  • 主机记录V4
  • 主机记录V6
  • 主机名称重写策略
  • 热修复
  • HsmAllgroups
  • HsmSafenet
  • HsmSafenetgroup
  • HsmThales
  • HsmThalesgroup
  • IP
  • IP地址
  • IP分配
  • IP范围
  • IP范围V4
  • IP范围V6
  • IPv4
  • IPv4地址
  • IPv4主机地址
  • IPv6
  • IPv6地址
  • IPv6主机地址
  • Infoblox对象
  • 接口
  • IpamStatistics
  • Ipv6Networksetting
  • Kerberoskey
  • LdapAuthService
  • LdapEamapping
  • LdapServer
  • LicenseGridwide
  • 本地用户认证服务
  • 逻辑过滤器规则
  • Lomnetworkconfig
  • Lom用户
  • MX记录
  • MX共享记录
  • Mac过滤器地址
  • 主网格
  • 成员
  • 成员DHCP属性
  • 成员DNS
  • 成员DNS GLUE记录地址
  • 成员DNS IP
  • 成员文件分发
  • 成员许可
  • 成员家长控制
  • 成员威胁分析
  • 成员威胁防护
  • 成员服务器
  • 成员服务通信
  • 成员服务状态
  • MS DHCP选项
  • MS DHCP服务器
  • MS DNS服务器
  • MS 服务器
  • MS 服务器 AD 站点域
  • MS 服务器 AD 站点
  • MS 服务器 DCNS 记录创建
  • MS 服务器 DHCP
  • MS 服务器 DNS
  • MS 超范围
  • 命名ACL
  • NAPTR DTC 记录
  • NAPTR 记录
  • NAT组
  • 网络
  • 网络容器
  • 网络容器V4
  • 网络容器V6
  • 网络发现
  • 网络模板
  • 网络模板V4
  • 网络模板V6
  • 网络V4
  • 网络V6
  • 网络视图
  • 网络用户
  • 网络视图关联成员
  • 节点信息
  • 通知REST端点
  • 通知REST模板
  • 通知REST模板参数
  • 通知规则
  • 通知规则表达式操作
  • NS 记录
  • NSEC3 参数记录
  • NSEC3 记录
  • NSEC 记录
  • NSG 组
  • NSG 委托
  • NSG 转发成员
  • NSG 转发存根服务器
  • NSG 存根成员
  • NX 域名规则
  • OCSP 响应者
  • 选项60匹配规则
  • 有序范围
  • 有序响应策略区域
  • OSPF
  • 出站云客户端
  • 出站云客户端事件
  • 家长控制ABS
  • 家长控制AVP
  • 家长控制阻止策略
  • 家长控制IP空间区分器
  • 家长控制MS
  • 家长控制NAS网关
  • 家长控制站点成员
  • 家长控制SPM
  • 家长控制订阅者
  • 家长控制订阅者站点
  • 权限
  • 指针记录
  • 指针记录V4
  • 指针记录V6
  • Radius认证服务
  • Radius服务器
  • 范围模板
  • 范围模板V4
  • 范围模板V6
  • R数据子字段
  • 记录名策略
  • 远程DNS区域
  • 重启服务状态
  • RIR
  • RIR组织
  • Rpz AIp地址记录
  • Rpz A记录
  • Rpz AaaaIp地址记录
  • Rpz Aaaa记录
  • Rpz CnameClientip地址记录
  • Rpz CnameClientip地址dn记录
  • Rpz CnameIp地址记录
  • Rpz CnameIp地址dn记录
  • Rpz Cname记录
  • Rpz Mx记录
  • Rpz Naptr记录
  • Rpz Ptr记录
  • Rpz Ptr记录V4
  • Rpz Ptr记录V6
  • Rpz Srv记录
  • Rpz Txt记录
  • Rrsig记录
  • 规则集
  • SRV DTC记录
  • SRV记录
  • SRV共享记录
  • SAML认证服务
  • 清除任务
  • 计划任务
  • 搜索
  • 设置网络
  • 设置视图地址
  • 共享网络
  • 共享网络V4
  • 共享网络V6
  • 共享记录组
  • 智能文件夹子文件夹
  • 智能文件夹全局
  • 智能文件夹按组
  • 智能文件夹个人
  • 智能文件夹查询项
  • Snmp用户
  • 排序列表
  • 子对象
  • 超级主机
  • 超级主机子
  • 系统日志端点
  • 系统日志端点服务器
  • 系统日志服务器
  • TXT记录
  • TXT共享记录
  • Tacacsplus认证服务
  • Tacacsplus服务器
  • Taxii
  • Taxii Rpz配置
  • 租户
  • Tftp文件目录
  • 威胁分析模块集
  • 威胁分析白名单
  • 威胁洞察云客户端
  • 威胁防护网格规则
  • 威胁防护NAT规则
  • 威胁防护配置文件
  • 威胁防护配置文件规则
  • 威胁防护规则
  • 威胁防护规则类别
  • 威胁防护规则集
  • 威胁防护规则模板
  • 威胁防护状态信息
  • 威胁防护统计
  • 阈值陷阱
  • TLSA记录
  • 陷阱通知
  • 未知记录
  • 更新下载成员配置
  • 升级组
  • 升级组成员
  • 升级组计划
  • 升级计划
  • 升级状态
  • 升级步骤
  • 用户配置文件
  • V发现任务
  • 虚拟局域网
  • 虚拟局域网链路
  • 虚拟局域网范围
  • 虚拟局域网视图
  • 虚拟TFTP目录成员
  • 区域认证差异
  • 区域RP
  • 区域存根
  • 区域关联
  • 区域名称服务器

在0.4.25版本之前,该项目支持

  • NetworkView 用于 'networkview'

  • DNSView 用于 'view'

  • DNSZone 用于 'zone_auth'

  • Member 用于 'member'

  • Network (V4和V6)

    • NetworkV4 用于 'network'
    • NetworkV6 用于 'ipv6network'
  • IPRange (V4和V6)

    • IPRangeV4 用于 'range'
    • IPRangeV6 用于 'ipv6range'
  • HostRecord (V4和V6)

    • HostRecordV4 用于 'record:host'
    • HostRecordV6 用于 'record:host'
  • FixedAddress (V4和V6)

    • FixedAddressV4 用于 'fixedaddress'
    • FixedAddressV6 用于 'ipv6fixedaddress'
  • IPAddress (V4和V6)

    • IPv4Address 用于 'ipv4address'
    • IPv6Address 用于 'ipv6address'
  • ARecordBase

    • ARecord 用于 'record:a'
    • AAAARecord 用于 'record:aaaa'
  • PtrRecord (V4和V6)

    • PtrRecordV4 用于 'record:ptr'
    • PtrRecordV6 用于 'record:ptr'
  • EADefinition 用于 'extensibleattributedef'

  • CNAMERecord 用于 'record:cname'

  • MXRecord 用于 'record:mx'

支持使用正则表达式进行搜索

目前仅通过低级API支持部分匹配搜索。使用字段名与 '~' 连接进行正则表达式搜索。并非所有字段都支持正则表达式搜索。请参考 wapidoc 获取可以以此方式搜索的字段完整列表。示例

查找所有以 '10.10.' 开头的网络

.. code:: python

conn = connector.Connector(opts) nw = conn.get_object('network', {'network~': '10.10.'})

查找所有以 '10.10.' 开头的主机记录

.. code:: python

conn = connector.Connector(opts) hr = conn.get_object('record:host', {'ipv4addr~': '10.10.'})

更多示例

利用可扩展属性并在其上搜索可以很容易地通过 get_object 函数完成。在 return_fields 中的 default 字段类似于WAPI中的 +

_return_fields+ 除了对象的基字段(针对每个对象都有文档说明)外,还将返回指定的字段列表(以逗号分隔)。

这使您始终可以在返回结果中获取默认值,而不仅仅是您指定的值,无论您是搜索 network 还是 networkcontainer,在以下代码中定义为 place_to_check

.. code:: python

from infoblox_client.connector import Connector


def default_infoblox_connection():
    opts = {'host': '192.168.1.10', 'username': 'admin', 'password': 'admin'}
    conn = Connector(opts)
    return conn

def search_extensible_attribute(connection, place_to_check: str, extensible_attribute: str, value: str):
    """
    Find extensible attributes.
    :param connection: Infoblox connection
    :param place_to_check: Can be `network`, `networkcontainer` or `record:host` and so on.
    :param extensible_attribute: Which extensible attribute to search for. Can be `CustomerCode`, `Location`
    and so on.
    :param value: The value you want to search for.
    :return: result
    """
    extensible_args = [
        place_to_check,
        {
            f"*{extensible_attribute}:~": value,
        }
    ]
    kwargs = {
        'return_fields': [
            'default',
            'extattrs',
        ]
    }
    result = {"type": f"{place_to_check}", "objects": connection.get_object(*extensible_args, **kwargs)}
    return result

connection = default_infoblox_connection()

search_network = search_extensible_attribute(connection, "network", "CustomerCode", "Infoblox")
# Print the output:
print(search_network)
{
  "type": "network",
  "objects": [
    {
      "_ref": "network/ZG5zLmhvc3QkLjQuY29tLm15X3pvbmUubXlfaG9zdF9yZWNvcmQ:192.168.1.1/28/default",
      "comment": "Infoblox Network",
      "extattrs": {
        "CustomerCode": {
          "value": "Infoblox"
        }
      },
      "network": "192.168.1.0/28",
      "network_view": "default"
    }
  ]
}

search_host = search_extensible_attribute(connection, "record:host", "CustomerCode", "Infoblox")
# Print the output:
print(search_host)
{
  "type": "record:host",
  "objects": [
    {
      "_ref": "record:host/ZG5zLm5ldHdvcmtfdmlldyQw:InfobloxHost",
      "extattrs": {
        "CustomerCode": {
          "value": "Infoblox"
        }
      },
      "ipv4addrs": [
        {
          "_ref": "record:host_ipv4addr/ZG5zLm5ldHdvcmtfdmlldyQwdvcmtfdmlldyQw:192.168.1.1/InfobloxHost",
          "configure_for_dhcp": false,
          "host": "InfobloxHost",
          "ipv4addr": "192.168.1.1"
        }
      ],
      "name": "InfobloxHost",
      "view": " "
    }
  ]
}

功能

  • 待办事项

历史

0.6.0 (2022-11-18)


  • 添加了对Python版本3.9的支持 #352;
  • 删除了对Python版本低于3.0的支持 #352;

0.5.2 (2022-10-12)


  • 添加了基于证书的认证逻辑 #330;
  • 修复了IP对象中EA继承的使用 #318;
  • 修复了 'class Member()' 中缺失字段 ('ipv4addr', 'ipv6addr') #345;

0.5.1 (2022-03-14)


  • 更新了连接器的urlencoding逻辑以进行正确的数组编码 #287;
  • 更新了InfobloxObject的fetch方法以引发 InfobloxFetchGotMultipleObjects 异常 #288;
  • 修复了从V4 & V6子类调用抽象化类 from_dict 时的问题 #282;
  • 修复了更新DNSZone对象时引发的异常和不允许更新的字段 #331;
  • 修复了ARecord和AAAARecord对象跳过更新可更新字段的问题 #334, #328;
  • 在搜索非可搜索字段时引发异常 #339;
  • 修复了使用sphinx与make docs生成的客户端错误 #343;

0.5.0 (2020-05-14)


  • 主要更新了对象,现在支持约380+个NIOS对象调用。(找到infoblox_client/objects.py文件以列出支持的对象及其描述)
  • 错误修复
  • python-six依赖设置为 >=1.11.0

0.4.25 (2020-03-12)


  • 错误修复

0.4.24 (2020-02-25)


  • 为固定地址添加了一些额外字段(ms_server)
  • 支持MX记录
  • 错误修复 - PTR记录现在返回一个IP

0.4.23 (2019-09-10)


  • 为网络类添加了一些额外字段
  • 修复了A记录的更新选项
  • 添加了固定地址的属性

0.4.22 (2019-02-21)


  • 支持返回默认字段加用户所需字段,反映WAPI
  • 支持DNS主机记录的'别名'参数

0.4.21 (2019-01-18)


  • 支持WAPI版本2.10或更高

0.4.20 (2018-03-27)


  • 更新默认WAPI版本从1.4到2.1

0.4.19 (2018-02-06)


  • 将对象搜索失败日志从Error改为Warning

0.4.18 (2017-11-20)


  • 修复与临时不可用状态代码相关的错误

0.4.17 (2017-11-09)


  • 为WAPI调用添加分页支持

0.4.15 (2017-07-18)


  • 更改仅使用MAC地址生成duid的逻辑

0.4.14 (2017-05-18)


  • 添加检查对象是创建还是复用的功能

0.4.13 (2017-03-01)


  • 为HostRecordV*添加TTL字段
  • 添加CNAME记录支持
  • 指定SRV记录的返回字段

0.4.12 (2016-12-08)


  • 允许搜索所有字段
  • 从PTR记录搜索属性中删除ptrdname

0.4.11 (2016-10-31)


  • 通过MAC添加搜索HostRecords的功能

0.4.10 (2016-10-24)


  • 更新历史和作者信息

0.4.9 (2016-10-24)


  • 添加通过MAC获取固定地址的功能

0.4.8 (2016-10-10)


  • 将ptrdname搜索选项添加到PtrRecord对象

0.4.7 (2016-07-14)


  • 添加区域可扩展属性更新支持

0.4.6 (2016-07-01)


  • 为主机记录添加network_view支持

0.4.5 (2016-06-13)


  • 在create_ea_definition中允许抛出异常
  • 将pep8检查添加到tox
  • 将pep8检查添加到Travis CI
  • 添加正则表达式搜索示例

0.4.4 (2016-05-11)


  • 将only_ref选项传递给update_from_dict
  • 在处理未知字段时不要失败
  • 仅获取服务重启的对象引用
  • 更新README,包含EA使用示例

0.4.3 (2016-03-28)


  • 为Member添加默认字段
  • 更新create_network的docstring
  • 为FixedAddressV4和IPAddress添加字段

0.4.2 (2016-03-04)


  • 为connector添加max_retries选项
  • 在get时以Error日志级别记录失败

0.4.1 (2016-02-26)


  • 将'max_results'添加为connector选项

0.4.0 (2016-02-19)


  • 将max_results选项添加到connector和对象
  • 添加Tenant对象
  • 更新README.rst,添加更多示例

0.3.9 (2016-02-18)


  • 为HostRecord添加'configure_for_dns'字段

0.3.8 (2016-02-17)


  • 将'extattrs'添加到DNSZone/DNSView的return_fields

0.3.7 (2016-02-12)


  • 为NetworkView添加return_fields

0.3.6 (2016-01-28)


  • 为EA对象添加对列表和元组值的支持
  • 移除_value_to_bool

0.3.5 (2016-01-22)


  • 没有更改

0.3.4 (2016-01-21)


  • 不要在请求级别上覆盖verify标志

0.3.3 (2016-01-20)


  • create_required_ea_definitions返回创建的列表
  • 将'start_addr', 'end_addr'添加到IP检测列表
  • 将请求类型添加到connector logger
  • Flake8修复

0.3.2 (2016-01-19)


  • 将ssl_verify的字符串转换为布尔值
  • 更新AUTHORS.rst,添加贡献者
  • 从utils.py中删除未使用的函数

0.3.1 (2016-01-14)


  • 为Host Record的搜索字段添加'zone'

0.3.0 (2016-01-14)


  • 将开发状态从预alpha更新到alpha
  • 功能/tox测试(测试环境有重大变化)
  • 为FixedAddress添加搜索字段'network'
  • 允许ipv6使用域名服务器
  • 更新网络而不是替换现有EA

0.2.3 (2016-01-06)


  • 如果搜索失败,则返回None而不是异常
  • 将ip_version作为对象的公共属性

0.2.2 (2015-12-23)


  • 修复从创建方法更新对象的问题
  • 重构delete_all_associated_objects逻辑
  • 修复create_object中的错误处理
  • 不要在create_dns_zone级别上捕获异常
  • 更新member_ipv6_setting的功能版本

0.2.1 (2015-12-18)


  • 添加InfobloxMemberAlreadyAssigned异常
  • 如果已存在,则更新dns记录
  • 为connector添加'log_api_calls_as_info'选项
  • 检查EA中的空值

0.2.0 (2015-12-17)


  • 弃用object_manager中的network_exists方法
  • 为对象添加_global_field_processing
  • 为所有InfobloxObject子类将'extattrs'解析到EA对象
  • 将文档徽章添加到README.rst
  • 重构object_manager中的get_network
  • eq移动到BaseObject
  • 在删除之前检查是否找到了固定地址

0.1.4 (2015-12-08)


  • Member对象的字段更新
  • 在connector上以debug级别记录所有api调用

0.1.3 (2015-12-04)


  • 将'network'字段添加到ip版本化字段
  • 跳过添加IPv6网络的DHCP选项
  • 在创建之前不要搜索IPRange

0.1.2 (2015-12-02)


  • 在删除时如果对象未找到不要失败
  • 如果回复不是json,则抛出带有详细信息的异常
  • 为connector添加'silent_ssl_warnings'选项

0.1.1 (2015-12-01)


  • 修复unbind_name_from_record_a

0.1.0 (2015-12-01)


  • 为对象添加新的字段类型'_updateable_search_field'并修复HostRecord搜索
  • 修复'make docs'
  • 更新README.rst(固定格式化)

0.0.11 (2015-11-25)


  • 修复将第二个IP添加到HostRecord
  • 修复pdb中的失败问题
  • 如果可能,将EA值转换为布尔值
  • 在HostRecord中为ip字段添加'ips'别名

0.0.10 (2015-11-19)


  • 添加确定支持的功能的实用程序
  • 使用对象接口更新README.rst

0.0.9 (2015-11-13)


  • 为EA定义添加allowed_object_types字段
  • 允许返回对象的默认字段
  • 使用支持的对象列表更新README.rst

0.0.8 (2015-11-12)


  • 添加可扩展属性定义支持
  • 修复object_manager中create_network的选项处理问题
  • 修复create_dns_zone中缺失的DNSZone对象

0.0.7 (2015-10-27)


  • 将'network'添加到IPRange搜索字段
  • 修改EA类的get方法,允许返回默认值

0.0.6 (2015-10-26)


  • 添加对可扩展属性作为子对象的基本支持
  • 添加通过可扩展属性进行搜索
  • 改进连接器中的验证
  • 向对象管理器添加delete_object_by_ref

0.0.5 (2015-10-12)


  • 修复与对象一起工作的问题
  • 添加了遗漏的_get_object_type_from_ref
  • 添加代码覆盖率
  • 更新链接以指向infobloxopen存储库

0.0.4 (2015-09-23)


  • 添加了与NIOS对象交互的对象抽象
  • 添加object_manager以简化对对象的一些操作

0.0.3 (2015-09-15)


  • 向包中添加依赖关系。

0.0.2 (2015-09-11)


  • 修复使用包目录名中的破折号导致安装后无法导入包的问题。

0.0.1 (2015-09-11)


  • 添加连接器以向NIOS发送wapi请求,目前不包含NIOS对象模型。
  • 在PyPI上的第一个版本。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

infoblox-client-0.6.0.tar.gz (221.1 kB 查看哈希值)

上传时间

由以下机构支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面