MDAA TS Docs
    Preparing search index...
    interface RestApiProps {
        adminGroup?: string;
        alarms?: RestApiAlarmConfig;
        apiGwThrottlingBurstLimit?: number;
        apiGwThrottlingRateLimit?: number;
        disableExecuteApiEndpoint?: boolean;
        endpointType?: "REGIONAL" | "EDGE" | "PRIVATE";
        hostedZoneName?: string;
        lambdaArchitecture?: "ARM_64" | "X86_64";
        logGroupAccessLogRetentionDays?: number;
        logGroupNamePathPrefix?: string;
        methodThrottling?: { [methodAndPath: string]: MethodThrottlingConfig };
        powertoolsDevLogging?: "false" | "true";
        privateApiSourceVpcEndpointIds?: string[];
        provisionedConcurrentExecutions?: number;
        pythonRuntime?: string;
        restApiDomainName?: string;
        restApiHandlerLambdaMemorySize?: number;
        restApiHandlerLambdaTimeoutInSeconds?: number;
        setApiGateWayAccountCloudwatchRole?: boolean;
        wafArn?: string;
    }
    Index

    Properties

    adminGroup?: string

    Admin group name for access to the admin interface

    CloudWatch alarm configuration for monitoring API health (5XX, 4XX, latency). When provided, alarms and an SNS notification topic are created.

    apiGwThrottlingBurstLimit?: number

    Stage-level burst throttle (maximum concurrent requests API Gateway will serve before returning 429). Without a burst limit, a client can sustain exactly the steady-state rate indefinitely without ever tripping a 429, which defeats the purpose of throttling. Set this alongside apiGwThrottlingRateLimit to enforce a meaningful ceiling. If undefined, API Gateway's account-level burst default applies and no stage-level burst cap is set.

    apiGwThrottlingRateLimit?: number

    Specifies API GW throttling rate limit. The total rate of all requests in your AWS account is limited to 10,000 requests per second (rps). If undefined 2500 is used.

    disableExecuteApiEndpoint?: boolean

    Disable the default execute-api endpoint. When true, clients must use the custom domain. Recommended when a custom domain is configured to enforce TLS 1.2+ exclusively.

    false
    
    endpointType?: "REGIONAL" | "EDGE" | "PRIVATE"

    API Gateway endpoint type

    hostedZoneName?: string

    Route53 hosted zone name for domain setup

    lambdaArchitecture?: "ARM_64" | "X86_64"

    Lambda architecture (ARM64 or x86_64). If undefined, Architecture.X86_64 is used

    logGroupAccessLogRetentionDays?: number

    Number of days to retain access logs in CloudWatch log group for access logs. If undefined, infinite is used.

    logGroupNamePathPrefix?: string

    Prefix for CloudWatch log group names

    methodThrottling?: { [methodAndPath: string]: MethodThrottlingConfig }

    Per-method throttling overrides, keyed by API Gateway method path in the form /{resourcePath}/{HTTP_METHOD} — the resource path first, HTTP method last (e.g. /v1/{proxy+}/GET, or the all-methods wildcard used by the stage's default entry). This is the same key format API Gateway uses for method settings. Each value sets a rateLimit (steady-state rps) and burstLimit (concurrent requests) for that method, overriding the stage-level limits.

    Note: GAIA routes all operations through a single /v1/{proxy+} ANY method, so per-operation granularity is enforced primarily via WAF per-principal rate limiting rather than method-level throttling. This map is provided for operators who split the proxy into explicit routes, or who wish to throttle the proxy method differently from the stage default.

    powertoolsDevLogging?: "false" | "true"

    Enable PowerTools development logging

    privateApiSourceVpcEndpointIds?: string[]

    VPC endpoint IDs for private API access (Restrict access to specific VPC endpoints if configured).

    provisionedConcurrentExecutions?: number

    Provisioned concurrency for Lambda functions

    pythonRuntime?: string

    Python runtime version. If undefined, Runtime.PYTHON_3_14 is used.

    restApiDomainName?: string

    Custom domain name for REST API. Will be configured if hostedZoneName is specified as well.

    restApiHandlerLambdaMemorySize?: number

    Memory allocation for the REST API handler Lambda function in MB. If undefined, 1024MB is used.

    restApiHandlerLambdaTimeoutInSeconds?: number

    Timeout for the REST API handler Lambda function in seconds. If unspecified, 10 minutes is used (600 seconds)

    setApiGateWayAccountCloudwatchRole?: boolean

    Whether to set API Gateway account CloudWatch role

    wafArn?: string

    WAF ARN for API protection