1. Packages
  2. AWS
  3. API Docs
  4. apigateway
  5. Stage
AWS v6.77.0 published on Wednesday, Apr 9, 2025 by Pulumi

aws.apigateway.Stage

Explore with Pulumi AI

Manages an API Gateway Stage. A stage is a named reference to a deployment, which can be done via the aws.apigateway.Deployment resource. Stages can be optionally managed further with the aws.apigateway.BasePathMapping resource, aws.apigateway.DomainName resource, and aws_api_method_settings resource. For more information, see the API Gateway Developer Guide.

Managing the API Logging CloudWatch Log Group

API Gateway provides the ability to enable CloudWatch API logging. To manage the CloudWatch Log Group when this feature is enabled, the aws.cloudwatch.LogGroup resource can be used where the name matches the API Gateway naming convention. If the CloudWatch Log Group previously exists, import the aws.cloudwatch.LogGroup resource into Pulumi as a one time operation. You can recreate the environment without import.

import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const config = new pulumi.Config();
const stageName = config.get("stageName") || "example";
const example = new aws.apigateway.RestApi("example", {});
const exampleLogGroup = new aws.cloudwatch.LogGroup("example", {
    name: pulumi.interpolate`API-Gateway-Execution-Logs_${example.id}/${stageName}`,
    retentionInDays: 7,
});
const exampleStage = new aws.apigateway.Stage("example", {stageName: stageName}, {
    dependsOn: [exampleLogGroup],
});
Copy
import pulumi
import pulumi_aws as aws

config = pulumi.Config()
stage_name = config.get("stageName")
if stage_name is None:
    stage_name = "example"
example = aws.apigateway.RestApi("example")
example_log_group = aws.cloudwatch.LogGroup("example",
    name=example.id.apply(lambda id: f"API-Gateway-Execution-Logs_{id}/{stage_name}"),
    retention_in_days=7)
example_stage = aws.apigateway.Stage("example", stage_name=stage_name,
opts = pulumi.ResourceOptions(depends_on=[example_log_group]))
Copy
package main

