import * as core from "@terrascript/core"; export interface ReportDeliveryChannelArgs extends core.SchemaArgs { formats: core.Array | core.ArrayOut; s3BucketName: string | core.StringOut; s3KeyPrefix: string | core.StringOut; } export class ReportDeliveryChannel extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public formats!: core.Array | core.ArrayOut; @core.attr(String, { computed: true }) public s3BucketName!: string | core.StringOut; @core.attr(String, { computed: true }) public s3KeyPrefix!: string | core.StringOut; } export interface ReportSettingArgs extends core.SchemaArgs { frameworkArns: core.Array | core.ArrayOut; numberOfFrameworks: number | core.NumberOut; reportTemplate: string | core.StringOut; } export class ReportSetting extends core.Schema { @core.attr(String, { computed: true, kind: "array" }) public frameworkArns!: core.Array | core.ArrayOut; @core.attr(Number, { computed: true }) public numberOfFrameworks!: number | core.NumberOut; @core.attr(String, { computed: true }) public reportTemplate!: string | core.StringOut; } export interface DsReportPlanArgs { /** * (Required) The backup report plan name. */ name: string | core.StringOut; /** * Metadata that you can assign to help organize the report plans you create. */ tags?: core.Map | core.MapOut; } export class DsReportPlan extends core.Data { /** * The ARN of the backup report plan. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; /** * The date and time that a report plan is created, in Unix format and Coordinated Universal Time (UTC) * . */ @core.attr(String, { computed: true }) public creationTime!: string | core.StringOut; /** * The deployment status of a report plan. The statuses are: `CREATE_IN_PROGRESS` | `UPDATE_IN_PROGRESS * | `DELETE_IN_PROGRESS` | `COMPLETED`. */ @core.attr(String, { computed: true }) public deploymentStatus!: string | core.StringOut; /** * The description of the report plan. */ @core.attr(String, { computed: true }) public description!: string | core.StringOut; /** * The id of the report plan. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) The backup report plan name. */ @core.attr(String) public name!: string | core.StringOut; /** * An object that contains information about where and how to deliver your reports, specifically your A * mazon S3 bucket name, S3 key prefix, and the formats of your reports. Detailed below. */ @core.attr(ReportDeliveryChannel, { computed: true, kind: "array" }) public reportDeliveryChannel!: | core.Array | core.ArrayOut; /** * An object that identifies the report template for the report. Reports are built using a report templ * ate. Detailed below. */ @core.attr(ReportSetting, { computed: true, kind: "array" }) public reportSetting!: | core.Array | core.ArrayOut; /** * Metadata that you can assign to help organize the report plans you create. */ @core.attr(String, { computed: true, kind: "map" }) public tags?: core.Map | core.MapOut; constructor(name: string, args?: DsReportPlanArgs) { super(name, "aws_backup_report_plan", args); } public override getNamespace(): string { return "aws_backup"; } }