Ir al contenido principal

Referencia de Level CLI

Reference for lvl command groups, output formats, pagination, resource references, and safety behavior.

Use este artículo como mapa del árbol de comandos de Level CLI. Para conocer los indicadores exactos y la forma de salida JSON en su versión instalada, use la ayuda normal o la referencia de habilidades generada:

lvl --help
lvl skill describe

Por ejemplo:

lvl device list --help
lvl skill describe device list

Sintaxis de comandos

La forma general es:

lvl [--profile ] [arguments] [flags]

Mostrar la lista de comandos de nivel superior:

lvl --help

Mostrar todas las entradas de referencia generadas:

lvl skill describe

Perfiles y autenticación

Level CLI incluye un prod perfil para https://api.level.io.

La selección de perfil sigue este orden:

  1. El --profile indicador.

  2. El LVL_PROFILE variable de entorno.

  3. El perfil predeterminado guardado.

  4. El prod perfil.

Comandos comunes:

Comando

Propósito

lvl auth login

Iniciar sesión mediante un flujo de aprobación basado en navegador.

lvl auth status

Verificar la sesión activa y la organización.

lvl auth logout

Revocar la sesión activa y eliminar las credenciales locales.

lvl profile list

Listar los perfiles del servidor de API configurados.

lvl profile create <name> <url>

Agregar un perfil. Use --default para seleccionarlo inmediatamente.

lvl profile use <profile>

Establecer el perfil predeterminado.

lvl profile delete <profile>

Eliminar la configuración y las credenciales del perfil local.

⚠️ ADVERTENCIA: Eliminar un perfil no revoca su sesión del lado del servidor. Ejecute lvl --profile <profile> auth logout antes de eliminarlo.

Actualizaciones de CLI

Las compilaciones de lanzamiento se mantienen actualizadas de forma predeterminada. Cuando ejecuta un lvl comando, la CLI aplica cualquier actualización firmada descubierta previamente y vuelve a ejecutar el comando con el nuevo binario. Si no hay ninguna actualización pendiente, busca una en segundo plano y puede aplicarla en la siguiente invocación. Los fallos de actualización automática no detienen el comando que usted pidió lvl para ejecutar.

Comando

Propósito

lvl self-update

Buscar e instalar la última compilación publicada de inmediato. Esto funciona incluso cuando las actualizaciones automáticas están deshabilitadas.

lvl self-update --check

Informar si hay una actualización disponible sin instalarla.

lvl self-update url

Mostrar la URL de lanzamiento utilizada actualmente para las actualizaciones.

lvl self-update url <url>

Guardar una URL de lanzamiento personalizada en ~/.lvl/config.yaml.

lvl self-update url --reset

Eliminar la URL personalizada y volver a la fuente de producción integrada.

Establezca auto_update: false en ~/.lvl/config.yaml para deshabilitar las comprobaciones automáticas y las actualizaciones de inicio. Aún puede ejecutar lvl self-update manualmente.

Formatos de salida

La mayoría de los comandos muestran una tabla legible por humanos o un resumen de forma predeterminada.

Usar salida JSON:

lvl device list -o json

Usar el filtro jq integrado:

lvl device list --jq '.list[] | {id, name, online}'

--jq implica JSON. No se puede combinar con salida de tabla explícita.

Los comandos de exportación CSV escriben CSV sin procesar en la salida estándar:

lvl device export > devices.csv
lvl alert export > alerts.csv
lvl run export > runs.csv

Los comandos de especificación de automatización y políticas de monitor usan --format yaml|json, con YAML como valor predeterminado. No utilizan el -o indicador para la especificación en sí.

Paginación

La mayoría de los comandos de lista de recursos admiten:

Indicador

Comportamiento

--limit <count>

Devolver hasta el número de registros solicitado. El valor predeterminado es 100.

--limit all

Obtener todas las páginas de resultados.

--page <number>

Devolver una página basada en 1.

--limit all no se puede combinar con --page.

Los comandos paginados incluyen las listas de alert, automation, automation-trigger, device, file, monitor, monitor-policy, run, script, tag, update, update-summary, update-device, update-log y update-exclusion.

Las claves de API, los grupos, los campos personalizados, los perfiles y las variables utilizan listas sin paginar.

