cloudformation

package
v2.13.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 22, 2020 License: Apache-2.0 Imports: 3 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetExportArgs

type GetExportArgs struct {
	// The name of the export as it appears in the console or from [list-exports](http://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-exports.html)
	Name string `pulumi:"name"`
}

A collection of arguments for invoking getExport.

type GetExportResult

type GetExportResult struct {
	// The exportingStackId (AWS ARNs) equivalent `ExportingStackId` from [list-exports](http://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-exports.html)
	ExportingStackId string `pulumi:"exportingStackId"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// The value from Cloudformation export identified by the export name found from [list-exports](http://docs.aws.amazon.com/cli/latest/reference/cloudformation/list-exports.html)
	Value string `pulumi:"value"`
}

A collection of values returned by getExport.

func GetExport

func GetExport(ctx *pulumi.Context, args *GetExportArgs, opts ...pulumi.InvokeOption) (*GetExportResult, error)

The CloudFormation Export data source allows access to stack exports specified in the [Output](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/outputs-section-structure.html) 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

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudformation"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		subnetId, err := cloudformation.GetExport(ctx, &cloudformation.GetExportArgs{
			Name: "mySubnetIdExportName",
		}, nil)
		if err != nil {
			return err
		}
		_, err = ec2.NewInstance(ctx, "web", &ec2.InstanceArgs{
			Ami:          pulumi.String("ami-abb07bcb"),
			InstanceType: pulumi.String("t1.micro"),
			SubnetId:     pulumi.String(subnetId.Value),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupStackArgs

type LookupStackArgs struct {
	// The name of the stack
	Name string `pulumi:"name"`
	// A map of tags associated with this stack.
	Tags map[string]string `pulumi:"tags"`
}

A collection of arguments for invoking getStack.

type LookupStackResult

type LookupStackResult struct {
	// A list of capabilities
	Capabilities []string `pulumi:"capabilities"`
	// Description of the stack
	Description string `pulumi:"description"`
	// Whether the rollback of the stack is disabled when stack creation fails
	DisableRollback bool `pulumi:"disableRollback"`
	// The ARN of the IAM role used to create the stack.
	IamRoleArn string `pulumi:"iamRoleArn"`
	// The provider-assigned unique ID for this managed resource.
	Id   string `pulumi:"id"`
	Name string `pulumi:"name"`
	// A list of SNS topic ARNs to publish stack related events
	NotificationArns []string `pulumi:"notificationArns"`
	// A map of outputs from the stack.
	Outputs map[string]string `pulumi:"outputs"`
	// A map of parameters that specify input parameters for the stack.
	Parameters map[string]string `pulumi:"parameters"`
	// A map of tags associated with this stack.
	Tags map[string]string `pulumi:"tags"`
	// Structure containing the template body.
	TemplateBody string `pulumi:"templateBody"`
	// The amount of time that can pass before the stack status becomes `CREATE_FAILED`
	TimeoutInMinutes int `pulumi:"timeoutInMinutes"`
}

A collection of values returned by getStack.

func LookupStack

func LookupStack(ctx *pulumi.Context, args *LookupStackArgs, opts ...pulumi.InvokeOption) (*LookupStackResult, error)

The CloudFormation Stack data source allows access to stack outputs and other useful data including the template body.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudformation"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/ec2"
"github.com/pulumi/pulumi/sdk/v2/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("t1.micro"),
			SubnetId:     pulumi.String(network.Outputs.SubnetId),
			Tags: pulumi.StringMap{
				"Name": pulumi.String("HelloWorld"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

type Stack

type Stack struct {
	pulumi.CustomResourceState

	// A list of capabilities.
	// Valid values: `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, or `CAPABILITY_AUTO_EXPAND`
	Capabilities pulumi.StringArrayOutput `pulumi:"capabilities"`
	// Set to true to disable rollback of the stack if stack creation failed.
	// Conflicts with `onFailure`.
	DisableRollback pulumi.BoolPtrOutput `pulumi:"disableRollback"`
	// 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.
	IamRoleArn pulumi.StringPtrOutput `pulumi:"iamRoleArn"`
	// Stack name.
	Name pulumi.StringOutput `pulumi:"name"`
	// A list of SNS topic ARNs to publish stack related events.
	NotificationArns pulumi.StringArrayOutput `pulumi:"notificationArns"`
	// Action to be taken if stack creation fails. This must be
	// one of: `DO_NOTHING`, `ROLLBACK`, or `DELETE`. Conflicts with `disableRollback`.
	OnFailure pulumi.StringPtrOutput `pulumi:"onFailure"`
	// A map of outputs from the stack.
	Outputs pulumi.StringMapOutput `pulumi:"outputs"`
	// A map of Parameter structures that specify input parameters for the stack.
	Parameters pulumi.StringMapOutput `pulumi:"parameters"`
	// Structure containing the stack policy body.
	// Conflicts w/ `policyUrl`.
	PolicyBody pulumi.StringOutput `pulumi:"policyBody"`
	// Location of a file containing the stack policy.
	// Conflicts w/ `policyBody`.
	PolicyUrl pulumi.StringPtrOutput `pulumi:"policyUrl"`
	// A list of tags to associate with this stack.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Structure containing the template body (max size: 51,200 bytes).
	TemplateBody pulumi.StringOutput `pulumi:"templateBody"`
	// Location of a file containing the template body (max size: 460,800 bytes).
	TemplateUrl pulumi.StringPtrOutput `pulumi:"templateUrl"`
	// The amount of time that can pass before the stack status becomes `CREATE_FAILED`.
	TimeoutInMinutes pulumi.IntPtrOutput `pulumi:"timeoutInMinutes"`
}

