'Helper to create service account list for GCE API.
:keyword  service_accounts: Specify a list of serviceAccounts when
creating the instance. The format is a
list of dictionaries containing email
and list of scopes, e.g.
[{\'email\':\'default\',
\'scopes\':[\'compute\', ...]}, ...]
Scopes can either be full URLs or short
names. If not provided, use the
\'default\' service account email and a
scope of \'devstorage.read_only\'. Also
accepts the aliases defined in
\'gcloud compute\'.
:type     service_accounts: ``list`` of ``dict`` or None
:return:  list of dictionaries usable in the GCE API.
:rtype:   ``list`` of ``dict``'

def _build_service_accounts_gce_list(self, service_accounts=None, default_email='default', default_scope='devstorage.read_only'):

    gce_service_accounts = []
    if (not service_accounts):
        gce_service_accounts = [{'email': default_email, 'scopes': [(self.AUTH_URL + default_scope)]}]
    elif (not isinstance(service_accounts, list)):
        raise ValueError('service_accounts    field    is    not    a    list.')
    else:
        for sa in service_accounts:
            gce_service_accounts.append(self._build_service_account_gce_struct(service_account=sa))
    return gce_service_accounts
