

# Ejemplos de API de control en la nube que utilizan la AWS CLI
<a name="cli_cloudcontrol_code_examples"></a>

En los siguientes ejemplos de código se muestra cómo realizar acciones e implementar situaciones comunes usando la AWS Command Line Interface con API de control en la nube.

Las *acciones* son extractos de código de programas más grandes y deben ejecutarse en contexto. Mientras las acciones muestran cómo llamar a las distintas funciones de servicio, es posible ver las acciones en contexto en los escenarios relacionados.

En cada ejemplo se incluye un enlace al código de origen completo, con instrucciones de configuración y ejecución del código en el contexto.

**Topics**
+ [Acciones](#actions)

## Acciones
<a name="actions"></a>

### `create-resource`
<a name="cloudcontrol_CreateResource_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `create-resource`.

**AWS CLI**  
**Creación de un recurso**  
En el siguiente ejemplo de `create-resource`, se crea un recurso AWS::Kinesis::Stream, denominado ResourceExample, con un período de retención de 168 horas y un recuento de tres particiones.  

```
aws cloudcontrol create-resource \
    --type-name AWS::Kinesis::Stream \
    --desired-state "{\"Name\": \"ResourceExample\",\"RetentionPeriodHours\":168, \"ShardCount\":3}"
```
Salida:  

```
{
    "ProgressEvent": {
        "EventTime": 1632506656.706,
        "TypeName": "AWS::Kinesis::Stream",
        "OperationStatus": "IN_PROGRESS",
        "Operation": "CREATE",
        "Identifier": "ResourceExample",
        "RequestToken": "20999d87-e304-4725-ad84-832dcbfd7fc5"
    }
}
```
Para obtener más información, consulte [Creating a resource](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-create.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener información sobre la API, consulte [CreateResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/create-resource.html) en la *Referencia de comandos de la AWS CLI*. 

### `delete-resource`
<a name="cloudcontrol_DeleteResource_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `delete-resource`.

**AWS CLI**  
**Para eliminar un recurso**  
En el siguiente ejemplo de `delete-resource`, se elimina un recurso AWS::Kinesis::Stream con el identificador ResourceExample de la cuenta de AWS.  

```
aws cloudcontrol delete-resource \
    --type-name AWS::Kinesis::Stream \
    --identifier ResourceExample
```
Salida:  

```
{
    "ProgressEvent": {
        "TypeName": "AWS::Kinesis::Stream",
        "Identifier": "ResourceExample",
        "RequestToken": "e48f26ff-d0f9-4ab8-a878-120db1edf111",
        "Operation": "DELETE",
        "OperationStatus": "IN_PROGRESS",
        "EventTime": 1632950300.14
    }
}
```
Para obtener más información, consulte [Deleting a resource](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-delete.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener información sobre la API, consulte [DeleteResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/delete-resource.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-resource-request-status`
<a name="cloudcontrol_GetResourceRequestStatus_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-resource-request-status`.

**AWS CLI**  
**Obtención de la información de estado de una solicitud de recursos**  
En el siguiente ejemplo de `get-resource-request-status`, se ofrece información sobre la solicitud de recurso especificada.  

```
aws cloudcontrol get-resource-request-status \
    --request-token "e1a6b86e-46bd-41ac-bfba-001234567890"
```
Salida:  

```
{
    "ProgressEvent": {
        "TypeName": "AWS::Kinesis::Stream",
        "Identifier": "Demo",
        "RequestToken": "e1a6b86e-46bd-41ac-bfba-001234567890",
        "Operation": "CREATE",
        "OperationStatus": "FAILED",
        "EventTime": 1632950268.481,
        "StatusMessage": "Resource of type 'AWS::Kinesis::Stream' with identifier 'Demo' already exists.",
        "ErrorCode": "AlreadyExists"
    }
}
```
Para obtener más información, consulte [Managing resource operation requests](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener información sobre la API, consulte [GetResourceRequestStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/get-resource-request-status.html) en la *Referencia de comandos de la AWS CLI*. 

### `get-resource`
<a name="cloudcontrol_GetResource_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `get-resource`.

**AWS CLI**  
**Obtención del estado actual de un recurso**  
En el siguiente ejemplo de `get-resource`, se indica el estado actual del recurso AWS::Kinesis::Stream denominado ResourceExample.  

```
aws cloudcontrol get-resource \
    --type-name AWS::Kinesis::Stream \
    --identifier ResourceExample
```
Salida:  

```
{
    "TypeName": "AWS::Kinesis::Stream",
    "ResourceDescription": {
        "Identifier": "ResourceExample",
        "Properties": "{\"Arn\":\"arn:aws:kinesis:us-west-2:099908667365:stream/ResourceExample\",\"RetentionPeriodHours\":168,\"Name\":\"ResourceExample\",\"ShardCount\":3}"
    }
}
```
Para obtener más información, consulte [Reading a resource's current state](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-read.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener detalles sobre la API, consulte [GetResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/get-resource.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-resource-requests`
<a name="cloudcontrol_ListResourceRequests_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `list-resource-requests`.

**AWS CLI**  
**Generación de una lista de las solicitudes de operaciones de recursos activas**  
En el siguiente ejemplo de `list-resource-requests`, se genera una lista de las solicitudes de recursos para las operaciones CREATE y UPDATE que han fallado en la cuenta de AWS.  

```
aws cloudcontrol list-resource-requests \
    --resource-request-status-filter Operations=CREATE,OperationStatuses=FAILED
```
Salida:  

```
{
    "ResourceRequestStatusSummaries": [
        {
            "TypeName": "AWS::Kinesis::Stream",
            "Identifier": "Demo",
            "RequestToken": "e1a6b86e-46bd-41ac-bfba-633abcdfdbd7",
            "Operation": "CREATE",
            "OperationStatus": "FAILED",
            "EventTime": 1632950268.481,
            "StatusMessage": "Resource of type 'AWS::Kinesis::Stream' with identifier 'Demo' already exists.",
            "ErrorCode": "AlreadyExists"
        }
    ]
}
```
Para obtener más información, consulte [Managing resource operation requests](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener información sobre la API, consulte [ListResourceRequests](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/list-resource-requests.html) en la *Referencia de comandos de la AWS CLI*. 

### `list-resources`
<a name="cloudcontrol_ListResources_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `list-resources`.

**AWS CLI**  
**Generación de una lista de los recursos de un tipo determinado**  
En el siguiente ejemplo de `list-resources`, se genera una lista de los recursos AWS::Kinesis::Stream aprovisionados en la cuenta de AWS.  

```
aws cloudcontrol list-resources \
    --type-name AWS::Kinesis::Stream
```
Salida:  

```
{
    "TypeName": "AWS::Kinesis::Stream",
    "ResourceDescriptions": [
        {
            "Identifier": "MyKinesisStream",
            "Properties": "{\"Name\":\"MyKinesisStream\"}"
        },
        {
            "Identifier": "AnotherStream",
            "Properties": "{\"Name\":\"AnotherStream\"}"
        }
    ]
}
```
Para obtener más información, consulte [Discovering resources](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-list.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener más información sobre la API, consulte [ListResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/list-resources.html) en la *Referencia de comandos de la AWS CLI*. 

### `update-resource`
<a name="cloudcontrol_UpdateResource_cli_topic"></a>

En el siguiente ejemplo de código, se muestra cómo utilizar `update-resource`.

**AWS CLI**  
**Actualización de las propiedades de un recurso existente**  
En el siguiente ejemplo de `update-resource`, se actualiza la política de retención de un recurso AWS::Logs::LogGroup denominado ExampleLogGroup a 90 días.  

```
aws cloudcontrol update-resource \
    --type-name AWS::Logs::LogGroup \
    --identifier ExampleLogGroup \
    --patch-document "[{\"op\":\"replace\",\"path\":\"/RetentionInDays\",\"value\":90}]"
```
Salida:  

```
{
    "ProgressEvent": {
        "EventTime": "2021-08-09T18:17:15.219Z",
        "TypeName": "AWS::Logs::LogGroup",
        "OperationStatus": "IN_PROGRESS",
        "Operation": "UPDATE",
        "Identifier": "ExampleLogGroup",
        "RequestToken": "5f40c577-3534-4b20-9599-0b0123456789"
    }
}
```
Para obtener más información, consulte [Updating a resource](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-update.html) en la *Guía del usuario de API de control en la nube*.  
+  Para obtener información sobre la API, consulte [UpdateResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/update-resource.html) en la *Referencia de comandos de la AWS CLI*. 