Provides a CloudFormation Stack resource.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudformation"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudformation.NewStack(ctx, "network", &cloudformation.StackArgs{
			Parameters: pulumi.StringMap{
				"VPCCidr": pulumi.String("10.0.0.0/16"),
			},
			TemplateBody: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Parameters\" : {\n", "    \"VPCCidr\" : {\n", "      \"Type\" : \"String\",\n", "      \"Default\" : \"10.0.0.0/16\",\n", "      \"Description\" : \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\"\n", "    }\n", "  },\n", "  \"Resources\" : {\n", "    \"myVpc\": {\n", "      \"Type\" : \"AWS::EC2::VPC\",\n", "      \"Properties\" : {\n", "        \"CidrBlock\" : { \"Ref\" : \"VPCCidr\" },\n", "        \"Tags\" : [\n", "          {\"Key\": \"Name\", \"Value\": \"Primary_CF_VPC\"}\n", "        ]\n", "      }\n", "    }\n", "  }\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetStack

func GetStack(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StackState, opts ...pulumi.ResourceOption) (*Stack, error)

GetStack gets an existing Stack resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStack

func NewStack(ctx *pulumi.Context,
	name string, args *StackArgs, opts ...pulumi.ResourceOption) (*Stack, error)

NewStack registers a new resource with the given unique name, arguments, and options.

type StackArgs

type StackArgs struct {
	// A list of capabilities.
	// Valid values: `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, or `CAPABILITY_AUTO_EXPAND`
	Capabilities pulumi.StringArrayInput
	// Set to true to disable rollback of the stack if stack creation failed.
	// Conflicts with `onFailure`.
	DisableRollback pulumi.BoolPtrInput
	// 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.
	IamRoleArn pulumi.StringPtrInput
	// Stack name.
	Name pulumi.StringPtrInput
	// A list of SNS topic ARNs to publish stack related events.
	NotificationArns pulumi.StringArrayInput
	// Action to be taken if stack creation fails. This must be
	// one of: `DO_NOTHING`, `ROLLBACK`, or `DELETE`. Conflicts with `disableRollback`.
	OnFailure pulumi.StringPtrInput
	// A map of Parameter structures that specify input parameters for the stack.
	Parameters pulumi.StringMapInput
	// Structure containing the stack policy body.
	// Conflicts w/ `policyUrl`.
	PolicyBody pulumi.StringPtrInput
	// Location of a file containing the stack policy.
	// Conflicts w/ `policyBody`.
	PolicyUrl pulumi.StringPtrInput
	// A list of tags to associate with this stack.
	Tags pulumi.StringMapInput
	// Structure containing the template body (max size: 51,200 bytes).
	TemplateBody pulumi.StringPtrInput
	// Location of a file containing the template body (max size: 460,800 bytes).
	TemplateUrl pulumi.StringPtrInput
	// The amount of time that can pass before the stack status becomes `CREATE_FAILED`.
	TimeoutInMinutes pulumi.IntPtrInput
}

The set of arguments for constructing a Stack resource.

func (StackArgs) ElementType

func (StackArgs) ElementType() reflect.Type

type StackSet

