LinuxCommandLibrary

aws-cur

Visualize and analyze AWS Cost and Usage Reports

TLDR

Create an AWS cost and usage report definition from a JSON file

$ aws cur put-report-definition --report-definition file://[path/to/report_definition.json]
copy

List usage report definitions defined for the logged in account
$ aws cur describe-report-definitions
copy

Delete a usage report definition
$ aws cur --region [aws_region] delete-report-definition --report-name [report]
copy

SYNOPSIS

aws cur {delete-report-definition|describe-report-definition|put-report-definition} [--options]

PARAMETERS

--report-names <list>
    Names of reports to describe (for describe-report-definition).

--report-definition <structure>
    Report definition JSON (for put-report-definition). Use file://path.json.

DESCRIPTION

The aws cur command is a subcommand of the AWS Command Line Interface (CLI) for managing Cost and Usage Reports (CUR) in AWS. CUR delivers detailed billing and usage data to an S3 bucket, including line-item costs, reservations, savings plans, and amortized costs. Data is granular (hourly/daily/monthly) and supports formats like CSV or Parquet with compression (GZIP, Parquet Snappy).

Use aws cur to create, view, or delete report definitions programmatically. A report definition specifies S3 bucket/path, time range, metrics, attributes, and delivery options. Reports integrate with Amazon Athena for SQL querying or tools like AWS QuickSight.

Requires AWS CLI v2, IAM permissions (billing:GetCURReportDefinition, billing:PutCURReportDefinition), and an S3 bucket policy allowing AWSBilling write access. Ideal for cost optimization, forecasting, and compliance at scale. Updates daily, with historical data up to 13 months.

CAVEATS

Requires AWS CLI v2 and IAM permissions for billing/CUR. S3 bucket must grant aws-billing write access. Reports generate asynchronously (hours/days). Limited to one CUR per payer account per region.

SUBCOMMANDS

delete-report-definition: Delete a report.
describe-report-definition: Show definition(s).
put-report-definition: Create/update report.

EXAMPLE

aws cur put-report-definition --report-definition value='{"ReportName":"MyCUR","TimeUnit":"HOURLY",...}' --region us-east-1

HISTORY

Introduced in AWS CLI v2.1.0 (March 2020) alongside CUR enhancements. Expanded Parquet support in 2021. Moved to stable in v2.4+.

SEE ALSO

aws(1), aws ce(1)

Copied to clipboard