Amazon GuardDuty

2020/07/30 - Amazon GuardDuty - 1 new api methods

Changes  Update guardduty client to latest version

GetUsageStatistics (new) Link ΒΆ

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 projects 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

client.get_usage_statistics(
    DetectorId='string',
    UsageStatisticType='SUM_BY_ACCOUNT'|'SUM_BY_DATA_SOURCE'|'SUM_BY_RESOURCE'|'TOP_RESOURCES',
    UsageCriteria={
        'AccountIds': [
            'string',
        ],
        'DataSources': [
            'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_LOGS',
        ],
        'Resources': [
            'string',
        ]
    },
    Unit='string',
    MaxResults=123,
    NextToken='string'
)
type DetectorId:

string

param DetectorId:

[REQUIRED]

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

type UsageStatisticType:

string

param UsageStatisticType:

[REQUIRED]

The type of usage statistics to retrieve.

type UsageCriteria:

dict

param UsageCriteria:

[REQUIRED]

Represents the criteria used for querying usage.

  • AccountIds (list) --

    The account IDs to aggregate usage statistics from.

    • (string) --

  • DataSources (list) -- [REQUIRED]

    The data sources to aggregate usage statistics from.

    • (string) --

  • Resources (list) --

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

    • (string) --

type Unit:

string

param Unit:

The currency unit you would like to view your usage statistics in. Current valid values are USD.

type MaxResults:

integer

param MaxResults:

The maximum number of results to return in the response.

type NextToken:

string

param NextToken:

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.

rtype:

dict

returns:

Response Syntax

{
    'UsageStatistics': {
        'SumByAccount': [
            {
                'AccountId': 'string',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'SumByDataSource': [
            {
                'DataSource': 'FLOW_LOGS'|'CLOUD_TRAIL'|'DNS_LOGS'|'S3_LOGS',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'SumByResource': [
            {
                'Resource': 'string',
                'Total': {
                    'Amount': 'string',
                    'Unit': 'string'
                }
            },
        ],
        'TopResources': [
            {
                'Resource': 'string',
                '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.

      • 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 AWS resource.

          • Resource (string) --

            The AWS 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 AWS resource.

          • Resource (string) --

            The AWS 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.

    • NextToken (string) --

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