AWS Cost and Usage Report Service

2023/11/10 - AWS Cost and Usage Report Service - 3 new 3 updated api methods

Changes  This release adds support for tagging and customers can now tag report definitions. Additionally, ReportStatus is now added to report definition to show when the last delivered time stamp and if it succeeded or not.

ListTagsForResource (new) Link ¶

Lists the tags associated with the specified report definition.

See also: AWS API Documentation

Request Syntax

client.list_tags_for_resource(
    ReportName='string'
)
type ReportName

string

param ReportName

[REQUIRED]

The report name of the report definition that tags are to be returned for.

rtype

dict

returns

Response Syntax

{
    'Tags': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
}

Response Structure

  • (dict) --

    • Tags (list) --

      The tags assigned to the report definition resource.

      • (dict) --

        Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a report definition.

        • Key (string) --

          The key of the tag. Tag keys are case sensitive. Each report definition can only have up to one tag with the same key. If you try to add an existing tag with the same key, the existing tag value will be updated to the new value.

        • Value (string) --

          The value of the tag. Tag values are case-sensitive. This can be an empty string.

UntagResource (new) Link ¶

Disassociates a set of tags from a report definition.

See also: AWS API Documentation

Request Syntax

client.untag_resource(
    ReportName='string',
    TagKeys=[
        'string',
    ]
)
type ReportName

string

param ReportName

[REQUIRED]

The report name of the report definition that tags are to be disassociated from.

type TagKeys

list

param TagKeys

[REQUIRED]

The tags to be disassociated from the report definition resource.

  • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

TagResource (new) Link ¶

Associates a set of tags with a report definition.

See also: AWS API Documentation

Request Syntax

