Registrar las llamadas a la API de administración de AWS costos con AWS CloudTrail - AWS Gestión de costes

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.

Registrar las llamadas a la API de administración de AWS costos con AWS CloudTrail

AWS La administración de costos está integrada con AWS CloudTrail un servicio que proporciona un registro de las acciones realizadas por un usuario, rol o persona Servicio de AWS en la administración de AWS costos. CloudTrail captura las llamadas a la API para la gestión de AWS costes como eventos. Las llamadas capturadas incluyen las llamadas a la API desde la consola de administración de AWS costos y desde sus aplicaciones.

Si crea una ruta, puede habilitar la entrega continua de CloudTrail eventos a un bucket de Amazon S3, incluidos los eventos para la administración de AWS costos. Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el historial de eventos. Con la información recopilada por CloudTrail, puede determinar la solicitud que se realizó a AWS Cost Management, la dirección IP desde la que se realizó la solicitud, quién la hizo, cuándo se realizó y detalles adicionales.

Para obtener más información CloudTrail, consulte la Guía AWS CloudTrail del usuario.

AWS Información sobre la gestión de costes en CloudTrail

CloudTrail está habilitada Cuenta de AWS cuando crea la cuenta. Cuando se produce una actividad en la administración de AWS costos, esa actividad se registra en un CloudTrail evento junto con otros Servicio de AWS eventos en el historial de eventos. Puede ver, buscar y descargar eventos recientes en su Cuenta de AWS. Para obtener más información, consulte Visualización de eventos con el historial de CloudTrail eventos.

Para tener un registro continuo de sus eventos Cuenta de AWS, incluidos los eventos de gestión de AWS costes, cree un registro. Un rastro permite CloudTrail entregar archivos de registro a un bucket de Amazon S3. De forma predeterminada, cuando crea una ruta en la CloudTrail consola, la ruta se aplica a todas AWS las regiones. La ruta registra los eventos de todas las regiones de las AWS particiones y envía los archivos de registro al bucket de Amazon S3 que especifique. Además, puede configurar otros Servicios de AWS para que analicen los datos de eventos recopilados en los CloudTrail registros y actúen en función de ellos.

Para obtener más información, consulte lo indicado en la Guía del usuario de CloudTrail :

AWS Las acciones de gestión de costes se registran CloudTrail y documentan en la referencia de la Administración de facturación y costos de AWS API. Por ejemplo, las llamadas a los GetDimensionValues GetCostandUsage puntos finales y a los puntos finales generan entradas en los archivos de CloudTrail registro. GetCostCategories

Cada entrada de registro o evento contiene información sobre quién generó la solicitud. La información de identidad le ayudará a determinar si la solicitud se realizó:

  • Con credenciales de usuario raíz o de rol.

  • Con credenciales de seguridad temporales de un rol o de un usuario federado.

  • Por otro Servicio de AWS.

Para obtener más información, consulte el Elemento userIdentity de CloudTrail.

Comprensión de las entradas del archivo de registro de gestión de AWS costes

Un registro de seguimiento es una configuración que permite la entrega de eventos como archivos de registros en un bucket de Amazon S3 que especifique. Un evento representa una solicitud específica realizada desde un origen cualquiera y contiene información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc.

CloudTrail Los archivos de registro contienen una o más entradas de registro. CloudTrail Los archivos de registro no son un registro de pila ordenado de las llamadas a la API pública, por lo que no aparecen en ningún orden específico.

El siguiente ejemplo muestra una entrada de CloudTrail registro para el GetCostandUsage punto final.

{ "eventVersion":"1.08", "userIdentity":{ "accountId":"111122223333", "accessKeyId":"AIDACKCEVSQ6C2EXAMPLE" }, "eventTime":"2022-05-24T22:38:51Z", "eventSource":"ce.amazonaws.com", "eventName":"GetCostandUsage", "awsRegion":"us-east-1", "sourceIPAddress":"100.100.10.10", "requestParameters":{ "TimePeriod":{ "Start":"2022-01-01", "End":"2022-01-31" }, "Metrics":[ "UnblendedCost", "UsageQuantity" ], "Granularity":"MONTHLY", "GroupBy":[ { "Type":"DIMENSION", "Key":"SERVICE" } ] }, "responseElements":null, "requestID":"3295c994-063e-44ac-80fb-b40example9f", "eventID":"5923c499-063e-44ac-80fb-b40example9f", "readOnly":true, "eventType":"AwsApiCall", "managementEvent":true, "recipientAccountId":"1111-2222-3333", "eventCategory":"Management", "tlsDetails":{ "tlsVersion":"TLSv1.2", "clientProvidedHostHeader":"ce.us-east-1.amazonaws.com" } }

