

• 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). 

# Paso 3: registre una tarea con el periodo de mantenimiento mediante la AWS CLI
<a name="mw-cli-tutorial-tasks"></a>

En este paso del tutorial, registrará una tarea de AWS Systems Manager Run Command que ejecuta el comando `df` en su instancia de Amazon Elastic Compute Cloud (Amazon EC2) para Linux. Los resultados de este comando de Linux estándar muestran la cantidad de espacio libre y de espacio que se utiliza en el sistema de archivos de disco de la instancia.

-o bien-

Si tiene una instancia de Amazon EC2 para Windows Server en lugar de Linux, reemplace **df** en el siguiente comando por **ipconfig**. La salida de este comando muestra los detalles de la dirección IP, la máscara de subred y la gateway predeterminada para los adaptadores en la instancia de destino.

Cuando esté listo para registrar otros tipos de tareas o utilizar otras opciones disponibles de Systems Manager Run Command, consulte [Ejemplos: registrar tareas en un periodo de mantenimiento](mw-cli-register-tasks-examples.md). En este apartado se proporciona más información sobre los cuatro tipos de tarea y algunas de sus opciones más importantes, con el fin de ayudarle a planificar escenarios más extensos y reales. 

**Para registrar una tarea en un periodo de mantenimiento**

1. Ejecute el siguiente comando en el equipo local. Reemplace cada *example resource placeholder* con su propia información. La versión para ejecutar desde un equipo local con Windows incluye los caracteres de escape ("/") necesarios para ejecutar el comando desde la herramienta de línea de comandos.

------
#### [ 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-0471e04240EXAMPLE" \
       --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\"]}}}
   ```

------

   El sistema devuelve información similar a la siguiente:

   ```
   {
       "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE"
   }
   ```

1. Ahora ejecute el siguiente comando para ver información detallada sobre la tarea del periodo de mantenimiento que ha creado. 

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

   ```
   aws ssm describe-maintenance-window-tasks \
       --window-id mw-0c50858d01EXAMPLE
   ```

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

   ```
   aws ssm describe-maintenance-window-tasks ^
       --window-id mw-0c50858d01EXAMPLE
   ```

------

1. El sistema devuelve información similar a la siguiente.

   ```
   {
       "Tasks": [
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowTaskId": "4f7ca192-7e9a-40fe-9192-5cb15EXAMPLE",
               "TaskArn": "AWS-RunShellScript",
               "Type": "RUN_COMMAND",
               "Targets": [
                   {
                       "Key": "InstanceIds",
                       "Values": [
                           "i-02573cafcfEXAMPLE"
                       ]
                   }
               ],
               "TaskParameters": {},
               "Priority": 10,
               "ServiceRoleArn": "arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole",
               "MaxConcurrency": "1",
               "MaxErrors": "1"
           }
       ]
   }
   ```

1. Espere hasta que la tarea haya tenido tiempo de ejecutarse, según la programación que especificó en [Paso 1: cree el periodo de mantenimiento mediante la AWS CLI](mw-cli-tutorial-create-mw.md). Por ejemplo, si especificó **--schedule "rate(5 minutes)"**, espere cinco minutos. A continuación, ejecute el siguiente comando para ver información sobre las ejecuciones que han tenido lugar para esta tarea. 

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

   ```
   aws ssm describe-maintenance-window-executions \
       --window-id mw-0c50858d01EXAMPLE
   ```

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

   ```
   aws ssm describe-maintenance-window-executions ^
       --window-id mw-0c50858d01EXAMPLE
   ```

------

   El sistema devuelve información similar a la siguiente.

   ```
   {
       "WindowExecutions": [
           {
               "WindowId": "mw-0c50858d01EXAMPLE",
               "WindowExecutionId": "14bea65d-5ccc-462d-a2f3-e99c8EXAMPLE",
               "Status": "SUCCESS",
               "StartTime": 1557593493.096,
               "EndTime": 1557593498.611
           }
       ]
   }
   ```

**sugerencia**  
Una vez que la tarea se ejecuta correctamente, puede reducir la frecuencia de ejecución del periodo de mantenimiento. Por ejemplo, ejecute el siguiente comando para reducir la frecuencia a una vez a la semana. Reemplace *mw-0c50858d01EXAMPLE* con su propia información.  

```
aws ssm update-maintenance-window \
    --window-id mw-0c50858d01EXAMPLE \
    --schedule "rate(7 days)"
