The almanachclient.v1.client Module

class almanachclient.v1.client.Client(url=None, token=None, session=None, region_name=None, service_type='cloudmetrics', endpoint_type=None)

Bases: almanachclient.http_client.HttpClient

DATE_FORMAT_BODY = '%Y-%m-%dT%H:%M:%S.%fZ'
DATE_FORMAT_QS = '%Y-%m-%d %H:%M:%S.%f'
api_version = 'v1'
attach_volume(volume_id, attachments, attachment_date=None)

Attach instances to a volume.

Parameters:
  • volume_id (str) – Volume UUID
  • attachments (list) – List of instance ID
  • attachment_date (datetime) – Attachment date
Raises:

ClientError

Return type:

bool

create_instance(tenant_id, instance_id, name, flavor, start, image_meta=None)

Create an instance for a tenant.

Parameters:
  • tenant_id (str) – The Tenant UUID
  • instance_id (str) – The instance UUID
  • name (str) – The instance name
  • flavor (str) – The flavor
  • start (datetime) – Start date
  • image_meta (dict) – The OS type, distro and version of the image
Raises:

ClientError

Return type:

bool

create_volume(tenant_id, volume_id, volume_type_id, name, size, attachments=None, start=None)

Create a volume.

Parameters:
  • tenant_id (str) – Tenant UUID
  • volume_id (str) – Volume UUID
  • volume_type_id (str) – Volume type
  • name (str) – Volume name
  • size (int) – Volume size
  • attachments (list) – List of instance attached to the volume
  • start (datetime) – Creation date or now if None
Raises:

ClientError

Return type:

bool

create_volume_type(volume_type_id, volume_type_name)

Create a volume type.

Parameters:
  • volume_type_id (str) – The Volume Type ID
  • volume_type_name (str) – The Volume Type name
Raises:

ClientError

Return type:

bool

delete_instance(instance_id, end=None)

Delete an instance.

Parameters:
  • instance_id (str) – Instance UUID
  • end (datetime) – End date
Raises:

ClientError

Return type:

bool

delete_volume(volume_id, end=None)

Remove a volume.

Parameters:
  • volume_id (str) – Volume UUID
  • end (datetime) – Suppression date
Raises:

ClientError

Return type:

bool

delete_volume_type(volume_type_id)

Delete the volume type.

Parameters:volume_type_id (str) – Volume Type UUID
Raises:ClientError
Return type:bool
detach_volume(volume_id, attachments, attachment_date=None)

Detach instances from a volume.

Parameters:
  • volume_id (str) – Volume UUID
  • attachments (list) – List of instance ID
  • attachment_date (datetime) – Attachment date
Raises:

ClientError

Return type:

bool

get_entity(entity_id)

Get single entity.

Parameters:entity_id (str) – Entity UUID
Raises:ClientError
Return type:list
get_info()

Display information about the current version and counts of entities in the database.

Return type:dict
get_instances(tenant_id, start, end)

List instances for a tenant.

Parameters:
  • tenant_id (str) – The Tenant UUID
  • start (datetime) – Start date
  • end (datetime) – End date
Raises:

ClientError

Return type:

list

get_tenant_entities(tenant_id, start, end=None)

List instances and volumes for a tenant.

Parameters:
  • tenant_id (str) – Tenant UUID
  • start (datetime) – Start date
  • end (datetime) – End date
Raises:

ClientError

Return type:

list

get_url()
get_volume_type(volume_type_id)

Get a volume type.

Parameters:volume_type_id (str) – Volume Type UUID
Raises:ClientError
Return type:dict
get_volume_types()

List volume types.

Return type:list
get_volumes(tenant_id, start, end)

List volumes for a tenant.

Parameters:
  • tenant_id (str) – The Tenant UUID
  • start (datetime) – Start date
  • end (datetime) – End date
Raises:

ClientError

Return type:

list

resize_instance(instance_id, flavor, resize_date=None)

Resize an instance.

Parameters:
  • instance_id (str) – Instance UUID
  • flavor (str) – Flavor
  • resize_date (datetime) – Resize date
Raises:

ClientError

Return type:

bool

resize_volume(volume_id, size, resize_date=None)

Resize a volume.

Parameters:
  • volume_id (str) – Volume UUID
  • size (int) – Volume size
  • resize_date (datetime) – Resize date
Raises:

ClientError

Return type:

bool

update_instance_entity(instance_id, **kwargs)

Update an instance entity.

Parameters:
  • instance_id (str) – Instance UUID
  • start_date (datetime) – Start date
  • end_date (datetime) – End date
  • flavor (str) – The flavor
  • name (str) – The instance name
Raises:

ClientError

Return type:

dict