Introducción a la API de control en la nube - API de control en la nube

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Introducción a la API de control en la nube

Utilice este breve tutorial para empezar a realizar operaciones de recursos con AWS Cloud Control API. Aprenderá los conceptos básicos del uso de la API de control en la nube para crear, leer, actualizar, eliminar y enumerar recursos.

Paso 1: Cree un recurso

Para este tutorial, cree un recurso de tipo AWS::Logs::LogGroup. Asigne el nombre CloudControlExample a este grupo de registro y establezca su política de retención en 90 días.

  1. En AWS Command Line Interface (AWS CLI), ejecute el create-resource comando con los siguientes parámetros:

    • Especifique el type-name como AWS::Logs::LogGroup.

    • Especifique el desired-state como una cadena que contiene JSON que establece las propiedades deseadas:

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

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

    La API de control en la nube devuelve un objeto ProgressEvent que contiene información sobre el estado de su solicitud de operación 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 hacer un seguimiento del estado de su solicitud de operación de recursos, ejecute el comando get-resource-request-status con el siguiente parámetro:

    • Especifique el parámetro request-token como el valor de la propiedad RequestToken devuelto en el objeto ProgressEvent.

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

    La API de control en la nube devuelve un objeto ProgressEvent que contiene información sobre el estado de su solicitud de operación de recursos. Cuando la API de control en la nube haya creado correctamente el recurso, establece el valor OperationStatus en 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" } }

Paso 2: Lea (describa) un recurso

A continuación, lea el estado actual del recurso que acaba de crear.

  • En AWS CLI, ejecute el get-resource comando con el siguiente parámetro:

    • Especifique identifier como el valor de la propiedad identifier devuelto por el objeto ProgressEvent al crear el recurso. En este caso, es CloudControlExample, el nombre que especificó para el grupo de registro.

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

    La API de control en la nube devuelve información detallada sobre el estado actual del recurso, incluido un modelo de sus propiedades y su configuración. En este caso, esto incluye una propiedad,Arn, que fue generada por Amazon CloudWatch Events cuando se creó el recurso.

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

Paso 3: Actualice un recurso

A continuación, actualice su grupo de registro para duplicar la política de retención (180 días).

  1. En AWS CLI, ejecute el update-resource comando con el siguiente parámetro:

    • Especifique el type-name como AWS::Logs::LogGroup.

    • Especifique identifier como el valor de la propiedad identifier devuelto por el objeto ProgressEvent al crear el recurso. En este caso, es CloudControlExample, el nombre que especificó para el grupo de registro.

    • Especifique el parámetro patch-document como una cadena que contiene JSON que representa una operación de sustitución que actualiza la política de retención a 180 días.

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

      Para obtener información detallada sobre la composición de los documentos de revisión, consulteRedacción del documento de parche.

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

    La API de control en la nube devuelve un objeto ProgressEvent que contiene información sobre el estado de su solicitud de operación 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 hacer un seguimiento del estado de su solicitud de operación de recursos, ejecute el comando get-resource-request-status con el siguiente parámetro:

    • Especifique el parámetro request-token como el valor de la propiedad RequestToken devuelto en el objeto ProgressEvent.

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

    La API de control en la nube devuelve un objeto ProgressEvent que contiene información sobre el estado de su solicitud de operación de recursos. Cuando la API de control en la nube haya actualizado correctamente el recurso, establece el valor OperationStatus en 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" } }

Paso 4: Enumere todos los recursos de un tipo determinado

A continuación, use la API de control en la nube para detectar los recursos en su Cuenta de AWS.

  • En AWS CLI, ejecute el list-resources comando con el siguiente parámetro:

    • Especifique el type-name como AWS::Logs::LogGroup.

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

    La API de control en la nube devuelve una lista de los recursos del AWS::Logs::LogGroup de su cuenta, por identificador principal. Esto incluye CloudControlExample, el recurso que creó como parte de este tutorial, además de cualquier otro grupo de registro que ya exista en su cuenta. Además, en el caso de los recursos del AWS::Logs::LogGroup, la información que los list-resources devuelven incluye las propiedades 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:*"}' }, ] }

Paso 5: Elimine un recurso

Por último, elimine el grupo de registro que desee quitar de este tutorial.

  1. En AWS CLI, ejecute el delete-resource comando con el siguiente parámetro:

    • Especifique el type-name como AWS::Logs::LogGroup.

    • Especifique identifier como el valor de la propiedad identifier devuelto por el objeto ProgressEvent al crear el recurso. En este caso, es CloudControlExample, el nombre que especificó para el grupo de registro.

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

    La API de control en la nube devuelve un objeto ProgressEvent que contiene información sobre el estado de su solicitud de operación 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 hacer un seguimiento del estado de su solicitud de operación de recursos, ejecute el comando get-resource-request-status con el siguiente parámetro:

    • Especifique el parámetro request-token como el valor de la propiedad RequestToken devuelto en el objeto ProgressEvent.

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

    La API de control en la nube devuelve un objeto ProgressEvent que contiene información sobre el estado de su solicitud de operación de recursos. Cuando la API de control en la nube haya eliminado correctamente el recurso, establece el valor OperationStatus en 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" } }

Siguientes pasos

Para obtener información detallada y ejemplos sobre el uso de la API de Cloud Control con recursos, consultaRealización de operaciones de recursos.