class aws_cdk.aws_apigateway.Stage(scope, id, *, deployment, access_log_destination=None, access_log_format=None, cache_cluster_enabled=None, cache_cluster_size=None, client_certificate_id=None, description=None, documentation_version=None, method_options=None, stage_name=None, tracing_enabled=None, variables=None, cache_data_encrypted=None, cache_ttl=None, caching_enabled=None, data_trace_enabled=None, logging_level=None, metrics_enabled=None, throttling_burst_limit=None, throttling_rate_limit=None)

Bases: aws_cdk.core.Resource

  • scope (Construct) –

  • id (str) –

  • deployment (Deployment) – The deployment that this stage points to [disable-awslint:ref-via-interface].

  • access_log_destination (Optional[IAccessLogDestination]) – The CloudWatch Logs log group. Default: - No destination

  • access_log_format (Optional[AccessLogFormat]) – A single line format of access logs of data, as specified by selected $content variables. The format must include at least AccessLogFormat.contextRequestId(). Default: - Common Log Format

  • cache_cluster_enabled (Optional[bool]) – Indicates whether cache clustering is enabled for the stage. Default: - Disabled for the stage.

  • cache_cluster_size (Optional[str]) – The stage’s cache cluster size. Default: 0.5

  • client_certificate_id (Optional[str]) – The identifier of the client certificate that API Gateway uses to call your integration endpoints in the stage. Default: - None.

  • description (Optional[str]) – A description of the purpose of the stage. Default: - No description.

  • documentation_version (Optional[str]) – The version identifier of the API documentation snapshot. Default: - No documentation version.

  • method_options (Optional[Mapping[str, MethodDeploymentOptions]]) – Method deployment options for specific resources/methods. These will override common options defined in StageOptions#methodOptions. Default: - Common options will be used.

  • stage_name (Optional[str]) – The name of the stage, which API Gateway uses as the first path segment in the invoked Uniform Resource Identifier (URI). Default: - “prod”

  • tracing_enabled (Optional[bool]) – Specifies whether Amazon X-Ray tracing is enabled for this method. Default: false

  • variables (Optional[Mapping[str, str]]) – A map that defines the stage variables. Variable names must consist of alphanumeric characters, and the values must match the following regular expression: [A-Za-z0-9-._~:/?#&=,]+. Default: - No stage variables.

  • cache_data_encrypted (Optional[bool]) – Indicates whether the cached responses are encrypted. Default: false

  • cache_ttl (Optional[Duration]) – Specifies the time to live (TTL), in seconds, for cached responses. The higher the TTL, the longer the response will be cached. Default: Duration.minutes(5)

  • caching_enabled (Optional[bool]) – Specifies whether responses should be cached and returned for requests. A cache cluster must be enabled on the stage for responses to be cached. Default: - Caching is Disabled.

  • data_trace_enabled (Optional[bool]) – Specifies whether data trace logging is enabled for this method, which effects the log entries pushed to Amazon CloudWatch Logs. Default: false

  • logging_level (Optional[MethodLoggingLevel]) – Specifies the logging level for this method, which effects the log entries pushed to Amazon CloudWatch Logs. Default: - Off

  • metrics_enabled (Optional[bool]) – Specifies whether Amazon CloudWatch metrics are enabled for this method. Default: false

  • throttling_burst_limit (Union[int, float, None]) – Specifies the throttling burst limit. The total rate of all requests in your AWS account is limited to 5,000 requests. Default: - No additional restriction.

  • throttling_rate_limit (Union[int, float, None]) – Specifies the throttling rate limit. The total rate of all requests in your AWS account is limited to 10,000 requests per second (rps). Default: - No additional restriction.



Apply the given removal policy to this resource.

The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you’ve removed it from the CDK application or because you’ve made a change that requires the resource to be replaced.

The resource can be deleted (RemovalPolicy.DELETE), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).


policy (RemovalPolicy) –

Return type



Returns a string representation of this construct.

Return type



Returns the invoke URL for a certain path.


path (Optional[str]) – The resource path.

Return type




The environment this resource belongs to.

For resources that are created and managed by the CDK (generally, those created by creating new class instances like Role, Bucket, etc.), this is always the same as the environment of the stack they belong to; however, for imported resources (those obtained from static methods like fromRoleArn, fromBucketName, etc.), that might be different than the stack they were imported into.

Return type



The construct tree node associated with this construct.

Return type



RestApi to which this stage is associated.

Return type



The stack in which this resource is defined.

Return type



Name of this stage.

Return type


Static Methods

classmethod is_construct(x)

Return whether the given object is a Construct.


x (Any) –

Return type


classmethod is_resource(construct)

Check whether the given construct is a Resource.


construct (IConstruct) –

Return type