def main(): argument_spec = ovirt_info_full_argument_spec( pattern=dict(default='', required=False), all_content=dict(default=False, type='bool'), cluster_version=dict(default=None, type='str'), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) hosts_service = connection.system_service().hosts_service() hosts = hosts_service.list(search=module.params['pattern'], all_content=module.params['all_content']) cluster_version = module.params.get('cluster_version') if cluster_version is not None: hosts = get_filtered_hosts(cluster_version, hosts, connection) result = dict(ovirt_hosts=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in hosts ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec(pattern=dict( default='', required=False), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ('ovirt_template_facts', 'community.general.ovirt_template_facts') if is_old_facts: module.deprecate( "The 'ovirt_template_facts' module has been renamed to 'ovirt_template_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) templates_service = connection.system_service().templates_service() templates = templates_service.list(search=module.params['pattern']) result = dict(ovirt_templates=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in templates ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec() module = AnsibleModule(argument_spec) is_old_facts = module._name == 'ovirt_api_facts' if is_old_facts: module.deprecate("The 'ovirt_api_facts' module has been renamed to 'ovirt_api_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) api = connection.system_service().get() result = dict( ovirt_api=get_dict_of_struct( struct=api, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( max=dict(default=None, type='int'), name=dict(default=None), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) vnic_profiles_service = connection.system_service( ).vnic_profiles_service() vnic_profiles = vnic_profiles_service.list( max=module.params.get('max')) if module.params.get('name') and vnic_profiles: vnic_profiles = [ vnic_profile for vnic_profile in vnic_profiles if vnic_profile.name == module.params.get("name") ] result = dict(ovirt_vnic_profiles=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in vnic_profiles ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( filter_keys=dict(default=None, type='list'), name=dict(default=None, type='str'), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) operating_systems_service = connection.system_service( ).operating_systems_service() operating_systems = operating_systems_service.list() if module.params['name']: operating_systems = filter( lambda x: x.name == module.params['name'], operating_systems) result = dict(ovirt_operating_systems=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), filter_keys=module.params['filter_keys'], ) for c in operating_systems ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( name=dict(default=None), host=dict(default=None), vm=dict(default=None), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) affinity_labels_service = connection.system_service( ).affinity_labels_service() labels = [] all_labels = affinity_labels_service.list() if module.params['name']: labels.extend([ l for l in all_labels if fnmatch.fnmatch(l.name, module.params['name']) ]) if module.params['host']: hosts_service = connection.system_service().hosts_service() if search_by_name(hosts_service, module.params['host']) is None: raise Exception("Host '%s' was not found." % module.params['host']) labels.extend([ label for label in all_labels for host in connection.follow_link(label.hosts) if fnmatch.fnmatch( hosts_service.service(host.id).get().name, module.params['host']) ]) if module.params['vm']: vms_service = connection.system_service().vms_service() if search_by_name(vms_service, module.params['vm']) is None: raise Exception("Vm '%s' was not found." % module.params['vm']) labels.extend([ label for label in all_labels for vm in connection.follow_link(label.vms) if fnmatch.fnmatch( vms_service.service(vm.id).get().name, module.params['vm']) ]) if not (module.params['vm'] or module.params['host'] or module.params['name']): labels = all_labels result = dict(ovirt_affinity_labels=[ get_dict_of_struct( struct=l, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for l in labels ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( name=dict(default=None), version=dict(default=None), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) options_service = connection.system_service().options_service() option_service = options_service.option_service( module.params.get('name')) try: option = option_service.get(version=module.params.get('version')) except Exception as e: if str(e) == "HTTP response code is 404.": raise ValueError( "Could not find the option with name '{0}'".format( module.params.get('name'))) raise Exception("Unexpected error: '{0}'".format(e)) result = dict(ovirt_system_option=get_dict_of_struct( struct=option, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ), ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( pattern=dict(default='', required=False), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) clusters_service = connection.system_service().clusters_service() clusters = clusters_service.list(search=module.params['pattern']) result = dict( ovirt_clusters=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in clusters ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( authz_name=dict(required=True, aliases=['domain']), user_name=dict(default=None), group_name=dict(default=None), namespace=dict(default=None), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) permissions_service = _permissions_service(connection, module) permissions = [] for p in permissions_service.list(): newperm = dict() for key, value in p.__dict__.items(): if value and isinstance(value, sdk.Struct): newperm[key[1:]] = get_link_name(connection, value) newperm['%s_id' % key[1:]] = value.id permissions.append(newperm) result = dict(ovirt_permissions=permissions) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( id=dict(default=None), state=dict( choices=['present', 'absent'], default='present', ), name=dict(required=True), template=dict(default=None), cluster=dict(default=None), description=dict(default=None), vm=dict(default=None, type='dict'), comment=dict(default=None), vm_per_user=dict(default=None, type='int'), prestarted=dict(default=None, type='int'), vm_count=dict(default=None, type='int'), type=dict(default=None, choices=['automatic', 'manual']), ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, ) check_sdk(module) check_params(module) try: auth = module.params.pop('auth') connection = create_connection(auth) vm_pools_service = connection.system_service().vm_pools_service() vm_pools_module = VmPoolsModule( connection=connection, module=module, service=vm_pools_service, ) state = module.params['state'] if state == 'present': ret = vm_pools_module.create() # Wait for all VM pool VMs to be created: if module.params['wait']: vms_service = connection.system_service().vms_service() for vm in vms_service.list(search='pool=%s' % module.params['name']): wait( service=vms_service.service(vm.id), condition=lambda vm: vm.status in [otypes.VmStatus.DOWN, otypes.VmStatus.UP], timeout=module.params['timeout'], ) elif state == 'absent': ret = vm_pools_module.remove() module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( state=dict( choices=['present', 'absent'], default='present', ), id=dict(default=None), address=dict(default=None), path=dict(default=None), nfs_version=dict(default=None), nfs_timeout=dict(default=None, type='int'), nfs_retrans=dict(default=None, type='int'), mount_options=dict(default=None), password=dict(default=None, no_log=True), username=dict(default=None), port=dict(default=None, type='int'), target=dict(default=None), type=dict(default=None), vfs_type=dict(default=None), force=dict(type='bool', default=False), storage=dict(default=None), ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, ) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) storage_connections_service = connection.system_service( ).storage_connections_service() storage_connection_module = StorageConnectionModule( connection=connection, module=module, service=storage_connections_service, ) entity = None if module.params['id'] is None: entity = find_sc_by_attributes(module, storage_connections_service) state = module.params['state'] if state == 'present': ret = storage_connection_module.create( entity=entity, update_params={'force': True}, ) storage_connection_module.post_present(ret['id']) elif state == 'absent': storage_connection_module.pre_remove(module.params['id']) ret = storage_connection_module.remove(entity=entity) module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( host=dict(required=True), iscsi=dict(default=None, type='dict'), fcp=dict(default=None, type='dict'), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ('ovirt_host_storage_facts', 'community.general.ovirt_host_storage_facts') if is_old_facts: module.deprecate("The 'ovirt_host_storage_facts' module has been renamed to 'ovirt_host_storage_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) # Get Host hosts_service = connection.system_service().hosts_service() host_id = get_id_by_name(hosts_service, module.params['host']) storage_type = _get_storage_type(module.params) host_service = hosts_service.host_service(host_id) if storage_type == 'iscsi': # Login iscsi = module.params.get('iscsi') _login(host_service, iscsi) # Get LUNs exposed from the specified target host_storages = host_service.storage_service().list() if storage_type == 'iscsi': filterred_host_storages = [host_storage for host_storage in host_storages if host_storage.type == otypes.StorageType.ISCSI] if 'target' in iscsi: filterred_host_storages = [host_storage for host_storage in filterred_host_storages if iscsi.get('target') == host_storage.logical_units[0].target] elif storage_type == 'fcp': filterred_host_storages = [host_storage for host_storage in host_storages if host_storage.type == otypes.StorageType.FCP] result = dict( ovirt_host_storages=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in filterred_host_storages ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec(case_sensitive=dict( default=True, type='bool', required=False), from_=dict(default=None, type='int', required=False), max=dict(default=None, type='int', required=False), search=dict(default='', required=False), headers=dict(default='', required=False), query=dict(default='', required=False), wait=dict(default=True, type='bool', required=False)) module = AnsibleModule(argument_spec) is_old_facts = module._name in ('ovirt_event_facts', 'community.general.ovirt_event_facts') if is_old_facts: module.deprecate( "The 'ovirt_event_facts' module has been renamed to 'ovirt_event_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) events_service = connection.system_service().events_service() events = events_service.list( case_sensitive=module.params['case_sensitive'], from_=module.params['from_'], max=module.params['max'], search=module.params['search'], headers=module.params['headers'], query=module.params['query'], wait=module.params['wait']) result = dict(ovirt_events=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in events ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( name=dict(default=None, required=False), type=dict( default=None, required=True, choices=[ 'os_image', 'os_network', 'os_volume', 'foreman', ], aliases=['provider'], ), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ( 'ovirt_external_provider_facts', 'community.general.ovirt_external_provider_facts') if is_old_facts: module.deprecate( "The 'ovirt_external_provider_facts' module has been renamed to 'ovirt_external_provider_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) external_providers_service = _external_provider_service( provider_type=module.params.pop('type'), system_service=connection.system_service(), ) if module.params['name']: external_providers = [ e for e in external_providers_service.list() if fnmatch.fnmatch(e.name, module.params['name']) ] else: external_providers = external_providers_service.list() result = dict(ovirt_external_providers=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in external_providers ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( vm=dict(required=True), description=dict(default=None), snapshot_id=dict(default=None), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ('ovirt_snapshot_facts', 'community.general.ovirt_snapshot_facts') if is_old_facts: module.deprecate( "The 'ovirt_snapshot_facts' module has been renamed to 'ovirt_snapshot_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) vms_service = connection.system_service().vms_service() vm_name = module.params['vm'] vm = search_by_name(vms_service, vm_name) if vm is None: raise Exception("VM '%s' was not found." % vm_name) snapshots_service = vms_service.service(vm.id).snapshots_service() if module.params['description']: snapshots = [ e for e in snapshots_service.list() if fnmatch.fnmatch(e.description, module.params['description']) ] elif module.params['snapshot_id']: snapshots = [ snapshots_service.snapshot_service( module.params['snapshot_id']).get() ] else: snapshots = snapshots_service.list() result = dict(ovirt_snapshots=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in snapshots ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( state=dict( choices=['present', 'absent'], default='present', ), description=dict(default=None), severity=dict( choices=['error', 'normal', 'warning'], default='normal', ), origin=dict(default=None), custom_id=dict(default=None, type='int'), id=dict(default=None), cluster=dict(default=None), data_center=dict(default=None), host=dict(default=None), storage_domain=dict(default=None), template=dict(default=None), user=dict(default=None), vm=dict(default=None), ) module = AnsibleModule(argument_spec=argument_spec, supports_check_mode=True) check_sdk(module) # Wait must be set to false if state == absent if module.params['state'] == 'absent' and module.params[ 'wait'] is not False: module.fail_json( msg='When "state" is absent, "wait" must be set to false.') try: auth = module.params.pop('auth') connection = create_connection(auth) events_service = connection.system_service().events_service() events_module = EventsModule( connection=connection, module=module, service=events_service, ) state = module.params['state'] if state == 'present': ret = events_module.create() elif state == 'absent': ret = events_module.remove() module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( name=dict(default=None), host=dict(default=None), vm=dict(default=None), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) tags_service = connection.system_service().tags_service() tags = [] all_tags = tags_service.list() if module.params['name']: tags.extend([ t for t in all_tags if fnmatch.fnmatch(t.name, module.params['name']) ]) if module.params['host']: hosts_service = connection.system_service().hosts_service() host = search_by_name(hosts_service, module.params['host']) if host is None: raise Exception("Host '%s' was not found." % module.params['host']) tags.extend([ tag for tag in hosts_service.host_service(host.id).tags_service().list() ]) if module.params['vm']: vms_service = connection.system_service().vms_service() vm = search_by_name(vms_service, module.params['vm']) if vm is None: raise Exception("Vm '%s' was not found." % module.params['vm']) tags.extend([ tag for tag in vms_service.vm_service(vm.id).tags_service().list() ]) if not (module.params['vm'] or module.params['host'] or module.params['name']): tags = all_tags result = dict( ovirt_tags=[ get_dict_of_struct( struct=t, connection=connection, fetch_nested=module.params['fetch_nested'], attributes=module.params['nested_attributes'], ) for t in tags ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( pattern=dict(default='', required=False), all_content=dict(default=False, type='bool'), current_cd=dict(default=False, type='bool'), next_run=dict(default=None, type='bool'), case_sensitive=dict(default=True, type='bool'), max=dict(default=None, type='int'), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) vms_service = connection.system_service().vms_service() vms = vms_service.list( search=module.params['pattern'], all_content=module.params['all_content'], case_sensitive=module.params['case_sensitive'], max=module.params['max'], ) if module.params['next_run']: vms = [ vms_service.vm_service(vm.id).get(next_run=True) for vm in vms ] result = dict(ovirt_vms=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in vms ], ) for i, vm in enumerate(result['ovirt_vms']): if module.params['current_cd']: vm_service = vms_service.vm_service(vm['id']) cdroms_service = vm_service.cdroms_service() cdrom_device = cdroms_service.list()[0] cdrom_service = cdroms_service.cdrom_service(cdrom_device.id) result['ovirt_vms'][i]['current_cd'] = get_dict_of_struct( struct=cdrom_service.get(current=True), connection=connection, ) else: result['ovirt_vms'][i]['current_cd'] = {} module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( host=dict(required=True), iscsi=dict(default=None, type='dict'), fcp=dict(default=None, type='dict'), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) # Get Host hosts_service = connection.system_service().hosts_service() host_id = get_id_by_name(hosts_service, module.params['host']) host_service = hosts_service.host_service(host_id) if module.params.get('iscsi'): # Login _login(host_service, module.params.get('iscsi')) # Get LUNs exposed from the specified target host_storages = host_service.storage_service().list() if module.params.get('iscsi') is not None: host_storages = list( filter(lambda x: x.type == otypes.StorageType.ISCSI, host_storages)) if 'target' in module.params.get('iscsi'): host_storages = list( filter( lambda x: module.params.get('iscsi').get('target') == x .logical_units[0].target, host_storages)) elif module.params.get('fcp') is not None: host_storages = list( filter(lambda x: x.type == otypes.StorageType.FCP, host_storages)) result = dict(ovirt_host_storages=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in host_storages ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( data_center=dict(required=True), name=dict(default=None), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ('ovirt_quota_facts', 'community.general.ovirt_quota_facts') if is_old_facts: module.deprecate( "The 'ovirt_quota_facts' module has been renamed to 'ovirt_quota_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) datacenters_service = connection.system_service().data_centers_service( ) dc_name = module.params['data_center'] dc = search_by_name(datacenters_service, dc_name) if dc is None: raise Exception("Datacenter '%s' was not found." % dc_name) quotas_service = datacenters_service.service(dc.id).quotas_service() if module.params['name']: quotas = [ e for e in quotas_service.list() if fnmatch.fnmatch(e.name, module.params['name']) ] else: quotas = quotas_service.list() result = dict(ovirt_quotas=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in quotas ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( state=dict(type='str', default='present', choices=['absent', 'present']), network=dict(type='str', required=True), data_center=dict(type='str', required=True), description=dict(type='str'), name=dict(type='str', required=True), network_filter=dict(type='str'), custom_properties=dict(type='list'), qos=dict(type='str'), pass_through=dict(type='str', choices=['disabled', 'enabled']), port_mirroring=dict(type='bool'), migratable=dict(type='bool'), ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, ) check_sdk(module) check_params(module) try: auth = module.params.pop('auth') connection = create_connection(auth) vnic_services = connection.system_service().vnic_profiles_service() entitynics_module = EntityVnicPorfileModule( connection=connection, module=module, service=vnic_services, ) state = module.params['state'] entity = get_entity(vnic_services, entitynics_module) if state == 'present': ret = entitynics_module.create(entity=entity, force_create=entity is None) elif state == 'absent': if entity is not None: ret = entitynics_module.remove(entity=entity) else: raise Exception( "Vnic profile '%s' in network '%s' was not found." % (module.params['name'], module.params['network'])) module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( storage_domain=dict(default=None), max=dict(default=None, type='int'), unregistered=dict(default=False, type='bool'), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ( 'ovirt_storage_template_facts', 'community.general.ovirt_storage_template_facts') if is_old_facts: module.deprecate( "The 'ovirt_storage_template_facts' module has been renamed to 'ovirt_storage_template_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) storage_domains_service = connection.system_service( ).storage_domains_service() sd_id = get_id_by_name(storage_domains_service, module.params['storage_domain']) storage_domain_service = storage_domains_service.storage_domain_service( sd_id) templates_service = storage_domain_service.templates_service() # Find the unregistered Template we want to register: if module.params.get('unregistered'): templates = templates_service.list(unregistered=True) else: templates = templates_service.list(max=module.params['max']) result = dict(ovirt_storage_templates=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in templates ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( id=dict(default=None), name=dict(default=None), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ( 'ovirt_scheduling_policy_facts', 'community.general.ovirt_scheduling_policy_facts') if is_old_facts: module.deprecate( "The 'ovirt_scheduling_policy_facts' module has been renamed to 'ovirt_scheduling_policy_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) system_service = connection.system_service() sched_policies_service = system_service.scheduling_policies_service() if module.params['name']: sched_policies = [ e for e in sched_policies_service.list() if fnmatch.fnmatch(e.name, module.params['name']) ] elif module.params['id']: sched_policies = [ sched_policies_service.service(module.params['id']).get() ] else: sched_policies = sched_policies_service.list() result = dict(ovirt_scheduling_policies=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in sched_policies ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( vm=dict(default=None), template=dict(default=None), name=dict(default=None), ) module = AnsibleModule( argument_spec, required_one_of=[['vm', 'template']], ) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) if module.params.get('vm'): # Locate the VM, where we will manage NICs: entity_name = module.params.get('vm') collection_service = connection.system_service().vms_service() elif module.params.get('template'): entity_name = module.params.get('template') collection_service = connection.system_service().templates_service( ) entity = search_by_name(collection_service, entity_name) if entity is None: raise Exception("VM/Template '%s' was not found." % entity_name) nics_service = collection_service.service(entity.id).nics_service() if module.params['name']: nics = [ e for e in nics_service.list() if fnmatch.fnmatch(e.name, module.params['name']) ] else: nics = nics_service.list() result = dict(ovirt_nics=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in nics ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( pattern=dict(default='', required=False), all_content=dict(default=False, type='bool'), next_run=dict(default=None, type='bool'), case_sensitive=dict(default=True, type='bool'), max=dict(default=None, type='int'), ) module = AnsibleModule(argument_spec) is_old_facts = module._name in ('ovirt_vm_facts', 'community.general.ovirt_vm_facts') if is_old_facts: module.deprecate( "The 'ovirt_vm_facts' module has been renamed to 'ovirt_vm_info', " "and the renamed one no longer returns ansible_facts", version='2.13') check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) vms_service = connection.system_service().vms_service() vms = vms_service.list( search=module.params['pattern'], all_content=module.params['all_content'], case_sensitive=module.params['case_sensitive'], max=module.params['max'], ) if module.params['next_run']: vms = [ vms_service.vm_service(vm.id).get(next_run=True) for vm in vms ] result = dict(ovirt_vms=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in vms ], ) if is_old_facts: module.exit_json(changed=False, ansible_facts=result) else: module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( state=dict( choices=['present', 'absent'], default='present', ), name=dict(required=True), authz_name=dict(required=True, aliases=['domain']), namespace=dict(default=None), ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, ) check_sdk(module) check_params(module) try: auth = module.params.pop('auth') connection = create_connection(auth) users_service = connection.system_service().users_service() users_module = UsersModule( connection=connection, module=module, service=users_service, ) state = module.params['state'] if state == 'present': ret = users_module.create( search_params={ 'usrname': username(module), } ) elif state == 'absent': ret = users_module.remove( search_params={ 'usrname': username(module), } ) module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec(case_sensitive=dict( default=True, type='bool', required=False), from_=dict(default=None, type='int', required=False), max=dict(default=None, type='int', required=False), search=dict(default='', required=False), headers=dict(default='', required=False), query=dict(default='', required=False), wait=dict(default=True, type='bool', required=False)) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) events_service = connection.system_service().events_service() events = events_service.list( case_sensitive=module.params['case_sensitive'], from_=module.params['from_'], max=module.params['max'], search=module.params['search'], headers=module.params['headers'], query=module.params['query'], wait=module.params['wait']) result = dict(ovirt_events=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in events ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( state=dict( choices=['present', 'absent'], default='present', ), name=dict(default=None, required=True), description=dict(default=None), local=dict(type='bool'), id=dict(default=None), compatibility_version=dict(default=None), quota_mode=dict(choices=['disabled', 'audit', 'enabled']), comment=dict(default=None), mac_pool=dict(default=None), force=dict(default=None, type='bool'), ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, ) check_sdk(module) check_params(module) try: auth = module.params.pop('auth') connection = create_connection(auth) data_centers_service = connection.system_service( ).data_centers_service() data_centers_module = DatacentersModule( connection=connection, module=module, service=data_centers_service, ) state = module.params['state'] if state == 'present': ret = data_centers_module.create() elif state == 'absent': ret = data_centers_module.remove(force=module.params['force']) module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_info_full_argument_spec( name=dict(default=None, required=False), type=dict( required=True, choices=[ 'os_image', 'os_network', 'os_volume', 'foreman', ], aliases=['provider'], ), ) module = AnsibleModule(argument_spec) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) external_providers_service = _external_provider_service( provider_type=module.params.pop('type'), system_service=connection.system_service(), ) if module.params['name']: external_providers = [ e for e in external_providers_service.list() if fnmatch.fnmatch(e.name, module.params['name']) ] else: external_providers = external_providers_service.list() result = dict(ovirt_external_providers=[ get_dict_of_struct( struct=c, connection=connection, fetch_nested=module.params.get('fetch_nested'), attributes=module.params.get('nested_attributes'), ) for c in external_providers ], ) module.exit_json(changed=False, **result) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)
def main(): argument_spec = ovirt_full_argument_spec( state=dict( choices=['present', 'absent'], default='present', ), cluster=dict(default=None), name=dict(default=None, required=True), vms=dict(default=None, type='list'), hosts=dict(default=None, type='list'), ) module = AnsibleModule( argument_spec=argument_spec, supports_check_mode=True, required_if=[ ('state', 'present', ['cluster']), ], ) check_sdk(module) try: auth = module.params.pop('auth') connection = create_connection(auth) affinity_labels_service = connection.system_service( ).affinity_labels_service() affinity_labels_module = AffinityLabelsModule( connection=connection, module=module, service=affinity_labels_service, ) state = module.params['state'] if state == 'present': ret = affinity_labels_module.create() elif state == 'absent': ret = affinity_labels_module.remove() module.exit_json(**ret) except Exception as e: module.fail_json(msg=str(e), exception=traceback.format_exc()) finally: connection.close(logout=auth.get('token') is None)