Conceitos básicos da API de Controle da Nuvem - Controle de nuvem API

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

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

Etapa 1: criar um recurso

Para este tutorial, crie um recurso do tipo AWS::Logs::LogGroup. 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": "2021-08-26T22:07:23.347Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-00123456789" } }
  2. 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-00123456789

    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": "2021-08-26T22:29:23.326Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "CREATE", "Identifier": "CloudControlExample", "RequestToken": "758f4a4e-fef4-491a-9b07-00123456789" } }

Etapa 2: Ler (descrever) um recurso

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:090123456789:log-group:CloudControlExample:*"}' } }

Etapa 3: Atualizar um recurso

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, consulteRedigir o documento de 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": "2021-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-111111111111" } }
  2. 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": "2021-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

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:090123456789:log-group:CloudControlExample:*"}' }, { "Identifier": "AnotherLogGroupResourceExample", "Properties": '{"RetentionInDays": 90, "LogGroupName": "AnotherLogGroupResourceExample", "Arn": "arn:aws:logs:us-west-2:011111111111:log-group:AnotherLogGroupResourceExample:*"}' }, ] }

Etapa 5: excluir um recurso

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": "2021-08-26T22:50:20.037Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "IN_PROGRESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-000000000000" } }
  2. 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-111111111111

    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": "2021-08-26T22:50:20.831Z", "TypeName": "AWS::Logs::LogGroup", "OperationStatus": "SUCCESS", "Operation": "DELETE", "Identifier": "CloudControlExample", "RequestToken": "bb0ed9cd-84f9-44c2-b638-000000000000" } }

Próximas etapas

Para obter informações detalhadas e exemplos sobre como usar a Cloud Control API com recursos, consulteOperações de API recursos do Cloud Control.