PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : //proc/self/root/opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/restconf.py |
""" Execution module for RESTCONF Proxy minions :codeauthor: Jamie (Bear) Murphy <jamiemurphyit@gmail.com> :maturity: new :platform: any """ import logging __proxyenabled__ = ["restconf"] __virtualname__ = "restconf" log = logging.getLogger(__file__) def __virtual__(): if __opts__.get("proxy", {}).get("proxytype") != __virtualname__: return False, f"Proxytype does not match: {__virtualname__}" return True def info(): """ Returns the RESTCONF capabilities PATH CLI Example: .. code-block:: bash salt '*' restconf.info """ return __proxy__["restconf.request"]( "restconf/data/ietf-restconf-monitoring:restconf-state/capabilities/capability" ) def get_data(path): """ Returns an object containing the content of the request path with a GET request. Data returned will contain a dict with at minimum a key of "status" containing the http status code Other keys that should be available error (if http error), body, dict (parsed json to dict) CLI Example: .. code-block:: bash salt '*' restconf.get_data restconf/yang-library-version """ return __proxy__["restconf.request"](path) def set_data(path, method, dict_payload): """ Sends a post/patch/other type of rest method to a specified path with the specified method with specified payload CLI Example: .. code-block:: bash salt '*' restconf.set_data restconf/yang-library-version method=PATCH dict_payload="" """ return __proxy__["restconf.request"](path, method, dict_payload) def path_check(primary_path, init_path): """ Used to check which path responds with a 200 status Returns an array of True/False and a dict with keys path + path_method + response data, used in states code. CLI Example: .. code-block:: bash salt '*' restconf.path_check restconf/yang-library-version/specifc_item restconf/yang-library-version """ ret = {"result": False} log.debug("modules_restconf_path_check: about to attempt to get primary path") existing_raw = __salt__["restconf.get_data"](primary_path) if existing_raw["status"] == 200: log.debug("modules_restconf_path_check: found a valid path at primary_path") existing = existing_raw["dict"] ret["result"] = True ret["path_used"] = "primary" ret["request_path"] = primary_path ret["request_restponse"] = existing if not ret["result"]: if init_path is not None: existing_raw_init = __salt__["restconf.get_data"](init_path) if existing_raw_init["status"] in [200]: log.debug( "modules_restconf_path_check: found a valid path at init_path" ) existing = existing_raw_init["dict"] ret["result"] = True ret["path_used"] = "init" ret["request_path"] = init_path ret["request_restponse"] = existing if not ret["result"]: log.debug( "modules_restconf_path_check: restconf could not find a working path to get initial config" ) ret["result"] = False return ret