Descripción de las entradas del archivo de registros del Centro de optimización de costos

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique. CloudTrail Los archivos de registro contienen una o más entradas de registro. Un evento representa una solicitud única de cualquier fuente e incluye información sobre la acción solicitada, la fecha y la hora de la acción, los parámetros de la solicitud, etc. CloudTrail Los archivos de registro no son un registro ordenado de las llamadas a la API pública, por lo que no aparecen en ningún orden específico.

Los siguientes ejemplos muestran entradas de CloudTrail registro que muestran las acciones y excepciones de la API para Cost Optimization Hub.

Throttling Exception

En el ejemplo siguiente se muestra una entrada de registro para una excepción de limitación.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "john-doe": "Admin" }, "attributes": { "creationDate": "2023-10-14T00:48:50Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-14T01:16:45Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "ListEnrollmentStatuses", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "errorCode": "ThrottlingException", "requestParameters": null, "responseElements": null, "requestID": "cc04aa10-7417-4c46-b1eb-EXAMPLE1df2b", "eventID": "754a3aad-1b54-456a-ac1f-EXAMPLE0e9c3", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "localhost:8080" } }

Excepción de denegación de acceso

En el ejemplo siguiente, se muestra una entrada de registro para una excepción AccessDenied.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FTKD2BZKUK:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/ReadOnly/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FTKD2BZKUK", "arn": "arn:aws:iam::111122223333:role/ReadOnly", "accountId": "111122223333", "john-doe": "ReadOnly" }, "attributes": { "creationDate": "2023-10-16T19:08:36Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-16T19:11:04Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "ListEnrollmentStatuses", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "errorCode": "AccessDenied", "errorMessage": "User: arn:aws:sts::111122223333:assumed-role/ReadOnly/john-doe is not authorized to perform: cost-optimization-hub:ListEnrollmentStatuses on resource: * because no identity-based policy allows the cost-optimization-hub:ListEnrollmentStatuses action", "requestParameters": null, "responseElements": null, "requestID": "1e02d84a-b04a-4b71-8615-EXAMPLEdcda7", "eventID": "71c86695-d4ec-4caa-a106-EXAMPLEe0d94", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "localhost:8080" } }

ListEnrollmentStatus

