import * as core from "@terrascript/core"; export interface RealtimeMetricsSubscriptionConfigArgs extends core.SchemaArgs { realtimeMetricsSubscriptionStatus: string | core.StringOut; } export class RealtimeMetricsSubscriptionConfig extends core.Schema { @core.attr(String) public realtimeMetricsSubscriptionStatus!: string | core.StringOut; } export interface MonitoringSubscriptionBlkArgs extends core.SchemaArgs { realtimeMetricsSubscriptionConfig: RealtimeMetricsSubscriptionConfig; } export class MonitoringSubscriptionBlk extends core.Schema { @core.attr(RealtimeMetricsSubscriptionConfig) public realtimeMetricsSubscriptionConfig!: RealtimeMetricsSubscriptionConfig; } export interface MonitoringSubscriptionArgs extends core.ResourceArgs { /** * (Required) The ID of the distribution that you are enabling metrics for. */ distributionId: string | core.StringOut; /** * (Required) A monitoring subscription. This structure contains information about whether additional C * loudWatch metrics are enabled for a given CloudFront distribution. */ monitoringSubscription: MonitoringSubscriptionBlk; } export class MonitoringSubscription extends core.Resource { /** * (Required) The ID of the distribution that you are enabling metrics for. */ @core.attr(String) public distributionId!: string | core.StringOut; /** * The ID of the CloudFront monitoring subscription, which corresponds to the `distribution_id`. */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) A monitoring subscription. This structure contains information about whether additional C * loudWatch metrics are enabled for a given CloudFront distribution. */ @core.attr(MonitoringSubscriptionBlk) public monitoringSubscription!: MonitoringSubscriptionBlk; constructor(name: string, args?: MonitoringSubscriptionArgs) { super(name, "aws_cloudfront_monitoring_subscription", args); } public override getNamespace(): string { return "aws_cloudfront"; } }