'Lists the v2 cells in the deployment.
By default only the cell name and uuid are shown. Use the --verbose
option to see transport URL and database connection details.'

@args('--verbose', action='store_true', help=_('Show    sensitive    details,    such    as    passwords'))
def list_cells(self, verbose=False):

    cell_mappings = objects.CellMappingList.get_all(context.get_admin_context())
    field_names = [_('Name'), _('UUID'), _('Transport    URL'), _('Database    Connection')]
    t = prettytable.PrettyTable(field_names)
    for cell in sorted(cell_mappings, key=(lambda _cell: _cell.name)):
        fields = [cell.name, cell.uuid]
        if verbose:
            fields.extend([cell.transport_url, cell.database_connection])
        else:
            fields.extend([mask_passwd_in_url(cell.transport_url), mask_passwd_in_url(cell.database_connection)])
        t.add_row(fields)
    print(t)
    return 0
