GuardDuty / Client / get_usage_statistics

get_usage_statistics#

GuardDuty.Client.get_usage_statistics(**kwargs)#

Lists Amazon GuardDuty usage statistics over the last 30 days for the specified detector ID. For newly enabled detectors or data sources, the cost returned will include only the usage so far under 30 days. This may differ from the cost metrics in the console, which project usage over 30 days to provide a monthly cost estimate. For more information, see Understanding How Usage Costs are Calculated.

See also: AWS API Documentation

Request Syntax

response = client.get_usage_statistics(
    DetectorId='string',
    UsageStatisticType='SUM_BY_ACCOUNT'|'SUM_BY_DATA_SOURCE'|'SUM_BY_RESOURCE'|'TOP_RESOURCES'|'SUM_BY_FEATURES'|'TOP_ACCOUNTS_BY_FEATURE',
    UsageCriteria={
        'AccountIds': [
            'string',
        ],
        'DataSources': [
            'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_LOGS'|'KUBERNETES_AUDIT_LOGS'|'EC2_MALWARE_SCAN',
        ],
        'Resources': [
            'string',
        ],
        'Features': [
            'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_DATA_EVENTS'|'EKS_AUDIT_LOGS'|'EBS_MALWARE_PROTECTION'|'RDS_LOGIN_EVENTS'|'LAMBDA_NETWORK_LOGS'|'EKS_RUNTIME_MONITORING'|'FARGATE_RUNTIME_MONITORING'|'EC2_RUNTIME_MONITORING'|'RDS_DBI_PROTECTION_PROVISIONED'|'RDS_DBI_PROTECTION_SERVERLESS',
        ]
    },
    Unit='string',
    MaxResults=123,
    NextToken='string'
)
Parameters:
  • DetectorId (string) –

    [REQUIRED]

    The ID of the detector that specifies the GuardDuty service whose usage statistics you want to retrieve.

    To find the detectorId in the current Region, see the Settings page in the GuardDuty console, or run the ListDetectors API.

  • UsageStatisticType (string) –

    [REQUIRED]

    The type of usage statistics to retrieve.

  • UsageCriteria (dict) –

    [REQUIRED]

    Represents the criteria used for querying usage.

    • AccountIds (list) –

      The account IDs to aggregate usage statistics from.

      • (string) –

    • DataSources (list) –

      The data sources to aggregate usage statistics from.

      • (string) –

    • Resources (list) –

      The resources to aggregate usage statistics from. Only accepts exact resource names.

      • (string) –

    • Features (list) –

      The features to aggregate usage statistics from.

      • (string) –

  • Unit (string) – The currency unit you would like to view your usage statistics in. Current valid values are USD.

  • MaxResults (integer) – The maximum number of results to return in the response.

  • NextToken (string) – A token to use for paginating results that are returned in the response. Set the value of this parameter to null for the first request to a list action. For subsequent calls, use the NextToken value returned from the previous request to continue listing results after the first page.

Return type:

dict

Returns:

Response Syntax

