jsonで返ってくるのでjqかなければpython -m json.tool を使うと見易い。
$ curl -s -k --user user:pass https://192.168.0.1/mgmt/tm/ | jq .
URLはこの辺
/tm/net/
/tm/ltm/
/tm/security/
/tm/apm/
ltm
- node追加
curl --user user:pass -s -k https://192.168.0.1/mgmt/tm/ltm/node \ -H 'Content-Type: application/json' -X POST \ -d '{"address": "192.168.0.1", "name": "testnode"}'
responseで帰ってくるの "selfLink": "https://localhost/mgmt/tm/ltm/node/~Common~testnode",
というのこのnodeをapiで操作するurl
- node削除
curl --user user:pass -s -k https://192.168.0.1/mgmt/tm/ltm/node/~Common~testnode \ -X DELETE
- pool追加
https://192.168.0.1/mgmt/tm/ltm/pool
postパラメータ
'{"name":"testpool-http","monitor":"http","description":"hoge:","members":[{"name":"testnode:80"}]}'
複数monitorを登録する方法は不明
https://192.168.0.1/mgmt/tm/ltm/virtual
postパラメータ
'{"name":"testvirtual-http","destination":"192.168.0.10:80","pool":"testpool-http"}'
typeがstandardではなくてPerformance(layer 4)になる。。。
afm (security)
- security address-list一覧
/mgmt/tm/security/firewall/address-list
- security address-list追加
/mgmt/tm/security/firewall/address-list
'{"name": "hogehoge", "addresses": ["1.1.1.1/32"]}'
- security address-list変更
PUTメソッドで上書きする
既存の内容を全て上書きするので、追加文だけではなくて既存のものも含める必要がある
/mgmt/tm/security/firewall/address-list/hogehoge -X PUT
'{"addresses": ["1.1.1.1/32", "2.2.2.2/32", "3.3.3.3/32"]}'