def run(self): org_name = self.get_option("org") env_name = self.get_option("environment") sys_name = self.get_option("name") sys_uuid = self.get_option("uuid") keyname = self.get_option("keyname") new_value = self.get_option("value") system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.update_custom_info("system", system["id"], keyname, new_value) ident = sys_uuid if sys_uuid else sys_name if response is not None: print _("Successfully updated Custom Information [ %(keyname)s ] for System [ %(ident)s ]") % { "keyname": keyname, "ident": ident, } else: print _("Could not update Custom Information [ %(keyname)s ] for System [ %(ident)s ]") % { "keyname": keyname, "ident": ident, }
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') install = self.get_option('install') remove = self.get_option('remove') update = self.get_option('update') install_groups = self.get_option('install_groups') remove_groups = self.get_option('remove_groups') task = None if env_name is None: self.printer.set_header(_("Package Information for System [ %(sys_name)s ] in Org [ %(org_name)s ]") \ % {'sys_name':sys_name, 'org_name':org_name}) else: self.printer.set_header(_("Package Information for System [ %(sys_name)s ] " \ "in Environment [ %(env_name)s ] in Org [ %(org_name)s ]") % \ {'sys_name':sys_name, 'env_name':env_name, 'org_name':org_name}) system = get_system(org_name, sys_name, env_name, sys_uuid) system_id = system['uuid'] if install: task = self.api.install_packages(system_id, install) if remove: task = self.api.remove_packages(system_id, remove) if update: if update == '--all': update_packages = [] else: update_packages = update task = self.api.update_packages(system_id, update_packages) if install_groups: task = self.api.install_package_groups(system_id, install_groups) if remove_groups: task = self.api.remove_package_groups(system_id, remove_groups) if task: uuid = task["uuid"] print (_("Performing remote action [ %s ]... ") % uuid) task = SystemAsyncTask(task) run_spinner_in_bg(wait_for_async_task, [task]) return evaluate_remote_action(task) packages = self.api.packages(system_id) batch_add_columns(self.printer, {'name': _("Name")}, {'vendor': _("Vendor")}, \ {'version': _("Version")}, {'release': _("Release")}, {'arch': _("Arch")}, \ show_with=printer.VerboseStrategy) self.printer.add_column('name_version_release_arch', _("Name_Version_Release_Arch"), \ show_with=printer.GrepStrategy, \ item_formatter=lambda p: "%s-%s-%s.%s" % (p['name'], p['version'], p['release'], p['arch'])) self.printer.print_items(packages) return os.EX_OK
def run(self): org_name = self.get_option("org") env_name = self.get_option("environment") sys_name = self.get_option("name") sys_uuid = self.get_option("uuid") if env_name is None: self.printer.set_header( _("System Facts For System [ %s ] in Org [ %s ]") % (sys_name if sys_name else sys_uuid, org_name) ) else: self.printer.set_header( _("System Facts For System [ %s ] in Environment [ %s ] in Org [ %s ]") % (sys_name, env_name, org_name) ) system = get_system(org_name, sys_name, env_name, sys_uuid) facts_hash = system["facts"] facts_tuples_sorted = [(k, facts_hash[k]) for k in sorted(facts_hash.keys())] for k, v in facts_tuples_sorted: self.printer.add_column(k) system[k] = v self.printer.print_item(system) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') new_name = self.get_option('new_name') new_description = self.get_option('description') new_location = self.get_option('location') new_release = self.get_option('release') new_sla = self.get_option('sla') system = get_system(org_name, sys_name, env_name) system_uuid = system['uuid'] updates = {} if new_name: updates['name'] = new_name if new_description: updates['description'] = new_description if new_location: updates['location'] = new_location if new_release: updates['releaseVer'] = new_release if new_sla: updates['serviceLevel'] = new_sla response = self.api.update(system_uuid, updates) test_record(response, _("Successfully updated system [ %s ]") % system['name'], _("Could not update system [ %s ]") % system['name'])
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') install = self.get_option('install') remove = self.get_option('remove') update = self.get_option('update') install_groups = self.get_option('install_groups') remove_groups = self.get_option('remove_groups') task = None if env_name is None: self.printer.set_header(_("Package Information for System [ %(sys_name)s ] in Org [ %(org_name)s ]") \ % {'sys_name':sys_name, 'org_name':org_name}) else: self.printer.set_header(_("Package Information for System [ %(sys_name)s ] " \ "in Environment [ %(env_name)s ] in Org [ %(org_name)s ]") % \ {'sys_name':sys_name, 'env_name':env_name, 'org_name':org_name}) system = get_system(org_name, sys_name, env_name, sys_uuid) system_id = system['uuid'] if install: task = self.api.install_packages(system_id, install) if remove: task = self.api.remove_packages(system_id, remove) if update: if update == '--all': update_packages = [] else: update_packages = update task = self.api.update_packages(system_id, update_packages) if install_groups: task = self.api.install_package_groups(system_id, install_groups) if remove_groups: task = self.api.remove_package_groups(system_id, remove_groups) if task: uuid = task["uuid"] print(_("Performing remote action [ %s ]... ") % uuid) task = SystemAsyncTask(task) run_spinner_in_bg(wait_for_async_task, [task]) return evaluate_remote_action(task) packages = self.api.packages(system_id) batch_add_columns(self.printer, {'name': _("Name")}, {'vendor': _("Vendor")}, \ {'version': _("Version")}, {'release': _("Release")}, {'arch': _("Arch")}, \ show_with=printer.VerboseStrategy) self.printer.add_column('name_version_release_arch', _("Name_Version_Release_Arch"), \ show_with=printer.GrepStrategy, \ item_formatter=lambda p: "%s-%s-%s.%s" % (p['name'], p['version'], p['release'], p['arch'])) self.printer.print_items(packages) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') if env_name is None: self.printer.set_header(_("System Facts For System [ %(sys_name)s ] in Org [ %(org_name)s ]") % \ {'sys_name':sys_name if sys_name else sys_uuid, 'org_name':org_name}) else: self.printer.set_header(_("System Facts For System [ %(sys_name)s ] " \ "in Environment [ %(env_name)s ] in Org [ %(org_name)s ]") % \ {'sys_name':sys_name, 'env_name':env_name, 'org_name':org_name}) system = get_system(org_name, sys_name, env_name, sys_uuid) facts_hash = system['facts'] facts_tuples_sorted = [(k, facts_hash[k]) for k in sorted(facts_hash.keys())] for k, v in facts_tuples_sorted: self.printer.add_column(k) system[k] = v self.printer.print_item(system) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') new_name = self.get_option('new_name') new_description = self.get_option('description') new_location = self.get_option('location') new_release = self.get_option('release') new_sla = self.get_option('sla') system = get_system(org_name, sys_name, env_name) system_uuid = system['uuid'] updates = {} if new_name: updates['name'] = new_name if new_description: updates['description'] = new_description if new_location: updates['location'] = new_location if new_release: updates['releaseVer'] = new_release if new_sla: updates['serviceLevel'] = new_sla response = self.api.update(system_uuid, updates) test_record(response, _("Successfully updated system [ %s ]") % system['name'], _("Could not update system [ %s ]") % system['name'] )
def run(self): name = self.get_option('name') org = self.get_option('org') pool = self.get_option('pool') qty = self.get_option('quantity') or 1 system = get_system(org, name) self.api.subscribe(system['uuid'], pool, qty) print _("Successfully subscribed System [ %s ]") % name return os.EX_OK
def run(self): name = self.get_option("name") org = self.get_option("org") pool = self.get_option("pool") qty = self.get_option("quantity") or 1 sys_uuid = self.get_option("uuid") system = get_system(org, name, sys_uuid=sys_uuid) self.api.subscribe(system["uuid"], pool, qty) print _("Successfully subscribed System [ %s ]") % name return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') if sys_uuid: self.printer.set_header(_("System Information [ %s ]") % sys_uuid) elif env_name is None: self.printer.set_header(_("System Information For Org [ %s ]") % org_name) else: self.printer.set_header(_("System Information For Environment [ %(env_name)s ] in Org [ %(org_name)s ]") \ % {'env_name':env_name, 'org_name':org_name}) # get system details system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() custom_info = custom_info_api.get_custom_info("system", system['id']) system['custom_info'] = stringify_custom_info(custom_info) system["activation_keys"] = "[ "+ ", ".join([ak["name"] for ak in system["activation_key"]]) +" ]" if 'host' in system: system['host'] = system['host']['name'] if 'guests' in system: system["guests"] = "[ "+ ", ".join([guest["name"] for guest in system["guests"]]) +" ]" if 'environment' in system: system['environment'] = system['environment']['name'] if 'content_view' in system: system['content_view'] = "[ %s ]" % system['content_view']['name'] batch_add_columns(self.printer, {'name': _("Name")}, {'ipv4_address': _("IPv4 Address")}, \ {'uuid': _("UUID")}, {'environment': _("Environment")}, {'location': _("Location")}) self.printer.add_column('created_at', _("Registered"), formatter=format_date) self.printer.add_column('updated_at', _("Last Updated"), formatter=format_date) self.printer.add_column('description', _("Description"), multiline=True) if 'release' in system and system['release']: self.printer.add_column('release', _("OS Release")) self.printer.add_column('activation_keys', _("Activation Keys"), multiline=True, \ show_with=printer.VerboseStrategy) self.printer.add_column('host', _("Host"), show_with=printer.VerboseStrategy) self.printer.add_column('sockets', _("Sockets")) self.printer.add_column('ram', _("RAM (MB)")) self.printer.add_column('serviceLevel', _("Service Level")) self.printer.add_column('guests', _("Guests"), show_with=printer.VerboseStrategy) self.printer.add_column('custom_info', _("Custom Info"), multiline=True, show_with=printer.VerboseStrategy) self.printer.add_column('content_view', _("Content View")) self.printer.print_item(system) return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') env_name = self.get_option('environment') try: system = get_system(org, name, env_name) except ServerRequestError, e: if e[0] == 404: return os.EX_DATAERR else: raise e
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') if env_name is None: self.printer.set_header( _("System Information For Org [ %s ]") % org_name) else: self.printer.set_header( _("System Information For Environment [ %s ] in Org [ %s ]") % (env_name, org_name)) # get system details system = get_system(org_name, sys_name, env_name) for akey in system['activation_key']: system["activation_keys"] = "[ " + ", ".join( [akey["name"] for pool in akey["pools"]]) + " ]" if 'host' in system: system['host'] = system['host']['name'] if 'guests' in system: system["guests"] = "[ " + ", ".join( [guest["name"] for guest in system["guests"]]) + " ]" self.printer.add_column('name') self.printer.add_column('ipv4_address') self.printer.add_column('uuid') self.printer.add_column('location') self.printer.add_column('created_at', 'Registered', formatter=format_date) self.printer.add_column('updated_at', 'Last updated', formatter=format_date) self.printer.add_column('description', multiline=True) if 'releaseVer' in system and system['releaseVer']: self.printer.add_column('releaseVer', 'OS release') self.printer.add_column('activation_keys', multiline=True, show_with=printer.VerboseStrategy) self.printer.add_column('host', show_with=printer.VerboseStrategy) self.printer.add_column('serviceLevel', _('Service Level')) self.printer.add_column('guests', show_with=printer.VerboseStrategy) if "template" in system: self.printer.add_column('template', show_with=printer.VerboseStrategy, value=system["template"]["name"]) self.printer.print_item(system) return os.EX_OK
def run(self): name = self.get_option("name") org = self.get_option("org") env_name = self.get_option("environment") sys_uuid = self.get_option("uuid") try: system = get_system(org, name, env_name, sys_uuid) except ServerRequestError, e: if e[0] == 404: return os.EX_DATAERR else: raise
def run(self): name = self.get_option('name') org = self.get_option('org') pool = self.get_option('pool') qty = self.get_option('quantity') or 1 sys_uuid = self.get_option('uuid') display_name = name or sys_uuid system = get_system(org, name, sys_uuid = sys_uuid) self.api.subscribe(system['uuid'], pool, qty) print _("Successfully attached subscription to System [ %s ]") % display_name return os.EX_OK
def run(self): name = self.get_option("name") org = self.get_option("org") pool = self.get_option("pool") qty = self.get_option("quantity") or 1 sys_uuid = self.get_option("uuid") display_name = name or sys_uuid system = get_system(org, name, sys_uuid=sys_uuid) self.api.subscribe(system["uuid"], pool, qty) print _("Successfully attached subscription to System [ %s ]") % display_name return os.EX_OK
def run(self): systemApi = SystemAPI() org_name = self.get_option('org') sys_name = self.get_option('name') system = get_system(org_name, sys_name) errata = systemApi.errata(system["uuid"]) batch_add_columns(self.printer, 'id', 'title', 'type') self.printer.set_header(_("Errata for system %s in organization %s") % (sys_name, org_name)) self.printer.print_items(errata) return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') pool = self.get_option('pool') qty = self.get_option('quantity') or 1 sys_uuid = self.get_option('uuid') display_name = name or sys_uuid system = get_system(org, name, sys_uuid=sys_uuid) self.api.subscribe(system['uuid'], pool, qty) print _("Successfully attached subscription to System [ %s ]" ) % display_name return os.EX_OK
def run(self): systemApi = SystemAPI() org_name = self.get_option('org') sys_name = self.get_option('name') system = get_system(org_name, sys_name) errata = systemApi.errata(system["uuid"]) batch_add_columns(self.printer, {'errata_id': _("ID")}, {'title': _("Title")}, {'type': _("Type")}) self.printer.set_header(_("Errata for system %(sys_name)s in organization %(org_name)s") % {'sys_name':sys_name, 'org_name':org_name}) self.printer.print_items(errata) return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') env_name = self.get_option('environment') sys_uuid = self.get_option('uuid') display_name = name or sys_uuid try: system = get_system(org, name, env_name, sys_uuid) except ServerRequestError, e: if e[0] == 404: return os.EX_DATAERR else: raise
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') if sys_uuid: self.printer.set_header(_("System Information [ %s ]") % sys_uuid) elif env_name is None: self.printer.set_header(_("System Information For Org [ %s ]") % org_name) else: self.printer.set_header(_("System Information For Environment [ %s ] in Org [ %s ]") % (env_name, org_name)) # get system details system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() custom_info = custom_info_api.get_custom_info("system", system['id']) system['custom_info'] = "[ %s ]" % ", ".join(["%s: [ %s ]" % (k, ", ".join(custom_info[k])) \ for k in custom_info.keys()]) system["activation_keys"] = "[ "+ ", ".join([ak["name"] for ak in system["activation_key"]]) +" ]" if 'host' in system: system['host'] = system['host']['name'] if 'guests' in system: system["guests"] = "[ "+ ", ".join([guest["name"] for guest in system["guests"]]) +" ]" self.printer.add_column('name') self.printer.add_column('ipv4_address') self.printer.add_column('uuid') self.printer.add_column('location') self.printer.add_column('created_at', 'Registered', formatter=format_date) self.printer.add_column('updated_at', 'Last updated', formatter=format_date) self.printer.add_column('description', multiline=True) if 'releaseVer' in system and system['releaseVer']: self.printer.add_column('releaseVer', 'OS release') self.printer.add_column('activation_keys', multiline=True, show_with=printer.VerboseStrategy) self.printer.add_column('host', show_with=printer.VerboseStrategy) self.printer.add_column('serviceLevel', _('Service Level')) self.printer.add_column('guests', show_with=printer.VerboseStrategy) if "template" in system: self.printer.add_column('template', show_with=printer.VerboseStrategy, value=system["template"]["name"]) self.printer.add_column('custom_info', multiline=True, show_with=printer.VerboseStrategy) self.printer.print_item(system) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') new_name = self.get_option('new_name') new_environment_name = self.get_option('new_environment') new_description = self.get_option('description') new_location = self.get_option('location') new_release = self.get_option('release') new_sla = self.get_option('sla') sys_uuid = self.get_option('uuid') view_name = self.get_option("view_name") view_label = self.get_option("view_label") view_id = self.get_option("view_id") remove_view = self.get_option("remove_view") system = get_system(org_name, sys_name, env_name, sys_uuid) new_environment = get_environment(org_name, new_environment_name) updates = {} if new_name: updates['name'] = new_name if new_description: updates['description'] = new_description if new_location: updates['location'] = new_location if new_release: updates['releaseVer'] = new_release if new_sla: updates['serviceLevel'] = new_sla if new_environment_name: new_environment = get_environment(org_name, new_environment_name) updates['environment_id'] = new_environment['id'] if remove_view: updates["content_view_id"] = False elif view_label or view_name or view_id: updates["content_view_id"] = get_content_view(org_name, view_label, view_name, view_id)["id"] response = self.api.update(system['uuid'], updates) test_record(response, _("Successfully updated system [ %s ]") % system['name'], _("Could not update system [ %s ]") % system['name'] )
def run(self): systemApi = SystemAPI() org_name = self.get_option("org") sys_name = self.get_option("name") system = get_system(org_name, sys_name) errata = systemApi.errata(system["uuid"]) batch_add_columns(self.printer, {"id": _("ID")}, {"title": _("Title")}, {"type": _("Type")}) self.printer.set_header( _("Errata for system %(sys_name)s in organization %(org_name)s") % {"sys_name": sys_name, "org_name": org_name} ) self.printer.print_items(errata) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') new_name = self.get_option('new_name') new_environment_name = self.get_option('new_environment') new_description = self.get_option('description') new_location = self.get_option('location') new_release = self.get_option('release') new_sla = self.get_option('sla') sys_uuid = self.get_option('uuid') view_name = self.get_option("view_name") view_label = self.get_option("view_label") view_id = self.get_option("view_id") remove_view = self.get_option("remove_view") system = get_system(org_name, sys_name, env_name, sys_uuid) new_environment = get_environment(org_name, new_environment_name) updates = {} if new_name: updates['name'] = new_name if new_description: updates['description'] = new_description if new_location: updates['location'] = new_location if new_release: updates['releaseVer'] = new_release if new_sla is not None: updates['serviceLevel'] = new_sla if new_environment_name: new_environment = get_environment(org_name, new_environment_name) updates['environment_id'] = new_environment['id'] if remove_view: updates["content_view_id"] = False elif view_label or view_name or view_id: updates["content_view_id"] = get_content_view( org_name, view_label, view_name, view_id)["id"] response = self.api.update(system['uuid'], updates) test_record(response, _("Successfully updated system [ %s ]") % system['name'], _("Could not update system [ %s ]") % system['name'])
def run(self): org_name = self.get_option("org") env_name = self.get_option("environment") sys_name = self.get_option("name") sys_uuid = self.get_option("uuid") if sys_uuid: self.printer.set_header(_("System Information [ %s ]") % sys_uuid) elif env_name is None: self.printer.set_header(_("System Information For Org [ %s ]") % org_name) else: self.printer.set_header(_("System Information For Environment [ %s ] in Org [ %s ]") % (env_name, org_name)) # get system details system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() custom_info = custom_info_api.get_custom_info("system", system["id"]) system["custom_info"] = stringify_custom_info(custom_info) system["activation_keys"] = "[ " + ", ".join([ak["name"] for ak in system["activation_key"]]) + " ]" if "host" in system: system["host"] = system["host"]["name"] if "guests" in system: system["guests"] = "[ " + ", ".join([guest["name"] for guest in system["guests"]]) + " ]" batch_add_columns(self.printer, "name", "ipv4_address", "uuid", "location") self.printer.add_column("created_at", _("Registered"), formatter=format_date) self.printer.add_column("updated_at", _("Last updated"), formatter=format_date) self.printer.add_column("description", multiline=True) if "release" in system and system["release"]: self.printer.add_column("release", _("OS release")) self.printer.add_column("activation_keys", multiline=True, show_with=printer.VerboseStrategy) self.printer.add_column("host", show_with=printer.VerboseStrategy) self.printer.add_column("sockets") self.printer.add_column("ram", _("RAM (MB)")) self.printer.add_column("serviceLevel", _("Service Level")) self.printer.add_column("guests", show_with=printer.VerboseStrategy) if "template" in system: self.printer.add_column("template", show_with=printer.VerboseStrategy, value=system["template"]["name"]) self.printer.add_column("custom_info", multiline=True, show_with=printer.VerboseStrategy) self.printer.print_item(system) return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') entitlement = self.get_option('entitlement') serial = self.get_option('serial') all_entitlements = self.get_option('all') system = get_system(org, name) if all_entitlements: #unsubscribe from all self.api.unsubscribe_all(system['uuid']) elif serial: # unsubscribe from cert self.api.unsubscribe_by_serial(system['uuid'], serial) elif entitlement: # unsubscribe from entitlement self.api.unsubscribe(system['uuid'], entitlement) print _("Successfully unsubscribed System [ %s ]") % name return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.remove_custom_info("system", system['id'], keyname) ident = sys_uuid if sys_uuid else sys_name if len(response) == 0: print _("Successfully removed Custom Information from System [ %s ]") % ident else: print _("Could not remove Custom Information from System [ %s ]") % ident
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.remove_custom_info("system", system['id'], keyname) ident = sys_uuid if sys_uuid else sys_name if response is not None: print _("Successfully removed Custom Information from System [ %s ]") % ident else: print _("Could not remove Custom Information from System [ %s ]") % ident
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') if sys_name: system = get_system(org_name, sys_name) releases = self.api.releases_for_system(system["uuid"])["releases"] else: environment = get_environment(org_name, env_name) releases = self.api.releases_for_environment(environment['id'])["releases"] releases = [{"value": r} for r in releases] self.printer.set_header(_("Available releases")) self.printer.add_column('value') self.printer.print_items(releases) return os.EX_OK
def run(self): org_name = self.get_option("org") env_name = self.get_option("environment") sys_name = self.get_option("name") sys_uuid = self.get_option("uuid") keyname = self.get_option("keyname") system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.remove_custom_info("system", system["id"], keyname) ident = sys_uuid if sys_uuid else sys_name if response is not None: print _("Successfully removed Custom Information from System [ %s ]") % ident else: print _("Could not remove Custom Information from System [ %s ]") % ident
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') new_value = self.get_option('value') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.update_custom_info("system", system['id'], keyname, new_value) ident = sys_uuid if sys_uuid else sys_name test_record(response, _("Successfully updated Custom Information [ %s ] for System [ %s ]") % (keyname, ident), _("Could not update Custom Information [ %s ] for System [ %s ]") % (keyname, ident) )
def run(self): org_name = self.get_option('org') env_name = self.get_option("environment") sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') value = self.get_option('value') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.add_custom_info("system", system['id'], keyname, value) ident = sys_uuid if sys_uuid else sys_name test_record(response, _("Successfully added Custom Information [ %s : %s ] to System [ %s ]") % (keyname, value, ident), _("Could not add Custom Information [ %s : %s ] to System [ %s ]") % (keyname, value, ident) )
def run(self): name = self.get_option("name") org = self.get_option("org") entitlement = self.get_option("entitlement") serial = self.get_option("serial") all_entitlements = self.get_option("all") uuid = self.get_option("uuid") if not uuid: uuid = get_system(org, name)["uuid"] if all_entitlements: # unsubscribe from all self.api.unsubscribe_all(uuid) elif serial: # unsubscribe from cert self.api.unsubscribe_by_serial(uuid, serial) elif entitlement: # unsubscribe from entitlement self.api.unsubscribe(uuid, entitlement) print _("Successfully unsubscribed System [ %s ]") % name return os.EX_OK
def run(self): systemApi = SystemAPI() org_name = self.get_option('org') sys_name = self.get_option('name') system = get_system(org_name, sys_name) errata = systemApi.errata(system["uuid"]) batch_add_columns(self.printer, {'errata_id': _("ID")}, {'title': _("Title")}, {'type': _("Type")}) self.printer.set_header( _("Errata for system %(sys_name)s in organization %(org_name)s") % { 'sys_name': sys_name, 'org_name': org_name }) self.printer.print_items(errata) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') if sys_name: system = get_system(org_name, sys_name) releases = self.api.releases_for_system(system["uuid"])["releases"] else: environment = get_environment(org_name, env_name) releases = self.api.releases_for_environment( environment['id'])["releases"] releases = [{"value": r} for r in releases] self.printer.set_header(_("Available releases")) self.printer.add_column('value') self.printer.print_items(releases) return os.EX_OK
def run(self): org_name = self.get_option("org") env_name = self.get_option("environment") sys_name = self.get_option("name") new_name = self.get_option("new_name") new_environment_name = self.get_option("new_environment") new_description = self.get_option("description") new_location = self.get_option("location") new_release = self.get_option("release") new_sla = self.get_option("sla") sys_uuid = self.get_option("uuid") view_label = self.get_option("view") system = get_system(org_name, sys_name, env_name, sys_uuid) new_environment = get_environment(org_name, new_environment_name) updates = {} if new_name: updates["name"] = new_name if new_description: updates["description"] = new_description if new_location: updates["location"] = new_location if new_release: updates["releaseVer"] = new_release if new_sla: updates["serviceLevel"] = new_sla if new_environment_name: new_environment = get_environment(org_name, new_environment_name) updates["environment_id"] = new_environment["id"] if view_label is not None: updates["content_view_id"] = get_content_view(org_name, view_label)["id"] response = self.api.update(system["uuid"], updates) test_record( response, _("Successfully updated system [ %s ]") % system["name"], _("Could not update system [ %s ]") % system["name"], )
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') current_value = self.get_option('current-value') new_value = self.get_option('new-value') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.update_custom_info("system", system['id'], keyname, current_value, new_value) ident = sys_uuid if sys_uuid else sys_name if response[keyname][0] == new_value: print _("Successfully updated Custom Information for System [ %s ]") % ident else: print _("Could not update Custom Information for System [ %s ]") % ident
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') new_value = self.get_option('value') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.update_custom_info("system", system['id'], keyname, new_value) ident = sys_uuid if sys_uuid else sys_name if response: print _("Successfully updated Custom Information [ %(keyname)s ] for System [ %(ident)s ]") \ % {'keyname':keyname, 'ident':ident} else: print _("Could not update Custom Information [ %(keyname)s ] for System [ %(ident)s ]") \ % {'keyname':keyname, 'ident':ident}
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') new_value = self.get_option('value') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.update_custom_info("system", system['id'], keyname, new_value) ident = sys_uuid if sys_uuid else sys_name if response is not None: print _("Successfully updated Custom Information [ %(keyname)s ] for System [ %(ident)s ]") \ % {'keyname':keyname, 'ident':ident} else: print _("Could not update Custom Information [ %(keyname)s ] for System [ %(ident)s ]") \ % {'keyname':keyname, 'ident':ident}
def run(self): org_name = self.get_option('org') env_name = self.get_option("environment") sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') keyname = self.get_option('keyname') value = self.get_option('value') system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() response = custom_info_api.add_custom_info("system", system['id'], keyname, value) ident = sys_uuid if sys_uuid else sys_name test_record(response, _("Successfully added Custom Information [ %(keyname)s : %(value)s ] to System [ %(ident)s ]") \ % {'keyname':keyname, 'value':value, 'ident':ident}, _("Could not add Custom Information [ %(keyname)s : %(value)s ] to System [ %(ident)s ]") \ % {'keyname':keyname, 'value':value, 'ident':ident} )
def run(self): name = self.get_option('name') org = self.get_option('org') entitlement = self.get_option('entitlement') serial = self.get_option('serial') all_entitlements = self.get_option('all') uuid = self.get_option('uuid') display_name = name or uuid if not uuid: uuid = get_system(org, name)['uuid'] if all_entitlements: #unsubscribe from all self.api.unsubscribe_all(uuid) elif serial: # unsubscribe from cert self.api.unsubscribe_by_serial(uuid, serial) elif entitlement: # unsubscribe from entitlement self.api.unsubscribe(uuid, entitlement) print _("Successfully removed subscription from System [ %s ]") % display_name return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') entitlement = self.get_option('entitlement') serial = self.get_option('serial') all_entitlements = self.get_option('all') uuid = self.get_option('uuid') display_name = name or uuid if not uuid: uuid = get_system(org, name)['uuid'] if all_entitlements: #unsubscribe from all self.api.unsubscribe_all(uuid) elif serial: # unsubscribe from cert self.api.unsubscribe_by_serial(uuid, serial) elif entitlement: # unsubscribe from entitlement self.api.unsubscribe(uuid, entitlement) print _("Successfully removed subscription from System [ %s ]" ) % display_name return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') available = self.get_option('available') match_system = self.get_option('match_system') match_installed = self.get_option('match_installed') no_overlap = self.get_option('no_overlap') uuid = self.get_option('uuid') display_name = name or uuid if not uuid: uuid = get_system(org, name)['uuid'] self.printer.set_strategy(VerboseStrategy()) if not available: # listing current subscriptions result = self.api.subscriptions(uuid) if result == None or len(result['entitlements']) == 0: print _("No Subscriptions found for System [ %(display_name)s ] in Org [ %(org)s ]") \ % {'display_name':display_name, 'org':org} return os.EX_OK def entitlements(): for entitlement in result['entitlements']: entitlement_ext = entitlement.copy() provided_products = ', '.join([ e['name'] for e in entitlement_ext['providedProducts'] ]) if provided_products: entitlement_ext['providedProductsFormatted'] = _( 'Not Applicable') else: entitlement_ext[ 'providedProductsFormatted'] = provided_products serial_ids = ', '.join( [u_str(s['id']) for s in entitlement_ext['serials']]) entitlement_ext['serialIds'] = serial_ids yield entitlement_ext self.printer.set_header( _("Current Subscriptions for System [ %s ]") % display_name) self.printer.add_column('entitlementId', _("Subscription ID")) self.printer.add_column('serialIds', _('Serial ID')) batch_add_columns(self.printer, {'poolName': _("Pool Name")}, \ {'expires': _("Expires")}, {'consumed': _("Consumed")}, \ {'quantity': _("Quantity")}, {'sla': _("SLA")}, {'contractNumber': _("Contract Number")}) self.printer.add_column('providedProductsFormatted', _('Provided Products')) self.printer.print_items(entitlements()) else: # listing available pools result = self.api.available_pools(uuid, match_system, match_installed, no_overlap) if result == None or len(result) == 0: print _("No Pools found for System [ %(display_name)s ] in Org [ %(org)s ]") \ % {'display_name':display_name, 'org':org} return os.EX_OK def available_pools(): for pool in result['pools']: pool_ext = pool.copy() provided_products = ', '.join([ p['productName'] for p in pool_ext['providedProducts'] ]) if provided_products: pool_ext['providedProductsFormatted'] = _( 'Not Applicable') else: pool_ext[ 'providedProductsFormatted'] = provided_products if pool_ext['quantity'] == -1: pool_ext['quantity'] = _('Unlimited') # Make the productAttributes easier to access for productAttribute in pool['productAttributes']: pool_ext['attr_' + productAttribute['name']] = productAttribute[ 'value'] yield pool_ext self.printer.set_header( _("Available Subscriptions for System [ %s ]") % display_name) self.printer.add_column('id', _("ID")) self.printer.add_column('productName', _("Name")) batch_add_columns(self.printer, {'endDate': _("End Date")}, \ {'consumed': _("Consumed")}, {'quantity': _("Quantity")}, {'sockets': _("Sockets")}) self.printer.add_column('attr_stacking_id', _("Stacking ID")) self.printer.add_column('attr_multi-entitlement', _("Multi-entitlement")) self.printer.add_column('providedProductsFormatted', _("Provided products")) self.printer.print_items(available_pools()) return os.EX_OK
def run(self): name = self.get_option('name') org = self.get_option('org') available = self.get_option('available') system = get_system(org, name) self.printer.set_strategy(VerboseStrategy()) if not available: # listing current subscriptions result = self.api.subscriptions(system['uuid']) if result == None or len(result['entitlements']) == 0: print _( "No Subscriptions found for System [ %s ] in Org [ %s ]" ) % (name, org) return os.EX_OK def entitlements(): for entitlement in result['entitlements']: entitlement_ext = entitlement.copy() provided_products = ', '.join([ e['name'] for e in entitlement_ext['providedProducts'] ]) entitlement_ext[ 'providedProductsFormatted'] = provided_products serial_ids = ', '.join( [u_str(s['id']) for s in entitlement_ext['serials']]) entitlement_ext['serialIds'] = serial_ids yield entitlement_ext self.printer.set_header( _("Current Subscriptions for System [ %s ]") % name) self.printer.add_column('entitlementId') self.printer.add_column('serialIds', name=_('Serial Id')) self.printer.add_column('poolName') self.printer.add_column('expires') self.printer.add_column('consumed') self.printer.add_column('quantity') self.printer.add_column('sla') self.printer.add_column('contractNumber') self.printer.add_column('providedProductsFormatted', name=_('Provided products')) self.printer.print_items(entitlements()) else: # listing available pools result = self.api.available_pools(system['uuid']) if result == None or len(result) == 0: print _("No Pools found for System [ %s ] in Org [ %s ]") % ( name, org) return os.EX_OK def available_pools(): for pool in result['pools']: pool_ext = pool.copy() provided_products = ', '.join( [p['name'] for p in pool_ext['providedProducts']]) pool_ext['providedProductsFormatted'] = provided_products yield pool_ext self.printer.set_header( _("Available Subscriptions for System [ %s ]") % name) self.printer.add_column('poolId') self.printer.add_column('poolName') self.printer.add_column('expires') self.printer.add_column('consumed') self.printer.add_column('quantity') self.printer.add_column('sockets') self.printer.add_column('multiEntitlement') self.printer.add_column('providedProductsFormatted', name=_('Provided products')) self.printer.print_items(available_pools()) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') sys_uuid = self.get_option('uuid') if sys_uuid: self.printer.set_header(_("System Information [ %s ]") % sys_uuid) elif env_name is None: self.printer.set_header( _("System Information For Org [ %s ]") % org_name) else: self.printer.set_header(_("System Information For Environment [ %(env_name)s ] in Org [ %(org_name)s ]") \ % {'env_name':env_name, 'org_name':org_name}) # get system details system = get_system(org_name, sys_name, env_name, sys_uuid) custom_info_api = CustomInfoAPI() custom_info = custom_info_api.get_custom_info("system", system['id']) system['custom_info'] = stringify_custom_info(custom_info) system["activation_keys"] = "[ " + ", ".join( [ak["name"] for ak in system["activation_key"]]) + " ]" if 'host' in system: system['host'] = system['host']['name'] if 'guests' in system: system["guests"] = "[ " + ", ".join( [guest["name"] for guest in system["guests"]]) + " ]" if 'environment' in system: system['environment'] = system['environment']['name'] if 'content_view' in system: system['content_view'] = "[ %s ]" % system['content_view']['name'] batch_add_columns(self.printer, {'name': _("Name")}, {'ipv4_address': _("IPv4 Address")}, \ {'uuid': _("UUID")}, {'environment': _("Environment")}, {'location': _("Location")}) self.printer.add_column('created_at', _("Registered"), formatter=format_date) self.printer.add_column('updated_at', _("Last Updated"), formatter=format_date) self.printer.add_column('description', _("Description"), multiline=True) if 'release' in system and system['release']: self.printer.add_column('release', _("OS Release")) self.printer.add_column('activation_keys', _("Activation Keys"), multiline=True, \ show_with=printer.VerboseStrategy) self.printer.add_column('host', _("Host"), show_with=printer.VerboseStrategy) self.printer.add_column('sockets', _("Sockets")) self.printer.add_column('ram', _("RAM (MB)")) self.printer.add_column('serviceLevel', _("Service Level")) self.printer.add_column('guests', _("Guests"), show_with=printer.VerboseStrategy) self.printer.add_column('custom_info', _("Custom Info"), multiline=True, show_with=printer.VerboseStrategy) self.printer.add_column('content_view', _("Content View")) self.printer.print_item(system) return os.EX_OK
def run(self): org_name = self.get_option('org') env_name = self.get_option('environment') sys_name = self.get_option('name') verbose = self.get_option('verbose') install = self.get_option('install') remove = self.get_option('remove') update = self.get_option('update') install_groups = self.get_option('install_groups') remove_groups = self.get_option('remove_groups') task = None if env_name is None: self.printer.set_header( _("Package Information for System [ %s ] in Org [ %s ]") % (sys_name, org_name)) else: self.printer.set_header( _("Package Information for System [ %s ] in Environment [ %s ] in Org [ %s ]" ) % (sys_name, env_name, org_name)) system = get_system(org_name, sys_name, env_name) system_id = system['uuid'] if install: task = self.api.install_packages(system_id, install) if remove: task = self.api.remove_packages(system_id, remove) if update: if update == '--all': update_packages = [] else: update_packages = update task = self.api.update_packages(system_id, update_packages) if install_groups: task = self.api.install_package_groups(system_id, install_groups) if remove_groups: task = self.api.remove_package_groups(system_id, remove_groups) if task: uuid = task["uuid"] print(_("Performing remote action [ %s ]... ") % uuid) task = SystemAsyncTask(task) run_spinner_in_bg(wait_for_async_task, [task]) if task.succeeded(): print _("Remote action finished:") print task.get_result_description() return os.EX_OK else: print _("Remote action failed:") print task.get_result_description() return os.EX_DATAERR packages = self.api.packages(system_id) self.printer.add_column('name', show_with=printer.VerboseStrategy) self.printer.add_column('vendor', show_with=printer.VerboseStrategy) self.printer.add_column('version', show_with=printer.VerboseStrategy) self.printer.add_column('release', show_with=printer.VerboseStrategy) self.printer.add_column('arch', show_with=printer.VerboseStrategy) self.printer.add_column( 'name_version_release_arch', show_with=printer.GrepStrategy, item_formatter=lambda p: "%s-%s-%s.%s" % (p['name'], p['version'], p['release'], p['arch'])) self.printer.print_items(packages) return os.EX_OK