En la salida de lista JSON, count es el número total de registros del servidor que coinciden, no el número devuelto en la página actual.

Referencias de recursos

Muchos comandos aceptan un ID o una referencia legible por humanos. Una coincidencia exacta de ID tiene prioridad. La coincidencia por nombre y alias no distingue entre mayúsculas y minúsculas.

Las formas comunes incluyen:

Recurso

Referencias aceptadas

Dispositivo

ID, nombre de host, nombre, apodo o <group>/<hostname>

Grupo de dispositivos

ID, nombre o ruta anidada como Ops/Maintenance

Automatización

ID o nombre

Script

ID o nombre

Archivo de repositorio

ID o nombre de archivo, con o sin su extensión

Política de monitor

ID o nombre

Etiqueta

Nombre

Campo personalizado

Nombre o referencia generada

Exclusión de actualización

ID o número de KB, con o sin el KB prefijo

Si una referencia coincide con más de un recurso, la CLI se detiene y muestra los candidatos en lugar de elegir uno.

Comandos de alertas

Comando

Propósito

alert list

Listar alertas activas, resueltas o todas.

alert get <alert-id>

Obtener una alerta.

alert resolve

Resolver alertas por ID o filtros.

alert unresolve <alert-id>...

Reabrir alertas resueltas por ID.

alert export

Exportar alertas coincidentes como CSV.

Comandos de claves de API

Comando

Propósito

apikey list

Listar claves de API.

apikey get <api-key>

Obtener una clave de API. Use --reveal para mostrar el token completo en la salida de tabla.

apikey create

Crear una clave de API de solo lectura o de lectura y escritura.

apikey update <api-key>

Actualizar una clave de API.

apikey delete <api-key>...

Eliminar permanentemente las claves de API.

⚠️ ADVERTENCIA: La salida JSON de la clave de API contiene el token completo. Proteja la salida del terminal, los archivos exportados y los registros de CI.

Comandos de automatización

Comando

Propósito

automation list

Listar automatizaciones.

automation get <automation>

Obtener una automatización.

automation create

Crear una automatización a partir de indicadores o un archivo de especificación.

automation spec <automation>

Exportar una especificación de automatización.

automation apply -f <spec>

Reconciliar una automatización existente con una especificación.

automation update <automation>

Actualizar propiedades de automatización.

automation delete <automation>...

Archivar automatizaciones.

automation restore <automation>...

Restaurar automatizaciones archivadas.

automation run <automation>

Ejecutar una automatización en dispositivos o grupos.

automation trigger ...

Listar, agregar, actualizar, eliminar o ejecutar manualmente disparadores.

automation action ...

Agregar, actualizar o eliminar acciones.

automation variable ...

Administrar variables de automatización.

automation group ...

Administrar grupos de automatización.

Los comandos de mutación de disparadores y acciones aceptan --json o --json-file. El payload debe contener exactamente un tipo admitido y los campos desconocidos son rechazados.

Ejecute lvl automation action --help o lvl skill describe automation action para los tipos de acción admitidos por su versión instalada.

⚠️ ADVERTENCIA:automation apply puede eliminar disparadores y acciones que no estén presentes en la especificación. La aplicación no es transaccional. Ejecute con --dry-run y revise el plan primero.

Comandos de campos personalizados

Comando

Propósito

customfield list

Listar campos personalizados de la organización.

customfield get <field>

Obtener un campo personalizado.

customfield create

Crear un campo.

customfield update <field>

Actualizar un campo.

customfield delete <field>...

Eliminar campos.

customfield set <field> <value>

Establecer un valor a nivel de organización.

customfield clear <field>

Borrar un valor a nivel de organización.

device customfield ...

Listar, establecer o borrar valores a nivel de dispositivo.

device group customfield ...

Listar, establecer o borrar valores de grupos de dispositivos.

Los valores de campos personalizados se heredan de la organización al grupo de dispositivos y luego al dispositivo. Las operaciones de establecimiento o borrado en cascada pueden sobrescribir o eliminar los valores descendientes.

Comandos de dispositivos

Comando

Propósito

device list

Listar y filtrar dispositivos.

device get <device>

Obtener detalles del dispositivo.

