def __virtual__(): ''' Set up the libcloud functions and check for JOYENT configs ''' if get_configured_provider() is False: log.debug( 'There is no Joyent cloud provider configuration available. Not ' 'loading module.') return False log.debug('Loading Joyent cloud module') global script, list_nodes_select conn = None script = namespaced_function(script, globals(), (conn, )) list_nodes_select = namespaced_function(list_nodes_select, globals(), (conn, )) return True
def __virtual__(): ''' Set up the libcloud functions and check for JOYENT configs ''' if get_configured_provider() is False: log.debug( 'There is no Joyent cloud provider configuration available. Not ' 'loading module.' ) return False log.debug('Loading Joyent cloud module') global script, list_nodes_select conn = None script = namespaced_function(script, globals(), (conn,)) list_nodes_select = namespaced_function( list_nodes_select, globals(), (conn,) ) return True
from salt.cloud.libcloudfuncs import * # pylint: disable-msg=W0614,W0401 from salt.cloud.utils import namespaced_function # Attempt to import softlayer lib try: import SoftLayer HAS_SLLIBS = True except ImportError: HAS_SLLIBS = False # Get logging started log = logging.getLogger(__name__) # Redirect SoftLayer functions to this module namespace script = namespaced_function(script, globals()) # Only load in this module if the SoftLayer configurations are in place def __virtual__(): ''' Set up the libcloud functions and check for SoftLayer configurations. ''' if not HAS_SLLIBS: log.debug( 'The SoftLayer Python Library needs to be installed in ordere to' 'use the SoftLayer HW salt.cloud module. See: ' 'https://pypi.python.org/pypi/SoftLayer' ) return False
import pprint import logging # Import libcloud from libcloud.compute.base import NodeAuthPassword # Import salt cloud libs import salt.cloud.config as config from salt.cloud.libcloudfuncs import * # pylint: disable-msg=W0614,W0401 from salt.cloud.utils import namespaced_function # Get logging started log = logging.getLogger(__name__) # Redirect linode functions to this module namespace get_size = namespaced_function(get_size, globals()) get_image = namespaced_function(get_image, globals()) avail_locations = namespaced_function(avail_locations, globals()) avail_images = namespaced_function(avail_images, globals()) avail_sizes = namespaced_function(avail_sizes, globals()) script = namespaced_function(script, globals()) destroy = namespaced_function(destroy, globals()) list_nodes = namespaced_function(list_nodes, globals()) list_nodes_full = namespaced_function(list_nodes_full, globals()) list_nodes_select = namespaced_function(list_nodes_select, globals()) show_instance = namespaced_function(show_instance, globals()) # Only load in this module if the LINODE configurations are in place def __virtual__(): '''
import salt.cloud.config as config from salt.cloud.utils import namespaced_function from salt.cloud.exceptions import ( SaltCloudSystemExit, SaltCloudExecutionFailure, SaltCloudExecutionTimeout ) # Get logging started log = logging.getLogger(__name__) # Some of the libcloud functions need to be in the same namespace as the # functions defined in the module, so we create new function objects inside # this module namespace get_size = namespaced_function(get_size, globals()) get_image = namespaced_function(get_image, globals()) avail_locations = namespaced_function(avail_locations, globals()) avail_images = namespaced_function(avail_images, globals()) avail_sizes = namespaced_function(avail_sizes, globals()) script = namespaced_function(script, globals()) destroy = namespaced_function(destroy, globals()) list_nodes = namespaced_function(list_nodes, globals()) list_nodes_full = namespaced_function(list_nodes_full, globals()) list_nodes_select = namespaced_function(list_nodes_select, globals()) # Only load in this module is the RACKSPACE configurations are in place def __virtual__(): ''' Set up the libcloud functions and check for Rackspace configuration.
def __virtual__(): ''' Set up the libcloud funcstions and check for AWS configs ''' try: import botocore # Since we have botocore, we won't load the libcloud AWS module log.debug( 'The \'botocore\' library is installed. The libcloud AWS support ' 'will not be loaded.' ) return False except ImportError: pass if get_configured_provider() is False: log.debug( 'There is no AWS cloud provider configuration available. Not ' 'loading module' ) return False for provider, details in __opts__['providers'].iteritems(): if 'provider' not in details or details['provider'] != 'aws': continue if not os.path.exists(details['private_key']): raise SaltCloudException( 'The AWS key file {0!r} used in the {1!r} provider ' 'configuration does not exist\n'.format( details['private_key'], provider ) ) keymode = str( oct(stat.S_IMODE(os.stat(details['private_key']).st_mode)) ) if keymode not in ('0400', '0600'): raise SaltCloudException( 'The AWS key file {0!r} used in the {1!r} provider ' 'configuration needs to be set to mode 0400 or 0600\n'.format( details['private_key'], provider ) ) global avail_images, avail_sizes, script, list_nodes global avail_locations, list_nodes_full, list_nodes_select, get_image global get_size, libcloudfuncs_destroy # open a connection in a specific region conn = get_conn(**{'location': get_location()}) # Init the libcloud functions get_size = namespaced_function(get_size, globals(), (conn,)) get_image = namespaced_function(get_image, globals(), (conn,)) avail_locations = namespaced_function(avail_locations, globals(), (conn,)) avail_images = namespaced_function(avail_images, globals(), (conn,)) avail_sizes = namespaced_function(avail_sizes, globals(), (conn,)) script = namespaced_function(script, globals(), (conn,)) list_nodes = namespaced_function(list_nodes, globals(), (conn,)) list_nodes_full = namespaced_function(list_nodes_full, globals(), (conn,)) list_nodes_select = namespaced_function( list_nodes_select, globals(), (conn,) ) libcloudfuncs_destroy = namespaced_function( libcloudfuncs_destroy, globals(), (conn,) ) log.debug('Loading Libcloud AWS cloud module') return __virtualname__
# Import netaddr IP matching try: from netaddr import all_matching_cidrs HAS_NETADDR = True except ImportError: HAS_NETADDR = False # Get logging started log = logging.getLogger(__name__) # Some of the libcloud functions need to be in the same namespace as the # functions defined in the module, so we create new function objects inside # this module namespace get_size = namespaced_function(get_size, globals()) get_image = namespaced_function(get_image, globals()) avail_locations = namespaced_function(avail_locations, globals()) script = namespaced_function(script, globals()) destroy = namespaced_function(destroy, globals()) reboot = namespaced_function(reboot, globals()) # Only load in this module is the OPENSTACK configurations are in place def __virtual__(): ''' Check for Nova configurations ''' if get_configured_provider() is False: log.debug( 'There is no Nova cloud provider configuration available. '
from salt.cloud.exceptions import SaltCloudSystemExit from salt.cloud.libcloudfuncs import * # pylint: disable-msg=W0614,W0401 from salt.cloud.utils import namespaced_function # Attempt to import softlayer lib try: import SoftLayer HAS_SLLIBS = True except ImportError: HAS_SLLIBS = False # Get logging started log = logging.getLogger(__name__) # Redirect SoftLayer functions to this module namespace script = namespaced_function(script, globals()) # Only load in this module if the SoftLayer configurations are in place def __virtual__(): ''' Set up the libcloud functions and check for SoftLayer configurations. ''' if not HAS_SLLIBS: log.debug( 'The SoftLayer Python Library needs to be installed in ordere to' 'use the SoftLayer salt.cloud module. See: ' 'https://pypi.python.org/pypi/SoftLayer') return False if get_configured_provider() is False:
def __virtual__(): ''' Set up the libcloud funcstions and check for AWS configs ''' try: # Import botocore import botocore.session except ImportError: # Botocore is not available, the Libcloud AWS module will be loaded # instead. log.debug( 'The \'botocore\' library is not installed. The libcloud AWS ' 'support will be loaded instead.') return False # "Patch" the imported libcloud_aws to have the current __opts__ libcloud_aws.__opts__ = __opts__ libcloudfuncs.__opts__ = __opts__ if get_configured_provider() is False: log.info('There is no AWS cloud provider configuration available. Not ' 'loading module') return False for provider, details in __opts__['providers'].iteritems(): if 'provider' not in details or details['provider'] != 'aws': continue if not os.path.exists(details['private_key']): raise SaltCloudException( 'The AWS key file {0!r} used in the {1!r} provider ' 'configuration does not exist\n'.format( details['private_key'], provider)) keymode = str( oct(stat.S_IMODE(os.stat(details['private_key']).st_mode))) if keymode not in ('0400', '0600'): raise SaltCloudException( 'The AWS key file {0!r} used in the {1!r} provider ' 'configuration needs to be set to mode 0400 or 0600\n'.format( details['private_key'], provider)) # Let's bring the functions imported from libcloud_aws to the current # namespace. keysdiff = set( POST_IMPORT_LOCALS_KEYS.keys()).difference(PRE_IMPORT_LOCALS_KEYS) for key in keysdiff: # only import callables that actually have __code__ (this includes # functions but excludes Exception classes) if (callable(POST_IMPORT_LOCALS_KEYS[key]) and hasattr(POST_IMPORT_LOCALS_KEYS[key], "__code__")): globals().update({ key: namespaced_function(POST_IMPORT_LOCALS_KEYS[key], globals(), ()) }) global avail_images, avail_sizes, avail_locations, script global list_nodes, list_nodes_full, list_nodes_select # open a connection in a specific region conn = get_conn(**{'location': get_location()}) # Init the libcloud functions avail_locations = namespaced_function(avail_locations, globals(), (conn, )) avail_images = namespaced_function(avail_images, globals(), (conn, )) avail_sizes = namespaced_function(avail_sizes, globals(), (conn, )) script = namespaced_function(script, globals(), (conn, )) list_nodes = namespaced_function(list_nodes, globals(), (conn, )) list_nodes_full = namespaced_function(list_nodes_full, globals(), (conn, )) list_nodes_select = namespaced_function(list_nodes_select, globals(), (conn, )) log.debug('Loading AWS botocore cloud module') return 'aws'
def __virtual__(): ''' Set up the libcloud funcstions and check for AWS configs ''' try: # Import botocore import botocore.session except ImportError: # Botocore is not available, the Libcloud AWS module will be loaded # instead. log.debug( 'The \'botocore\' library is not installed. The libcloud AWS ' 'support will be loaded instead.' ) return False # "Patch" the imported libcloud_aws to have the current __opts__ libcloud_aws.__opts__ = __opts__ libcloudfuncs.__opts__ = __opts__ if get_configured_provider() is False: log.info( 'There is no AWS cloud provider configuration available. Not ' 'loading module' ) return False for provider, details in __opts__['providers'].iteritems(): if 'provider' not in details or details['provider'] != 'aws': continue if not os.path.exists(details['private_key']): raise SaltCloudException( 'The AWS key file {0!r} used in the {1!r} provider ' 'configuration does not exist\n'.format( details['private_key'], provider ) ) keymode = str( oct(stat.S_IMODE(os.stat(details['private_key']).st_mode)) ) if keymode not in ('0400', '0600'): raise SaltCloudException( 'The AWS key file {0!r} used in the {1!r} provider ' 'configuration needs to be set to mode 0400 or 0600\n'.format( details['private_key'], provider ) ) # Let's bring the functions imported from libcloud_aws to the current # namespace. keysdiff = set(POST_IMPORT_LOCALS_KEYS.keys()).difference( PRE_IMPORT_LOCALS_KEYS ) for key in keysdiff: # only import callables that actually have __code__ (this includes # functions but excludes Exception classes) if (callable(POST_IMPORT_LOCALS_KEYS[key]) and hasattr(POST_IMPORT_LOCALS_KEYS[key], "__code__")): globals().update( { key: namespaced_function( POST_IMPORT_LOCALS_KEYS[key], globals(), () ) } ) global avail_images, avail_sizes, avail_locations, script global list_nodes, list_nodes_full, list_nodes_select # open a connection in a specific region conn = get_conn(**{'location': get_location()}) # Init the libcloud functions avail_locations = namespaced_function(avail_locations, globals(), (conn,)) avail_images = namespaced_function(avail_images, globals(), (conn,)) avail_sizes = namespaced_function(avail_sizes, globals(), (conn,)) script = namespaced_function(script, globals(), (conn,)) list_nodes = namespaced_function(list_nodes, globals(), (conn,)) list_nodes_full = namespaced_function(list_nodes_full, globals(), (conn,)) list_nodes_select = namespaced_function( list_nodes_select, globals(), (conn,) ) log.debug('Loading AWS botocore cloud module') return 'aws'