Source code for hammers.osrest.blazar
import requests
[docs]def host(auth, host_id):
"""Retrieves host by ID."""
response = requests.get(
url=auth.endpoint('reservation') + '/os-hosts/{}'.format(host_id),
headers={'X-Auth-Token': auth.token}
)
response.raise_for_status()
bhost = response.json()['host']
return bhost
[docs]def hosts(auth):
"""Retrieves all hosts, returning a dictionary keyed by ID."""
response = requests.get(
url=auth.endpoint('reservation') + '/os-hosts',
headers={'X-Auth-Token': auth.token}
)
response.raise_for_status()
bhosts = response.json()['hosts']
bhosts = {h['id']: h for h in bhosts}
return bhosts
[docs]def host_update(auth, host_id, values_payload):
"""Updates host data"""
response = requests.put(
url=auth.endpoint('reservation') + '/os-hosts/{}'.format(host_id),
headers={'X-Auth-Token': auth.token},
json=values_payload#{'values': values_payload}, # disagreement with API spec?
)
response.raise_for_status()
bhost = response.json()['host']
return bhost
[docs]def leases(auth):
"""Retrieves all leases, returning a dictionary keyed by ID"""
response = requests.get(
url=auth.endpoint('reservation') + '/leases',
headers={'X-Auth-Token': auth.token},
)
response.raise_for_status()
leases = response.json()['leases']
leases = {l['id']: l for l in leases}
return leases
[docs]def lease(auth, lease_id):
"""Retrieves a lease by ID"""
response = requests.get(
url=auth.endpoint('reservation') + '/leases/{}'.format(lease_id),
headers={'X-Auth-Token': auth.token},
)
response.raise_for_status()
return response.json()['lease']
[docs]def lease_delete(auth, lease_id):
"""Deletes a lease by ID"""
response = requests.delete(
url=auth.endpoint('reservation') + '/leases/{}'.format(lease_id),
headers={'X-Auth-Token': auth.token},
)
response.raise_for_status()
return response
__all__ = [
'blazar_host',
'blazar_hosts',
'blazar_host_update',
'blazar_leases',
'blazar_lease',
'blazar_lease_delete',
]
blazar_host = host
blazar_hosts = hosts
blazar_host_update = host_update
blazar_leases = leases
blazar_lease = lease
blazar_lease_delete = lease_delete