device restart <device>...

Solicitar un reinicio.

device shutdown <device>...

Solicitar un apagado.

device maintenance enable|disable <device>...

Cambiar el modo de mantenimiento.

device update <device>

Actualizar propiedades editables del dispositivo.

device delete <device>...

Eliminar dispositivos permanentemente.

device favorite|unfavorite <device>...

Cambiar el estado de favorito.

device flag|unflag <device>...

Cambiar el estado de marcador.

device export

Exportar dispositivos como CSV.

device install-key

Imprimir una clave de instalación del agente para el aprovisionamiento.

device group ...

Administrar grupos de dispositivos y asignaciones.

device customfield ...

Administrar valores de campos personalizados de dispositivos.

Las solicitudes de reinicio y apagado ejecutan la acción de inmediato y no esperan a que el dispositivo la complete.

⚠️ ADVERTENCIA:device install-key imprime una credencial de aprovisionamiento en la salida estándar. Evite exponerla en el historial del shell, terminales compartidas o registros de CI.

Comandos de archivos

Comando

Propósito

file list

Listar archivos del repositorio.

file get <file>

Obtener metadatos del archivo.

file upload <path>...

Subir archivos locales.

file download <file> [<dest>]

Descargar un archivo. Use - como destino para la salida estándar.

file rename <file> <filename>

Renombrar un archivo del repositorio.

file replace <file> <path>

Reemplazar el contenido del archivo conservando el ID del archivo en el repositorio.

file delete <file>...

Eliminar archivos permanentemente.

file storage

Mostrar el uso de almacenamiento.

file group ...

Administrar grupos de archivos del repositorio.

file download --overwrite puede reemplazar un archivo local existente. Reemplazar un archivo del repositorio cambia el contenido utilizado por las automatizaciones que hacen referencia a ese ID de archivo.

Comandos de monitores

Comando

Propósito

monitor list

Listar monitores en todas las políticas.

monitor get <monitor>

Obtener un monitor.

monitor add <policy>

Agregar un monitor a una política desde un payload JSON.

monitor update <monitor>

Actualizar un monitor con un payload JSON.

monitor delete <monitor>...

Eliminar monitores.

monitor enable|disable <monitor>... --device <device>

Anular monitores para un dispositivo.

monitor policy list

Listar políticas de monitor.

monitor policy get <policy>

Obtener una política.

monitor policy create

Crear una política a partir de indicadores o una especificación.

monitor policy spec <policy>

Exportar una especificación de política.

monitor policy apply -f <spec>

Reconciliar una política con una especificación.

monitor policy target|untarget <policy>

Administrar etiquetas de destino.

Los comandos de payload de monitor aceptan --json o --json-file. Ejecute lvl monitor add --help para los tipos de monitor admitidos.

La aplicación de políticas de monitor puede eliminar monitores ausentes del archivo y no es transaccional. Use --dry-run primero.

Comandos de ejecución

Comando

Propósito

run list

Listar ejecuciones de automatizaciones y scripts.

run get <run-id>

Obtener una ejecución y sus pasos. Use --wait para sondear hasta la finalización.

run cancel

Cancelar ejecuciones por ID o filtros.

run rerun

Iniciar nuevas ejecuciones a partir de ejecuciones seleccionadas.

run retry <run-id>...

Reintentar ejecuciones fallidas desde el paso fallido.

run approve <run-id>...

Aprobar ejecuciones pausadas en un paso de aprobación.

run deny <run-id>...

Rechazar y cancelar ejecuciones pausadas en un paso de aprobación.

run export

Exportar ejecuciones como CSV.

La espera tiene un valor predeterminado de 15 minutos y devuelve hasta 1.000 líneas de salida por paso. Use --wait-timeout y --output-lines para cambiar esos límites.

Un ERROR o CANCELED el resultado sale con valor distinto de cero. Un resultado WARNING el resultado se trata como exitoso.

Comandos de scripts

Comando

Propósito

script list

Listar scripts guardados.

script get <script>

Obtener un script guardado. Use --raw para imprimir solo su cuerpo.

script create

Crear un script desde --file o --command.

script update <script>

Actualizar un script guardado.

script delete <script>...

Eliminar scripts.

script run [<script>]