{
    'UsageStatistics': {
        'SumByAccount': [
            {
                'AccountId': 'string',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'TopAccountsByFeature': [
            {
                'Feature': 'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_DATA_EVENTS'|'EKS_AUDIT_LOGS'|'EBS_MALWARE_PROTECTION'|'RDS_LOGIN_EVENTS'|'LAMBDA_NETWORK_LOGS'|'EKS_RUNTIME_MONITORING'|'FARGATE_RUNTIME_MONITORING'|'EC2_RUNTIME_MONITORING'|'RDS_DBI_PROTECTION_PROVISIONED'|'RDS_DBI_PROTECTION_SERVERLESS',
                'Accounts': [
                    {
                        'AccountId': 'string',
                        'Total': {
                            'Amount': 'string',
                            'Unit': 'string'
                        }
                    },
                ]
            },
        ],
        'SumByDataSource': [
            {
                'DataSource': 'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_LOGS'|'KUBERNETES_AUDIT_LOGS'|'EC2_MALWARE_SCAN',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'SumByResource': [
            {
                'Resource': 'string',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'TopResources': [
            {
                'Resource': 'string',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'SumByFeature': [
            {
                'Feature': 'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_DATA_EVENTS'|'EKS_AUDIT_LOGS'|'EBS_MALWARE_PROTECTION'|'RDS_LOGIN_EVENTS'|'LAMBDA_NETWORK_LOGS'|'EKS_RUNTIME_MONITORING'|'FARGATE_RUNTIME_MONITORING'|'EC2_RUNTIME_MONITORING'|'RDS_DBI_PROTECTION_PROVISIONED'|'RDS_DBI_PROTECTION_SERVERLESS',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ]
    },
    'NextToken': 'string'
}

Response Structure

  • (dict) –

    • UsageStatistics (dict) –

      The usage statistics object. If a UsageStatisticType was provided, the objects representing other types will be null.

      • SumByAccount (list) –

        The usage statistic sum organized by account ID.

        • (dict) –

          Contains information on the total of usage based on account IDs.

          • AccountId (string) –

            The Account ID that generated usage.

          • Total (dict) –

            Represents the total of usage for the Account ID.

            • Amount (string) –

              The total usage.

            • Unit (string) –

              The currency unit that the amount is given in.

      • TopAccountsByFeature (list) –

        Lists the top 50 accounts by feature that have generated the most GuardDuty usage, in the order from most to least expensive.

        Currently, this doesn’t support RDS_LOGIN_EVENTS.

        • (dict) –

          Information about the usage statistics, calculated by top accounts by feature.

          • Feature (string) –

            Features by which you can generate the usage statistics.

            RDS_LOGIN_EVENTS is currently not supported with topAccountsByFeature.

          • Accounts (list) –

            The accounts that contributed to the total usage cost.

            • (dict) –

              Contains information on the total of usage based on the topmost 50 account IDs.

              • AccountId (string) –

                The unique account ID.

              • Total (dict) –

                Contains the total usage with the corresponding currency unit for that value.

                • Amount (string) –

                  The total usage.

                • Unit (string) –

                  The currency unit that the amount is given in.

      • SumByDataSource (list) –

        The usage statistic sum organized by on data source.

        • (dict) –

          Contains information on the result of usage based on data source type.

          • DataSource (string) –

            The data source type that generated usage.

          • Total (dict) –

            Represents the total of usage for the specified data source.

            • Amount (string) –

              The total usage.

            • Unit (string) –

              The currency unit that the amount is given in.

      • SumByResource (list) –

        The usage statistic sum organized by resource.

        • (dict) –

          Contains information on the sum of usage based on an Amazon Web Services resource.

          • Resource (string) –

            The Amazon Web Services resource that generated usage.

          • Total (dict) –

            Represents the sum total of usage for the specified resource type.

            • Amount (string) –

              The total usage.

            • Unit (string) –

              The currency unit that the amount is given in.

      • TopResources (list) –

        Lists the top 50 resources that have generated the most GuardDuty usage, in order from most to least expensive.

        • (dict) –

          Contains information on the sum of usage based on an Amazon Web Services resource.

          • Resource (string) –

            The Amazon Web Services resource that generated usage.

          • Total (dict) –

            Represents the sum total of usage for the specified resource type.

            • Amount (string) –

              The total usage.

            • Unit (string) –

              The currency unit that the amount is given in.

      • SumByFeature (list) –

        The usage statistic sum organized by feature.

        • (dict) –

          Contains information about the result of the total usage based on the feature.

          • Feature (string) –

            The feature that generated the usage cost.

          • Total (dict) –

            Contains the total usage with the corresponding currency unit for that value.

            • Amount (string) –

              The total usage.

            • Unit (string) –

              The currency unit that the amount is given in.

    • NextToken (string) –

      The pagination parameter to be used on the next list operation to retrieve more items.

Exceptions