API Guide
Table Of Contents
- OpenManage Integration for VMware vCenter Version 5.3 API Guide
- Overview
- Get started
- Security
- Use cases
- Session management
- License management
- Console management
- Repository profile management
- Cluster profile management
- Firmware repository inventory management
- Firmware inventory management
- Firmware update management
- System profile management
- Host management
- Get subsystem health report (OMIVV Host Health)
- Host management
- Request body
- Response body
- OMIVV-Specific error codes
def get_vcenter_tree_from_omivv(OMIVV_ip, vcenter_id, session_token):
url = "https://" + OMIVV_ip + "/Spectre/api/rest/v1/Services/ConsoleService/
Consoles/" + vcenter_id
head = {'Authorization': 'Bearer ' + session_token}
response = requests.get(url, verify=False, headers=head)
if (response.status_code == 200):
json_response = json.dumps(response.json(), indent=4, sort_keys=True)
return json_response
else:
print("Get registered vCenter list failed")
def get_cluster_details(url, session_token):
head = {'Authorization': 'Bearer ' + session_token}
response = requests.get(url, verify=False, headers=head)
if (response.status_code == 200):
return response
else:
print(response.status_code)
print("Get cluster details failed")
def set_operational_context(omivv_ip, vcenter_id, session_token, vcenter_username,
vcenter_domain, vcenter_password):
base_url = "https://" + omivv_ip + "/Spectre/api/rest/v1/Services/ConsoleService/
OperationalContext"
postBodyData = {"consoleId": vcenter_id,
"consoleUserCredential": {"username": vcenter_username, "domain":
vcenter_domain,
"password": vcenter_password}}
head = {'Authorization': 'Bearer ' + session_token}
jsonReponse = requests.post(base_url, json=postBodyData, verify=False, headers=head)
if (jsonReponse.status_code != 204):
print("setOperationalContext failed.")
```
● Retrieve host ID using Host IP
Sample code to retrieve the host ID:
```json
def get_host_id_by_service_tag(bearer_token,ip_address, vcenter_ip, hostIp, vc_username,
vc_domain, vc_password):
"""Authenticate with OMIVV and enumerate reports."""
try:
""" Get all registered vcenter """
registered_vcenter_list = get_registered_vcenter_list(ip_address, bearer_token)
if(registered_vcenter_list is None):
print("No vcenter is regsitered with this OMIVV")
return
else:
vcenter_id = None;
registered_vc_array = json.loads(registered_vcenter_list)
for vc in registered_vc_array:
if vcenter_ip.upper() == vc['ip'].upper():
vcenter_id = vc['id']
vcenter_tree_response = get_vcenter_tree_from_omivv(ip_address,vcenter_id,
bearer_token)
flag = True;
cluster_list = []
if vcenter_tree_response is not None:
vcenter_datacenters = json.loads(vcenter_tree_response)
vcenter_datacenters_List = vcenter_datacenters['datacenters']
for vcenter_datacenter in vcenter_datacenters_List:
hosts_list = vcenter_datacenter["hosts"]
if hosts_list is not None:
for host in hosts_list:
if host['hostip'] == hostIp:
host_response = json.dumps(host, indent=4,
sort_keys=True)
20
Use cases