

• El panel de AWS Systems Manager CloudWatch dejará de estar disponible después del 30 de abril de 2026. Los clientes pueden seguir utilizando la consola de Amazon CloudWatch para ver, crear y administrar sus paneles de Amazon CloudWatch, tal y como lo hacen actualmente. Para obtener más información, consulte la [documentación del panel de Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Ejemplos: registrar tareas en un periodo de mantenimiento
<a name="mw-cli-register-tasks-examples"></a>

Puede registrar una tarea en Run Command, una herramienta de AWS Systems Manager, con un periodo de mantenimiento mediante la AWS Command Line Interface (AWS CLI), como se muestra en [Registrar tareas en un periodo de mantenimiento](mw-cli-tutorial-tasks.md). También puede registrar tareas para flujos de trabajo de Systems Manager Automation, funciones de AWS Lambda y tareas de AWS Step Functions, como se muestra más adelante en este tema.

**nota**  
Especifique uno o más destinos para las tareas de tipo Run Command del periodo de mantenimiento. Según la tarea, los destinos son opcionales para otros tipos de tarea de periodo de mantenimiento (Automation, AWS Lambda y AWS Step Functions). Para obtener más información acerca de la ejecución de tareas que no especifican destinos, consulte [Registro de tareas del periodo de mantenimiento sin destinos](maintenance-windows-targetless-tasks.md).

En este tema, se proporcionan ejemplos de cómo utilizar el comando `register-task-with-maintenance-window` de la AWS Command Line Interface (AWS CLI) para registrar cada uno de los cuatro tipos de tareas compatibles en un periodo de mantenimiento. Los ejemplos solo tienen fines de demostración, pero puede modificarlos para crear los comandos de registro de las tareas en uso. 

**Uso de la opción --cli-input-json**  
Para administrar mejor las opciones de la tarea, puede utilizar la opción de comando `--cli-input-json`, con valores de opción a los que se hace referencia en un archivo JSON. 

Para utilizar el contenido del archivo JSON de ejemplo que proporcionamos en los siguientes ejemplos, haga lo siguiente en su equipo local:

1. Cree un archivo con un nombre como, por ejemplo, `MyRunCommandTask.json`, `MyAutomationTask.json` o cualquier otro nombre de su preferencia.

1. Copie el contenido de la muestra de JSON en el archivo.

1. Modifique el contenido del archivo para el registro de la tarea y, a continuación, guarde el archivo.

1. En el mismo directorio en el que almacenó el archivo, ejecute el comando siguiente. Sustituya el nombre de archivo por *MiArchivo.json*. 

------
#### [ Linux & macOS ]

   ```
   aws ssm register-task-with-maintenance-window \
       --cli-input-json file://MyFile.json
   ```

------
#### [ Windows ]

   ```
   aws ssm register-task-with-maintenance-window ^
       --cli-input-json file://MyFile.json
   ```

------

**Pseudoparámetros en las tareas de periodos de mantenimiento**  
En algunos ejemplos, utilizamos los *pseudoparámetros* como método para transferir información del ID a sus tareas. Por ejemplo, `{{TARGET_ID}}` y `{{RESOURCE_ID}}` se pueden utilizar para pasar los ID de los recursos de AWS a tareas de Automation, Lambda y Step Functions. Para obtener más información sobre los pseudoparámetros en el contenido `--task-invocation-parameters`, consulte [Utilización de pseudoparámetros en el registro de las tareas del periodo de mantenimiento](maintenance-window-tasks-pseudo-parameters.md). 

**Más información**  
+ [Opciones de parámetros para el comando register-task-with-maintenance-windows](mw-cli-task-options.md).
+ [https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/register-task-with-maintenance-window.html) en la *Referencia de comandos de la AWS CLI*
+ [https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html](https://docs.aws.amazon.com/systems-manager/latest/APIReference/API_RegisterTaskWithMaintenanceWindow.html) en la *Referencia de la API de AWS Systems Manager*

## Ejemplos de registro de tareas
<a name="task-examples"></a>

En las secciones siguientes se proporciona un comando de la AWS CLI de ejemplo para registrar un tipo de tarea admitido y una muestra de JSON que se puede utilizar con la opción `--cli-input-json`.

### Registrar una tarea de Run Command de Systems Manager
<a name="register-tasks-tutorial-run-command"></a>

Los siguientes ejemplos muestran cómo registrar tareas de Systems Manager Run Command con un periodo de mantenimiento mediante la AWS CLI.

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id mw-0c50858d01EXAMPLE \
    --task-arn "AWS-RunShellScript" \
    --max-concurrency 1 --max-errors 1 --priority 10 \
    --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" \
    --task-type "RUN_COMMAND" \
    --task-invocation-parameters '{"RunCommand":{"Parameters":{"commands":["df"]}}}'
```

------
#### [ Windows ]

```
aws ssm register-task-with-maintenance-window ^
    --window-id mw-0c50858d01EXAMPLE ^
    --task-arn "AWS-RunShellScript" ^
    --max-concurrency 1 --max-errors 1 --priority 10 ^
    --targets "Key=InstanceIds,Values=i-02573cafcfEXAMPLE" ^
    --task-type "RUN_COMMAND" ^
    --task-invocation-parameters "{\"RunCommand\":{\"Parameters\":{\"commands\":[\"df\"]}}}"
```

------

**Contenido JSON para usar con la opción de archivo `--cli-input-json`:**

```
{
    "TaskType": "RUN_COMMAND",
    "WindowId": "mw-0c50858d01EXAMPLE",
    "Description": "My Run Command task to update SSM Agent on an instance",
    "MaxConcurrency": "1",
    "MaxErrors": "1",
    "Name": "My-Run-Command-Task",
    "Priority": 10,
    "Targets": [
        {
            "Key": "WindowTargetIds",
            "Values": [
                "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            ]
        }
    ],
    "TaskArn": "AWS-UpdateSSMAgent",
    "TaskInvocationParameters": {
        "RunCommand": {
            "Comment": "A TaskInvocationParameters test comment",
            "NotificationConfig": {
                "NotificationArn": "arn:aws:sns:region:123456789012:my-sns-topic-name",
                "NotificationEvents": [
                    "All"
                ],
                "NotificationType": "Invocation"
            },
            "OutputS3BucketName": "amzn-s3-demo-bucket",
            "OutputS3KeyPrefix": "S3-PREFIX",
            "TimeoutSeconds": 3600
        }
    }
}
```

### Registrar una tarea de Systems Manager Automation
<a name="register-tasks-tutorial-automation"></a>

Los siguientes ejemplos muestran cómo registrar tareas de Systems Manager Automation con un periodo de mantenimiento mediante la AWS CLI: 

**AWS CLI comando:**

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --task-arn "AWS-RestartEC2Instance" \
    --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole \
    --task-type AUTOMATION \
    --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{RESOURCE_ID}}'}}" \
    --priority 0 --name "My-Restart-EC2-Instances-Automation-Task" \
    --description "Automation task to restart EC2 instances"
```

------
#### [ Windows ]

```
aws ssm register-task-with-maintenance-window ^
    --window-id "mw-0c50858d01EXAMPLE" ^
    --task-arn "AWS-RestartEC2Instance" ^
    --service-role-arn arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole ^
    --task-type AUTOMATION ^
    --task-invocation-parameters "Automation={DocumentVersion=5,Parameters={InstanceId='{{TARGET_ID}}'}}" ^
    --priority 0 --name "My-Restart-EC2-Instances-Automation-Task" ^
    --description "Automation task to restart EC2 instances"
```

------

**Contenido JSON para usar con la opción de archivo `--cli-input-json`:**

```
{
    "WindowId": "mw-0c50858d01EXAMPLE",
        "TaskArn": "AWS-PatchInstanceWithRollback",
    "TaskType": "AUTOMATION","TaskInvocationParameters": {
        "Automation": {
            "DocumentVersion": "1",
            "Parameters": {
                "instanceId": [
                    "{{RESOURCE_ID}}"
                ]
            }
        }
    }
}
```

### Registrar una tarea de AWS Lambda
<a name="register-tasks-tutorial-lambda"></a>

Los siguientes ejemplos muestran cómo registrar las tareas de la función de Lambda con un periodo de mantenimiento mediante la AWS CLI. 

En estos ejemplos, el usuario que creó la función de Lambda la nombró `SSMrestart-my-instances` y creó dos parámetros denominados `instanceId` y `targetType`.

**importante**  
La política de IAM para Maintenance Windows requiere que se agregue el prefijo `SSM` a los nombres de la función (o alias) de Lambda. Antes de continuar con el registro de este tipo de tareas, actualice el nombre en AWS Lambda para incluir `SSM`. Por ejemplo, si el nombre de la función de Lambda es `MyLambdaFunction`, cámbielo a `SSMMyLambdaFunction`.

**AWS CLI comando:**

------
#### [ Linux & macOS ]

**importante**  
Si está utilizando la versión 2 de la AWS CLI, debe incluir la opción `--cli-binary-format raw-in-base64-out` en el siguiente comando si la carga de Lambda no está codificada en base64. La opción `cli_binary_format` solo está disponible en la versión 2. Para obtener información acerca de esta y otras configuraciones del archivo `config` de la AWS CLI, consulte [Configuraciones del archivo `config` admitidas](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings) en la *Guía del usuario de AWS Command Line Interface*.

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
    --priority 2 --max-concurrency 10 --max-errors 5 --name "My-Lambda-Example" \
    --description "A description for my LAMBDA example task" --task-type "LAMBDA" \
    --task-arn "arn:aws:lambda:region:123456789012:function:serverlessrepo-SSMrestart-my-instances-C4JF9EXAMPLE" \
    --task-invocation-parameters '{"Lambda":{"Payload":"{\"InstanceId\":\"{{RESOURCE_ID}}\",\"targetType\":\"{{TARGET_TYPE}}\"}","Qualifier": "$LATEST"}}'
```

------
#### [ PowerShell ]

**importante**  
Si está utilizando la versión 2 de la AWS CLI, debe incluir la opción `--cli-binary-format raw-in-base64-out` en el siguiente comando si la carga de Lambda no está codificada en base64. La opción `cli_binary_format` solo está disponible en la versión 2. Para obtener información acerca de esta y otras configuraciones del archivo `config` de la AWS CLI, consulte [Configuraciones del archivo `config` admitidas](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html#cli-configure-files-settings) en la *Guía del usuario de AWS Command Line Interface*.

```
aws ssm register-task-with-maintenance-window `
    --window-id "mw-0c50858d01EXAMPLE" `
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" `
    --priority 2 --max-concurrency 10 --max-errors 5 --name "My-Lambda-Example" `
    --description "A description for my LAMBDA example task" --task-type "LAMBDA" `
    --task-arn "arn:aws:lambda:region:123456789012:function:serverlessrepo-SSMrestart-my-instances-C4JF9EXAMPLE" `
    --task-invocation-parameters '{\"Lambda\":{\"Payload\":\"{\\\"InstanceId\\\":\\\"{{RESOURCE_ID}}\\\",\\\"targetType\\\":\\\"{{TARGET_TYPE}}\\\"}\",\"Qualifier\": \"$LATEST\"}}'
```

------

**Contenido JSON para usar con la opción de archivo `--cli-input-json`:**

```
{
    "WindowId": "mw-0c50858d01EXAMPLE",
    "Targets": [
        {
            "Key": "WindowTargetIds",
            "Values": [
                "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            ]
        }
    ],
    "TaskArn": "SSM_RestartMyInstances",
    "TaskType": "LAMBDA",
    "MaxConcurrency": "10",
    "MaxErrors": "10",
    "TaskInvocationParameters": {
        "Lambda": {
            "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE",
            "Payload": "{ \"instanceId\": \"{{RESOURCE_ID}}\", \"targetType\": \"{{TARGET_TYPE}}\" }",
            "Qualifier": "$LATEST"
        }
    },
    "Name": "My-Lambda-Task",
    "Description": "A description for my LAMBDA task",
    "Priority": 5
}
```

### Registrar una tarea de Step Functions
<a name="register-tasks-tutorial-step-functions"></a>

Los siguientes ejemplos muestran cómo registrar tareas de máquina de estado de Step Functions con un periodo de mantenimiento mediante la AWS CLI.

**nota**  
Las tareas de los periodos de mantenimiento solo admiten los flujos de trabajo de máquinas de estado estándar de Step Functions. No son compatibles con los flujos de trabajo de máquinas de estado rápidas. Para obtener información sobre los tipos de flujos de trabajo de máquinas de estado, consulte [Flujos de trabajo estándar en comparación con flujos de trabajo rápidos](https://docs.aws.amazon.com/step-functions/latest/dg/concepts-standard-vs-express.html) en la *Guía para desarrolladores de AWS Step Functions*.

En estos ejemplos, el usuario que creó la máquina de estado de Step Functions, creó una máquina de estado llamada `SSMMyStateMachine` con un parámetro denominado `instanceId`.

**importante**  
La política de AWS Identity and Access Management (IAM) para Maintenance Windows requiere que se agregue el prefijo `SSM` a los nombres de máquina de estado de Step Functions. Antes de proceder al registro de este tipo de tarea, debe actualizar su nombre en AWS Step Functions para que incluya `SSM`. Por ejemplo, si el nombre de la máquina de estado es `MyStateMachine`, cámbielo a `SSMMyStateMachine`.

**AWS CLI comando:**

------
#### [ Linux & macOS ]

```
aws ssm register-task-with-maintenance-window \
    --window-id "mw-0c50858d01EXAMPLE" \
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" \
    --task-arn arn:aws:states:region:123456789012:stateMachine:SSMMyStateMachine-MggiqEXAMPLE \
    --task-type STEP_FUNCTIONS \
    --task-invocation-parameters '{"StepFunctions":{"Input":"{\"InstanceId\":\"{{RESOURCE_ID}}\"}", "Name":"{{INVOCATION_ID}}"}}' \
    --priority 0 --max-concurrency 10 --max-errors 5 \
    --name "My-Step-Functions-Task" --description "A description for my Step Functions task"
```

------
#### [ PowerShell ]

```
aws ssm register-task-with-maintenance-window `
    --window-id "mw-0c50858d01EXAMPLE" `
    --targets "Key=WindowTargetIds,Values=e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE" `
    --task-arn arn:aws:states:region:123456789012:stateMachine:SSMMyStateMachine-MggiqEXAMPLE `
    --task-type STEP_FUNCTIONS `
    --task-invocation-parameters '{\"StepFunctions\":{\"Input\":\"{\\\"InstanceId\\\":\\\"{{RESOURCE_ID}}\\\"}\", \"Name\":\"{{INVOCATION_ID}}\"}}' `
    --priority 0 --max-concurrency 10 --max-errors 5 `
    --name "My-Step-Functions-Task" --description "A description for my Step Functions task"
```

------

**Contenido JSON para usar con la opción de archivo `--cli-input-json`:**

```
{
    "WindowId": "mw-0c50858d01EXAMPLE",
    "Targets": [
        {
            "Key": "WindowTargetIds",
            "Values": [
                "e32eecb2-646c-4f4b-8ed1-205fbEXAMPLE"
            ]
        }
    ],
    "TaskArn": "SSM_MyStateMachine",
    "TaskType": "STEP_FUNCTIONS",
    "MaxConcurrency": "10",
    "MaxErrors": "10",
    "TaskInvocationParameters": {
        "StepFunctions": {
            "Input": "{ \"instanceId\": \"{{TARGET_ID}}\" }",
            "Name": "{{INVOCATION_ID}}"
        }
    },
    "Name": "My-Step-Functions-Task",
    "Description": "A description for my Step Functions task",
    "Priority": 5
}
```