diff options
Diffstat (limited to 'ipa-python')
-rw-r--r-- | ipa-python/ipaclient.py | 7 | ||||
-rw-r--r-- | ipa-python/rpcclient.py | 24 |
2 files changed, 31 insertions, 0 deletions
diff --git a/ipa-python/ipaclient.py b/ipa-python/ipaclient.py index cda8ceb9..c551f043 100644 --- a/ipa-python/ipaclient.py +++ b/ipa-python/ipaclient.py @@ -381,3 +381,10 @@ class IPAClient: """ result = self.transport.update_password_policy(policy.origDataDict(), policy.toDict()) return result + + def add_service_principal(self, princ_name): + return self.transport.add_service_principal(princ_name) + + def get_keytab(self, princ_name): + return self.transport.get_keytab(princ_name) + diff --git a/ipa-python/rpcclient.py b/ipa-python/rpcclient.py index d4c3dcc8..d7ff9740 100644 --- a/ipa-python/rpcclient.py +++ b/ipa-python/rpcclient.py @@ -690,3 +690,27 @@ class RPCClient: raise xmlrpclib.Fault(value, msg) return ipautil.unwrap_binary_data(result) + + def add_service_principal(self, princ_name): + server = self.setup_server() + + try: + result = server.add_service_principal(princ_name) + except xmlrpclib.Fault, fault: + raise ipaerror.gen_exception(fault.faultCode, fault.faultString) + except socket.error, (value, msg): + raise xmlrpclib.Fault(value, msg) + + return ipautil.unwrap_binary_data(result) + + def get_keytab(self, princ_name): + server = self.setup_server() + + try: + result = server.get_keytab(princ_name) + except xmlrpclib.Fault, fault: + raise ipaerror.gen_exception(fault.faultCode, fault.faultString) + except socket.error, (value, msg): + raise xmlrpclib.Fault(value, msg) + + return ipautil.unwrap_binary_data(result) |