aws-cdk-lib
Version:
Version 2 of the AWS Cloud Development Kit library
58 lines (57 loc) • 1.95 kB
TypeScript
import type { IApi } from './api';
import { ApiMapping } from './api-mapping';
import type { DomainMappingOptions, IAccessLogSettings, IStage } from './stage';
import type { AccessLogFormat } from '../../../aws-apigateway/lib';
import * as cloudwatch from '../../../aws-cloudwatch';
import { Resource } from '../../../core';
import type { CfnStage, IApiRef, StageReference } from '../apigatewayv2.generated';
/**
* Base class representing an API
* @internal
*/
export declare abstract class ApiBase extends Resource implements IApi {
abstract readonly apiId: string;
abstract readonly apiEndpoint: string;
metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
get apiRef(): IApiRef['apiRef'];
}
/**
* Base class representing a Stage
* @internal
*/
export declare abstract class StageBase extends Resource implements IStage {
private stageVariables;
abstract readonly stageName: string;
protected abstract readonly baseApi: IApi;
/**
* The created ApiMapping if domain mapping has been added
* @internal
*/
protected _apiMapping?: ApiMapping;
/**
* The URL to this stage.
*/
abstract get url(): string;
/**
* The default Access Logging format of this stage.
*/
abstract defaultAccessLogFormat(): AccessLogFormat;
/**
* @internal
*/
protected _addDomainMapping(domainMapping: DomainMappingOptions): void;
/**
* @internal
*/
protected _validateAccessLogSettings(props?: IAccessLogSettings): CfnStage.AccessLogSettingsProperty | undefined;
metric(metricName: string, props?: cloudwatch.MetricOptions): cloudwatch.Metric;
addStageVariable(name: string, value: string): void;
/**
* Returns the stage variables for this stage.
* @internal
*/
protected get _stageVariables(): {
[key: string]: string;
} | undefined;
get stageRef(): StageReference;
}