HEX
Server: Apache
System: Linux server.enlacediseno.com 4.18.0-553.62.1.el8_10.x86_64 #1 SMP Wed Jul 16 04:08:25 EDT 2025 x86_64
User: maor (1069)
PHP: 7.3.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //opt/saltstack/salt/lib/python3.10/site-packages/salt/modules/saltcloudmod.py
"""
Control a salt cloud system
"""

import salt.utils.data
import salt.utils.json

HAS_CLOUD = False
try:
    import saltcloud  # pylint: disable=W0611

    HAS_CLOUD = True
except ImportError:
    pass

# Define the module's virtual name
__virtualname__ = "saltcloud"


def __virtual__():
    """
    Only load if salt cloud is installed
    """
    if HAS_CLOUD:
        return __virtualname__
    return (
        False,
        "The saltcloudmod execution module failed to load: requires the saltcloud"
        " library.",
    )


def create(name, profile):
    """
    Create the named vm

    CLI Example:

    .. code-block:: bash

        salt <minion-id> saltcloud.create webserver rackspace_centos_512
    """
    cmd = f"salt-cloud --out json -p {profile} {name}"
    out = __salt__["cmd.run_stdout"](cmd, python_shell=False)
    try:
        ret = salt.utils.json.loads(out)
    except ValueError:
        ret = {}
    return ret