def CreateInstance(self, InstName, InstHost=None, InstSuffix=None, RootDNPwd=None, LdapPort=None, TLSPort=None): """ Creates Directory server instances :param str InstName: Instance Name :param str InstHost: Host on which instance should be created :param str InstSuffix: Suffix to be created :param str RootDNPwd: Root DN password :param str LdapPort: Ldap Port to be used :param str TLSPort: TLSPort port to be used :return str result, return_code: output of the command and return code :raises DirSrvException: if Directory server instance could not be created """ self.DSIntName = InstName self.DSInstHost = InstHost self.DSInstSuffix = None self.DSRootDNPwd = RootDNPwd self.DSLdapPort = LdapPort self.DSTLSPort = TLSPort result, return_code = self._set_options() if return_code == 0: self.DirSrvInst = DirSrv(self.DSIntName, self.DSInstHost, self.DSInstSuffix, self.DSRootDNPwd, self.DSLdapPort, self.DSTLSPort, self.Host) cfg_file = self.DirSrvInst.create_config() result = self.DirSrvInst.Setup_DSInstance(cfg_file) self.DirSrvInfo[self.DSIntName] = self.DirSrvInst.__dict__ return result, return_code else: raise DirSrvException('Could not setup Directory Server Instance')