type StackSet struct {
	pulumi.CustomResourceState

	// Amazon Resource Number (ARN) of the IAM Role in the administrator account.
	AdministrationRoleArn pulumi.StringOutput `pulumi:"administrationRoleArn"`
	// Amazon Resource Name (ARN) of the StackSet.
	Arn pulumi.StringOutput `pulumi:"arn"`
	// A list of capabilities. Valid values: `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, `CAPABILITY_AUTO_EXPAND`.
	Capabilities pulumi.StringArrayOutput `pulumi:"capabilities"`
	// Description of the StackSet.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Name of the IAM Role in all target accounts for StackSet operations. Defaults to `AWSCloudFormationStackSetExecutionRole`.
	ExecutionRoleName pulumi.StringPtrOutput `pulumi:"executionRoleName"`
	// Name of the StackSet. The name must be unique in the region where you create your StackSet. 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.
	Name pulumi.StringOutput `pulumi:"name"`
	// Key-value map of input parameters for the StackSet 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.
	Parameters pulumi.StringMapOutput `pulumi:"parameters"`
	// Unique identifier of the StackSet.
	StackSetId pulumi.StringOutput `pulumi:"stackSetId"`
	// Key-value map of tags to associate with this StackSet 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.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// String containing the CloudFormation template body. Maximum size: 51,200 bytes. Conflicts with `templateUrl`.
	TemplateBody pulumi.StringOutput `pulumi:"templateBody"`
	// 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`.
	TemplateUrl pulumi.StringPtrOutput `pulumi:"templateUrl"`
}

Manages a CloudFormation StackSet. StackSets allow CloudFormation templates to be easily deployed across multiple accounts and regions via StackSet Instances (`cloudformation.StackSetInstance` resource). Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).

