Mini Shell
"""
Installation and activation of windows licenses
===============================================
Install and activate windows licenses
.. code-block:: yaml
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX:
license.activate
"""
import logging
import salt.utils.platform
log = logging.getLogger(__name__)
__virtualname__ = "license"
def __virtual__():
"""
Only work on Windows
"""
if salt.utils.platform.is_windows():
return __virtualname__
return (False, "Only Windows OS supported")
def activate(name):
"""
Install and activate the given product key
name
The 5x5 product key given to you by Microsoft
"""
ret = {"name": name, "result": True, "comment": "", "changes": {}}
product_key = name
license_info = __salt__["license.info"]()
licensed = False
key_match = False
if license_info is not None:
licensed = license_info["licensed"]
key_match = license_info["partial_key"] in product_key
if not key_match:
out = __salt__["license.install"](product_key)
licensed = False
if "successfully" not in out:
ret["result"] = False
ret["comment"] += "Unable to install the given product key is it valid?"
return ret
if not licensed:
out = __salt__["license.activate"]()
if "successfully" not in out:
ret["result"] = False
ret["comment"] += "Unable to activate the given product key."
return ret
ret["comment"] += "Windows is now activated."
else:
ret["comment"] += "Windows is already activated."
return ret
Zerion Mini Shell 1.0