AWS v7.11.0 published on Wednesday, Nov 5, 2025 by Pulumi
aws.cloudformation.getStack
Start a Neo task
Explain and create an aws.cloudformation.getStack resource
The CloudFormation Stack data source allows access to stack outputs and other useful data including the template body.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const network = aws.cloudformation.getStack({
name: "my-network-stack",
});
const web = new aws.ec2.Instance("web", {
ami: "ami-abb07bcb",
instanceType: aws.ec2.InstanceType.T2_Micro,
subnetId: network.then(network => network.outputs?.SubnetId),
tags: {
Name: "HelloWorld",
},
});
import pulumi
import pulumi_aws as aws
network = aws.cloudformation.get_stack(name="my-network-stack")
web = aws.ec2.Instance("web",
ami="ami-abb07bcb",
instance_type=aws.ec2.InstanceType.T2_MICRO,
subnet_id=network.outputs["SubnetId"],
tags={
"Name": "HelloWorld",
})
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/cloudformation"
"github.com/pulumi/pulumi-aws/sdk/v7/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
network, err := cloudformation.LookupStack(ctx, &cloudformation.LookupStackArgs{
Name: "my-network-stack",
}, nil)
if err != nil {
return err
}
_, err = ec2.NewInstance(ctx, "web", &ec2.InstanceArgs{
Ami: pulumi.String("ami-abb07bcb"),
InstanceType: pulumi.String(ec2.InstanceType_T2_Micro),
SubnetId: pulumi.String(network.Outputs.SubnetId),
Tags: pulumi.StringMap{
"Name": pulumi.String("HelloWorld"),
},
})
if err != nil {
return err
}
return nil
})
}
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var network = Aws.CloudFormation.GetStack.Invoke(new()
{
Name = "my-network-stack",
});
var web = new Aws.Ec2.Instance("web", new()
{
Ami = "ami-abb07bcb",
InstanceType = Aws.Ec2.InstanceType.T2_Micro,
SubnetId = network.Apply(getStackResult => getStackResult.Outputs?.SubnetId),
Tags =
{
{ "Name", "HelloWorld" },
},
});
});
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.cloudformation.CloudformationFunctions;
import com.pulumi.aws.cloudformation.inputs.GetStackArgs;
import com.pulumi.aws.ec2.Instance;
import com.pulumi.aws.ec2.InstanceArgs;
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 network = CloudformationFunctions.getStack(GetStackArgs.builder()
.name("my-network-stack")
.build());
var web = new Instance("web", InstanceArgs.builder()
.ami("ami-abb07bcb")
.instanceType("t2.micro")
.subnetId(network.outputs().SubnetId())
.tags(Map.of("Name", "HelloWorld"))
.build());
}
}
resources:
web:
type: aws:ec2:Instance
properties:
ami: ami-abb07bcb
instanceType: t2.micro
subnetId: ${network.outputs.SubnetId}
tags:
Name: HelloWorld
variables:
network:
fn::invoke:
function: aws:cloudformation:getStack
arguments:
name: my-network-stack
Using getStack
Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.
function getStack(args: GetStackArgs, opts?: InvokeOptions): Promise<GetStackResult>
function getStackOutput(args: GetStackOutputArgs, opts?: InvokeOptions): Output<GetStackResult>def get_stack(name: Optional[str] = None,
region: Optional[str] = None,
tags: Optional[Mapping[str, str]] = None,
opts: Optional[InvokeOptions] = None) -> GetStackResult
def get_stack_output(name: Optional[pulumi.Input[str]] = None,
region: Optional[pulumi.Input[str]] = None,
tags: Optional[pulumi.Input[Mapping[str, pulumi.Input[str]]]] = None,
opts: Optional[InvokeOptions] = None) -> Output[GetStackResult]func LookupStack(ctx *Context, args *LookupStackArgs, opts ...InvokeOption) (*LookupStackResult, error)
func LookupStackOutput(ctx *Context, args *LookupStackOutputArgs, opts ...InvokeOption) LookupStackResultOutput> Note: This function is named LookupStack in the Go SDK.
public static class GetStack
{
public static Task<GetStackResult> InvokeAsync(GetStackArgs args, InvokeOptions? opts = null)
public static Output<GetStackResult> Invoke(GetStackInvokeArgs args, InvokeOptions? opts = null)
}public static CompletableFuture<GetStackResult> getStack(GetStackArgs args, InvokeOptions options)
public static Output<GetStackResult> getStack(GetStackArgs args, InvokeOptions options)
fn::invoke:
function: aws:cloudformation/getStack:getStack
arguments:
# arguments dictionaryThe following arguments are supported:
getStack Result
The following output properties are available:
- Capabilities List<string>
- List of capabilities
- Description string
- Description of the stack
- Disable
Rollback bool - Whether the rollback of the stack is disabled when stack creation fails
- Iam
Role stringArn - ARN of the IAM role used to create the stack.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Notification
Arns List<string> - List of SNS topic ARNs to publish stack related events
- Outputs Dictionary<string, string>
- Map of outputs from the stack.
- Parameters Dictionary<string, string>
- Map of parameters that specify input parameters for the stack.
- Region string
- Dictionary<string, string>
- Map of tags associated with this stack.
- Template
Body string - Structure containing the template body.
- Timeout
In intMinutes - Amount of time that can pass before the stack status becomes
CREATE_FAILED
- Capabilities []string
- List of capabilities
- Description string
- Description of the stack
- Disable
Rollback bool - Whether the rollback of the stack is disabled when stack creation fails
- Iam
Role stringArn - ARN of the IAM role used to create the stack.
- Id string
- The provider-assigned unique ID for this managed resource.
- Name string
- Notification
Arns []string - List of SNS topic ARNs to publish stack related events
- Outputs map[string]string
- Map of outputs from the stack.
- Parameters map[string]string
- Map of parameters that specify input parameters for the stack.
- Region string
- map[string]string
- Map of tags associated with this stack.
- Template
Body string - Structure containing the template body.
- Timeout
In intMinutes - Amount of time that can pass before the stack status becomes
CREATE_FAILED
- capabilities List<String>
- List of capabilities
- description String
- Description of the stack
- disable
Rollback Boolean - Whether the rollback of the stack is disabled when stack creation fails
- iam
Role StringArn - ARN of the IAM role used to create the stack.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- notification
Arns List<String> - List of SNS topic ARNs to publish stack related events
- outputs Map<String,String>
- Map of outputs from the stack.
- parameters Map<String,String>
- Map of parameters that specify input parameters for the stack.
- region String
- Map<String,String>
- Map of tags associated with this stack.
- template
Body String - Structure containing the template body.
- timeout
In IntegerMinutes - Amount of time that can pass before the stack status becomes
CREATE_FAILED
- capabilities string[]
- List of capabilities
- description string
- Description of the stack
- disable
Rollback boolean - Whether the rollback of the stack is disabled when stack creation fails
- iam
Role stringArn - ARN of the IAM role used to create the stack.
- id string
- The provider-assigned unique ID for this managed resource.
- name string
- notification
Arns string[] - List of SNS topic ARNs to publish stack related events
- outputs {[key: string]: string}
- Map of outputs from the stack.
- parameters {[key: string]: string}
- Map of parameters that specify input parameters for the stack.
- region string
- {[key: string]: string}
- Map of tags associated with this stack.
- template
Body string - Structure containing the template body.
- timeout
In numberMinutes - Amount of time that can pass before the stack status becomes
CREATE_FAILED
- capabilities Sequence[str]
- List of capabilities
- description str
- Description of the stack
- disable_
rollback bool - Whether the rollback of the stack is disabled when stack creation fails
- iam_
role_ strarn - ARN of the IAM role used to create the stack.
- id str
- The provider-assigned unique ID for this managed resource.
- name str
- notification_
arns Sequence[str] - List of SNS topic ARNs to publish stack related events
- outputs Mapping[str, str]
- Map of outputs from the stack.
- parameters Mapping[str, str]
- Map of parameters that specify input parameters for the stack.
- region str
- Mapping[str, str]
- Map of tags associated with this stack.
- template_
body str - Structure containing the template body.
- timeout_
in_ intminutes - Amount of time that can pass before the stack status becomes
CREATE_FAILED
- capabilities List<String>
- List of capabilities
- description String
- Description of the stack
- disable
Rollback Boolean - Whether the rollback of the stack is disabled when stack creation fails
- iam
Role StringArn - ARN of the IAM role used to create the stack.
- id String
- The provider-assigned unique ID for this managed resource.
- name String
- notification
Arns List<String> - List of SNS topic ARNs to publish stack related events
- outputs Map<String>
- Map of outputs from the stack.
- parameters Map<String>
- Map of parameters that specify input parameters for the stack.
- region String
- Map<String>
- Map of tags associated with this stack.
- template
Body String - Structure containing the template body.
- timeout
In NumberMinutes - Amount of time that can pass before the stack status becomes
CREATE_FAILED
Package Details
- Repository
- AWS Classic pulumi/pulumi-aws
- License
- Apache-2.0
- Notes
- This Pulumi package is based on the
awsTerraform Provider.