import (
	"fmt"

	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/apigateway"
	"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/cloudwatch"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi/config"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		cfg := config.New(ctx, "")
		stageName := "example"
		if param := cfg.Get("stageName"); param != "" {
			stageName = param
		}
		example, err := apigateway.NewRestApi(ctx, "example", nil)
		if err != nil {
			return err
		}
		exampleLogGroup, err := cloudwatch.NewLogGroup(ctx, "example", &cloudwatch.LogGroupArgs{
			Name: example.ID().ApplyT(func(id string) (string, error) {
				return fmt.Sprintf("API-Gateway-Execution-Logs_%v/%v", id, stageName), nil
			}).(pulumi.StringOutput),
			RetentionInDays: pulumi.Int(7),
		})
		if err != nil {
			return err
		}
		_, err = apigateway.NewStage(ctx, "example", &apigateway.StageArgs{
			StageName: pulumi.String(stageName),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleLogGroup,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;

return await Deployment.RunAsync(() => 
{
    var config = new Config();
    var stageName = config.Get("stageName") ?? "example";
    var example = new Aws.ApiGateway.RestApi("example");

    var exampleLogGroup = new Aws.CloudWatch.LogGroup("example", new()
    {
        Name = example.Id.Apply(id => $"API-Gateway-Execution-Logs_{id}/{stageName}"),
        RetentionInDays = 7,
    });

    var exampleStage = new Aws.ApiGateway.Stage("example", new()
    {
        StageName = stageName,
    }, new CustomResourceOptions
    {
        DependsOn =
        {
            exampleLogGroup,
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.apigateway.RestApi;
import com.pulumi.aws.cloudwatch.LogGroup;
import com.pulumi.aws.cloudwatch.LogGroupArgs;
import com.pulumi.aws.apigateway.Stage;
import com.pulumi.aws.apigateway.StageArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        final var config = ctx.config();
        final var stageName = config.get("stageName").orElse("example");
        var example = new RestApi("example");

        var exampleLogGroup = new LogGroup("exampleLogGroup", LogGroupArgs.builder()
            .name(example.id().applyValue(_id -> String.format("API-Gateway-Execution-Logs_%s/%s", _id,stageName)))
            .retentionInDays(7)
            .build());

        var exampleStage = new Stage("exampleStage", StageArgs.builder()
            .stageName(stageName)
            .build(), CustomResourceOptions.builder()
                .dependsOn(exampleLogGroup)
                .build());

    }
}
Copy
configuration:
  stageName:
    type: string
    default: example
resources:
  example:
    type: aws:apigateway:RestApi
  exampleStage:
    type: aws:apigateway:Stage
    name: example
    properties:
      stageName: ${stageName}
    options:
      dependsOn:
        - ${exampleLogGroup}
  exampleLogGroup:
    type: aws:cloudwatch:LogGroup
    name: example
    properties:
      name: API-Gateway-Execution-Logs_${example.id}/${stageName}
      retentionInDays: 7 # ... potentially other configuration ...
Copy

Create Stage Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Stage(name: string, args: StageArgs, opts?: CustomResourceOptions);
@overload
def Stage(resource_name: str,
          args: StageArgs,
          opts: Optional[ResourceOptions] = None)

@overload
def Stage(resource_name: str,
          opts: Optional[ResourceOptions] = None,
          deployment: Optional[str] = None,
          stage_name: Optional[str] = None,
          rest_api: Optional[str] = None,
          canary_settings: Optional[StageCanarySettingsArgs] = None,
          client_certificate_id: Optional[str] = None,
          access_log_settings: Optional[StageAccessLogSettingsArgs] = None,
          description: Optional[str] = None,
          documentation_version: Optional[str] = None,
          cache_cluster_size: Optional[str] = None,
          cache_cluster_enabled: Optional[bool] = None,
          tags: Optional[Mapping[str, str]] = None,
          variables: Optional[Mapping[str, str]] = None,
          xray_tracing_enabled: Optional[bool] = None)
func NewStage(ctx *Context, name string, args StageArgs, opts ...ResourceOption) (*Stage, error)
public Stage(string name, StageArgs args, CustomResourceOptions? opts = null)
public Stage(String name, StageArgs args)
public Stage(String name, StageArgs args, CustomResourceOptions options)
type: aws:apigateway:Stage
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. StageArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. StageArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. StageArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. StageArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. StageArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var stageResource = new Aws.ApiGateway.Stage("stageResource", new()
{
    Deployment = "string",
    StageName = "string",
    RestApi = "string",
    CanarySettings = new Aws.ApiGateway.Inputs.StageCanarySettingsArgs
    {
        DeploymentId = "string",
        PercentTraffic = 0,
        StageVariableOverrides = 
        {
            { "string", "string" },
        },
        UseStageCache = false,
    },
    ClientCertificateId = "string",
    AccessLogSettings = new Aws.ApiGateway.Inputs.StageAccessLogSettingsArgs
    {
        DestinationArn = "string",
        Format = "string",
    },
    Description = "string",
    DocumentationVersion = "string",
    CacheClusterSize = "string",
    CacheClusterEnabled = false,
    Tags = 
    {
        { "string", "string" },
    },
    Variables = 
    {
        { "string", "string" },
    },
    XrayTracingEnabled = false,
});
Copy
example, err := apigateway.NewStage(ctx, "stageResource", &apigateway.StageArgs{
	Deployment: pulumi.Any("string"),
	StageName:  pulumi.String("string"),
	RestApi:    pulumi.Any("string"),
	CanarySettings: &apigateway.StageCanarySettingsArgs{
		DeploymentId:   pulumi.String("string"),
		PercentTraffic: pulumi.Float64(0),
		StageVariableOverrides: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		UseStageCache: pulumi.Bool(false),
	},
	ClientCertificateId: pulumi.String("string"),
	AccessLogSettings: &apigateway.StageAccessLogSettingsArgs{
		DestinationArn: pulumi.String("string"),
		Format:         pulumi.String("string"),
	},
	Description:          pulumi.String("string"),
	DocumentationVersion: pulumi.String("string"),
	CacheClusterSize:     pulumi.String("string"),
	CacheClusterEnabled:  pulumi.Bool(false),
	Tags: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	Variables: pulumi.StringMap{
		"string": pulumi.String("string"),
	},
	XrayTracingEnabled: pulumi.Bool(false),
})
Copy
var stageResource = new Stage("stageResource", StageArgs.builder()
    .deployment("string")
    .stageName("string")
    .restApi("string")
    .canarySettings(StageCanarySettingsArgs.builder()
        .deploymentId("string")
        .percentTraffic(0)
        .stageVariableOverrides(Map.of("string", "string"))
        .useStageCache(false)
        .build())
    .clientCertificateId("string")
    .accessLogSettings(StageAccessLogSettingsArgs.builder()
        .destinationArn("string")
        .format("string")
        .build())
    .description("string")
    .documentationVersion("string")
    .cacheClusterSize("string")
    .cacheClusterEnabled(false)
    .tags(Map.of("string", "string"))
    .variables(Map.of("string", "string"))
    .xrayTracingEnabled(false)
    .build());
Copy
stage_resource = aws.apigateway.Stage("stageResource",
    deployment="string",
    stage_name="string",
    rest_api="string",
    canary_settings={
        "deployment_id": "string",
        "percent_traffic": 0,
        "stage_variable_overrides": {
            "string": "string",
        },
        "use_stage_cache": False,
    },
    client_certificate_id="string",
    access_log_settings={
        "destination_arn": "string",
        "format": "string",
    },
    description="string",
    documentation_version="string",
    cache_cluster_size="string",
    cache_cluster_enabled=False,
    tags={
        "string": "string",
    },
    variables={
        "string": "string",
    },
    xray_tracing_enabled=False)
Copy
const stageResource = new aws.apigateway.Stage("stageResource", {
    deployment: "string",
    stageName: "string",
    restApi: "string",
    canarySettings: {
        deploymentId: "string",
        percentTraffic: 0,
        stageVariableOverrides: {
            string: "string",
        },
        useStageCache: false,
    },
    clientCertificateId: "string",
    accessLogSettings: {
        destinationArn: "string",
        format: "string",
    },
    description: "string",
    documentationVersion: "string",
    cacheClusterSize: "string",
    cacheClusterEnabled: false,
    tags: {
        string: "string",
    },
    variables: {
        string: "string",
    },
    xrayTracingEnabled: false,
});
Copy
type: aws:apigateway:Stage
properties:
    accessLogSettings:
        destinationArn: string
        format: string
    cacheClusterEnabled: false
    cacheClusterSize: string
    canarySettings:
        deploymentId: string
        percentTraffic: 0
        stageVariableOverrides:
            string: string
        useStageCache: false
    clientCertificateId: string
    deployment: string
    description: string
    documentationVersion: string
    restApi: string
    stageName: string
    tags:
        string: string
    variables:
        string: string
    xrayTracingEnabled: false
Copy

Stage Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Stage resource accepts the following input properties:

Deployment This property is required. string | string
ID of the deployment that the stage points to
RestApi
This property is required.
Changes to this property will trigger replacement.
string | string
ID of the associated REST API
StageName
This property is required.
Changes to this property will trigger replacement.
string
Name of the stage
AccessLogSettings StageAccessLogSettings
Enables access logs for the API stage. See Access Log Settings below.
CacheClusterEnabled bool
Whether a cache cluster is enabled for the stage
CacheClusterSize string
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
CanarySettings StageCanarySettings
Configuration settings of a canary deployment. See Canary Settings below.
ClientCertificateId string
Identifier of a client certificate for the stage.
Description string
Description of the stage.
DocumentationVersion string
Version of the associated API documentation
Tags Dictionary<string, string>
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Variables Dictionary<string, string>
Map that defines the stage variables
XrayTracingEnabled bool
Whether active tracing with X-ray is enabled. Defaults to false.
Deployment This property is required. string | string
ID of the deployment that the stage points to
RestApi
This property is required.
Changes to this property will trigger replacement.
string | string
ID of the associated REST API
StageName
This property is required.
Changes to this property will trigger replacement.
string
Name of the stage
AccessLogSettings StageAccessLogSettingsArgs
Enables access logs for the API stage. See Access Log Settings below.
CacheClusterEnabled bool
Whether a cache cluster is enabled for the stage
CacheClusterSize string
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
CanarySettings StageCanarySettingsArgs
Configuration settings of a canary deployment. See Canary Settings below.
ClientCertificateId string
Identifier of a client certificate for the stage.
Description string
Description of the stage.
DocumentationVersion string
Version of the associated API documentation
Tags map[string]string
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
Variables map[string]string
Map that defines the stage variables
XrayTracingEnabled bool
Whether active tracing with X-ray is enabled. Defaults to false.
deployment This property is required. String | String
ID of the deployment that the stage points to
restApi
This property is required.
Changes to this property will trigger replacement.
String | String
ID of the associated REST API
stageName
This property is required.
Changes to this property will trigger replacement.
String
Name of the stage
accessLogSettings StageAccessLogSettings
Enables access logs for the API stage. See Access Log Settings below.
cacheClusterEnabled Boolean
Whether a cache cluster is enabled for the stage
cacheClusterSize String
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canarySettings StageCanarySettings
Configuration settings of a canary deployment. See Canary Settings below.
clientCertificateId String
Identifier of a client certificate for the stage.
description String
Description of the stage.
documentationVersion String
Version of the associated API documentation
tags Map<String,String>
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
variables Map<String,String>
Map that defines the stage variables
xrayTracingEnabled Boolean
Whether active tracing with X-ray is enabled. Defaults to false.
deployment This property is required. string | Deployment
ID of the deployment that the stage points to
restApi
This property is required.
Changes to this property will trigger replacement.
string | RestApi
ID of the associated REST API
stageName
This property is required.
Changes to this property will trigger replacement.
string
Name of the stage
accessLogSettings StageAccessLogSettings
Enables access logs for the API stage. See Access Log Settings below.
cacheClusterEnabled boolean
Whether a cache cluster is enabled for the stage
cacheClusterSize string
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canarySettings StageCanarySettings
Configuration settings of a canary deployment. See Canary Settings below.
clientCertificateId string
Identifier of a client certificate for the stage.
description string
Description of the stage.
documentationVersion string
Version of the associated API documentation
tags {[key: string]: string}
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
variables {[key: string]: string}
Map that defines the stage variables
xrayTracingEnabled boolean
Whether active tracing with X-ray is enabled. Defaults to false.
deployment This property is required. str | str
ID of the deployment that the stage points to
rest_api
This property is required.
Changes to this property will trigger replacement.
str | str
ID of the associated REST API
stage_name
This property is required.
Changes to this property will trigger replacement.
str
Name of the stage
access_log_settings StageAccessLogSettingsArgs
Enables access logs for the API stage. See Access Log Settings below.
cache_cluster_enabled bool
Whether a cache cluster is enabled for the stage
cache_cluster_size str
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canary_settings StageCanarySettingsArgs
Configuration settings of a canary deployment. See Canary Settings below.
client_certificate_id str
Identifier of a client certificate for the stage.
description str
Description of the stage.
documentation_version str
Version of the associated API documentation
tags Mapping[str, str]
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
variables Mapping[str, str]
Map that defines the stage variables
xray_tracing_enabled bool
Whether active tracing with X-ray is enabled. Defaults to false.
deployment This property is required. String |
ID of the deployment that the stage points to
restApi
This property is required.
Changes to this property will trigger replacement.
String |
ID of the associated REST API
stageName
This property is required.
Changes to this property will trigger replacement.
String
Name of the stage
accessLogSettings Property Map
Enables access logs for the API stage. See Access Log Settings below.
cacheClusterEnabled Boolean
Whether a cache cluster is enabled for the stage
cacheClusterSize String
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canarySettings Property Map
Configuration settings of a canary deployment. See Canary Settings below.
clientCertificateId String
Identifier of a client certificate for the stage.
description String
Description of the stage.
documentationVersion String
Version of the associated API documentation
tags Map<String>
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
variables Map<String>
Map that defines the stage variables
xrayTracingEnabled Boolean
Whether active tracing with X-ray is enabled. Defaults to false.

Outputs

All input properties are implicitly available as output properties. Additionally, the Stage resource produces the following output properties:

Arn string
ARN
ExecutionArn string
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
Id string
The provider-assigned unique ID for this managed resource.
InvokeUrl string
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
TagsAll Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

WebAclArn string
ARN of the WebAcl associated with the Stage.
Arn string
ARN
ExecutionArn string
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
Id string
The provider-assigned unique ID for this managed resource.
InvokeUrl string
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
TagsAll map[string]string
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

WebAclArn string
ARN of the WebAcl associated with the Stage.
arn String
ARN
executionArn String
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
id String
The provider-assigned unique ID for this managed resource.
invokeUrl String
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
tagsAll Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

webAclArn String
ARN of the WebAcl associated with the Stage.
arn string
ARN
executionArn string
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
id string
The provider-assigned unique ID for this managed resource.
invokeUrl string
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
tagsAll {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

webAclArn string
ARN of the WebAcl associated with the Stage.
arn str
ARN
execution_arn str
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
id str
The provider-assigned unique ID for this managed resource.
invoke_url str
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
tags_all Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

web_acl_arn str
ARN of the WebAcl associated with the Stage.
arn String
ARN
executionArn String
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
id String
The provider-assigned unique ID for this managed resource.
invokeUrl String
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
tagsAll Map<String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

webAclArn String
ARN of the WebAcl associated with the Stage.

Look up Existing Stage Resource

Get an existing Stage resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: StageState, opts?: CustomResourceOptions): Stage
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        access_log_settings: Optional[StageAccessLogSettingsArgs] = None,
        arn: Optional[str] = None,
        cache_cluster_enabled: Optional[bool] = None,
        cache_cluster_size: Optional[str] = None,
        canary_settings: Optional[StageCanarySettingsArgs] = None,
        client_certificate_id: Optional[str] = None,
        deployment: Optional[str] = None,
        description: Optional[str] = None,
        documentation_version: Optional[str] = None,
        execution_arn: Optional[str] = None,
        invoke_url: Optional[str] = None,
        rest_api: Optional[str] = None,
        stage_name: Optional[str] = None,
        tags: Optional[Mapping[str, str]] = None,
        tags_all: Optional[Mapping[str, str]] = None,
        variables: Optional[Mapping[str, str]] = None,
        web_acl_arn: Optional[str] = None,
        xray_tracing_enabled: Optional[bool] = None) -> Stage
func GetStage(ctx *Context, name string, id IDInput, state *StageState, opts ...ResourceOption) (*Stage, error)
public static Stage Get(string name, Input<string> id, StageState? state, CustomResourceOptions? opts = null)
public static Stage get(String name, Output<String> id, StageState state, CustomResourceOptions options)
resources:  _:    type: aws:apigateway:Stage    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
AccessLogSettings StageAccessLogSettings
Enables access logs for the API stage. See Access Log Settings below.
Arn string
ARN
CacheClusterEnabled bool
Whether a cache cluster is enabled for the stage
CacheClusterSize string
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
CanarySettings StageCanarySettings
Configuration settings of a canary deployment. See Canary Settings below.
ClientCertificateId string
Identifier of a client certificate for the stage.
Deployment string | string
ID of the deployment that the stage points to
Description string
Description of the stage.
DocumentationVersion string
Version of the associated API documentation
ExecutionArn string
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
InvokeUrl string
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
RestApi Changes to this property will trigger replacement. string | string
ID of the associated REST API
StageName Changes to this property will trigger replacement. string
Name of the stage
Tags Dictionary<string, string>
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll Dictionary<string, string>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Variables Dictionary<string, string>
Map that defines the stage variables
WebAclArn string
ARN of the WebAcl associated with the Stage.
XrayTracingEnabled bool
Whether active tracing with X-ray is enabled. Defaults to false.
AccessLogSettings StageAccessLogSettingsArgs
Enables access logs for the API stage. See Access Log Settings below.
Arn string
ARN
CacheClusterEnabled bool
Whether a cache cluster is enabled for the stage
CacheClusterSize string
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
CanarySettings StageCanarySettingsArgs
Configuration settings of a canary deployment. See Canary Settings below.
ClientCertificateId string
Identifier of a client certificate for the stage.
Deployment string | string
ID of the deployment that the stage points to
Description string
Description of the stage.
DocumentationVersion string
Version of the associated API documentation
ExecutionArn string
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
InvokeUrl string
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
RestApi Changes to this property will trigger replacement. string | string
ID of the associated REST API
StageName Changes to this property will trigger replacement. string
Name of the stage
Tags map[string]string
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
TagsAll map[string]string
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

Variables map[string]string
Map that defines the stage variables
WebAclArn string
ARN of the WebAcl associated with the Stage.
XrayTracingEnabled bool
Whether active tracing with X-ray is enabled. Defaults to false.
accessLogSettings StageAccessLogSettings
Enables access logs for the API stage. See Access Log Settings below.
arn String
ARN
cacheClusterEnabled Boolean
Whether a cache cluster is enabled for the stage
cacheClusterSize String
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canarySettings StageCanarySettings
Configuration settings of a canary deployment. See Canary Settings below.
clientCertificateId String
Identifier of a client certificate for the stage.
deployment String | String
ID of the deployment that the stage points to
description String
Description of the stage.
documentationVersion String
Version of the associated API documentation
executionArn String
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
invokeUrl String
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
restApi Changes to this property will trigger replacement. String | String
ID of the associated REST API
stageName Changes to this property will trigger replacement. String
Name of the stage
tags Map<String,String>
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String,String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

variables Map<String,String>
Map that defines the stage variables
webAclArn String
ARN of the WebAcl associated with the Stage.
xrayTracingEnabled Boolean
Whether active tracing with X-ray is enabled. Defaults to false.
accessLogSettings StageAccessLogSettings
Enables access logs for the API stage. See Access Log Settings below.
arn string
ARN
cacheClusterEnabled boolean
Whether a cache cluster is enabled for the stage
cacheClusterSize string
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canarySettings StageCanarySettings
Configuration settings of a canary deployment. See Canary Settings below.
clientCertificateId string
Identifier of a client certificate for the stage.
deployment string | Deployment
ID of the deployment that the stage points to
description string
Description of the stage.
documentationVersion string
Version of the associated API documentation
executionArn string
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
invokeUrl string
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
restApi Changes to this property will trigger replacement. string | RestApi
ID of the associated REST API
stageName Changes to this property will trigger replacement. string
Name of the stage
tags {[key: string]: string}
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll {[key: string]: string}
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

variables {[key: string]: string}
Map that defines the stage variables
webAclArn string
ARN of the WebAcl associated with the Stage.
xrayTracingEnabled boolean
Whether active tracing with X-ray is enabled. Defaults to false.
access_log_settings StageAccessLogSettingsArgs
Enables access logs for the API stage. See Access Log Settings below.
arn str
ARN
cache_cluster_enabled bool
Whether a cache cluster is enabled for the stage
cache_cluster_size str
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canary_settings StageCanarySettingsArgs
Configuration settings of a canary deployment. See Canary Settings below.
client_certificate_id str
Identifier of a client certificate for the stage.
deployment str | str
ID of the deployment that the stage points to
description str
Description of the stage.
documentation_version str
Version of the associated API documentation
execution_arn str
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
invoke_url str
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
rest_api Changes to this property will trigger replacement. str | str
ID of the associated REST API
stage_name Changes to this property will trigger replacement. str
Name of the stage
tags Mapping[str, str]
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tags_all Mapping[str, str]
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

variables Mapping[str, str]
Map that defines the stage variables
web_acl_arn str
ARN of the WebAcl associated with the Stage.
xray_tracing_enabled bool
Whether active tracing with X-ray is enabled. Defaults to false.
accessLogSettings Property Map
Enables access logs for the API stage. See Access Log Settings below.
arn String
ARN
cacheClusterEnabled Boolean
Whether a cache cluster is enabled for the stage
cacheClusterSize String
Size of the cache cluster for the stage, if enabled. Allowed values include 0.5, 1.6, 6.1, 13.5, 28.4, 58.2, 118 and 237.
canarySettings Property Map
Configuration settings of a canary deployment. See Canary Settings below.
clientCertificateId String
Identifier of a client certificate for the stage.
deployment String |
ID of the deployment that the stage points to
description String
Description of the stage.
documentationVersion String
Version of the associated API documentation
executionArn String
Execution ARN to be used in lambda_permission's source_arn when allowing API Gateway to invoke a Lambda function, e.g., arn:aws:execute-api:eu-west-2:123456789012:z4675bid1j/prod
invokeUrl String
URL to invoke the API pointing to the stage, e.g., https://z4675bid1j.execute-api.eu-west-2.amazonaws.com/prod
restApi Changes to this property will trigger replacement. String |
ID of the associated REST API
stageName Changes to this property will trigger replacement. String
Name of the stage
tags Map<String>
Map of tags to assign to the resource. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.
tagsAll Map<String>
Map of tags assigned to the resource, including those inherited from the provider default_tags configuration block.

Deprecated: Please use tags instead.

variables Map<String>
Map that defines the stage variables
webAclArn String
ARN of the WebAcl associated with the Stage.
xrayTracingEnabled Boolean
Whether active tracing with X-ray is enabled. Defaults to false.

Supporting Types

StageAccessLogSettings
, StageAccessLogSettingsArgs

DestinationArn This property is required. string
ARN of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. Automatically removes trailing :* if present.
Format This property is required. string
Formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS documentation
DestinationArn This property is required. string
ARN of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. Automatically removes trailing :* if present.
Format This property is required. string
Formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS documentation
destinationArn This property is required. String
ARN of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. Automatically removes trailing :* if present.
format This property is required. String
Formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS documentation
destinationArn This property is required. string
ARN of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. Automatically removes trailing :* if present.
format This property is required. string
Formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS documentation
destination_arn This property is required. str
ARN of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. Automatically removes trailing :* if present.
format This property is required. str
Formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS documentation
destinationArn This property is required. String
ARN of the CloudWatch Logs log group or Kinesis Data Firehose delivery stream to receive access logs. If you specify a Kinesis Data Firehose delivery stream, the stream name must begin with amazon-apigateway-. Automatically removes trailing :* if present.
format This property is required. String
Formatting and values recorded in the logs. For more information on configuring the log format rules visit the AWS documentation

StageCanarySettings
, StageCanarySettingsArgs

DeploymentId This property is required. string
ID of the deployment that the canary points to.
PercentTraffic double
Percent 0.0 - 100.0 of traffic to divert to the canary deployment.
StageVariableOverrides Dictionary<string, string>
Map of overridden stage variables (including new variables) for the canary deployment.
UseStageCache bool
Whether the canary deployment uses the stage cache. Defaults to false.
DeploymentId This property is required. string
ID of the deployment that the canary points to.
PercentTraffic float64
Percent 0.0 - 100.0 of traffic to divert to the canary deployment.
StageVariableOverrides map[string]string
Map of overridden stage variables (including new variables) for the canary deployment.
UseStageCache bool
Whether the canary deployment uses the stage cache. Defaults to false.
deploymentId This property is required. String
ID of the deployment that the canary points to.
percentTraffic Double
Percent 0.0 - 100.0 of traffic to divert to the canary deployment.
stageVariableOverrides Map<String,String>
Map of overridden stage variables (including new variables) for the canary deployment.
useStageCache Boolean
Whether the canary deployment uses the stage cache. Defaults to false.
deploymentId This property is required. string
ID of the deployment that the canary points to.
percentTraffic number
Percent 0.0 - 100.0 of traffic to divert to the canary deployment.
stageVariableOverrides {[key: string]: string}
Map of overridden stage variables (including new variables) for the canary deployment.
useStageCache boolean
Whether the canary deployment uses the stage cache. Defaults to false.
deployment_id This property is required. str
ID of the deployment that the canary points to.
percent_traffic float
Percent 0.0 - 100.0 of traffic to divert to the canary deployment.
stage_variable_overrides Mapping[str, str]
Map of overridden stage variables (including new variables) for the canary deployment.
use_stage_cache bool
Whether the canary deployment uses the stage cache. Defaults to false.
deploymentId This property is required. String
ID of the deployment that the canary points to.
percentTraffic Number
Percent 0.0 - 100.0 of traffic to divert to the canary deployment.
stageVariableOverrides Map<String>
Map of overridden stage variables (including new variables) for the canary deployment.
useStageCache Boolean
Whether the canary deployment uses the stage cache. Defaults to false.

Import

Using pulumi import, import aws_api_gateway_stage using REST-API-ID/STAGE-NAME. For example:

$ pulumi import aws:apigateway/stage:Stage example 12345abcde/example
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
AWS Classic pulumi/pulumi-aws
License
Apache-2.0
Notes
This Pulumi package is based on the aws Terraform Provider.