StageProps Struct
Example
// production stage
const prodLogGroup = new logs.LogGroup(this, "PrdLogs");
const api = new apigateway.RestApi(this, 'books', {
deployOptions: {
accessLogDestination: new apigateway.LogGroupLogDestination(prodLogGroup),
accessLogFormat: apigateway.AccessLogFormat.jsonWithStandardFields(),
},
});
const deployment = new apigateway.Deployment(this, 'Deployment', {api});
// development stage
const devLogGroup = new logs.LogGroup(this, "DevLogs");
new apigateway.Stage(this, 'dev', {
deployment,
accessLogDestination: new apigateway.LogGroupLogDestination(devLogGroup),
accessLogFormat: apigateway.AccessLogFormat.jsonWithStandardFields({
caller: false,
httpMethod: true,
ip: true,
protocol: true,
requestTime: true,
resourcePath: true,
responseLength: true,
status: true,
user: true,
}),
});
Properties
accessLogDestinationoptionalIAccessLogDestinationaccess_log_destinationoptionalIAccessLogDestinationaccessLogDestinationoptionalIAccessLogDestinationAccessLogDestinationoptionalIAccessLogDestinationAccessLogDestinationoptionalIAccessLogDestination#Default: No destination
accessLogFormatoptionalAccessLogFormataccess_log_formatoptionalAccessLogFormataccessLogFormatoptionalAccessLogFormatAccessLogFormatoptionalAccessLogFormatAccessLogFormatoptionalAccessLogFormat#Default: Common Log Format
The format must include either AccessLogFormat.contextRequestId() or AccessLogFormat.contextExtendedRequestId().
cacheClusterEnabledoptionalbooleancache_cluster_enabledoptionalboolcacheClusterEnabledoptionalBooleanCacheClusterEnabledoptionalboolCacheClusterEnabledoptional*bool#Default: Disabled for the stage.
cacheClusterSizeoptionalstringcache_cluster_sizeoptionalstrcacheClusterSizeoptionalStringCacheClusterSizeoptionalstringCacheClusterSizeoptional*string= 0.5#cacheDataEncryptedoptionalbooleancache_data_encryptedoptionalboolcacheDataEncryptedoptionalBooleanCacheDataEncryptedoptionalboolCacheDataEncryptedoptional*bool= false#cacheTtloptionalDurationcache_ttloptionalDurationcacheTtloptionalDurationCacheTtloptionalDurationCacheTtloptionalDuration= Duration.minutes(5)#The higher the TTL, the longer the response will be cached.
cachingEnabledoptionalbooleancaching_enabledoptionalboolcachingEnabledoptionalBooleanCachingEnabledoptionalboolCachingEnabledoptional*bool#Default: Caching is Disabled.
A cache cluster must be enabled on the stage for responses to be cached.
clientCertificateIdoptionalstringclient_certificate_idoptionalstrclientCertificateIdoptionalStringClientCertificateIdoptionalstringClientCertificateIdoptional*string= None.#dataTraceEnabledoptionalbooleandata_trace_enabledoptionalbooldataTraceEnabledoptionalBooleanDataTraceEnabledoptionalboolDataTraceEnabledoptional*bool= false#When enabled, API gateway will log the full API requests and responses. This can be useful to troubleshoot APIs, but can result in logging sensitive data. We recommend that you don't enable this feature for production APIs.
deploymentDeploymentdeploymentDeploymentdeploymentDeploymentDeploymentDeploymentDeploymentDeploymentrequired#descriptionoptionalstringdescriptionoptionalstrdescriptionoptionalStringDescriptionoptionalstringDescriptionoptional*string#Default: No description.
documentationVersionoptionalstringdocumentation_versionoptionalstrdocumentationVersionoptionalStringDocumentationVersionoptionalstringDocumentationVersionoptional*string#Default: No documentation version.
loggingLeveloptionalMethodLoggingLevellogging_leveloptionalMethodLoggingLevelloggingLeveloptionalMethodLoggingLevelLoggingLeveloptionalMethodLoggingLevelLoggingLeveloptionalMethodLoggingLevel= Off#methodOptionsoptional{ [key: string]: MethodDeploymentOptions }method_optionsoptionaltyping.Mapping[str, MethodDeploymentOptions]methodOptionsoptionalMap<String, MethodDeploymentOptions>MethodOptionsoptionalIDictionary<string, MethodDeploymentOptions>MethodOptionsoptional*map[string]MethodDeploymentOptions#Default: Common options will be used.
These will override common options defined in StageOptions#methodOptions.
metricsEnabledoptionalbooleanmetrics_enabledoptionalboolmetricsEnabledoptionalBooleanMetricsEnabledoptionalboolMetricsEnabledoptional*bool= false#stageNameoptionalstringstage_nameoptionalstrstageNameoptionalStringStageNameoptionalstringStageNameoptional*string= "prod"#throttlingBurstLimitoptionalnumberthrottling_burst_limitoptionalint | floatthrottlingBurstLimitoptionalNumberThrottlingBurstLimitoptionaldoubleThrottlingBurstLimitoptional*float64#Default: No additional restriction.
The total rate of all requests in your AWS account is limited to 5,000 requests.
throttlingRateLimitoptionalnumberthrottling_rate_limitoptionalint | floatthrottlingRateLimitoptionalNumberThrottlingRateLimitoptionaldoubleThrottlingRateLimitoptional*float64#Default: No additional restriction.
The total rate of all requests in your AWS account is limited to 10,000 requests per second (rps).
tracingEnabledoptionalbooleantracing_enabledoptionalbooltracingEnabledoptionalBooleanTracingEnabledoptionalboolTracingEnabledoptional*bool= false#variablesoptional{ [key: string]: string }variablesoptionaltyping.Mapping[str, str]variablesoptionalMap<String, String>VariablesoptionalIDictionary<string, string>Variablesoptional*map[string]*string#Default: No stage variables.
Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+.