'List available nodes.
:param ex_tag: If specified, only return servers tagged with the
provided tag.
:type ex_tag: :class:`CloudSigmaTag`'

def list_nodes(self, ex_tag=None):

    if ex_tag:
        action = ('/tags/%s/servers/detail/' % ex_tag.id)
    else:
        action = '/servers/detail/'
    response = self.connection.request(action=action, method='GET').object
    nodes = [self._to_node(data=item) for item in response['objects']]
    return nodes
