Exemple #1
0
def find_service(module, name, netbiosname):
    _args = {
        "all": True,
    }

    # Search for a SMB/cifs service.
    if netbiosname is not None:
        _result = api_command(module, "service_find", to_text(netbiosname),
                              _args)

        for _res_find in _result.get('result', []):
            for uid in _res_find.get('uid', []):
                if uid.startswith("%s$@" % netbiosname):
                    return _res_find

    try:
        _result = api_command(module, "service_show", to_text(name), _args)
    except ipalib.errors.NotFound:
        return None

    if "result" in _result:
        _res = _result["result"]
        certs = _res.get("usercertificate")
        if certs is not None:
            _res["usercertificate"] = [
                encode_certificate(cert) for cert in certs
            ]
        return _res
    else:
        return None
Exemple #2
0
def find_service(module, name):
    _args = {
        "all": True,
    }

    _result = api_command(module, "service_find", to_text(name), _args)

    if len(_result["result"]) > 1:
        module.fail_json(
            msg="There is more than one service '%s'" % (name))
    elif len(_result["result"]) == 1:
        _res = _result["result"][0]
        certs = _res.get("usercertificate")
        if certs is not None:
            _res["usercertificate"] = [encode_certificate(cert) for
                                       cert in certs]
        return _res
    else:
        return None
Exemple #3
0
def find_service(module, name):
    _args = {
        "all": True,
    }

    try:
        _result = module.ipa_command("service_show", name, _args)
    except ipalib_errors.NotFound:
        return None

    if "result" in _result:
        _res = _result["result"]
        certs = _res.get("usercertificate")
        if certs is not None:
            _res["usercertificate"] = [
                encode_certificate(cert) for cert in certs
            ]
        return _res

    return None