> **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

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudformation"
"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/iam"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy, err := iam.GetPolicyDocument(ctx, &iam.GetPolicyDocumentArgs{
			Statements: []iam.GetPolicyDocumentStatement{
				iam.GetPolicyDocumentStatement{
					Actions: []string{
						"sts:AssumeRole",
					},
					Effect: "Allow",
					Principals: []iam.GetPolicyDocumentStatementPrincipal{
						iam.GetPolicyDocumentStatementPrincipal{
							Identifiers: []string{
								"cloudformation.amazonaws.com",
							},
							Type: "Service",
						},
					},
				},
			},
		}, nil)
		if err != nil {
			return err
		}
		aWSCloudFormationStackSetAdministrationRole, err := iam.NewRole(ctx, "aWSCloudFormationStackSetAdministrationRole", &iam.RoleArgs{
			AssumeRolePolicy: pulumi.String(aWSCloudFormationStackSetAdministrationRoleAssumeRolePolicy.Json),
		})
		if err != nil {
			return err
		}
		example, err := cloudformation.NewStackSet(ctx, "example", &cloudformation.StackSetArgs{
			AdministrationRoleArn: aWSCloudFormationStackSetAdministrationRole.Arn,
			Parameters: pulumi.StringMap{
				"VPCCidr": pulumi.String("10.0.0.0/16"),
			},
			TemplateBody: pulumi.String(fmt.Sprintf("%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v%v", "{\n", "  \"Parameters\" : {\n", "    \"VPCCidr\" : {\n", "      \"Type\" : \"String\",\n", "      \"Default\" : \"10.0.0.0/16\",\n", "      \"Description\" : \"Enter the CIDR block for the VPC. Default is 10.0.0.0/16.\"\n", "    }\n", "  },\n", "  \"Resources\" : {\n", "    \"myVpc\": {\n", "      \"Type\" : \"AWS::EC2::VPC\",\n", "      \"Properties\" : {\n", "        \"CidrBlock\" : { \"Ref\" : \"VPCCidr\" },\n", "        \"Tags\" : [\n", "          {\"Key\": \"Name\", \"Value\": \"Primary_CF_VPC\"}\n", "        ]\n", "      }\n", "    }\n", "  }\n", "}\n", "\n")),
		})
		if err != nil {
			return err
		}
		_, err = iam.NewRolePolicy(ctx, "aWSCloudFormationStackSetAdministrationRoleExecutionPolicyRolePolicy", &iam.RolePolicyArgs{
			Policy: aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.ApplyT(func(aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument iam.GetPolicyDocumentResult) (string, error) {
				return aWSCloudFormationStackSetAdministrationRoleExecutionPolicyPolicyDocument.Json, nil
			}).(pulumi.StringOutput),
			Role: aWSCloudFormationStackSetAdministrationRole.Name,
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetStackSet

func GetStackSet(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StackSetState, opts ...pulumi.ResourceOption) (*StackSet, error)

GetStackSet gets an existing StackSet resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStackSet

func NewStackSet(ctx *pulumi.Context,
	name string, args *StackSetArgs, opts ...pulumi.ResourceOption) (*StackSet, error)

NewStackSet registers a new resource with the given unique name, arguments, and options.

type StackSetArgs

type StackSetArgs struct {
	// Amazon Resource Number (ARN) of the IAM Role in the administrator account.
	AdministrationRoleArn pulumi.StringInput
	// A list of capabilities. Valid values: `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, `CAPABILITY_AUTO_EXPAND`.
	Capabilities pulumi.StringArrayInput
	// Description of the StackSet.
	Description pulumi.StringPtrInput
	// Name of the IAM Role in all target accounts for StackSet operations. Defaults to `AWSCloudFormationStackSetExecutionRole`.
	ExecutionRoleName pulumi.StringPtrInput
	// Name of the StackSet. The name must be unique in the region where you create your StackSet. 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.
	Name pulumi.StringPtrInput
	// Key-value map of input parameters for the StackSet 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.
	Parameters pulumi.StringMapInput
	// Key-value map of tags to associate with this StackSet 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.
	Tags pulumi.StringMapInput
	// String containing the CloudFormation template body. Maximum size: 51,200 bytes. Conflicts with `templateUrl`.
	TemplateBody pulumi.StringPtrInput
	// 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`.
	TemplateUrl pulumi.StringPtrInput
}

The set of arguments for constructing a StackSet resource.

func (StackSetArgs) ElementType

func (StackSetArgs) ElementType() reflect.Type

type StackSetInstance

type StackSetInstance struct {
	pulumi.CustomResourceState

	// Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
	AccountId pulumi.StringOutput `pulumi:"accountId"`
	// Key-value map of input parameters to override from the StackSet for this Instance.
	ParameterOverrides pulumi.StringMapOutput `pulumi:"parameterOverrides"`
	// Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
	Region pulumi.StringOutput `pulumi:"region"`
	// During resource destroy, remove Instance from StackSet 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 StackSet. Defaults to `false`.
	RetainStack pulumi.BoolPtrOutput `pulumi:"retainStack"`
	// Stack identifier
	StackId pulumi.StringOutput `pulumi:"stackId"`
	// Name of the StackSet.
	StackSetName pulumi.StringOutput `pulumi:"stackSetName"`
}

Manages a CloudFormation StackSet Instance. Instances are managed in the account and region of the StackSet after the target account permissions have been configured. Additional information about StackSets can be found in the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/what-is-cfnstacksets.html).

> **NOTE:** All target accounts must have an IAM Role created that matches the name of the execution role configured in the StackSet (the `executionRoleName` argument in the `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 StackSets to operate. See the [AWS CloudFormation User Guide](https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs.html) 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

```go package main

import (

"github.com/pulumi/pulumi-aws/sdk/v2/go/aws/cloudformation"
"github.com/pulumi/pulumi/sdk/v2/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := cloudformation.NewStackSetInstance(ctx, "example", &cloudformation.StackSetInstanceArgs{
			AccountId:    pulumi.String("123456789012"),
			Region:       pulumi.String("us-east-1"),
			StackSetName: pulumi.String(aws_cloudformation_stack_set.Example.Name),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

func GetStackSetInstance

func GetStackSetInstance(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *StackSetInstanceState, opts ...pulumi.ResourceOption) (*StackSetInstance, error)

GetStackSetInstance gets an existing StackSetInstance resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewStackSetInstance

func NewStackSetInstance(ctx *pulumi.Context,
	name string, args *StackSetInstanceArgs, opts ...pulumi.ResourceOption) (*StackSetInstance, error)

NewStackSetInstance registers a new resource with the given unique name, arguments, and options.

type StackSetInstanceArgs

type StackSetInstanceArgs struct {
	// Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
	AccountId pulumi.StringPtrInput
	// Key-value map of input parameters to override from the StackSet for this Instance.
	ParameterOverrides pulumi.StringMapInput
	// Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
	Region pulumi.StringPtrInput
	// During resource destroy, remove Instance from StackSet 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 StackSet. Defaults to `false`.
	RetainStack pulumi.BoolPtrInput
	// Name of the StackSet.
	StackSetName pulumi.StringInput
}

The set of arguments for constructing a StackSetInstance resource.

func (StackSetInstanceArgs) ElementType

func (StackSetInstanceArgs) ElementType() reflect.Type

type StackSetInstanceState

type StackSetInstanceState struct {
	// Target AWS Account ID to create a Stack based on the StackSet. Defaults to current account.
	AccountId pulumi.StringPtrInput
	// Key-value map of input parameters to override from the StackSet for this Instance.
	ParameterOverrides pulumi.StringMapInput
	// Target AWS Region to create a Stack based on the StackSet. Defaults to current region.
	Region pulumi.StringPtrInput
	// During resource destroy, remove Instance from StackSet 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 StackSet. Defaults to `false`.
	RetainStack pulumi.BoolPtrInput
	// Stack identifier
	StackId pulumi.StringPtrInput
	// Name of the StackSet.
	StackSetName pulumi.StringPtrInput
}

func (StackSetInstanceState) ElementType

func (StackSetInstanceState) ElementType() reflect.Type

type StackSetState

type StackSetState struct {
	// Amazon Resource Number (ARN) of the IAM Role in the administrator account.
	AdministrationRoleArn pulumi.StringPtrInput
	// Amazon Resource Name (ARN) of the StackSet.
	Arn pulumi.StringPtrInput
	// A list of capabilities. Valid values: `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, `CAPABILITY_AUTO_EXPAND`.
	Capabilities pulumi.StringArrayInput
	// Description of the StackSet.
	Description pulumi.StringPtrInput
	// Name of the IAM Role in all target accounts for StackSet operations. Defaults to `AWSCloudFormationStackSetExecutionRole`.
	ExecutionRoleName pulumi.StringPtrInput
	// Name of the StackSet. The name must be unique in the region where you create your StackSet. 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.
	Name pulumi.StringPtrInput
	// Key-value map of input parameters for the StackSet 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.
	Parameters pulumi.StringMapInput
	// Unique identifier of the StackSet.
	StackSetId pulumi.StringPtrInput
	// Key-value map of tags to associate with this StackSet 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.
	Tags pulumi.StringMapInput
	// String containing the CloudFormation template body. Maximum size: 51,200 bytes. Conflicts with `templateUrl`.
	TemplateBody pulumi.StringPtrInput
	// 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`.
	TemplateUrl pulumi.StringPtrInput
}

func (StackSetState) ElementType

func (StackSetState) ElementType() reflect.Type

type StackState

type StackState struct {
	// A list of capabilities.
	// Valid values: `CAPABILITY_IAM`, `CAPABILITY_NAMED_IAM`, or `CAPABILITY_AUTO_EXPAND`
	Capabilities pulumi.StringArrayInput
	// Set to true to disable rollback of the stack if stack creation failed.
	// Conflicts with `onFailure`.
	DisableRollback pulumi.BoolPtrInput
	// 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.
	IamRoleArn pulumi.StringPtrInput
	// Stack name.
	Name pulumi.StringPtrInput
	// A list of SNS topic ARNs to publish stack related events.
	NotificationArns pulumi.StringArrayInput
	// Action to be taken if stack creation fails. This must be
	// one of: `DO_NOTHING`, `ROLLBACK`, or `DELETE`. Conflicts with `disableRollback`.
	OnFailure pulumi.StringPtrInput
	// A map of outputs from the stack.
	Outputs pulumi.StringMapInput
	// A map of Parameter structures that specify input parameters for the stack.
	Parameters pulumi.StringMapInput
	// Structure containing the stack policy body.
	// Conflicts w/ `policyUrl`.
	PolicyBody pulumi.StringPtrInput
	// Location of a file containing the stack policy.
	// Conflicts w/ `policyBody`.
	PolicyUrl pulumi.StringPtrInput
	// A list of tags to associate with this stack.
	Tags pulumi.StringMapInput
	// Structure containing the template body (max size: 51,200 bytes).
	TemplateBody pulumi.StringPtrInput
	// Location of a file containing the template body (max size: 460,800 bytes).
	TemplateUrl pulumi.StringPtrInput
	// The amount of time that can pass before the stack status becomes `CREATE_FAILED`.
	TimeoutInMinutes pulumi.IntPtrInput
}

func (StackState) ElementType

func (StackState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL