aws:runCommand: ejecutar un comando en una instancia administrada - AWS Systems Manager

aws:runCommand: ejecutar un comando en una instancia administrada

Ejecuta los comandos especificados.

nota

Automation solo admite la salida de una acción de AWS Systems Manager Run Command. Un manual de procedimientos puede incluir varias acciones de Run Command, pero la salida solo se admite para una acción a la vez.

Entrada

Esta acción admite la mayoría de los parámetros de comando. Para obtener más información, consulte SendCommand.

YAML
- name: checkMembership action: 'aws:runCommand' inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - '{{InstanceIds}}' Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
DocumentName

Si el documento de tipo Command le pertenece a usted o a AWS, especifique el nombre del documento. Si está utilizando un documento que una Cuenta de AWS diferente compartió con usted, especifique el nombre de recurso de Amazon (ARN) del documento. Para obtener más información acerca del uso de documentos compartidos, consulte Uso de documentos de SSM compartidos.

Tipo: cadena

Obligatorio: sí

InstanceIds

Los ID de instancia donde desea que se ejecute el comando. Puede especificar un máximo de 50 ID.

También puede utilizar el pseudoparámetro {{RESOURCE_ID}} en lugar de los ID de instancias para ejecutar el comando en todas las instancias del grupo de destino. Para obtener más información sobre pseudoparámetros, consulte Utilización de pseudoparámetros en el registro de las tareas del periodo de mantenimiento.

Otra alternativa es enviar comandos a una flota de instancias con el parámetro Targets. El parámetro Targets acepta etiquetas de Amazon Elastic Compute Cloud (Amazon EC2). Para obtener más información acerca de cómo utilizar el parámetro Targets, consulte Ejecución de comandos a escala.

Tipo: StringList

Obligatorio: no (Si no especifica InstanceIds ni utiliza el pseudoparámetro {{RESOURCE_ID}}, debe especificar el parámetro Targets).

Destinos

Una matriz de criterios de búsqueda que indica instancias como destino mediante el uso de una combinación de clave-valor que usted especifique. Targets es obligatorio si no se proporciona uno o más ID de instancia en la llamada. Para obtener más información acerca de cómo utilizar el parámetro Targets, consulte Ejecución de comandos a escala.

Tipo: MapList (El esquema del mapa en la lista debe coincidir con el objeto). Para obtener información, consulte Target en la Referencia de la API de AWS Systems Manager.

Obligatorio: no (Si no especifica Targets, debe especificar InstanceIds o utilizar el pseudoparámetro {{RESOURCE_ID}}).

A continuación se muestra un ejemplo.

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript Targets: - Key: tag:Stage Values: - Gamma - Beta - Key: tag-key Values: - Suite Parameters: commands: - (Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "Targets": [ { "Key": "tag:Stage", "Values": [ "Gamma", "Beta" ] }, { "Key": "tag:Application", "Values": [ "Suite" ] } ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] } } }
Parámetros

Los parámetros obligatorios y opcionales especificados en el documento.

Tipo: mapa

Requerido: no

CloudWatchOutputConfig

Las opciones de configuración para enviar la salida del comando a Amazon CloudWatch Logs. Para obtener más información acerca de cómo enviar la salida de un comando a CloudWatch Logs, consulte Configuración de Registros de Amazon CloudWatch para Run Command.

Tipo: StringMap (El esquema del mapa debe coincidir con el objeto. Para obtener más información, consulte CloudWatchOutputConfig en la Referencia de la API de AWS Systems Manager).

Requerido: no

A continuación se muestra un ejemplo.

YAML
- name: checkMembership action: aws:runCommand inputs: DocumentName: AWS-RunPowerShellScript InstanceIds: - "{{InstanceIds}}" Parameters: commands: - "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" CloudWatchOutputConfig: CloudWatchLogGroupName: CloudWatchGroupForSSMAutomationService CloudWatchOutputEnabled: true
JSON
{ "name": "checkMembership", "action": "aws:runCommand", "inputs": { "DocumentName": "AWS-RunPowerShellScript", "InstanceIds": [ "{{InstanceIds}}" ], "Parameters": { "commands": [ "(Get-WmiObject -Class Win32_ComputerSystem).PartOfDomain" ] }, "CloudWatchOutputConfig" : { "CloudWatchLogGroupName": "CloudWatchGroupForSSMAutomationService", "CloudWatchOutputEnabled": true } } }
Comentario

Información definida por el usuario sobre el comando.

Tipo: cadena

Requerido: no

DocumentHash

El hash del documento.

Tipo: cadena

Requerido: no

DocumentHashType

El tipo del hash.

Tipo: cadena

Valores válidos: Sha256 | Sha1

Requerido: no

NotificationConfig

Las configuraciones para enviar notificaciones.

Requerido: no

OutputS3BucketName

El nombre del bucket de S3 para las respuestas de salida del comando.

Tipo: cadena

Requerido: no

OutputS3KeyPrefix

El prefijo .

Tipo: cadena

Requerido: no

ServiceRoleArn

El ARN del rol de AWS Identity and Access Management (IAM).

Tipo: cadena

Requerido: no

TimeoutSeconds

La cantidad de segundos que hay que esperar para que un comando entregue el resultado a AWS Systems Manager SSM Agent en una instancia. Si SSM Agent en la instancia no recibe el comando antes de que se alcance el valor especificado, el estado del comando se transforma en Delivery Timed Out.

Tipo: entero

Requerido: no

Valores válidos: 30-2592000

Salida
CommandId

El ID del comando.

Status

El estado del comando.

ResponseCode

El código de respuesta del comando. Si el documento que ejecuta tiene más de 1 paso, no se devuelve ningún valor para esta salida.

Salida

La salida del comando. Si dirige el comando a una etiqueta o a varias instancias, no se devuelve ningún valor de salida. Puede usar las operaciones de la API GetCommandInvocation y ListCommandInvocations para recuperar resultados para instancias individuales.