availability_status = {
	'AVAILABILITY_STATUS_NONE': {
		'value': 0,
		'icon': 'status_unlicensed_black',
		'description': 'Error scenario.',
	},
	'AVAILABILITY_STATUS_GREEN': {
		'value': 1,
		'icon': 'status_circle_green',
		'description': 'The object is available in some capacity.',
	},
	'AVAILABILITY_STATUS_YELLOW': {
		'value': 2,
		'icon': 'status_triangle_yellow',
		'description': 'The object is not available at the current moment, but may become available again even without user intervention.',
	},
	'AVAILABILITY_STATUS_RED': {
		'value': 3,
		'icon': 'status_diamond_red',
		'description': 'The object is not available, and will require user intervention to make this object available again.',
	},
	'AVAILABILITY_STATUS_BLUE': {
		'value': 4,
		'icon': 'status_square_blue',
		'description': 'The object\'s availability status is unknown.',
	},
	'AVAILABILITY_STATUS_GRAY': {
		'value': 5,
		'icon': 'status_unlicensed',
		'description': 'The object\'s is unlicensed.',
	},
}

lb_method = {
	'LB_METHOD_ROUND_ROBIN': {
		'name': 'Round Robin',
		'value': 0,
		'description': 'Connections are distributed evenly across all members in the pool.',
	},
	'LB_METHOD_RATIO_MEMBER': {
		'name': 'Ratio (Member)',
		'value': 1,
		'description': 'Connections are sent to a member with a high ratio number more often than a member with a lower ratio number.',
	},
	'LB_METHOD_LEAST_CONNECTION_MEMBER': {
		'name': 'Least Connections (member)',
		'value': 2,
		'description': 'Connections are sent to the member with the least active connections.',
	},
	'LB_METHOD_OBSERVED_MEMBER': {
		'name': 'Observed (member)',
		'value': 3,
		'description': 'Connections are sent to a member based on a combination of the number of current connections and the response time of the member. The local load balancer analyzes the performance of the member over time and sends connections to the member based on the trend.',
	},
	'LB_METHOD_PREDICTIVE_MEMBER': {
		'name': 'Predictive (member)',
		'value': 4,
		'description': 'Connections are sent to a member based on a combination of the number of current connections and the response time of the member over time.',
	},
	'LB_METHOD_RATIO_NODE_ADDRESS': {
		'name': 'Ratio (node)',
		'value': 5,
		'description': 'Connections are sent to a node address with a high ratio number more often than a node address with a lower ratio number.',
	},
	'LB_METHOD_LEAST_CONNECTION_NODE_ADDRESS': {
		'name': 'Least Connections (node)',
		'value': 6,
		'description': 'Connections are sent to the node address with the least active connections.',
	},
	'LB_METHOD_FASTEST_NODE_ADDRESS': {
		'name': 'Fastest (node)',
		'value': 7,
		'description': 'Connections are sent to the node address with the fastest response time.',
	},
	'LB_METHOD_OBSERVED_NODE_ADDRESS': {
		'name': 'Observed (node)',
		'value': 8,
		'description': 'Connections are sent to a node address based on a combination of the number of current connections and the response time of the node. The local load balancer analyzes the performance of the nodes over time and sends connections to the node based on the trend.',
	},
	'LB_METHOD_PREDICTIVE_NODE_ADDRESS': {
		'name': 'Predictive (node)',
		'value': 9,
		'description': 'Connections are sent to a node address based on a combination of the number of current connections and the response time of the node over time.',
	},
	'LB_METHOD_DYNAMIC_RATIO': {
		'name': 'Dynamic Ratio (Node)',
		'value': 10,
		'description': 'Dynamic Ratio mode is like Ratio mode except that in Dynamic Ratio mode the ratio weights are based on continuous monitoring of the servers, and are therefore continually changing. Dynamic Ratio load balancing may currently be implemented on any nodes that are checked by one of the following monitor types: snmp_dca (SNMP data collecting agent), real_server (RealNetworks RealServer platforms), and wmi (Windows platforms equipped with Windows Management Instrumentation).',
	},
	'LB_METHOD_FASTEST_APP_RESPONSE': {
		'name': 'Fastest (application)',
		'value': 11,
		'description': 'Connections are sent to the node that has the fastest application response time.',
	},
	'LB_METHOD_LEAST_SESSIONS': {
		'name': 'Least Sessions',
		'value': 12,
		'description': 'Connections are sent to the node that has the least number of sessions.',
	},
	'LB_METHOD_DYNAMIC_RATIO_MEMBER': {
		'name': 'Dynamic Ratio (member)',
		'value': 13,
		'description': 'Connections are sent to the pool member based upon a dynamic ratio generated by some monitors.',
	},
	'LB_METHOD_L3_ADDR': {
		'name': 'IP Address',
		'value': 14,
		'description': 'Connections are sent to pool members based upon the result of a hash algorithm that uses the L3 address of the connection.',
	},
	'LB_METHOD_UNKNOWN': {
		'name': 'Unknown',
		'value': 15,
		'description': 'Load balancing method unknown (or unsupported by iControl).',
	},
	'LB_METHOD_WEIGHTED_LEAST_CONNECTION_MEMBER': {
		'name': 'Weighted Least Connections (member)',
		'value': 16,
		'description': 'A new connection is passed to the pool member that has the lowest proportion of its specified connection limit in the pool. This algorithm works best in environments where the servers or other equipment you are load balancing have different but quantified capability limits. This algorithm requires all pool members to have specified connection limits, but does not require all servers or other equipment you are load balancing to have similar capabilities. This algorithm uses the same functionality as the "least connection member" algorithm.',
	},
	'LB_METHOD_WEIGHTED_LEAST_CONNECTION_NODE_ADDRESS': {
		'name': 'Weighted Least Connections (node)',
		'value': 17,
		'description': 'A new connection is passed to the node that has the lowest proportion of its specified connection limit in the pool. This algorithm works best in environments where the servers or other equipment you are load balancing have different but quantified capability limits. This algorithm requires all pool members to have specified connection limits, but does not require all servers or other equipment you are load balancing to have similar capabilities. This algorithm uses the same functionality as the "least connection node address" algorithm.',
	},
	'LB_METHOD_RATIO_SESSION': {
		'name': 'Ratio (session)',
		'value': 18,
		'description': 'A new session is passed to the pool member with the least number of sessions weighted by the node\'s ratio weight.',
	},
	'LB_METHOD_RATIO_LEAST_CONNECTION_MEMBER': {
		'name': 'Ratio Least Connections (member)',
		'value': 19,
		'description': 'A new connection is passed to a pool member with the least number of connections weighted according to the ratio weight defined for each pool member. If a ratio weight is unspecified, it will be treated as a default value of 1.',
	},
	'LB_METHOD_RATIO_LEAST_CONNECTION_NODE_ADDRESS': {
		'name': 'Ratio Least Connections (node)',
		'value': 20,
		'description': 'A new connection is passed to a pool member with the least number of connections weighted according to the ratio weight defined for the pool member\'s node. If a ratio weight is unspecified, it will be treated as a default value of 1.',
	},
}

