17-Nov-2020 07:02
The iControlREST APi response seems to eliminate fields that are not configured in F5. Below is one example.
I tried quering http://<F5 IP>/mgmt/tm/ltm/pool, for a pool where a monitor is configured, the API returns the monitor field , however, if a monitor is not configured (or) in disabled state, the "monitor" field is absent. Is this how the iControl REST API normally works. Ideally, it should give all the field names in the API output and an empty value field if a property is not configured rather than completing removing the field. Please advice.
{
"kind": "tm:ltm:pool:poolcollectionstate",
"selfLink": "https://localhost/mgmt/tm/ltm/pool?ver=15.1.0.5",
"items": [{
"kind": "tm:ltm:pool:poolstate",
"name": " devtest",
"partition": "Common",
"fullPath": "/Common/ devtest",
"generation": 111763,
"selfLink": "https://localhost/mgmt/tm/ltm/pool/~Common~ devtest?ver=15.1.0.5",
"allowNat": "yes",
"allowSnat": "yes",
"ignorePersistedWeight": "disabled",
"ipTosToClient": "pass-through",
"ipTosToServer": "pass-through",
"linkQosToClient": "pass-through",
"linkQosToServer": "pass-through",
"loadBalancingMode": "round-robin",
"minActiveMembers": 0,
"minUpMembers": 0,
"minUpMembersAction": "failover",
"minUpMembersChecking": "disabled",
"queueDepthLimit": 0,
"queueOnConnectionLimit": "disabled",
"queueTimeLimit": 0,
"reselectTries": 0,
"serviceDownAction": "none",
"slowRampTime": 10,
"membersReference": {
"link": "https://localhost/mgmt/tm/ltm/pool/~Common~ devtest/members?ver=15.1.0.5",
"isSubcollection": true
}
}, {
"kind": "tm:ltm:pool:poolstate",
"name": " devtest1",
"partition": "Common",
"fullPath": "/Common/ devtest1",
"generation": 1,
"selfLink": "https://localhost/mgmt/tm/ltm/pool/~Common~ devtest1?ver=15.1.0.5",
"allowNat": "yes",
"allowSnat": "yes",
"ignorePersistedWeight": "disabled",
"ipTosToClient": "pass-through",
"ipTosToServer": "pass-through",
"linkQosToClient": "pass-through",
"linkQosToServer": "pass-through",
"loadBalancingMode": "least-connections-member",
"minActiveMembers": 0,
"minUpMembers": 0,
"minUpMembersAction": "failover",
"minUpMembersChecking": "disabled",
"monitor": "/Common/tcp",
"queueDepthLimit": 0,
"queueOnConnectionLimit": "disabled",
"queueTimeLimit": 0,
"reselectTries": 0,
"abc": "uwdhuq
"serviceDownAction": "reset",
"slowRampTime": 10,
"membersReference": {
"link": "https://localhost/mgmt/tm/ltm/pool/~Common~ devtest1/members?ver=15.1.0.5",
"isSubcollection": true
}
},
29-Nov-2020 20:00
You can find all the properties by appending 'example' to the endpoint: e.g., /mgmt/tm/ltm/pool/example. Compare the output against the one you get from the GET request to your pool, so that you can find the properties that are missing.