def add_group()

in ad-joining/register-computer/ad/domain.py [0:0]


    def add_group(self, ou, group_name, project_id, zone, region):
        try:           
            metadata = {
                "project_id" : project_id,
                "zone" : zone,
                "region" : region
            }
            group_metadata = json.dumps(metadata)

            dn = "CN=%s,%s" % (group_name, ou)
            self.__connection.add(
                dn,
                [
                "group",
                "top"
                ],
                {
                    # Mandatory attributes for a computer object.
                    "groupType": self.ACTIVE_DIRECTORY_GROUP_TYPE_DOMAIN_LOCAL + self.ACTIVE_DIRECTORY_GROUP_TYPE_SECURITY,
                    "objectClass": "group",
                    "name": group_name,
                    "description" : "Group for computers of MIG '%s'" % (group_name),
                    ActiveDirectoryConnection.LDAP_ATTRIBUTE_GROUP_DATA: group_metadata
                })
            return dn
        except ldap3.core.exceptions.LDAPEntryAlreadyExistsResult as e:
            raise AlreadyExistsException(e)