def initializeGroupFromEntry()

in src/terraform/providers/terraform-provider-avere/static/generate-rid-avereflatfiles.py [0:0]


def initializeGroupFromEntry(distinguishedName, entry, ridInteger, avereUsers, usernamesWithGidKey):
    if distinguishedName == None:
        logging.debug("initializeGroupFromEntry: returning None because the following results have no distinguished: {}".format(entry))
        return None
    if ('sAMAccountName' not in entry
        or len(entry['sAMAccountName']) == 0
        or len(entry['sAMAccountName'][0]) == 0
        or entry['sAMAccountName'][0][-1] == '$'
    ):
        logging.debug("initializeGroupFromEntry: returning None because entry missing valid sAMAccountName or is hidden: {}".format(entry))
        return None
    if 'objectSid' not in entry or len(entry['objectSid']) == 0:
        logging.debug("initializeGroupFromEntry: returning None because entry missing valid objectSid: {}".format(entry))
        return None
    
    gid = getRid(entry['objectSid'][0], ridInteger)

    members       = []
    primaryGroups = []
    if gid in usernamesWithGidKey:
        primaryGroups = usernamesWithGidKey[gid]
    if 'member' in entry:
        members = entry['member']
    
    memberList = createMemberList(members, avereUsers, primaryGroups)
    if len(memberList) == 0:
        logging.info("initializeGroupFromEntry: no members, returning None for '{}'".format(entry['sAMAccountName'][0]))
        return None
    
    return Group(
        entry['sAMAccountName'][0],
        gid,
        memberList)