summaryrefslogtreecommitdiff
path: root/troveclient/osc/v1/database_instances.py
diff options
context:
space:
mode:
Diffstat (limited to 'troveclient/osc/v1/database_instances.py')
-rw-r--r--troveclient/osc/v1/database_instances.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/troveclient/osc/v1/database_instances.py b/troveclient/osc/v1/database_instances.py
index f363cb1..e5f5e96 100644
--- a/troveclient/osc/v1/database_instances.py
+++ b/troveclient/osc/v1/database_instances.py
@@ -27,26 +27,23 @@ from troveclient import utils as trove_utils
def set_attributes_for_print(instances):
for instance in instances:
+ # To avoid invoking GET request to trove.
+ instance_info = instance.to_dict()
+
setattr(instance, 'flavor_id', instance.flavor['id'])
- if hasattr(instance, 'volume'):
+ if 'volume' in instance_info:
setattr(instance, 'size', instance.volume['size'])
else:
setattr(instance, 'size', '-')
- if hasattr(instance, 'ip'):
- addresses = ', '.join(instance.ip)
- setattr(instance, 'addresses', addresses)
-
- # If 'replica_of' not in instance, the client will invoke a GET
- # instance request to API.
- if hasattr(instance, 'replica_of'):
+ setattr(instance, 'role', '')
+ if 'replica_of' in instance_info:
setattr(instance, 'role', 'replica')
-
- if hasattr(instance, 'replicas'):
+ if 'replicas' in instance_info:
setattr(instance, 'role', 'master')
- if hasattr(instance, 'datastore'):
+ if 'datastore' in instance_info:
if instance.datastore.get('version'):
setattr(instance, 'datastore_version',
instance.datastore['version'])