```

```
aws ssm update-maintenance-window ^
    --window-id mw-0c50858d01EXAMPLE ^
    --schedule "rate(7 days)"
```
Para obtener información sobre cómo administrar las programaciones de los periodos de mantenimiento, consulte [Referencia: expresiones cron y rate para Systems Manager](reference-cron-and-rate-expressions.md) y [Programación de la ventana de mantenimiento y opciones de periodo activo](maintenance-windows-schedule-options.md).  
Para obtener información acerca de cómo utilizar la AWS Command Line Interface (AWS CLI) para modificar un periodo de mantenimiento, consulte [Tutorial actualización de un periodo de mantenimiento mediante la AWS CLI](maintenance-windows-cli-tutorials-update.md).

Para practicar la ejecución de comandos de la AWS CLI a fin de ver más detalles sobre la tarea del periodo de mantenimiento y sus ejecuciones, vaya a [Tutorial: visualización de información sobre tareas y ejecuciones de tareas mediante la AWS CLI](mw-cli-tutorial-task-info.md).

**Acceder al resultado del comando del tutorial**  
Está fuera del alcance de este tutorial utilizar la AWS CLI para ver el *resultado* del comando de Run Command asociado a las ejecuciones de la tarea del periodo de mantenimiento.

No obstante, puede ver estos datos mediante la AWS CLI. (También puede ver la salida en la consola de Systems Manager o en un archivo de registros almacenado en un bucket de Amazon Simple Storage Service (Amazon S3), en caso de haber configurado el periodo de mantenimiento para almacenar las salidas de los comandos allí). Descubrirá que la salida del comando **df** en una instancia de EC2 para Linux es similar a lo siguiente.

```
Filesystem 1K-blocks Used Available Use% Mounted on

devtmpfs 485716 0 485716 0% /dev

tmpfs 503624 0 503624 0% /dev/shm

tmpfs 503624 328 503296 1% /run

tmpfs 503624 0 503624 0% /sys/fs/cgroup

/dev/xvda1 8376300 1464160 6912140 18% /
```

El resultado del comando **ipconfig** en una instancia de EC2 para Windows Server es similar al siguiente:

```
Windows IP Configuration


Ethernet adapter Ethernet 2:

   Connection-specific DNS Suffix  . : example.com
   IPv4 Address. . . . . . . . . . . : 10.24.34.0/23
   Subnet Mask . . . . . . . . . . . : 255.255.255.255
   Default Gateway . . . . . . . . . : 0.0.0.0

Ethernet adapter Ethernet:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . : abc1.wa.example.net

Wireless LAN adapter Local Area Connection* 1:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :

Wireless LAN adapter Wi-Fi:

   Connection-specific DNS Suffix  . :
   Link-local IPv6 Address . . . . . : fe80::100b:c234:66d6:d24f%4
   IPv4 Address. . . . . . . . . . . : 192.0.2.0
   Subnet Mask . . . . . . . . . . . : 255.255.255.0
   Default Gateway . . . . . . . . . : 192.0.2.0

Ethernet adapter Bluetooth Network Connection:

   Media State . . . . . . . . . . . : Media disconnected
   Connection-specific DNS Suffix  . :
```

# 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
}
```

# Opciones de parámetros para el comando register-task-with-maintenance-windows
<a name="mw-cli-task-options"></a>

El comando **register-task-with-maintenance-window** proporciona varias opciones para configurar una tarea en función de sus necesidades. Algunas son obligatorias, otras opcionales y otras solo se aplican a un único tipo de tarea de ventana de mantenimiento.