availability_status = {
	'AVAILABILITY_STATUS_NONE': {
		'value': 0,
		'icon': 'status_unlicensed_black',
		'description': 'Error scenario.',
	},
	'AVAILABILITY_STATUS_GREEN': {
		'value': 1,
		'icon': 'status_circle_green',
		'description': 'The object is available in some capacity.',
	},
	'AVAILABILITY_STATUS_YELLOW': {
		'value': 2,
		'icon': 'status_triangle_yellow',
		'description': 'The object is not available at the current moment, but may become available again even without user intervention.',
	},
	'AVAILABILITY_STATUS_RED': {
		'value': 3,
		'icon': 'status_diamond_red',
		'description': 'The object is not available, and will require user intervention to make this object available again.',
	},
	'AVAILABILITY_STATUS_BLUE': {
		'value': 4,
		'icon': 'status_square_blue',
		'description': 'The object\'s availability status is unknown.',
	},
	'AVAILABILITY_STATUS_GRAY': {
		'value': 5,
		'icon': 'status_unlicensed',
		'description': 'The object\'s is unlicensed.',
	},
}

lb_method = {
	'LB_METHOD_ROUND_ROBIN': {
		'name': 'Round Robin',
		'value': 0,
		'description': 'Connections are distributed evenly across all members in the pool.',
	},
	'LB_METHOD_RATIO_MEMBER': {
		'name': 'Ratio (Member)',
		'value': 1,
		'description': 'Connections are sent to a member with a high ratio number more often than a member with a lower ratio number.',
	},
	'LB_METHOD_LEAST_CONNECTION_MEMBER': {
		'name': 'Least Connections (member)',
		'value': 2,
		'description': 'Connections are sent to the member with the least active connections.',
	},
	'LB_METHOD_OBSERVED_MEMBER': {
		'name': 'Observed (member)',
		'value': 3,
		'description': 'Connections are sent to a member based on a combination of the number of current connections and the response time of the member. The local load balancer analyzes the performance of the member over time and sends connections to the member based on the trend.',
	},
	'LB_METHOD_PREDICTIVE_MEMBER': {
		'name': 'Predictive (member)',
		'value': 4,
		'description': 'Connections are sent to a member based on a combination of the number of current connections and the response time of the member over time.',
	},
	'LB_METHOD_RATIO_NODE_ADDRESS': {
		'name': 'Ratio (node)',
		'value': 5,
		'description': 'Connections are sent to a node address with a high ratio number more often than a node address with a lower ratio number.',
	},
	'LB_METHOD_LEAST_CONNECTION_NODE_ADDRESS': {
		'name': 'Least Connections (node)',
		'value': 6,
		'description': 'Connections are sent to the node address with the least active connections.',
	},
	'LB_METHOD_FASTEST_NODE_ADDRESS': {
		'name': 'Fastest (node)',
		'value': 7,
		'description': 'Connections are sent to the node address with the fastest response time.',
	},
	'LB_METHOD_OBSERVED_NODE_ADDRESS': {
		'name': 'Observed (node)',
		'value': 8,
		'description': 'Connections are sent to a node address based on a combination of the number of current connections and the response time of the node. The local load balancer analyzes the performance of the nodes over time and sends connections to the node based on the trend.',
	},
	'LB_METHOD_PREDICTIVE_NODE_ADDRESS': {
		'name': 'Predictive (node)',
		'value': 9,
		'description': 'Connections are sent to a node address based on a combination of the number of current connections and the response time of the node over time.',
	},
	'LB_METHOD_DYNAMIC_RATIO': {
		'name': 'Dynamic Ratio (Node)',
		'value': 10,
		'description': 'Dynamic Ratio mode is like Ratio mode except that in Dynamic Ratio mode the ratio weights are based on continuous monitoring of the servers, and are therefore continually changing. Dynamic Ratio load balancing may currently be implemented on any nodes that are checked by one of the following monitor types: snmp_dca (SNMP data collecting agent), real_server (RealNetworks RealServer platforms), and wmi (Windows platforms equipped with Windows Management Instrumentation).',
	},
	'LB_METHOD_FASTEST_APP_RESPONSE': {
		'name': 'Fastest (application)',
		'value': 11,
		'description': 'Connections are sent to the node that has the fastest application response time.',
	},
	'LB_METHOD_LEAST_SESSIONS': {
		'name': 'Least Sessions',
		'value': 12,
		'description': 'Connections are sent to the node that has the least number of sessions.',
	},
	'LB_METHOD_DYNAMIC_RATIO_MEMBER': {
		'name': 'Dynamic Ratio (member)',
		'value': 13,
		'description': 'Connections are sent to the pool member based upon a dynamic ratio generated by some monitors.',
	},
	'LB_METHOD_L3_ADDR': {
		'name': 'IP Address',
		'value': 14,
		'description': 'Connections are sent to pool members based upon the result of a hash algorithm that uses the L3 address of the connection.',
	},
	'LB_METHOD_UNKNOWN': {
		'name': 'Unknown',
		'value': 15,
		'description': 'Load balancing method unknown (or unsupported by iControl).',
	},
	'LB_METHOD_WEIGHTED_LEAST_CONNECTION_MEMBER': {
		'name': 'Weighted Least Connections (member)',
		'value': 16,
		'description': 'A new connection is passed to the pool member that has the lowest proportion of its specified connection limit in the pool. This algorithm works best in environments where the servers or other equipment you are load balancing have different but quantified capability limits. This algorithm requires all pool members to have specified connection limits, but does not require all servers or other equipment you are load balancing to have similar capabilities. This algorithm uses the same functionality as the "least connection member" algorithm.',
	},
	'LB_METHOD_WEIGHTED_LEAST_CONNECTION_NODE_ADDRESS': {
		'name': 'Weighted Least Connections (node)',
		'value': 17,
		'description': 'A new connection is passed to the node that has the lowest proportion of its specified connection limit in the pool. This algorithm works best in environments where the servers or other equipment you are load balancing have different but quantified capability limits. This algorithm requires all pool members to have specified connection limits, but does not require all servers or other equipment you are load balancing to have similar capabilities. This algorithm uses the same functionality as the "least connection node address" algorithm.',
	},
	'LB_METHOD_RATIO_SESSION': {
		'name': 'Ratio (session)',
		'value': 18,
		'description': 'A new session is passed to the pool member with the least number of sessions weighted by the node\'s ratio weight.',
	},
	'LB_METHOD_RATIO_LEAST_CONNECTION_MEMBER': {
		'name': 'Ratio Least Connections (member)',
		'value': 19,
		'description': 'A new connection is passed to a pool member with the least number of connections weighted according to the ratio weight defined for each pool member. If a ratio weight is unspecified, it will be treated as a default value of 1.',
	},
	'LB_METHOD_RATIO_LEAST_CONNECTION_NODE_ADDRESS': {
		'name': 'Ratio Least Connections (node)',
		'value': 20,
		'description': 'A new connection is passed to a pool member with the least number of connections weighted according to the ratio weight defined for the pool member\'s node. If a ratio weight is unspecified, it will be treated as a default value of 1.',
	},
}
