import * as core from "@terrascript/core"; export interface CurReportDefinitionArgs extends core.ResourceArgs { /** * (Required) A list of additional artifacts. Valid values are: `REDSHIFT`, `QUICKSIGHT`, `ATHENA`. Whe * n ATHENA exists within additional_artifacts, no other artifact type can be declared and report_versi * oning must be `OVERWRITE_REPORT`. */ additionalArtifacts?: core.Array | core.ArrayOut; /** * (Required) A list of schema elements. Valid values are: `RESOURCES`. */ additionalSchemaElements: core.Array | core.ArrayOut; /** * (Required) Compression format for report. Valid values are: `GZIP`, `ZIP`, `Parquet`. If `Parquet` i * s used, then format must also be `Parquet`. */ compression: string | core.StringOut; /** * (Required) Format for report. Valid values are: `textORcsv`, `Parquet`. If `Parquet` is used, then C * ompression must also be `Parquet`. */ format: string | core.StringOut; /** * (Optional) Set to true to update your reports after they have been finalized if AWS detects charges * related to previous months. */ refreshClosedReports?: boolean | core.BooleanOut; /** * (Required) Unique name for the report. Must start with a number/letter and is case sensitive. Limite * d to 256 characters. */ reportName: string | core.StringOut; /** * (Optional) Overwrite the previous version of each report or to deliver the report in addition to the * previous versions. Valid values are: `CREATE_NEW_REPORT` and `OVERWRITE_REPORT`. */ reportVersioning?: string | core.StringOut; /** * (Required) Name of the existing S3 bucket to hold generated reports. */ s3Bucket: string | core.StringOut; /** * (Optional) Report path prefix. Limited to 256 characters. */ s3Prefix?: string | core.StringOut; /** * (Required) Region of the existing S3 bucket to hold generated reports. */ s3Region: string | core.StringOut; /** * (Required) The frequency on which report data are measured and displayed. Valid values are: `HOURLY * , `DAILY`. */ timeUnit: string | core.StringOut; } export class CurReportDefinition extends core.Resource { /** * (Required) A list of additional artifacts. Valid values are: `REDSHIFT`, `QUICKSIGHT`, `ATHENA`. Whe * n ATHENA exists within additional_artifacts, no other artifact type can be declared and report_versi * oning must be `OVERWRITE_REPORT`. */ @core.attr(String, { kind: "array" }) public additionalArtifacts?: | core.Array | core.ArrayOut; /** * (Required) A list of schema elements. Valid values are: `RESOURCES`. */ @core.attr(String, { kind: "array" }) public additionalSchemaElements!: | core.Array | core.ArrayOut; /** * The Amazon Resource Name (ARN) specifying the cur report. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * (Required) Compression format for report. Valid values are: `GZIP`, `ZIP`, `Parquet`. If `Parquet` i * s used, then format must also be `Parquet`. */ @core.attr(String) public compression!: string | core.StringOut; /** * (Required) Format for report. Valid values are: `textORcsv`, `Parquet`. If `Parquet` is used, then C * ompression must also be `Parquet`. */ @core.attr(String) public format!: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Optional) Set to true to update your reports after they have been finalized if AWS detects charges * related to previous months. */ @core.attr(Boolean) public refreshClosedReports?: boolean | core.BooleanOut; /** * (Required) Unique name for the report. Must start with a number/letter and is case sensitive. Limite * d to 256 characters. */ @core.attr(String) public reportName!: string | core.StringOut; /** * (Optional) Overwrite the previous version of each report or to deliver the report in addition to the * previous versions. Valid values are: `CREATE_NEW_REPORT` and `OVERWRITE_REPORT`. */ @core.attr(String) public reportVersioning?: string | core.StringOut; /** * (Required) Name of the existing S3 bucket to hold generated reports. */ @core.attr(String) public s3Bucket!: string | core.StringOut; /** * (Optional) Report path prefix. Limited to 256 characters. */ @core.attr(String) public s3Prefix?: string | core.StringOut; /** * (Required) Region of the existing S3 bucket to hold generated reports. */ @core.attr(String) public s3Region!: string | core.StringOut; /** * (Required) The frequency on which report data are measured and displayed. Valid values are: `HOURLY * , `DAILY`. */ @core.attr(String) public timeUnit!: string | core.StringOut; constructor(name: string, args?: CurReportDefinitionArgs) { super(name, "aws_cur_report_definition", args); } public override getNamespace(): string { return "aws_cost_and_usage_report"; } }