

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Conceitos básicos da API de Controle da Nuvem
<a name="getting-started"></a>

Use este breve tutorial para começar a realizar operações de recursos com AWS API Cloud Control. Você aprenderá o básico sobre o uso da API de Controle da Nuvem para criar, ler, atualizar, excluir e listar recursos.

**Topics**
+ [Etapa 1: criar um recurso](#getting-started-step1)
+ [Etapa 2: Ler (descrever) um recurso](#getting-started-step2)
+ [Etapa 3: Atualizar um recurso](#getting-started-step3)
+ [Etapa 4: Listar todos os recursos de um determinado tipo](#getting-started-list)
+ [Etapa 5: excluir um recurso](#getting-started-cleanup)
+ [Próximas etapas](#getting-started-next-steps)

## Etapa 1: criar um recurso
<a name="getting-started-step1"></a>

Para este tutorial, crie um recurso do tipo `[https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-logs-loggroup.html)`. Dê um nome a esse grupo de logs **CloudControlExample** e defina a política de retenção para 90 dias.

1. No AWS Command Line Interface (AWS CLI), execute o `create-resource` comando com os seguintes parâmetros:
   + Especifique o `type-name` como `AWS::Logs::LogGroup`.
   + Especifique o `desired-state` como uma string contendo JSON que define as propriedades desejadas:

     `{"LogGroupName": "CloudControlExample", "RetentionInDays": 90}`

   ```
   $ aws cloudcontrol create-resource --type-name AWS::Logs::LogGroup \
       --desired-state '{"LogGroupName": "CloudControlExample","RetentionInDays":90}'
   ```

   A API de Controle da Nuvem retorna um objeto `ProgressEvent` que contém informações sobre o status da sua solicitação de operação de recursos.

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:07:23.347Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "IN_PROGRESS",
           "Operation": "CREATE",
           "Identifier": "CloudControlExample",
           "RequestToken": "758f4a4e-fef4-491a-9b07-123456789012"
       }
   }
   ```

1. Para rastrear o status da sua solicitação de operação de recursos, execute o comando `get-resource-request-status` com o seguinte parâmetro:
   + Especifique o parâmetro `request-token` como o valor da propriedade `RequestToken` retornado no objeto `ProgressEvent`.

   ```
   $ aws cloudcontrol get-resource-request-status --request-token 758f4a4e-fef4-491a-9b07-123456789012
   ```

   A API de Controle da Nuvem retorna um objeto `ProgressEvent` que contém informações sobre o status da sua solicitação de operação de recursos. Quando a API de Controle da Nuvem cria o recurso com sucesso, ele define o valor `OperationStatus` como `SUCCESS`.

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:29:23.326Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "SUCCESS",
           "Operation": "CREATE",
           "Identifier": "CloudControlExample",
           "RequestToken": "758f4a4e-fef4-491a-9b07-123456789012"
       }
   }
   ```

## Etapa 2: Ler (descrever) um recurso
<a name="getting-started-step2"></a>

Em seguida, leia o estado atual do recurso que você acabou de criar.
+ No AWS CLI, execute o `get-resource` comando com o seguinte parâmetro:
  + Especifique `identifier` como o valor da propriedade `identifier` retornado no objeto `ProgressEvent` quando tiver criado o recurso. Nesse caso, é `CloudControlExample`, o nome que você especificou para o grupo de logs.

  ```
  $ aws cloudcontrol get-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample
  ```

  A API de Controle da Nuvem retorna informações detalhadas sobre o estado atual do recurso, incluindo um modelo de suas propriedades e configurações. Nesse caso, isso inclui uma propriedade,`Arn`, que foi gerada pela Amazon CloudWatch Events quando o recurso foi criado.

  ```
  {
      "TypeName": "AWS::Logs::LogGroup", 
      "ResourceDescription": {
          "Identifier": "CloudControlExample", 
          "ResourceModel": '{"RetentionInDays": 90, "LogGroupName": "CloudControlExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}'
      }
  }
  ```

## Etapa 3: Atualizar um recurso
<a name="getting-started-step3"></a>

Em seguida, atualize seu grupo de logs para dobrar a política de retenção para 180 dias.

1. No AWS CLI, execute o `update-resource` comando com o seguinte parâmetro:
   + Especifique o `type-name` como `AWS::Logs::LogGroup`.
   + Especifique `identifier` como o valor da propriedade `identifier` retornado no objeto `ProgressEvent` quando tiver criado o recurso. Nesse caso, é `CloudControlExample`, o nome que você especificou para o grupo de logs.
   + Especifique o parâmetro `patch-document` como uma string contendo JSON que representa uma operação de substituição que atualiza a política de retenção para 180 dias.

     `[{"op": "replace", "path": "RetentionInDays", "value": 180}]`

     Para obter informações detalhadas sobre a composição de documentos de patch, consulte[Redigir o documento de patch](resource-operations-update.md#resource-operations-update-patch).

   ```
   $ aws cloudcontrol update-resource --type-name AWS::Logs::LogGroup \
       --identifier CloudControlExample \
       --patch-document '[{"op": "replace", "path": "RetentionInDays", "value":180}]'
   ```

   A API de Controle da Nuvem retorna um objeto `ProgressEvent` que contém informações sobre o status da sua solicitação de operação de recursos.

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:29:22.547Z", 
           "ResourceModel": '{"RetentionInDays":180,"LogGroupName":"CloudControlExample"}',
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "IN_PROGRESS",
           "Operation": "UPDATE",
           "Identifier": "CloudControlExample", 
           "RequestToken": "2026055d-f21c-4b50-bd40-123456789012"
       }
   }
   ```

1. Para rastrear o status da sua solicitação de operação de recursos, execute o comando `get-resource-request-status` com o seguinte parâmetro:
   + Especifique o parâmetro `request-token` como o valor da propriedade `RequestToken` retornado no objeto `ProgressEvent`.

   ```
   $ aws cloudcontrol get-resource-request-status --request-token 2026055d-f21c-4b50-bd40-123456789012
   ```

   A API de Controle da Nuvem retorna um objeto `ProgressEvent` que contém informações sobre o status da sua solicitação de operação de recursos. Quando a API de Controle da Nuvem atualiza o recurso com sucesso, ela define o valor `OperationStatus` como `SUCCESS`.

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:29:23.326Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "SUCCESS",
           "Operation": "UPDATE",
           "Identifier": "CloudControlExample",
           "RequestToken": "2026055d-f21c-4b50-bd40-123456789012"
       }
   }
   ```

## Etapa 4: Listar todos os recursos de um determinado tipo
<a name="getting-started-list"></a>

Em seguida, use a API de Controle da Nuvem para descobrir recursos em seu Conta da AWS.
+ No AWS CLI, execute o `list-resources` comando com o seguinte parâmetro:
  + Especifique o `type-name` como `AWS::Logs::LogGroup`.

  ```
  $ aws cloudcontrol list-resources --type-name AWS::Logs::LogGroup
  ```

  A API de Controle da Nuvem retorna uma lista dos recursos do `AWS::Logs::LogGroup` em sua conta, por identificador primário. Isso inclui `CloudControlExample`, o recurso que você criou como parte deste tutorial, além de quaisquer outros grupos de logs que já existam em sua conta. Além disso, para recursos do `AWS::Logs::LogGroup`, as informações retornadas por `list-resources` incluem as propriedades de cada recurso.

  ```
  {
      "TypeName": "AWS::Logs::LogGroup",
      "ResourceDescriptions": [
          {
              "Identifier": "CloudControlExample",
              "Properties": '{"RetentionInDays":180, "LogGroupName": "CloudControlExample", "Arn":"arn:aws:logs:us-west-2:123456789012:log-group:CloudControlExample:*"}'
          },
          {
              "Identifier": "AnotherLogGroupResourceExample",
              "Properties": '{"RetentionInDays": 90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:123456789012:log-group:AnotherLogGroupResourceExample:*"}'
          },
      ]
  }
  ```

## Etapa 5: excluir um recurso
<a name="getting-started-cleanup"></a>

Por fim, exclua seu grupo de logs para limpar este tutorial.

1. No AWS CLI, execute o `delete-resource` comando com o seguinte parâmetro:
   + Especifique o `type-name` como `AWS::Logs::LogGroup`.
   + Especifique `identifier` como o valor da propriedade `identifier` retornado no objeto `ProgressEvent` quando tiver criado o recurso. Nesse caso, é **`CloudControlExample`**, o nome que você especificou para o grupo de logs.

   ```
   $ aws cloudcontrol delete-resource --type-name AWS::Logs::LogGroup --identifier CloudControlExample
   ```

   A API de Controle da Nuvem retorna um objeto `ProgressEvent` que contém informações sobre o status da sua solicitação de operação de recursos.

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:50:20.037Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "IN_PROGRESS",
           "Operation": "DELETE",
           "Identifier": "CloudControlExample",
           "RequestToken": "bb0ed9cd-84f9-44c2-b638-123456789012"
       }
   }
   ```

1. Para rastrear o status da sua solicitação de operação de recursos, execute o comando `get-resource-request-status` com o seguinte parâmetro:
   + Especifique o parâmetro `request-token` como o valor da propriedade `RequestToken` retornado no objeto `ProgressEvent`.

   ```
   $ aws cloudcontrol get-resource-request-status --request-token bb0ed9cd-84f9-44c2-b638-123456789012
   ```

   A API de Controle da Nuvem retorna um objeto `ProgressEvent` que contém informações sobre o status da sua solicitação de operação de recursos. Quando a API de Controle da Nuvem exclui o recurso com sucesso, ele define o valor `OperationStatus` como `SUCCESS`.

   ```
   {
       "ProgressEvent": {
           "EventTime": "2024-08-26T22:50:20.831Z",
           "TypeName": "AWS::Logs::LogGroup",
           "OperationStatus": "SUCCESS",
           "Operation": "DELETE",
           "Identifier": "CloudControlExample",
           "RequestToken": "bb0ed9cd-84f9-44c2-b638-123456789012"
       }
   }
   ```

## Próximas etapas
<a name="getting-started-next-steps"></a>

Para obter informações detalhadas e exemplos sobre como usar a Cloud Control API com recursos, consulte[Operações de recursos da API Cloud Control](resource-operations.md).