2016-01-06 25 views
0

我在我的Infoblox(IPAM)服務器中收集了一個網絡對象,並且希望從其中一個IP地址分配基於搜索到他們的extattr字段。使用動態網絡搜索從Infoblox WAPI服務器獲取next_available_ip,通過REST

每個網絡對象具有名爲CITYCODE擴展屬性,和許多網絡具有對於該代碼相同的值。我想從任何這些網絡分配一個IP地址。

我如何使用next_available_ip函數來創建一個記錄:主機對象,其中IPV4ADDR由next_available_ip函數確定?

回答

0

回答我自己的問題,因爲它採取了一些與其他示例代碼戳我發現得到一個完全適合我的工作。

首先你需要一個JSON體指定的完全限定名新紀錄:主機。爲了我的目的,我只是產生隨機值。請注意,該域必須已經存在(可能爲區域:auth對象)。

如果該域名尚未存在,您將收到錯誤消息:「該操作不被允許,但未找到父級」。

而不是指定一個實際的ipv4addr,而是指定目標對象和您將運行它的功能。由於我們要運行next_available_ip函數,因此該對象是網絡

我們想要做的搜索是針對可擴展屬性,因此_object_parameters被設置爲「查找具有可擴展屬性的網絡,名爲-CITYCODE-值爲-MZAPPKAK-。星號非常重要,必須保留。

BODY=' 
{ 
    "name" : "staticip-d4260ed7-3101-4034-0f79-056b72b2c5f0.some-domain-that-exists.com", 
    "ipv4addrs : [ 
     { 
      "ipv4addr" : { 
       "_object" : "network", 
       "_object_function" : "next_available_ip", 
       "_object_parameters" : {"*CITYCODE" : "MZAPPKAK"}, 
       "_object_field" : "value", 
       "_result_field" : "ips", 
       "_parameters" : {"num" : 1} 
      } 
     } 
    ] 
} 

curl \ 
    'https://1.2.3.4/wapi/v2.2.1/record:host' \ 
    -H 'Content-Type: application/json' \ 
    -d "$BODY" 

結果代碼應該是201,結果身體將是一個REF至記錄:已創建主機請在返回REF標準GET學什麼IP被發現並放置在該記錄。