import * as core from "@terrascript/core"; export interface ThrottleSettingsArgs extends core.SchemaArgs { burstLimit: number | core.NumberOut; rateLimit: number | core.NumberOut; } export class ThrottleSettings extends core.Schema { @core.attr(Number, { computed: true }) public burstLimit!: number | core.NumberOut; @core.attr(Number, { computed: true }) public rateLimit!: number | core.NumberOut; } export interface AccountArgs extends core.ResourceArgs { /** * (Optional) The ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS D * ocs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to- * stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API * Gateway Stage level. */ cloudwatchRoleArn?: string | core.StringOut; } export class Account extends core.Resource { /** * (Optional) The ARN of an IAM role for CloudWatch (to allow logging & monitoring). See more [in AWS D * ocs](https://docs.aws.amazon.com/apigateway/latest/developerguide/how-to-stage-settings.html#how-to- * stage-settings-console). Logging & monitoring can be enabled/disabled and otherwise tuned on the API * Gateway Stage level. */ @core.attr(String) public cloudwatchRoleArn?: string | core.StringOut; @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * Account-Level throttle settings. See exported fields below. */ @core.attr(ThrottleSettings, { computed: true, kind: "array" }) public throttleSettings!: | core.Array | core.ArrayOut; constructor(name: string, args?: AccountArgs) { super(name, "aws_api_gateway_account", args); } public override getNamespace(): string { return "aws_api_gateway"; } }