client.tag_resource(
    ReportName='string',
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
type ReportName

string

param ReportName

[REQUIRED]

The report name of the report definition that tags are to be associated with.

type Tags

list

param Tags

[REQUIRED]

The tags to be assigned to the report definition resource.

  • (dict) --

    Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a report definition.

    • Key (string) -- [REQUIRED]

      The key of the tag. Tag keys are case sensitive. Each report definition can only have up to one tag with the same key. If you try to add an existing tag with the same key, the existing tag value will be updated to the new value.

    • Value (string) -- [REQUIRED]

      The value of the tag. Tag values are case-sensitive. This can be an empty string.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

DescribeReportDefinitions (updated) Link ¶
Changes (response)
{'ReportDefinitions': {'AdditionalSchemaElements': {'MANUAL_DISCOUNT_COMPATIBILITY'},
                       'ReportStatus': {'lastDelivery': 'string',
                                        'lastStatus': 'SUCCESS | '
                                                      'ERROR_PERMISSIONS | '
                                                      'ERROR_NO_BUCKET'}}}

Lists the Amazon Web Services Cost and Usage Report 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 Amazon Web Services returns for the operation.

type NextToken

string

param NextToken

A generic string.

rtype

dict

returns

Response Syntax

{
    'ReportDefinitions': [
        {
            'ReportName': 'string',
            'TimeUnit': 'HOURLY'|'DAILY'|'MONTHLY',
            'Format': 'textORcsv'|'Parquet',
            'Compression': 'ZIP'|'GZIP'|'Parquet',
            'AdditionalSchemaElements': [
                'RESOURCES'|'SPLIT_COST_ALLOCATION_DATA'|'MANUAL_DISCOUNT_COMPATIBILITY',
            ],
            'S3Bucket': 'string',
            'S3Prefix': 'string',
            'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-central-2'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'eu-south-2'|'me-central-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
            'AdditionalArtifacts': [
                'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
            ],
            'RefreshClosedReports': True|False,
            'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
            'BillingViewArn': 'string',
            'ReportStatus': {
                'lastDelivery': 'string',
                'lastStatus': 'SUCCESS'|'ERROR_PERMISSIONS'|'ERROR_NO_BUCKET'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

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

    • ReportDefinitions (list) --

      An Amazon Web Services Cost and Usage Report list owned by the account.

      • (dict) --

        The definition of Amazon Web Services 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 Amazon Web Services saves the report in.

        • Compression (string) --

          The compression format that Amazon Web Services 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 Amazon Web Services includes resource IDs in the report.

        • S3Bucket (string) --

          The S3 bucket where Amazon Web Services delivers the report.

        • S3Prefix (string) --

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

        • S3Region (string) --

          The region of the S3 bucket that Amazon Web Services 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 Amazon Web Services 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.

        • BillingViewArn (string) --

          The Amazon resource name of the billing view. The BillingViewArn is needed to create Amazon Web Services Cost and Usage Report for each billing group maintained in the Amazon Web Services Billing Conductor service. The BillingViewArn for a billing group can be constructed as: arn:aws:billing::payer-account-id:billingview/billing-group-primary-account-id

        • ReportStatus (dict) --

          The status of the report.

          • lastDelivery (string) --

            A timestamp that gives the date of a report delivery.

          • lastStatus (string) --

            An enum that gives the status of a report delivery.

    • NextToken (string) --

      A generic string.

ModifyReportDefinition (updated) Link ¶
Changes (request)
{'ReportDefinition': {'AdditionalSchemaElements': {'MANUAL_DISCOUNT_COMPATIBILITY'},
                      'ReportStatus': {'lastDelivery': 'string',
                                       'lastStatus': 'SUCCESS | '
                                                     'ERROR_PERMISSIONS | '
                                                     'ERROR_NO_BUCKET'}}}

Allows you to programmatically update your report preferences.

See also: AWS API Documentation

Request Syntax

client.modify_report_definition(
    ReportName='string',
    ReportDefinition={
        'ReportName': 'string',
        'TimeUnit': 'HOURLY'|'DAILY'|'MONTHLY',
        'Format': 'textORcsv'|'Parquet',
        'Compression': 'ZIP'|'GZIP'|'Parquet',
        'AdditionalSchemaElements': [
            'RESOURCES'|'SPLIT_COST_ALLOCATION_DATA'|'MANUAL_DISCOUNT_COMPATIBILITY',
        ],
        'S3Bucket': 'string',
        'S3Prefix': 'string',
        'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-central-2'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'eu-south-2'|'me-central-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
        'AdditionalArtifacts': [
            'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
        ],
        'RefreshClosedReports': True|False,
        'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
        'BillingViewArn': 'string',
        'ReportStatus': {
            'lastDelivery': 'string',
            'lastStatus': 'SUCCESS'|'ERROR_PERMISSIONS'|'ERROR_NO_BUCKET'
        }
    }
)
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 Amazon Web Services 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 Amazon Web Services saves the report in.

  • Compression (string) -- [REQUIRED]

    The compression format that Amazon Web Services 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 Amazon Web Services includes resource IDs in the report.

  • S3Bucket (string) -- [REQUIRED]

    The S3 bucket where Amazon Web Services delivers the report.

  • S3Prefix (string) -- [REQUIRED]

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

  • S3Region (string) -- [REQUIRED]

    The region of the S3 bucket that Amazon Web Services 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 Amazon Web Services 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.

  • BillingViewArn (string) --

    The Amazon resource name of the billing view. The BillingViewArn is needed to create Amazon Web Services Cost and Usage Report for each billing group maintained in the Amazon Web Services Billing Conductor service. The BillingViewArn for a billing group can be constructed as: arn:aws:billing::payer-account-id:billingview/billing-group-primary-account-id

  • ReportStatus (dict) --

    The status of the report.

    • lastDelivery (string) --

      A timestamp that gives the date of a report delivery.

    • lastStatus (string) --

      An enum that gives the status of a report delivery.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

PutReportDefinition (updated) Link ¶
Changes (request)
{'ReportDefinition': {'AdditionalSchemaElements': {'MANUAL_DISCOUNT_COMPATIBILITY'},
                      'ReportStatus': {'lastDelivery': 'string',
                                       'lastStatus': 'SUCCESS | '
                                                     'ERROR_PERMISSIONS | '
                                                     'ERROR_NO_BUCKET'}},
 'Tags': [{'Key': 'string', 'Value': 'string'}]}

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'|'MONTHLY',
        'Format': 'textORcsv'|'Parquet',
        'Compression': 'ZIP'|'GZIP'|'Parquet',
        'AdditionalSchemaElements': [
            'RESOURCES'|'SPLIT_COST_ALLOCATION_DATA'|'MANUAL_DISCOUNT_COMPATIBILITY',
        ],
        'S3Bucket': 'string',
        'S3Prefix': 'string',
        'S3Region': 'af-south-1'|'ap-east-1'|'ap-south-1'|'ap-south-2'|'ap-southeast-1'|'ap-southeast-2'|'ap-southeast-3'|'ap-northeast-1'|'ap-northeast-2'|'ap-northeast-3'|'ca-central-1'|'eu-central-1'|'eu-central-2'|'eu-west-1'|'eu-west-2'|'eu-west-3'|'eu-north-1'|'eu-south-1'|'eu-south-2'|'me-central-1'|'me-south-1'|'sa-east-1'|'us-east-1'|'us-east-2'|'us-west-1'|'us-west-2'|'cn-north-1'|'cn-northwest-1',
        'AdditionalArtifacts': [
            'REDSHIFT'|'QUICKSIGHT'|'ATHENA',
        ],
        'RefreshClosedReports': True|False,
        'ReportVersioning': 'CREATE_NEW_REPORT'|'OVERWRITE_REPORT',
        'BillingViewArn': 'string',
        'ReportStatus': {
            'lastDelivery': 'string',
            'lastStatus': 'SUCCESS'|'ERROR_PERMISSIONS'|'ERROR_NO_BUCKET'
        }
    },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
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 Amazon Web Services saves the report in.

  • Compression (string) -- [REQUIRED]

    The compression format that Amazon Web Services 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 Amazon Web Services includes resource IDs in the report.

  • S3Bucket (string) -- [REQUIRED]

    The S3 bucket where Amazon Web Services delivers the report.

  • S3Prefix (string) -- [REQUIRED]

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

  • S3Region (string) -- [REQUIRED]

    The region of the S3 bucket that Amazon Web Services 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 Amazon Web Services 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.

  • BillingViewArn (string) --

    The Amazon resource name of the billing view. The BillingViewArn is needed to create Amazon Web Services Cost and Usage Report for each billing group maintained in the Amazon Web Services Billing Conductor service. The BillingViewArn for a billing group can be constructed as: arn:aws:billing::payer-account-id:billingview/billing-group-primary-account-id

  • ReportStatus (dict) --

    The status of the report.

    • lastDelivery (string) --

      A timestamp that gives the date of a report delivery.

    • lastStatus (string) --

      An enum that gives the status of a report delivery.

type Tags

list

param Tags

The tags to be assigned to the report definition resource.

  • (dict) --

    Describes a tag. A tag is a key-value pair. You can add up to 50 tags to a report definition.

    • Key (string) -- [REQUIRED]

      The key of the tag. Tag keys are case sensitive. Each report definition can only have up to one tag with the same key. If you try to add an existing tag with the same key, the existing tag value will be updated to the new value.

    • Value (string) -- [REQUIRED]

      The value of the tag. Tag values are case-sensitive. This can be an empty string.

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.