

# Estructura de comandos en la AWS CLI
<a name="cli-usage-commandstructure"></a>

En este tema se abordan cómo está estructurado el comando de la AWS Command Line Interface (AWS CLI) y cómo usar comandos de espera.

**Topics**
+ [Estructura de comandos](#cli-usage-commandstructure-structure.title)
+ [Comandos de espera](#cli-usage-commandstructure-wait)

## Estructura de comandos
<a name="cli-usage-commandstructure-structure.title"></a>

La AWS CLI utiliza una estructura de multiparte en la línea de comandos que deben especificarse en el siguiente orden:

1. La llamada base al programa de `aws`.

1. El *comando* de nivel superior, que normalmente corresponde a un servicio de AWS compatible con la AWS CLI.

1. El *subcomando* que especifica qué operación realizar.

1. Opciones o parámetros generales de la AWS CLI necesarios por la operación. Puede especificarlos en cualquier orden siempre que vayan detrás de las tres primeras partes. Si se especifica un parámetro exclusivo varias veces, solo se aplica el *último valor*.

```
$ aws <command> <subcommand> [options and parameters]
```

Los parámetros pueden tomar varios tipos de valores de entrada, como números, cadenas, listas, mapas y estructuras JSON. Los valores admitidos dependen del comando y los subcomandos que especifique.

### Ejemplos
<a name="cli-usage-commandstructure-structure-example"></a>

**Amazon S3**

En el siguiente ejemplo se enumeran todos los buckets de Amazon S3.

```
$ aws s3 ls
2018-12-11 17:08:50 amzn-s3-demo-bucket1
2018-12-14 14:55:44 amzn-s3-demo-bucket2
```

Para obtener más información acerca de los comandos de Simple Storage Service (Amazon S3), consulte [https://docs.aws.amazon.com/cli/latest/reference/s3/index.html](https://docs.aws.amazon.com/cli/latest/reference/s3/index.html) en la *Referencia de comandos de AWS CLI*.

**AWS CloudFormation**

El siguiente ejemplo de comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-change-set.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/create-change-set.html) ‎cambia el nombre de la pila de ‎cloudformation a *my-change-set*.

```
$ aws cloudformation create-change-set --stack-name my-stack --change-set-name my-change-set
```

Para obtener más información acerca de los comandos de AWS CloudFormation, consulte [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/index.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/index.html) en la *Referencia de comandos de AWS CLI*.

## Comandos de espera
<a name="cli-usage-commandstructure-wait"></a>

Algunos servicios de AWS tienen comandos `wait` disponibles. Cualquier comando que use `aws wait` por lo general espera hasta que se completa un comando antes de ir al siguiente paso. Esto es especialmente útil para comandos multiparte o scripting, ya que puede utilizar un comando de espera para evitar pasar a pasos posteriores si el comando de espera falla.

La AWS CLI utiliza una estructura multiparte en la línea de comandos para el comando `wait` que debe especificarse en el siguiente orden:

1. La llamada base al programa de `aws`.

1. El *comando* de nivel superior, que normalmente corresponde a un servicio de AWS compatible con la AWS CLI.

1. El comando `wait`

1. El *subcomando* que especifica qué operación realizar.

1. Opciones o parámetros generales de la CLI necesarios por la operación. Puede especificarlos en cualquier orden siempre que vayan detrás de las tres primeras partes. Si se especifica un parámetro exclusivo varias veces, solo se aplica el *último valor*.

```
$ aws <command> wait <subcommand> [options and parameters]
```

Los parámetros pueden tomar varios tipos de valores de entrada, como números, cadenas, listas, mapas y estructuras JSON. Los valores admitidos dependen del comando y los subcomandos que especifique.

**nota**  
No todos los servicios de AWS admiten comandos `wait`. Consulte la [AWS CLIversión 2 de la guía de referencia de ](https://docs.aws.amazon.com/cli/latest/reference/index.html) para ver si el servicio admite comandos `wait`.

### Ejemplos
<a name="cli-usage-commandstructure-wait-example"></a>

**AWS CloudFormation**

Los siguientes ejemplos de comandos [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/change-set-create-complete.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/change-set-create-complete.html)‎ se detienen y se reanudan solo después de que pueda confirmar que el conjunto de cambios *my-change-set*‎ de la pila *my-stack* está listo para ejecutarse.

```
$ aws cloudformation wait change-set-create-complete --stack-name my-stack --change-set-name my-change-set
```

‎Para obtener más información acerca de los comandos `wait` de AWS CloudFormation‎, consulte [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/index.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/index.html)‎ en la *Referencia de comandos de AWS CLI*.

**AWS CodeDeploy**

‎Los ejemplos de comandos [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/change-set-create-complete.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/change-set-create-complete.html) que se muestran a continuación se detienen hasta que se complete satisfactoriamente la implementación de ‎*d-A1B2C3111*.

```
$ aws deploy wait deployment-successful --deployment-id d-A1B2C3111
```

‎Para obtener más información acerca de los comandos `wait` de AWS CodeDeploy‎, consulte [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/index.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/wait/index.html)‎ en la *Referencia de los comandos de AWS CLI*.