Module cloudformation

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-aws repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-aws repo.

Resources

Data Sources

Others

Resources

Resource Stack

class Stack extends CustomResource

Provides a CloudFormation Stack resource.

Example Usage

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

const network = new aws.cloudformation.Stack("network", {
    parameters: {
        VPCCidr: "10.0.0.0/16",
    },
    templateBody: `{
  "Parameters" : {
    "VPCCidr" : {
      "Type" : "String",
      "Default" : "10.0.0.0/16",
      "Description" : "Enter the CIDR block for the VPC. Default is 10.0.0.0/16."
    }
  },
  "Resources" : {
    "myVpc": {
      "Type" : "AWS::EC2::VPC",
      "Properties" : {
        "CidrBlock" : { "Ref" : "VPCCidr" },
        "Tags" : [
          {"Key": "Name", "Value": "Primary_CF_VPC"}
        ]
      }
    }
  }
}
`,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/cloudformation_stack.html.markdown.

constructor

new Stack(name: string, args?: StackArgs, opts?: pulumi.CustomResourceOptions)

Create a Stack resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StackState, opts?: pulumi.CustomResourceOptions): Stack

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Stack. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property capabilities

public capabilities: pulumi.Output<string[] | undefined>;

A list of capabilities. Valid values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, or CAPABILITY_AUTO_EXPAND

property disableRollback

public disableRollback: pulumi.Output<boolean | undefined>;

Set to true to disable rollback of the stack if stack creation failed. Conflicts with onFailure.

property iamRoleArn

public iamRoleArn: pulumi.Output<string | undefined>;

The ARN of an IAM role that AWS CloudFormation assumes to create the stack. If you don’t specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Stack name.

property notificationArns

public notificationArns: pulumi.Output<string[] | undefined>;

A list of SNS topic ARNs to publish stack related events.

property onFailure

public onFailure: pulumi.Output<string | undefined>;

Action to be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. Conflicts with disableRollback.

property outputs

public outputs: pulumi.Output<{[key: string]: any}>;

A map of outputs from the stack.

property parameters

public parameters: pulumi.Output<{[key: string]: any}>;

A map of Parameter structures that specify input parameters for the stack.

property policyBody

public policyBody: pulumi.Output<string>;

Structure containing the stack policy body. Conflicts w/ policyUrl.

property policyUrl

public policyUrl: pulumi.Output<string | undefined>;

Location of a file containing the stack policy. Conflicts w/ policyBody.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

A list of tags to associate with this stack.

property templateBody

public templateBody: pulumi.Output<string>;

Structure containing the template body (max size: 51,200 bytes).

property templateUrl

public templateUrl: pulumi.Output<string | undefined>;

Location of a file containing the template body (max size: 460,800 bytes).

property timeoutInMinutes

public timeoutInMinutes: pulumi.Output<number | undefined>;

The amount of time that can pass before the stack status becomes CREATE_FAILED.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource StackSet

class StackSet extends CustomResource

Manages a CloudFormation Stack Set. Stack Sets allow CloudFormation templates to be easily deployed across multiple accounts and regions via Stack Set Instances (aws.cloudformation.StackSetInstance resource). Additional information about Stack Sets can be found in the AWS CloudFormation User Guide.

NOTE: All template parameters, including those with a Default, must be configured or ignored with the lifecycle configuration block ignoreChanges argument.

NOTE: All NoEcho template parameters must be ignored with the lifecycle configuration block ignoreChanges argument.

Example Usage

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

const aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy = aws.iam.getPolicyDocument({
    statements: [{
        actions: ["sts:AssumeRole"],
        effect: "Allow",
        principals: [{
            identifiers: ["cloudformation.amazonaws.com"],
            type: "Service",
        }],
    }],
});
const aWSCloudFormationStackSetAdministrationRole = new aws.iam.Role("AWSCloudFormationStackSetAdministrationRole", {
    assumeRolePolicy: aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.json,
});
const example = new aws.cloudformation.StackSet("example", {
    administrationRoleArn: aWSCloudFormationStackSetAdministrationRole.arn,
    parameters: {
        VPCCidr: "10.0.0.0/16",
    },
    templateBody: `{
  "Parameters" : {
    "VPCCidr" : {
      "Type" : "String",
      "Default" : "10.0.0.0/16",
      "Description" : "Enter the CIDR block for the VPC. Default is 10.0.0.0/16."
    }
  },
  "Resources" : {
    "myVpc": {
      "Type" : "AWS::EC2::VPC",
      "Properties" : {
        "CidrBlock" : { "Ref" : "VPCCidr" },
        "Tags" : [
          {"Key": "Name", "Value": "Primary_CF_VPC"}
        ]
      }
    }
  }
}
`,
});
const aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument = example.executionRoleName.apply(executionRoleName => aws.iam.getPolicyDocument({
    statements: [{
        actions: ["sts:AssumeRole"],
        effect: "Allow",
        resources: [`arn:aws:iam::*:role/${executionRoleName}`],
    }],
}));
const aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy = new aws.iam.RolePolicy("AWSCloudFormationStackSetAdministrationRole_ExecutionPolicy", {
    policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.json,
    role: aWSCloudFormationStackSetAdministrationRole.name,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/cloudformation_stack_set.html.markdown.

constructor

new StackSet(name: string, args: StackSetArgs, opts?: pulumi.CustomResourceOptions)

Create a StackSet resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StackSetState, opts?: pulumi.CustomResourceOptions): StackSet

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of StackSet. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property administrationRoleArn

public administrationRoleArn: pulumi.Output<string>;

Amazon Resource Number (ARN) of the IAM Role in the administrator account.

property arn

public arn: pulumi.Output<string>;

Amazon Resource Name (ARN) of the Stack Set.

property capabilities

public capabilities: pulumi.Output<string[] | undefined>;

A list of capabilities. Valid values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND.

property description

public description: pulumi.Output<string | undefined>;

Description of the Stack Set.

property executionRoleName

public executionRoleName: pulumi.Output<string | undefined>;

Name of the IAM Role in all target accounts for Stack Set operations. Defaults to AWSCloudFormationStackSetExecutionRole.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property name

public name: pulumi.Output<string>;

Name of the Stack Set. The name must be unique in the region where you create your Stack Set. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters.

property parameters

public parameters: pulumi.Output<{[key: string]: string} | undefined>;

Key-value map of input parameters for the Stack Set template. All template parameters, including those with a Default, must be configured or ignored with lifecycle configuration block ignoreChanges argument. All NoEcho template parameters must be ignored with the lifecycle configuration block ignoreChanges argument.

property stackSetId

public stackSetId: pulumi.Output<string>;

Unique identifier of the Stack Set.

property tags

public tags: pulumi.Output<{[key: string]: any} | undefined>;

Key-value map of tags to associate with this Stack Set and the Stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the Stacks. A maximum number of 50 tags can be specified.

property templateBody

public templateBody: pulumi.Output<string>;

String containing the CloudFormation template body. Maximum size: 51,200 bytes. Conflicts with templateUrl.

property templateUrl

public templateUrl: pulumi.Output<string | undefined>;

String containing the location of a file containing the CloudFormation template body. The URL must point to a template that is located in an Amazon S3 bucket. Maximum location file size: 460,800 bytes. Conflicts with templateBody.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource StackSetInstance

class StackSetInstance extends CustomResource

Manages a CloudFormation Stack Set Instance. Instances are managed in the account and region of the Stack Set after the target account permissions have been configured. Additional information about Stack Sets can be found in the AWS CloudFormation User Guide.

NOTE: All target accounts must have an IAM Role created that matches the name of the execution role configured in the Stack Set (the executionRoleName argument in the aws.cloudformation.StackSet resource) in a trust relationship with the administrative account or administration IAM Role. The execution role must have appropriate permissions to manage resources defined in the template along with those required for Stack Sets to operate. See the AWS CloudFormation User Guide for more details.

NOTE: To retain the Stack during resource destroy, ensure retainStack has been set to true in the state first. This must be completed before a deployment that would destroy the resource.

Example Usage

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

const example = new aws.cloudformation.StackSetInstance("example", {
    accountId: "123456789012",
    region: "us-east-1",
    stackSetName: aws_cloudformation_stack_set_example.name,
});
Example IAM Setup in Target Account
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";

const aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy = aws_iam_role_AWSCloudFormationStackSetAdministrationRole.arn.apply(arn => aws.iam.getPolicyDocument({
    statements: [{
        actions: ["sts:AssumeRole"],
        effect: "Allow",
        principals: [{
            identifiers: [arn],
            type: "AWS",
        }],
    }],
}));
const aWSCloudFormationStackSetExecutionRole = new aws.iam.Role("AWSCloudFormationStackSetExecutionRole", {
    assumeRolePolicy: aWSCloudFormationStackSetExecutionRoleAssumeRolePolicy.json,
});
// Documentation: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html
// Additional IAM permissions necessary depend on the resources defined in the Stack Set template
const aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument = aws.iam.getPolicyDocument({
    statements: [{
        actions: [
            "cloudformation:*",
            "s3:*",
            "sns:*",
        ],
        effect: "Allow",
        resources: ["*"],
    }],
});
const aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyRolePolicy = new aws.iam.RolePolicy("AWSCloudFormationStackSetExecutionRole_MinimumExecutionPolicy", {
    policy: aWSCloudFormationStackSetExecutionRoleMinimumExecutionPolicyPolicyDocument.json,
    role: aWSCloudFormationStackSetExecutionRole.name,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/r/cloudformation_stack_set_instance.html.markdown.

constructor

new StackSetInstance(name: string, args: StackSetInstanceArgs, opts?: pulumi.CustomResourceOptions)

Create a StackSetInstance resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: StackSetInstanceState, opts?: pulumi.CustomResourceOptions): StackSetInstance

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of StackSetInstance. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property accountId

public accountId: pulumi.Output<string>;

Target AWS Account ID to create a Stack based on the Stack Set. Defaults to current account.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property parameterOverrides

public parameterOverrides: pulumi.Output<{[key: string]: string} | undefined>;

Key-value map of input parameters to override from the Stack Set for this Instance.

property region

public region: pulumi.Output<string>;

Target AWS Region to create a Stack based on the Stack Set. Defaults to current region.

property retainStack

public retainStack: pulumi.Output<boolean | undefined>;

During resource destroy, remove Instance from Stack Set while keeping the Stack and its associated resources. Must be enabled in the state before destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new Stack Set. Defaults to false.

property stackId

public stackId: pulumi.Output<string>;

Stack identifier

property stackSetName

public stackSetName: pulumi.Output<string>;

Name of the Stack Set.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Data Sources

Data Source getExport

getExport(args: GetExportArgs, opts?: pulumi.InvokeOptions): Promise<GetExportResult> & GetExportResult

The CloudFormation Export data source allows access to stack exports specified in the Output section of the Cloudformation Template using the optional Export Property.

Note: If you are trying to use a value from a Cloudformation Stack in the same deployment please use normal interpolation or Cloudformation Outputs.

Example Usage

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

const subnetId = aws.cloudformation.getExport({
    name: "mySubnetIdExportName",
});
const web = new aws.ec2.Instance("web", {
    ami: "ami-abb07bcb",
    instanceType: "t1.micro",
    subnetId: subnetId.value,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/d/cloudformation_export.html.markdown.

Data Source getStack

getStack(args: GetStackArgs, opts?: pulumi.InvokeOptions): Promise<GetStackResult> & GetStackResult

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: "t1.micro",
    subnetId: network.outputs["SubnetId"],
    tags: {
        Name: "HelloWorld",
    },
});

This content is derived from https://github.com/terraform-providers/terraform-provider-aws/blob/master/website/docs/d/cloudformation_stack.html.markdown.

Others

interface GetExportArgs

interface GetExportArgs

A collection of arguments for invoking getExport.

property name

name: string;

The name of the export as it appears in the console or from list-exports

interface GetExportResult

interface GetExportResult

A collection of values returned by getExport.

property exportingStackId

exportingStackId: string;

The exportingStackId (AWS ARNs) equivalent ExportingStackId from list-exports

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property value

value: string;

The value from Cloudformation export identified by the export name found from list-exports

interface GetStackArgs

interface GetStackArgs

A collection of arguments for invoking getStack.

property name

name: string;

The name of the stack

property tags

tags?: undefined | {[key: string]: any};

interface GetStackResult

interface GetStackResult

A collection of values returned by getStack.

property capabilities

capabilities: string[];

A list of capabilities

property description

description: string;

Description of the stack

property disableRollback

disableRollback: boolean;

Whether the rollback of the stack is disabled when stack creation fails

property iamRoleArn

iamRoleArn: string;

The ARN of the IAM role used to create the stack.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property name

name: string;

property notificationArns

notificationArns: string[];

A list of SNS topic ARNs to publish stack related events

property outputs

outputs: {[key: string]: any};

A map of outputs from the stack.

property parameters

parameters: {[key: string]: any};

A map of parameters that specify input parameters for the stack.

property tags

tags: {[key: string]: any};

A map of tags associated with this stack.

property templateBody

templateBody: string;

Structure containing the template body.

property timeoutInMinutes

timeoutInMinutes: number;

The amount of time that can pass before the stack status becomes CREATE_FAILED

interface StackArgs

interface StackArgs

The set of arguments for constructing a Stack resource.

property capabilities

capabilities?: pulumi.Input<pulumi.Input<string>[]>;

A list of capabilities. Valid values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, or CAPABILITY_AUTO_EXPAND

property disableRollback

disableRollback?: pulumi.Input<boolean>;

Set to true to disable rollback of the stack if stack creation failed. Conflicts with onFailure.

property iamRoleArn

iamRoleArn?: pulumi.Input<string>;

The ARN of an IAM role that AWS CloudFormation assumes to create the stack. If you don’t specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

property name

name?: pulumi.Input<string>;

Stack name.

property notificationArns

notificationArns?: pulumi.Input<pulumi.Input<string>[]>;

A list of SNS topic ARNs to publish stack related events.

property onFailure

onFailure?: pulumi.Input<string>;

Action to be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. Conflicts with disableRollback.

property parameters

parameters?: pulumi.Input<{[key: string]: any}>;

A map of Parameter structures that specify input parameters for the stack.

property policyBody

policyBody?: pulumi.Input<string>;

Structure containing the stack policy body. Conflicts w/ policyUrl.

property policyUrl

policyUrl?: pulumi.Input<string>;

Location of a file containing the stack policy. Conflicts w/ policyBody.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A list of tags to associate with this stack.

property templateBody

templateBody?: pulumi.Input<string>;

Structure containing the template body (max size: 51,200 bytes).

property templateUrl

templateUrl?: pulumi.Input<string>;

Location of a file containing the template body (max size: 460,800 bytes).

property timeoutInMinutes

timeoutInMinutes?: pulumi.Input<number>;

The amount of time that can pass before the stack status becomes CREATE_FAILED.

interface StackSetArgs

interface StackSetArgs

The set of arguments for constructing a StackSet resource.

property administrationRoleArn

administrationRoleArn: pulumi.Input<string>;

Amazon Resource Number (ARN) of the IAM Role in the administrator account.

property capabilities

capabilities?: pulumi.Input<pulumi.Input<string>[]>;

A list of capabilities. Valid values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND.

property description

description?: pulumi.Input<string>;

Description of the Stack Set.

property executionRoleName

executionRoleName?: pulumi.Input<string>;

Name of the IAM Role in all target accounts for Stack Set operations. Defaults to AWSCloudFormationStackSetExecutionRole.

property name

name?: pulumi.Input<string>;

Name of the Stack Set. The name must be unique in the region where you create your Stack Set. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters.

property parameters

parameters?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of input parameters for the Stack Set template. All template parameters, including those with a Default, must be configured or ignored with lifecycle configuration block ignoreChanges argument. All NoEcho template parameters must be ignored with the lifecycle configuration block ignoreChanges argument.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of tags to associate with this Stack Set and the Stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the Stacks. A maximum number of 50 tags can be specified.

property templateBody

templateBody?: pulumi.Input<string>;

String containing the CloudFormation template body. Maximum size: 51,200 bytes. Conflicts with templateUrl.

property templateUrl

templateUrl?: pulumi.Input<string>;

String containing the location of a file containing the CloudFormation template body. The URL must point to a template that is located in an Amazon S3 bucket. Maximum location file size: 460,800 bytes. Conflicts with templateBody.

interface StackSetInstanceArgs

interface StackSetInstanceArgs

The set of arguments for constructing a StackSetInstance resource.

property accountId

accountId?: pulumi.Input<string>;

Target AWS Account ID to create a Stack based on the Stack Set. Defaults to current account.

property parameterOverrides

parameterOverrides?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of input parameters to override from the Stack Set for this Instance.

property region

region?: pulumi.Input<string>;

Target AWS Region to create a Stack based on the Stack Set. Defaults to current region.

property retainStack

retainStack?: pulumi.Input<boolean>;

During resource destroy, remove Instance from Stack Set while keeping the Stack and its associated resources. Must be enabled in the state before destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new Stack Set. Defaults to false.

property stackSetName

stackSetName: pulumi.Input<string>;

Name of the Stack Set.

interface StackSetInstanceState

interface StackSetInstanceState

Input properties used for looking up and filtering StackSetInstance resources.

property accountId

accountId?: pulumi.Input<string>;

Target AWS Account ID to create a Stack based on the Stack Set. Defaults to current account.

property parameterOverrides

parameterOverrides?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of input parameters to override from the Stack Set for this Instance.

property region

region?: pulumi.Input<string>;

Target AWS Region to create a Stack based on the Stack Set. Defaults to current region.

property retainStack

retainStack?: pulumi.Input<boolean>;

During resource destroy, remove Instance from Stack Set while keeping the Stack and its associated resources. Must be enabled in the state before destroy operation to take effect. You cannot reassociate a retained Stack or add an existing, saved Stack to a new Stack Set. Defaults to false.

property stackId

stackId?: pulumi.Input<string>;

Stack identifier

property stackSetName

stackSetName?: pulumi.Input<string>;

Name of the Stack Set.

interface StackSetState

interface StackSetState

Input properties used for looking up and filtering StackSet resources.

property administrationRoleArn

administrationRoleArn?: pulumi.Input<string>;

Amazon Resource Number (ARN) of the IAM Role in the administrator account.

property arn

arn?: pulumi.Input<string>;

Amazon Resource Name (ARN) of the Stack Set.

property capabilities

capabilities?: pulumi.Input<pulumi.Input<string>[]>;

A list of capabilities. Valid values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, CAPABILITY_AUTO_EXPAND.

property description

description?: pulumi.Input<string>;

Description of the Stack Set.

property executionRoleName

executionRoleName?: pulumi.Input<string>;

Name of the IAM Role in all target accounts for Stack Set operations. Defaults to AWSCloudFormationStackSetExecutionRole.

property name

name?: pulumi.Input<string>;

Name of the Stack Set. The name must be unique in the region where you create your Stack Set. The name can contain only alphanumeric characters (case-sensitive) and hyphens. It must start with an alphabetic character and cannot be longer than 128 characters.

property parameters

parameters?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

Key-value map of input parameters for the Stack Set template. All template parameters, including those with a Default, must be configured or ignored with lifecycle configuration block ignoreChanges argument. All NoEcho template parameters must be ignored with the lifecycle configuration block ignoreChanges argument.

property stackSetId

stackSetId?: pulumi.Input<string>;

Unique identifier of the Stack Set.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

Key-value map of tags to associate with this Stack Set and the Stacks created from it. AWS CloudFormation also propagates these tags to supported resources that are created in the Stacks. A maximum number of 50 tags can be specified.

property templateBody

templateBody?: pulumi.Input<string>;

String containing the CloudFormation template body. Maximum size: 51,200 bytes. Conflicts with templateUrl.

property templateUrl

templateUrl?: pulumi.Input<string>;

String containing the location of a file containing the CloudFormation template body. The URL must point to a template that is located in an Amazon S3 bucket. Maximum location file size: 460,800 bytes. Conflicts with templateBody.

interface StackState

interface StackState

Input properties used for looking up and filtering Stack resources.

property capabilities

capabilities?: pulumi.Input<pulumi.Input<string>[]>;

A list of capabilities. Valid values: CAPABILITY_IAM, CAPABILITY_NAMED_IAM, or CAPABILITY_AUTO_EXPAND

property disableRollback

disableRollback?: pulumi.Input<boolean>;

Set to true to disable rollback of the stack if stack creation failed. Conflicts with onFailure.

property iamRoleArn

iamRoleArn?: pulumi.Input<string>;

The ARN of an IAM role that AWS CloudFormation assumes to create the stack. If you don’t specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

property name

name?: pulumi.Input<string>;

Stack name.

property notificationArns

notificationArns?: pulumi.Input<pulumi.Input<string>[]>;

A list of SNS topic ARNs to publish stack related events.

property onFailure

onFailure?: pulumi.Input<string>;

Action to be taken if stack creation fails. This must be one of: DO_NOTHING, ROLLBACK, or DELETE. Conflicts with disableRollback.

property outputs

outputs?: pulumi.Input<{[key: string]: any}>;

A map of outputs from the stack.

property parameters

parameters?: pulumi.Input<{[key: string]: any}>;

A map of Parameter structures that specify input parameters for the stack.

property policyBody

policyBody?: pulumi.Input<string>;

Structure containing the stack policy body. Conflicts w/ policyUrl.

property policyUrl

policyUrl?: pulumi.Input<string>;

Location of a file containing the stack policy. Conflicts w/ policyBody.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A list of tags to associate with this stack.

property templateBody

templateBody?: pulumi.Input<string>;

Structure containing the template body (max size: 51,200 bytes).

property templateUrl

templateUrl?: pulumi.Input<string>;

Location of a file containing the template body (max size: 460,800 bytes).

property timeoutInMinutes

timeoutInMinutes?: pulumi.Input<number>;

The amount of time that can pass before the stack status becomes CREATE_FAILED.