'Detailed view of a single instance.'

def show(self, request, instance, extend_address=True):

    ip_v4 = instance.get('access_ip_v4')
    ip_v6 = instance.get('access_ip_v6')
    server = {'server': {'id': instance['uuid'], 'name': instance['display_name'], 'status': self._get_vm_status(instance), 'tenant_id': (instance.get('project_id') or ''), 'user_id': (instance.get('user_id') or ''), 'metadata': self._get_metadata(instance), 'hostId': (self._get_host_id(instance) or ''), 'image': self._get_image(request, instance), 'flavor': self._get_flavor(request, instance), 'created': utils.isotime(instance['created_at']), 'updated': utils.isotime(instance['updated_at']), 'addresses': self._get_addresses(request, instance, extend_address), 'accessIPv4': (str(ip_v4) if (ip_v4 is not None) else ''), 'accessIPv6': (str(ip_v6) if (ip_v6 is not None) else ''), 'links': self._get_links(request, instance['uuid'], self._collection_name), 'OS-DCF:diskConfig': ('AUTO' if instance.get('auto_disk_config') else 'MANUAL')}}
    if (server['server']['status'] in self._fault_statuses):
        _inst_fault = self._get_fault(request, instance)
        if _inst_fault:
            server['server']['fault'] = _inst_fault
    if (server['server']['status'] in self._progress_statuses):
        server['server']['progress'] = instance.get('progress', 0)
    if api_version_request.is_supported(request, min_version='2.9'):
        server['server']['locked'] = (True if instance['locked_by'] else False)
    if api_version_request.is_supported(request, min_version='2.19'):
        server['server']['description'] = instance.get('display_description')
    if api_version_request.is_supported(request, min_version='2.26'):
        server['server']['tags'] = [t.tag for t in instance.tags]
    return server
