Historique de la page
...
A noter qu'il est aussi possible d'utiliser la clé d'API d'un utilisateur à la place de son login.
Utilisation
BMClient
La classe BMClient est un helper qui permet aussi d'accéder aux différentes classes pour manipuler les utilisateurs, groupes, etc
Bloc de code | ||
---|---|---|
| ||
from netbluemind.python.client import BMClient # BEGIN CONF URL="http://localhost:8090/api" # END CONF client = BMClient(URL) client.login("login@domain.net", "password") print client.apiKey iUser = client.users("domain.net") user = iUser.byEmail("login@domain.net") print user.value.login |
Users
iUser (instance de IUser) permet d'accéder et modifier toutes les informations sur un utilisateur (mot de passe, photo, contact, statut archivé, etc), les différentes méthodes retournent une instance d'un object ItemValue qui permet d'accéder à l'object en question via l'attribut value.
Domains
Il est possible de créer ou modifier des domaines en utilisant l'interface IDomains.
Lors de la création d'un domain, il est important que l'uid du domain soit égale à son nom, la création se fait donc ainsi :
Bloc de code | ||
---|---|---|
| ||
domain = Domain()
domain.name = "local.lan"
domain.label = "local.lan"
domain.description = "Domain of " + "local.lan"
domain.properties = {}
# global doit toujours être à False
domain.global_ = False
# permet de définir les alias du domaine
domain.aliases = []
idomains.create("local.lan", domain) |
Il est possible de définir la configuration des paramètres pour les plugins ImportLDAP et ImportAD en utilisant l'attribut properties :
Bloc de code |
---|
properties = dict() properties['import_ldap_hostname'] = 'ldap.local' properties['import_ldap_password'] = 'ldap-password' properties['import_ldap_user_filter'] = '(mail=*)' properties['import_ldap_accept_certificate'] = True properties['import_ldap_ext_id_attribute'] = 'entryUUID' properties['import_ldap_relay_mailbox_group'] = '' properties['import_ldap_enabled'] = True properties['import_ldap_group_filter'] = '(objectClass=posixGroup)' properties['import_ldap_protocol'] = 'tls' properties['import_ldap_base_dn'] = 'dc=lan,dc=local' properties['import_ldap_login_dn'] = 'uid=admin,cn=users,cn=accounts,dc=lan,dc=local' properties['lang'] = 'fr' properties['im_public_auth'] = True # allow Instant messaging for all users properties['domain_max_users'] = None properties['mail_routing_relay'] = '' properties['mailbox_max_user_quota'] = '0' properties['mailbox_default_user_quota'] = '0' properties['mailbox_max_publicfolder_quota'] = '0' properties['mailbox_default_publicfolder_quota'] = '0' properties['filehosting_max_filesize'] = '0' properties['filehosting_retention'] = '365' properties['mail_autoDetachmentLimit'] = '0' properties['mail_forward_unknown_to_relay'] = False |
Pour l'import Active Directory il suffit de remplacer ldap par ad.
Exemples
De nombreux exemples de possibilités sont accessibles ici : https://forge.bluemind.net/stash/projects/BA/repos/bluemind-samples/browse/python-api-examples
Démarrer un backup
Bloc de code | ||
---|---|---|
| ||
client = BMClient(URL, KEY)
idataprotect = client.instance(IDataProtect)
taskRef = idataprotect.saveAll()
status = client.waitTask(taskRef)
print "\nBackup done with status [" + status.state.value + "]" |