b1oph Usage¶
The b1oph
provides generic calls to manage API calls for OPH
management. Additional ‘helper’ methods such as get_ophid(), and the
ability to see the status of OPHs, Apps, and provide App control.
Todo
Rename OPH
Examples¶
Todo
These are simple examples to show you usage of the class. More comprehensive documentation is on the todo.
from pprint import pprint
import bloxone
# Instantiate class with ini file as argument
oph = bloxone.b1oph('<path to ini>')
# Get the ophid
ophid = b1oph.get_ophid(name='youroph-name')
# Get status for all OPHs
>>> pprint.pprint(b1oph.oph_status_summary())
# Get status for specific OPH
>>> pprint.pprint(b1oph.oph_status_summary(name="my-oph-name"))
{'my-oph-name': {'applications': {'Anycast': 'disabled - stopped',
'CDC': 'disabled - stopped',
'CDC_version': 'v2.1.3',
'DFP': 'disabled - stopped',
'DFP_version': 'v2.1.5',
'DHCP': 'active',
'DHCP_version': 'v3.1.8',
'DNS': 'active',
'DNS_version': 'v3.1.4',
'NGC': 'disabled - stopped'},
'host_type': 'BloxOne Appliance - B105',
'id': '97310',
'ip_address': '192.168.1.102',
'last_seen': '2021-11-04T19:46:55.942540Z',
'nat_ip': None,
'status': {'Application Management': 'Online',
'OPH State': 'Online',
'Platform Management': 'Online'},
'version': 'v4.3.6'}}
# Get status for individual app on specified OPH
>>> b1oph.get_app_state(name="my-oph-name", app="DNS")
'active'
# Get status for individual app on specified OPH
>>> b1oph.get_app_state(name="my-oph-name", app="CDC")
'disabled - stopped'
# Perform an action on a an App for specified OPH
>>> b1oph.manage_app(name="my-oph-name", app="CDC", action="start")
False
>>> b1oph.manage_app(name="my-oph-name", app="CDC", action="enable")
True
>>> b1oph.get_app_state(name="non-existent-oph", app="DNS")
ERROR:root:OPH: non-existant-oph not found
'OPH: non-existent-oph not found'
# Specific methods can also be directly called
>>> b1oph.get_app_state(name="my-oph-name", app="CDC")
'stopped'
>>> b1oph.get_app_state(name="my-oph-name", app="CDC")
'stopped'
>>> b1oph.manage_app(name="my-oph-name", app="CDC", action="disable")
True
>>> b1oph.get_app_state(name="my-oph-name", app="CDC")
'disabled - stopped'
>>> b1oph.enable_app(name="my-oph-name", app="CDC")
True
>>> b1oph.disable_app(name="my-oph-name", app="CDC")
True
>>> b1oph.manage_app(name="my-oph-name", app="CDC", action="blah")
ERROR:root:Action: blah not supported
False