ReportDefinition
The ReportDefinition resource lets you create and manage AWS CUR ReportDefinitions for cost and usage reporting in AWS.
Minimal Example
Section titled “Minimal Example”Create a basic report definition with required properties and a couple of common optional settings.
import AWS from "alchemy/aws/control";
const basicReportDefinition = await AWS.CUR.ReportDefinition("basicReport", { ReportName: "MonthlyCostReport", Compression: "GZIP", Format: "textORcsv", RefreshClosedReports: true, S3Bucket: "my-cur-reports-bucket", S3Region: "us-west-2", S3Prefix: "monthly-reports/", TimeUnit: "DAILY", ReportVersioning: "CREATE_NEW_REPORT"});
Advanced Configuration
Section titled “Advanced Configuration”Configure a report definition with advanced options such as additional artifacts and schema elements.
const advancedReportDefinition = await AWS.CUR.ReportDefinition("advancedReport", { ReportName: "DetailedCostReport", Compression: "ZIP", Format: "textORcsv", RefreshClosedReports: true, S3Bucket: "my-advanced-cur-reports-bucket", S3Region: "us-east-1", S3Prefix: "detailed-reports/", TimeUnit: "HOURLY", ReportVersioning: "CREATE_NEW_REPORT", AdditionalArtifacts: ["REDSHIFT", "QUICKSIGHT"], AdditionalSchemaElements: ["RESOURCES"]});
Example with Billing View
Section titled “Example with Billing View”Create a report definition that includes a billing view ARN for more granular reporting.
const billingViewReportDefinition = await AWS.CUR.ReportDefinition("billingViewReport", { ReportName: "BillingViewCostReport", Compression: "GZIP", Format: "parquet", RefreshClosedReports: false, S3Bucket: "my-billing-view-reports-bucket", S3Region: "us-west-2", S3Prefix: "billing-view-reports/", TimeUnit: "DAILY", ReportVersioning: "CREATE_NEW_REPORT", BillingViewArn: "arn:aws:cur:us-west-2:123456789012:billingview:my-billing-view"});
Example with Adoption of Existing Resources
Section titled “Example with Adoption of Existing Resources”Create a report definition while adopting an existing resource if it already exists.
const adoptedReportDefinition = await AWS.CUR.ReportDefinition("adoptedReport", { ReportName: "AdoptedCostReport", Compression: "ZIP", Format: "textORcsv", RefreshClosedReports: true, S3Bucket: "my-adopted-reports-bucket", S3Region: "us-west-1", S3Prefix: "adopted-reports/", TimeUnit: "DAILY", ReportVersioning: "CREATE_NEW_REPORT", adopt: true});