

# Exemplos do Cloud Control API usando a AWS CLI
<a name="cli_cloudcontrol_code_examples"></a>

Os exemplos de código a seguir mostram como realizar ações e implementar cenários comuns usando a AWS Command Line Interface com o Cloud Control API.

*Ações* são trechos de código de programas maiores e devem ser executadas em contexto. Embora as ações mostrem como chamar perfis de serviço individuais, você pode ver as ações no contexto em seus cenários relacionados.

Cada exemplo inclui um link para o código-fonte completo, em que você pode encontrar instruções sobre como configurar e executar o código.

**Topics**
+ [Ações](#actions)

## Ações
<a name="actions"></a>

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

O código de exemplo a seguir mostra como usar `create-resource`.

**AWS CLI**  
**Para criar um recurso**  
O exemplo `create-resource` a seguir cria um recurso AWS::Kinesis::Stream, chamado ResourceExample, com um período de retenção de 168 horas e uma contagem de três fragmentos.  

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

```
{
    "ProgressEvent": {
        "EventTime": 1632506656.706,
        "TypeName": "AWS::Kinesis::Stream",
        "OperationStatus": "IN_PROGRESS",
        "Operation": "CREATE",
        "Identifier": "ResourceExample",
        "RequestToken": "20999d87-e304-4725-ad84-832dcbfd7fc5"
    }
}
```
Para obter mais informações, consulte [Criar um recurso](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-create.html) no *Guia do usuário da Cloud Control API*.  
+  Consulte detalhes da API em [CreateResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/create-resource.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `delete-resource`.

**AWS CLI**  
**Para excluir um recurso**  
O exemplo `delete-resource` a seguir exclui um recurso AWS::Kinesis::Stream com o identificador ResourceExample da sua conta da AWS.  

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

```
{
    "ProgressEvent": {
        "TypeName": "AWS::Kinesis::Stream",
        "Identifier": "ResourceExample",
        "RequestToken": "e48f26ff-d0f9-4ab8-a878-120db1edf111",
        "Operation": "DELETE",
        "OperationStatus": "IN_PROGRESS",
        "EventTime": 1632950300.14
    }
}
```
Para obter mais informações, consulte [Excluir um recurso](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-delete.html) no *Guia do usuário da Cloud Control API*.  
+  Para ver detalhes da API, consulte [DeleteResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/delete-resource.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `get-resource-request-status`.

**AWS CLI**  
**Para obter as informações de status de uma solicitação de recurso**  
O exemplo `get-resource-request-status` a seguir retorna informações de status da solicitação de recurso especificada.  

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

```
{
    "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 obter mais informações, consulte [Gerenciar solicitações de operação de recursos](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html) no *Guia do usuário da Cloud Control API*.  
+  Para ver detalhes da API, consulte [GetResourceRequestStatus](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/get-resource-request-status.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `get-resource`.

**AWS CLI**  
**Para obter o estado atual de um recurso**  
O exemplo `get-resource` a seguir retorna o estado atual do recurso AWS::Kinesis::Stream chamado ResourceExample.  

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

```
{
    "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 obter mais informações, consulte [Ler o estado atual de um recurso](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-read.html) no *Guia do usuário da Cloud Control API*.  
+  Para ver detalhes da API, consulte [GetResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/get-resource.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-resource-requests`.

**AWS CLI**  
**Para listar as solicitações de operação de recursos ativos**  
O exemplo `list-resource-requests` a seguir lista as solicitações de recursos para as operações CREATE e UPDATE que falharam em sua conta da AWS.  

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

```
{
    "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 obter mais informações, consulte [Gerenciar solicitações de operação de recursos](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-manage-requests.html) no *Guia do usuário da Cloud Control API*.  
+  Para ver detalhes da API, consulte [ListResourceRequests](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/list-resource-requests.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `list-resources`.

**AWS CLI**  
**Para listar os recursos de um determinado tipo**  
O exemplo `list-resources` a seguir lista os recursos AWS::Kinesis::Stream provisionados em sua conta da AWS.  

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

```
{
    "TypeName": "AWS::Kinesis::Stream",
    "ResourceDescriptions": [
        {
            "Identifier": "MyKinesisStream",
            "Properties": "{\"Name\":\"MyKinesisStream\"}"
        },
        {
            "Identifier": "AnotherStream",
            "Properties": "{\"Name\":\"AnotherStream\"}"
        }
    ]
}
```
Para obter mais informações, consulte [Descobrir recursos](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-list.html) no *Guia do usuário da Cloud Control API*.  
+  Para ver detalhes da API, consulte [ListResources](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/list-resources.html) na *Referência de comandos da AWS CLI*. 

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

O código de exemplo a seguir mostra como usar `update-resource`.

**AWS CLI**  
**Para atualizar as propriedades de um recurso existente**  
O exemplo `update-resource` a seguir atualiza a política de retenção de um recurso AWS::Logs::LogGroup chamado ExampleLogGroup para 90 dias.  

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

```
{
    "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 obter mais informações, consulte [Atualizar um recurso](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/resource-operations-update.html) no *Guia do usuário da Cloud Control API*.  
+  Para ver detalhes da API, consulte [UpdateResource](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/cloudcontrol/update-resource.html) na *Referência de comandos da AWS CLI*. 