%PDF- %PDF-
Direktori : /usr/lib/python2.7/site-packages/salt/states/ |
Current File : //usr/lib/python2.7/site-packages/salt/states/glance_image.py |
# -*- coding: utf-8 -*- ''' Management of OpenStack Glance Images ======================================== .. versionadded:: 2018.3.0 :depends: shade :configuration: see :py:mod:`salt.modules.glanceng` for setup instructions Example States .. code-block:: yaml create image: glance_image.present: - name: cirros - filename: cirros.raw - image_format: raw delete image: glance_image.absent: - name: cirros ''' from __future__ import absolute_import, unicode_literals, print_function __virtualname__ = 'glance_image' def __virtual__(): if 'glanceng.image_get' in __salt__: return __virtualname__ return (False, 'The glanceng execution module failed to load: shade python module is not available') def present(name, auth=None, **kwargs): ''' Ensure image exists and is up-to-date name Name of the image enabled Boolean to control if image is enabled description An arbitrary description of the image ''' ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''} kwargs = __utils__['args.clean_kwargs'](**kwargs) __salt__['glanceng.setup_clouds'](auth) image = __salt__['glanceng.image_get'](name=name) if not image: if __opts__['test']: ret['result'] = None ret['changes'] = kwargs ret['comment'] = 'Image {} will be created.'.format(name) return ret kwargs['name'] = name image = __salt__['glanceng.image_create'](**kwargs) ret['changes'] = image ret['comment'] = 'Created image' return ret # TODO(SamYaple): Compare and update image properties here return ret def absent(name, auth=None): ''' Ensure image does not exist name Name of the image ''' ret = {'name': name, 'changes': {}, 'result': True, 'comment': ''} __salt__['glanceng.setup_clouds'](auth) image = __salt__['glanceng.image_get'](name=name) if image: if __opts__['test']: ret['result'] = None ret['changes'] = {'name': name} ret['comment'] = 'Image {} will be deleted.'.format(name) return ret __salt__['glanceng.image_delete'](name=image) ret['changes']['id'] = image.id ret['comment'] = 'Deleted image' return ret