En el ejemplo siguiente, se muestra una entrada de registro para la acción de la API ListEnrollmentStatus.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "john-doe": "Admin" }, "attributes": { "creationDate": "2023-10-14T00:48:50Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-14T01:16:43Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "ListEnrollmentStatuses", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "requestParameters": { "includeOrganizationInfo": false }, "responseElements": null, "requestID": "cba87aa3-4678-41b8-a840-EXAMPLEaf3b8", "eventID": "57f04d0e-61f7-4c0f-805c-EXAMPLEbbbf5", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "localhost:8080" } }

ListRecommendations

En el ejemplo siguiente, se muestra una entrada de registro para la acción de la API ListRecommendations.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "john-doe": "Admin" }, "attributes": { "creationDate": "2023-10-16T23:47:55Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-17T00:45:29Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "ListRecommendations", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "requestParameters": { "filter": { "resourceIdentifiers": [ "arn:aws:ecs:us-east-1:111122223333:service/EXAMPLEAccountsIntegrationService-EcsCluster-ClusterEB0386A7-7fsvP2MMmxZ5/EXAMPLEAccountsIntegrationService-EcsService-Service9571FDD8-Dqm4mPMLstDn" ] }, "includeAllRecommendations": false }, "responseElements": null, "requestID": "a5b2df72-2cfd-4628-8a72-EXAMPLE7560a", "eventID": "a73bef13-6af7-4c11-a708-EXAMPLE6af5c", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "cost-optimization-hub.us-east-1.amazonaws.com" } }

ListRecommendationSummaries

En el ejemplo siguiente, se muestra una entrada de registro para la acción de la API ListRecommendationSummaries.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "userName": "Admin" }, "attributes": { "creationDate": "2023-10-16T23:47:55Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-17T00:46:16Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "ListRecommendationSummaries", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "requestParameters": { "groupBy": "ResourceType" }, "responseElements": null, "requestID": "ab54e6ad-72fe-48fe-82e9-EXAMPLEa6d1e", "eventID": "9288d9fa-939d-4e5f-a49a-EXAMPLEeb14b", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "cost-optimization-hub.us-east-1.amazonaws.com" } }

GetRecommendation

En el ejemplo siguiente, se muestra una entrada de registro para la acción de la API GetRecommendation.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "john-doe": "Admin" }, "attributes": { "creationDate": "2023-10-16T23:47:55Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-17T00:47:48Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "GetRecommendation", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "requestParameters": { "recommendationId": "EXAMPLEwMzEwODU5XzQyNTFhNGE4LWZkZDItNDUyZi1hMjY4LWRkOTFkOTA1MTc1MA==" }, "responseElements": null, "requestID": "e289a76a-182c-4bc9-8093-EXAMPLEbed0e", "eventID": "f1ed7ee6-871c-41fd-bb27-EXAMPLE24b64", "readOnly": true, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "cost-optimization-hub.us-east-1.amazonaws.com" } }

UpdateEnrollmentStatus

En el ejemplo siguiente, se muestra una entrada de registro para la acción de la API UpdateEnrollmentStatus.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "john-doe": "Admin" }, "attributes": { "creationDate": "2023-10-16T19:11:30Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-16T19:12:35Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "UpdateEnrollmentStatus", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "requestParameters": { "status": "Inactive" }, "responseElements": { "status": "Inactive" }, "requestID": "6bf0c8a3-af53-4c4e-8f50-EXAMPLE477f0", "eventID": "d2bfa850-ef3d-4317-8ac4-EXAMPLEc16b1", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "localhost:8080" } }

UpdatePreferences

En el ejemplo siguiente, se muestra una entrada de registro para la acción de la API UpdatePreferences.

{ "eventVersion": "1.09", "userIdentity": { "type": "AssumedRole", "principalId": "EXAMPLEAIZ5FYRFP3POCC:john-doe", "arn": "arn:aws:sts::111122223333:assumed-role/Admin/john-doe", "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "EXAMPLEAIZ5FYRFP3POCC", "arn": "arn:aws:iam::111122223333:role/Admin", "accountId": "111122223333", "john-doe": "Admin" }, "attributes": { "creationDate": "2023-10-16T19:11:30Z", "mfaAuthenticated": "false" } } }, "eventTime": "2023-10-16T19:16:00Z", "eventSource": "cost-optimization-hub.amazonaws.com", "eventName": "UpdatePreferences", "awsRegion": "us-east-1", "sourceIPAddress": "192.0.2.0", "userAgent": "PostmanRuntime/7.28.3", "requestParameters": { "costMetricsType": "AfterDiscounts" }, "responseElements": { "costMetricsType": "AfterDiscounts", "memberAccountDiscountVisibility": "None" }, "requestID": "01e56ca3-47af-45f0-85aa-EXAMPLE30b42", "eventID": "7350ff23-35f5-4760-98b2-EXAMPLE61f13", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "tlsDetails": { "clientProvidedHostHeader": "localhost:8080" } }

Descripción de las entradas de los archivos de Calculadora de precios de AWS registro

Un rastro es una configuración que permite la entrega de eventos como archivos de registro a un bucket de Amazon S3 que usted especifique, incluidos los eventos para los que se produzcan. Calculadora de precios de AWS Si no configura una ruta, podrá ver los eventos más recientes en la CloudTrail consola, en el historial de eventos. Con la información recopilada por usted CloudTrail, puede determinar el destinatario de la solicitud Calculadora de precios de AWS, la dirección IP desde la que se realizó la solicitud, quién la realizó, cuándo se realizó y detalles adicionales.

Calculadora de precios de AWS CloudTrail eventos

Esta sección muestra una lista completa de los CloudTrail eventos relacionados con la calculadora de precios.

nota

La fuente de eventos de los siguientes eventos esbcm-pricing-calculator.amazonaws.com.

Nombre de evento Definición

CreateWorkloadEstimate

Operación de mutación. Permite a los clientes crear una estimación de la carga de trabajo.

UpdateWorkloadEstimate

Operación de mutación. Permite a los clientes actualizar los metadatos de una estimación de la carga de trabajo.

DeleteWorkloadEstimate

Operación de mutación. Permite a los clientes eliminar una estimación de la carga de trabajo.

GetWorkloadEstimate

Operación sin mutación. Permite a los clientes obtener detalles de una estimación de la carga de trabajo.

ListWorkloadEstimates

Operación sin mutación. Permite a los clientes enumerar todas las estimaciones de carga de trabajo de su cuenta.

ListWorkloadEstimateUsage

Operación sin mutación. Permite a los clientes enumerar todas las líneas de uso en una estimación de la carga de trabajo.

BatchCreateWorkloadEstimateUsage

Operación de mutación. Permite a los clientes crear líneas de uso en su estimación de la carga de trabajo.

BatchUpdateWorkloadEstimateUsage

Operación de mutación. Permite a los clientes modificar las líneas de uso existentes en su estimación de la carga de trabajo.

BatchDeleteWorkloadEstimateUsage

Operación de mutación. Permite a los clientes eliminar las líneas de uso añadidas en su estimación de la carga de trabajo.

CreateBillScenario

Operación de mutación. Permite a los clientes crear un escenario de facturación.

GetBillScenario

Operación de mutación. Permite a los clientes obtener detalles de un escenario de facturación.

UpdateBillScenario

Operación de mutación. Permite a los clientes actualizar los metadatos de un escenario de facturación.

DeleteBillScenario

Operación de mutación. Permite a los clientes eliminar un escenario de facturación.

ListBillScenarios

Operación sin mutación. Permite a los clientes enumerar todos los escenarios de facturación de su cuenta.

BatchCreateBillScenarioUsageModifications

Operación de mutación. Permite a los clientes crear líneas de uso en su escenario de facturación.

BatchUpdateBillScenarioUsageModifications

Operación de mutación. Permite a los clientes modificar las líneas de uso existentes en su escenario de facturación.

BatchDeleteBillScenarioUsageModifications

Operación de mutación. Permite a los clientes eliminar las líneas de uso existentes en su escenario de facturación.

ListBillScenarioUsageModifications

Operación sin mutación. Permite a los clientes enumerar todas las líneas de uso en un escenario de facturación.

BatchCreateBillScenarioCommitmentModifications

Operación de mutación. Permite a los clientes modelar los compromisos en su escenario de facturación.

BatchUpdateBillScenarioCommitmentModifications

Operación de mutación. Permite a los clientes modificar las líneas de compromiso modeladas en su escenario de facturación.

BatchDeleteBillScenarioCommitmentModifications

Operación de mutación. Permite a los clientes eliminar las líneas de compromiso modeladas en su escenario de facturación.

ListBillScenarioCommitmentModifications

Operación sin mutación. Permite a los clientes enumerar todos los compromisos modelados en un escenario de facturación.

CreateBillEstimate

Operación de mutación. Permite a los clientes crear una nueva estimación de facturación a partir de un escenario de facturación.

GetBillEstimate

Operación de mutación. Permite a los clientes obtener los detalles de una estimación de la factura.

UpdateBillEstimate

Operación de mutación. Permite a los clientes actualizar los metadatos de una estimación de factura.

DeleteBillEstimate

Operación de mutación. Permite a los clientes eliminar una estimación de la factura.

ListBillEstimates

Operación sin mutación. Permite a los clientes incluir todas las estimaciones de facturas en su cuenta.

ListBillEstimateLineItems

Operación sin mutación. Permite a los clientes enumerar todas las líneas de resultados de una estimación de facturas completada correctamente.

ListBillEstimateCommitments

Operación sin mutación. Permite a los clientes enumerar todos los compromisos de una estimación de facturas completada correctamente.

ListBillEstimateInputUsageModifications

Operación sin mutación. Permite a los clientes enumerar todos los compromisos modelados en un escenario de facturación que contribuyeron a crear una estimación de la factura.

GetPreferences

Operación sin mutación. Permite a los clientes obtener las preferencias de tarifas establecidas por el pagador o por cuenta independiente

UpdatePreferences

Operación de mutación. Permite a los clientes establecer sus preferencias de tarifas para utilizarlas en las estimaciones de la carga de trabajo. Se trata de una operación de API exclusiva para pagadores o cuentas independientes.

TagResource

Operación de mutación. Permite a los clientes etiquetar un recurso de calculadora de precios.

UntagResource

Operación de mutación. Permite a los clientes desetiquetar un recurso de calculadora de precios.

ListTagsForResource

Operación sin mutación. Permite a los clientes enumerar todas las etiquetas adjuntas a un recurso de calculadora de precios.

CreateWorkloadEstimate

El siguiente ejemplo muestra una entrada de CloudTrail registro que utiliza la acción de la CreateWorkloadEstimate API.

{ "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "accessKeyId": "AKIAI44QH8DHBEXAMPLE" }, "eventTime": "2024-11-11T02:09:08Z", "eventSource": "bcm-pricing-calculator.amazonaws.com", "eventName": "CreateWorkloadEstimate", "awsRegion": "us-east-1", "sourceIPAddress": "100.100.10.10", "requestParameters": { "name": "example-estimate-name", "resourceTags": [], "rateType": "BEFORE_DISCOUNTS" }, "responseElements": { "costCurrency": "USD", "costSummary": { "cost": 0, "costStatus": "VALID", "currency": "USD" }, "createdAt": 1731290948.299, "expiresAt": 1765418948.299, "id": "15cf39cc-ce14-4943-9dcb-35ccec39ae21", "name": "example-estimate-name", "rateDescription": "BEFORE_DISCOUNTS|2024-11-11T02:09:08.299974018Z", "rateTimestamp": 1731290948.299, "rateType": "BEFORE_DISCOUNTS", "status": "READY", "totalCost": 0 }, "eventID": "22bb9d97-6f0c-4482-830d-cde1c9ea00be", "readOnly": false, "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management" }