AWS Cost and Usage Report Service

2019/08/19 - AWS Cost and Usage Report Service - 1 new 2 updated api methods

Changes  New IAM permission required for editing AWS Cost and Usage Reports - Starting today, you can allow or deny IAM users permission to edit Cost & Usage Reports through the API and the Billing and Cost Management console. To allow users to edit Cost & Usage Reports, ensure that they have 'cur: ModifyReportDefinition' permission. Refer to the technical documentation (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_cur_ModifyReportDefinition.html) for additional details.

ModifyReportDefinition (new) Link ¶

Allows you to programatically update your report preferences.

See also: AWS API Documentation

Request Syntax

client.modify_report_definition(
    ReportName='string',
    ReportDefinition={
        'ReportName': 'string',
        'TimeUnit': 'HOURLY'|'DAILY',
        'Format': 'textORcsv'|'Parquet',
        'Compression': 'ZIP'|'GZIP'|'Parquet',
        'AdditionalSchemaElements': [
            'RESOURCES',
        ],
        'S3Bucket': 'string',
        'S3Prefix': 'string',
        'S3Region': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-central-1'|'eu-west-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'eu-north-1'|'ap-northeast-3'|'ap-east-1',
        'AdditionalArtifacts': [
            'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
        ],
        'RefreshClosedReports': True|False,
        'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT'
    }
)
type ReportName

string

param ReportName

[REQUIRED]

The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.

type ReportDefinition

dict

param ReportDefinition

[REQUIRED]

The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.

  • ReportName (string) -- [REQUIRED]

    The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.

  • TimeUnit (string) -- [REQUIRED]

    The length of time covered by the report.

  • Format (string) -- [REQUIRED]

    The format that AWS saves the report in.

  • Compression (string) -- [REQUIRED]

    The compression format that AWS uses for the report.

  • AdditionalSchemaElements (list) -- [REQUIRED]

    A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.

    • (string) --

      Whether or not AWS includes resource IDs in the report.

  • S3Bucket (string) -- [REQUIRED]

    The S3 bucket where AWS delivers the report.

  • S3Prefix (string) -- [REQUIRED]

    The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can't include spaces.

  • S3Region (string) -- [REQUIRED]

    The region of the S3 bucket that AWS delivers the report into.

  • AdditionalArtifacts (list) --

    A list of manifests that you want Amazon Web Services to create for this report.

    • (string) --

      The types of manifest that you want AWS to create for this report.

  • RefreshClosedReports (boolean) --

    Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.

  • ReportVersioning (string) --

    Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

DescribeReportDefinitions (updated) Link ¶
Changes (response)
{'ReportDefinitions': {'S3Region': {'ap-east-1'}}}

Lists the AWS Cost and Usage reports available to this account.

See also: AWS API Documentation

Request Syntax

client.describe_report_definitions(
    MaxResults=123,
    NextToken='string'
)
type MaxResults

integer

param MaxResults

The maximum number of results that AWS returns for the operation.

type NextToken

string

param NextToken

A generic string.

rtype

dict

returns

Response Syntax

