SubcollectionΒΆ
kind
: collectionstate
A subcollection is a Collection
that’s attached to a higher-level Resource
object. Subcollections are almost exactly the same as collections; the exception is that they can only be accessed via the resource they’re attached to (the ‘parent’ resource). A subcollection can be identified by the value isSubcollection: true
, followed by an items
attribute listing the subcollection’s resources. Just as with collections, you can use get_collection()
to get a list of the resources in the subcollection.
Example
A pool
resource has a members_s
subcollection attached to it; you must create or load the ‘parent’ resource (pool
) before you can access the subcollection (members_s
).
>>> from f5.bigip import ManagementRoot
>>> mgmt = ManagementRoot('192.168.1.1', 'myuser', 'mypass')
>>> pool = mgmt.tm.ltm.pools.pool.load(partition='Common', name='p1')
>>> members = pool.members_s.get_collection()
Note
In the above example, the subcollection object – members_s
– ends
in _s
because the subcollection resource object name (members
)
is already plural.
The JSON returned for a pool with one member is shown below. Note the highlighted rows, which indicate the subcollection.
Example
{
"kind": "tm:ltm:pool:poolstate",
"name": "p1",
"partition": "Common",
"fullPath": "/Common/p1",
"generation": 18703,
"selfLink": "https://localhost/mgmt/tm/ltm/pool/~Common~p1?expandSubcollections=true&ver=11.6.0",
"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~p1/members?ver=11.6.0",
"isSubcollection": true,
"items": [
{
"kind": "tm:ltm:pool:members:membersstate",
"name": "n1:80",
"partition": "Common",
"fullPath": "/Common/n1:80",
"generation": 18703,
"selfLink": "https://localhost/mgmt/tm/ltm/pool/~Common~p1/members/~Common~n1:80?ver=11.6.0",
"address": "192.168.51.51",
"connectionLimit": 0,
"dynamicRatio": 1,
"ephemeral": "false",
"fqdn": {
"autopopulate": "disabled",
}
"inheritProfile": "enabled",
"logging": "disabled",
"monitor": "default",
"priorityGroup": 0,
"rateLimit": "disabled",
"ratio": 1,
"session": "user-enabled",
"state": "unchecked",
}
]
},
}