def has_plugin(pulp_ctx: PulpContext, name: str, min_version: str, max_version: str) -> None: """ Check whether a specific plugin is installed on the server. """ available = pulp_ctx.has_plugin(name, min_version, max_version) pulp_ctx.output_result(available) sys.exit(0 if available else 1)
def cleanup(pulp_ctx: PulpContext, **kwargs: Any) -> None: """ Cleanup orphaned content. """ body = {k: v for k, v in kwargs.items() if v is not None} if pulp_ctx.has_plugin(PluginRequirement("core", "3.14")): result = pulp_ctx.call("orphans_cleanup_cleanup", body=body) else: result = pulp_ctx.call("orphans_delete") pulp_ctx.output_result(result)
def task_summary(pulp_ctx: PulpContext) -> None: """ List a summary of tasks by status. """ from pulpcore.cli.core.context import PulpTaskContext TASK_STATES = [ "waiting", "skipped", "running", "completed", "failed", "canceled" ] if pulp_ctx.has_plugin(PluginRequirement("core", min="3.14")): TASK_STATES.append("canceling") result = {} for state in TASK_STATES: payload = {"limit": 1, "state": state} answer = pulp_ctx.call(PulpTaskContext.LIST_ID, parameters=payload) result[state] = answer["count"] pulp_ctx.output_result(result)
def has_plugin(pulp_ctx: PulpContext, name: str, min_version: str, max_version: str) -> None: available = pulp_ctx.has_plugin(name, min_version, max_version) pulp_ctx.output_result(available) sys.exit(0 if available else 1)