Forum Discussion
Unable to get few fields in the iControl REST Api response
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
}
},
- PeteWhite
Employee
Yes, this is my understanding which I use in my scripts ie check whether the element is in the array. I use my iCR Python module which makes that part simple.
- Satoshi_Toyosa1Ret. Employee
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.
Recent Discussions
Related Content
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com