set Session Status using LocalLB::SessionStatus
I'm trying to set a node's session status using the iControl API on a BIGIP v11.1.0 server.
Looking through the API documentation, I found LocalLB::Pool::set_member_session_enabled_state. This function takes the following inputs:
1. pool_names(String []) = The pool names to which the specified members belong.
2. members (AddressPort [] []) = The pool members to modify.
3. session_states (EnabledState [] [])
The third parameter, session_states, is of type Common::EnabledState, which has the following possible values:
A) 0 = STATE_DISABLED
B) 1 = STATE_ENABLED
However, (and this is where I get lost) this differs from the response returned by LocalLB::Pool::get_member_session_status. This get function returns a LocalLB::SessionStatus, which has the following possible values:
A) 0 = SESSION_STATUS_ENABLED
B) 1 = SESSION_STATUS_DISABLED
C) 2 = SESSION_STATUS_FORCED_DISABLED
D) 3 = SESSION_STATUS_ADDRESS_DISABLED
The AskF5 Knowledge Base article on Best Practice for "Disabling nodes or pool members for maintenance", describes the difference between
* a "disabled" pool member/node and
* a "forced offline" pool member/node
It looks to me that these are SESSION_STATUS_DISABLED and SESSION_STATUS_FORCED_DISABLED, respectfully.
Is there a way to set the Session Status of a node such that you can explicitly specify whether the node should become "disabled" or "forced offline"?
Or can someone otherwise explain the discrepancy between the returned value from get_member_session_status() and the input value to set_member_session_enabled_state()?
TIA