En este tema se proporciona información sobre algunas de estas opciones para ayudarlo a trabajar con los ejemplos de esta sección del tutorial. Para obtener información acerca de todas las opciones de comandos, consulte **[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 comando de la AWS CLI*.

**Opción de comando: `--task-arn`**  
La opción `--task-arn` se usa para especificar el recurso en el que opera la tarea. El valor que se especifica depende del tipo de tarea que se registra, como se describe en la siguiente tabla.


**Formatos de TaskArn para tareas del periodo de mantenimiento**  

| Tipo de tarea de la ventana de mantenimiento | Valor TaskArn | 
| --- | --- | 
|  **`RUN_COMMAND`** y ** `AUTOMATION`**  |  `TaskArn` es el nombre del documento de SSM o el nombre de recurso de Amazon (ARN). Por ejemplo:  `AWS-RunBatchShellScript`  -o bien- `arn:aws:ssm:region:111122223333:document/My-Document`.  | 
|  **`LAMBDA`**  |  `TaskArn` es el nombre de la función o ARN. Por ejemplo:  `SSMMy-Lambda-Function` -o bien- `arn:aws:lambda:region:111122223333:function:SSMMyLambdaFunction`.  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`.   | 
|  **`STEP_FUNCTIONS`**  |  `TaskArn` es el ARN de la máquina de estado. Por ejemplo:  `arn:aws:states:us-east-2:111122223333:stateMachine:SSMMyStateMachine`.  La política de IAM para periodos de mantenimiento requiere que se agregue el prefijo a los nombres de máquina de estado de Step Functions `SSM`. Antes de registrar 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`.   | 

**Opción de comando: `--service-role-arn`**  
El rol que AWS Systems Manager debe asumir cuando se ejecuta la tarea del periodo de mantenimiento. 

Para obtener más información, consulte [Configuración de Maintenance Windows](setting-up-maintenance-windows.md)

**Opción de comando: `--task-invocation-parameters`**  
La opción `--task-invocation-parameters` se utiliza para especificar los parámetros que son exclusivos de cada uno de los cuatro tipos de tarea. Los parámetros admitidos para cada uno de estos cuatro tipos se describen en la tabla siguiente.

**nota**  
Para obtener información acerca de cómo utilizar los pseudoparámetros en contenido `--task-invocation-parameters`, como \$1\$1TARGET\$1ID\$1\$1, consulte [Utilización de pseudoparámetros en el registro de las tareas del periodo de mantenimiento](maintenance-window-tasks-pseudo-parameters.md). 

Opciones de los parámetros de invocación de tareas de periodos de mantenimiento


| Tipo de tarea de la ventana de mantenimiento | Parámetros disponibles  | Ejemplo | 
| --- | --- | --- | 
|  **`RUN_COMMAND`**  |  `Comment` `DocumentHash` `DocumentHashType` `NotificationConfig` `OutputS3BucketName` `OutPutS3KeyPrefix` `Parameters` `ServiceRoleArn` `TimeoutSeconds`  |  <pre>"TaskInvocationParameters": {<br />        "RunCommand": {<br />            "Comment": "My Run Command task comment",<br />            "DocumentHash": "6554ed3d--truncated--5EXAMPLE",<br />            "DocumentHashType": "Sha256",<br />            "NotificationConfig": {<br />                "NotificationArn": "arn:aws:sns:region:123456789012:my-sns-topic-name",<br />                "NotificationEvents": [<br />                    "FAILURE"<br />                ],<br />                "NotificationType": "Invocation"<br />            },<br />            "OutputS3BucketName": "amzn-s3-demo-bucket",<br />            "OutputS3KeyPrefix": "S3-PREFIX",<br />            "Parameters": {<br />                "commands": [<br />                    "Get-ChildItem$env: temp-Recurse|Remove-Item-Recurse-force"<br />                ]<br />            },<br />            "ServiceRoleArn": "arn:aws:iam::123456789012:role/MyMaintenanceWindowServiceRole",<br />            "TimeoutSeconds": 3600<br />        }<br />    }</pre>  | 
|  **`AUTOMATION`**  |  `DocumentVersion` `Parameters`  |  <pre>"TaskInvocationParameters": {<br />        "Automation": {<br />            "DocumentVersion": "3",<br />            "Parameters": {<br />                "instanceid": [<br />                    "{{TARGET_ID}}"<br />                ]<br />            }<br />        }<br />    }</pre>  | 
|  **`LAMBDA`**  |  `ClientContext` `Payload` `Qualifier`  |  <pre>"TaskInvocationParameters": {<br />        "Lambda": {<br />            "ClientContext": "ew0KICAi--truncated--0KIEXAMPLE",<br />            "Payload": "{ \"targetId\": \"{{TARGET_ID}}\", \"targetType\": \"{{TARGET_TYPE}}\" }",<br />            "Qualifier": "$LATEST"<br />        }<br />    }</pre>  | 
|  **`STEP_FUNCTIONS`**  |  `Input` `Name`  |  <pre>"TaskInvocationParameters": {<br />        "StepFunctions": {<br />            "Input": "{ \"targetId\": \"{{TARGET_ID}}\" }",<br />            "Name": "{{INVOCATION_ID}}"<br />        }<br />    }</pre>  | 