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)