{
    'ReportDefinitions': [
        {
            'ReportName': 'string',
            'TimeUnit': 'HOURLY'|'DAILY',
            'Format': 'textORcsv'|'Parquet',
            'Compression': 'ZIP'|'GZIP'|'Parquet',
            'AdditionalSchemaElements': [
                'RESOURCES',
            ],
            'S3Bucket': 'string',
            'S3Prefix': 'string',
            'S3Region': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-central-1'|'eu-west-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'eu-north-1'|'ap-northeast-3'|'ap-east-1',
            'AdditionalArtifacts': [
                'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
            ],
            'RefreshClosedReports': True|False,
            'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    If the action is successful, the service sends back an HTTP 200 response.

    • ReportDefinitions (list) --

      A list of AWS Cost and Usage reports owned by the account.

      • (dict) --

        The definition of AWS Cost and Usage Report. You can specify the report name, time unit, report format, compression format, S3 bucket, additional artifacts, and schema elements in the definition.

        • ReportName (string) --

          The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.

        • TimeUnit (string) --

          The length of time covered by the report.

        • Format (string) --

          The format that AWS saves the report in.

        • Compression (string) --

          The compression format that AWS uses for the report.

        • AdditionalSchemaElements (list) --

          A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.

          • (string) --

            Whether or not AWS includes resource IDs in the report.

        • S3Bucket (string) --

          The S3 bucket where AWS delivers the report.

        • S3Prefix (string) --

          The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can't include spaces.

        • S3Region (string) --

          The region of the S3 bucket that AWS delivers the report into.

        • AdditionalArtifacts (list) --

          A list of manifests that you want Amazon Web Services to create for this report.

          • (string) --

            The types of manifest that you want AWS to create for this report.

        • RefreshClosedReports (boolean) --

          Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.

        • ReportVersioning (string) --

          Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.

    • NextToken (string) --

      A generic string.

PutReportDefinition (updated) Link ¶
Changes (request)
{'ReportDefinition': {'S3Region': {'ap-east-1'}}}

Creates a new report using the description that you provide.

See also: AWS API Documentation

Request Syntax

client.put_report_definition(
    ReportDefinition={
        'ReportName': 'string',
        'TimeUnit': 'HOURLY'|'DAILY',
        'Format': 'textORcsv'|'Parquet',
        'Compression': 'ZIP'|'GZIP'|'Parquet',
        'AdditionalSchemaElements': [
            'RESOURCES',
        ],
        'S3Bucket': 'string',
        'S3Prefix': 'string',
        'S3Region': 'us-east-1'|'us-west-1'|'us-west-2'|'eu-central-1'|'eu-west-1'|'ap-southeast-1'|'ap-southeast-2'|'ap-northeast-1'|'eu-north-1'|'ap-northeast-3'|'ap-east-1',
        'AdditionalArtifacts': [
            'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
        ],
        'RefreshClosedReports': True|False,
        'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT'
    }
)
type ReportDefinition

dict

param ReportDefinition

[REQUIRED]

Represents the output of the PutReportDefinition operation. The content consists of the detailed metadata and data file information.

  • ReportName (string) -- [REQUIRED]

    The name of the report that you want to create. The name must be unique, is case sensitive, and can't include spaces.

  • TimeUnit (string) -- [REQUIRED]

    The length of time covered by the report.

  • Format (string) -- [REQUIRED]

    The format that AWS saves the report in.

  • Compression (string) -- [REQUIRED]

    The compression format that AWS uses for the report.

  • AdditionalSchemaElements (list) -- [REQUIRED]

    A list of strings that indicate additional content that Amazon Web Services includes in the report, such as individual resource IDs.

    • (string) --

      Whether or not AWS includes resource IDs in the report.

  • S3Bucket (string) -- [REQUIRED]

    The S3 bucket where AWS delivers the report.

  • S3Prefix (string) -- [REQUIRED]

    The prefix that AWS adds to the report name when AWS delivers the report. Your prefix can't include spaces.

  • S3Region (string) -- [REQUIRED]

    The region of the S3 bucket that AWS delivers the report into.

  • AdditionalArtifacts (list) --

    A list of manifests that you want Amazon Web Services to create for this report.

    • (string) --

      The types of manifest that you want AWS to create for this report.

  • RefreshClosedReports (boolean) --

    Whether you want Amazon Web Services to update your reports after they have been finalized if Amazon Web Services detects charges related to previous months. These charges can include refunds, credits, or support fees.

  • ReportVersioning (string) --

    Whether you want Amazon Web Services to overwrite the previous version of each report or to deliver the report in addition to the previous versions.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

    If the action is successful, the service sends back an HTTP 200 response with an empty HTTP body.