Ejecutar un script guardado, archivo o comando en línea.

script variable ...

Administrar variables de script.

script group ...

Administrar grupos de scripts.

Un destino de ejecución puede provenir de indicadores repetidos --device indicadores, --group, o ambos. Los destinos duplicados se ejecutan una sola vez.

Un script guardado utiliza su shell, tiempo de espera y configuración de ejecución almacenados. Las ejecuciones de scripts ad-hoc infieren el shell a partir de un indicador explícito, la extensión del archivo, el shebang o el sistema operativo destino.

⚠️ ADVERTENCIA: La creación de scripts y las ejecuciones de scripts ad-hoc utilizan de forma predeterminada la configuración SYSTEM configuración de ejecución. Revise el script y la lista de destinos antes de la ejecución.

Comandos de habilidades

Comando

Propósito

skill show

Imprimir la SKILL.md.

skill install

Instalar la habilidad para el usuario actual.

skill install --project

Instalar la habilidad en el proyecto actual.

skill uninstall

Eliminar la habilidad instalada para el usuario actual.

skill uninstall --project

Eliminar la habilidad instalada en el proyecto actual.

skill describe [<command>...]

Imprimir indicadores y definiciones de salida JSON.

Una habilidad a nivel de usuario instalada con lvl skill install se actualiza automáticamente cuando se ejecutan comandos de CLI documentados normales, por lo que se mantiene alineada con el binario instalado. Las habilidades a nivel de proyecto no se actualizan automáticamente. Ejecute lvl skill install --project de nuevo después de actualizar lvl cuando un repositorio debe recibir el nuevo árbol de comandos.

Comandos de etiquetas

Comando

Propósito

tag list

Listar etiquetas.

tag get <tag>

Obtener una etiqueta.

tag create

Crear una etiqueta.

tag update <tag>

Actualizar una etiqueta.

tag delete <tag>...

Eliminar etiquetas no utilizadas.

tag assign <tag> --device <device>...

Asignar una etiqueta a dispositivos.

tag unassign <tag> --device <device>...

Quitar una etiqueta de los dispositivos.

Comandos de actualizaciones

Comando

Propósito

update list

Listar actualizaciones disponibles, instaladas o todas.

update get <update-id>

Obtener una actualización.

update check <device>...

Solicitar un análisis de actualizaciones.

update install

Instalar actualizaciones seleccionadas.

update retry

Reintentar instalaciones fallidas seleccionadas.

update install-all

Instalar las actualizaciones disponibles en los dispositivos seleccionados.

update log list|get

Revisar los registros e historial de instalación de actualizaciones.

update summary list

Listar resúmenes de actualizaciones.

update device list

Listar dispositivos en contexto de actualización.

update exclusion list|create|update|delete

Administrar exclusiones de KB globales.

La instalación de actualizaciones, el reintento y la instalación de todas permiten reinicios requeridos de forma predeterminada. Use --no-reboot cuando el comando seleccionado no debe reiniciar un dispositivo.

⚠️ ADVERTENCIA: Revise las selecciones de actualizaciones y dispositivos antes de la instalación. Las operaciones basadas en filtros y las operaciones de todos los dispositivos requieren confirmación explícita.

Comandos de grupos

Los grupos de dispositivos, scripts, automatizaciones y archivos comparten estos subcomandos:

  • list

  • create

  • rename

  • move

  • delete

  • assign

  • unassign

Las listas de grupos obtienen la jerarquía completa. Para eliminar un grupo, este debe estar vacío y no tener grupos secundarios.

Confirmación y trabajo asincrónico

Los comandos de eliminación permanente admiten --yes. En un terminal interactivo, la CLI puede solicitar confirmación. En ejecución no interactiva, los comandos que requieren confirmación fallan a menos que --yes se proporciona.

Algunos comandos retornan después de que Level acepta la solicitud, antes de que el trabajo finalice en un dispositivo. Estos incluyen acciones de energía, verificaciones e instalaciones de actualizaciones, scripts, automatizaciones y ejecuciones de disparadores. Use el historial de ejecuciones, run get --wait, registros de actualizaciones o la aplicación web de Level para confirmar el resultado final.

¿Ha quedado contestada tu pregunta?