Source code for saltext.vcf.states.vcf_nsx_manager_service
"""State module for NSX Manager node service running state."""
from saltext.vcf.clients import nsx_manager_service as c
__virtualname__ = "vcf_nsx_manager_service"
def __virtual__():
return __virtualname__
def _ret(name):
return {"name": name, "changes": {}, "result": True, "comment": ""}
[docs]
def running(name, running=True, profile=None): # pylint: disable=redefined-outer-name
"""Ensure NSX Manager service *name* is running (or stopped, if *running* is False)."""
ret = _ret(name)
current = c.get(__opts__, name, profile=profile) or {}
current_state = current.get("runtime_state")
desired_state = "running" if running else "stopped"
if current_state == desired_state:
ret["comment"] = f"Service {name} already {desired_state}"
return ret
if __opts__["test"]:
ret["result"] = None
ret["comment"] = f"Service {name} would change from {current_state} to {desired_state}"
return ret
if running:
c.start(__opts__, name, profile=profile)
else:
c.stop(__opts__, name, profile=profile)
ret["changes"] = {"runtime_state": {"old": current_state, "new": desired_state}}
ret["comment"] = f"Service {name} set to {desired_state}"
return ret