AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Interface for accessing CloudFormation AWS CloudFormation

AWS CloudFormation allows you to create and manage AWS infrastructure deployments predictably and repeatedly. You can use AWS CloudFormation to leverage AWS products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly scalable, cost-effective applications without creating or configuring the underlying AWS infrastructure.

With AWS CloudFormation, you declare all of your resources and dependencies in a template file. The template defines a collection of resources as a single unit called a stack. AWS CloudFormation creates and deletes all member resources of the stack together and manages all dependencies between the resources for you.

For more information about AWS CloudFormation, see the AWS CloudFormation Product Page.

Amazon CloudFormation makes use of other AWS products. If you need additional technical information about a specific AWS product, you can find the product's technical documentation at docs.aws.amazon.com.

Inheritance Hierarchy

Amazon.CloudFormation.IAmazonCloudFormation

Namespace: Amazon.CloudFormation
Assembly: AWSSDK.CloudFormation.dll
Version: 3.x.y.z

Syntax

C#
public interface IAmazonCloudFormation
         IAmazonService, IDisposable

The IAmazonCloudFormation type exposes the following members

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method CancelUpdateStack(CancelUpdateStackRequest)

Cancels an update on the specified stack. If the call completes successfully, the stack rolls back the update and reverts to the previous stack configuration.

You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.

Public Method CancelUpdateStackAsync(CancelUpdateStackRequest, CancellationToken)

Initiates the asynchronous execution of the CancelUpdateStack operation.

Public Method ContinueUpdateRollback(ContinueUpdateRollbackRequest)

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

Public Method ContinueUpdateRollbackAsync(ContinueUpdateRollbackRequest, CancellationToken)

Initiates the asynchronous execution of the ContinueUpdateRollback operation.

Public Method CreateChangeSet(CreateChangeSetRequest)

Creates a list of changes that will be applied to a stack so that you can review the changes before executing them. You can create a change set for a stack that doesn't exist or an existing stack. If you create a change set for a stack that doesn't exist, the change set shows all of the resources that AWS CloudFormation will create. If you create a change set for an existing stack, AWS CloudFormation compares the stack's information with the information that you submit in the change set and lists the differences. Use change sets to understand which resources AWS CloudFormation will create or change, and how it will change resources in an existing stack, before you create or update a stack.

To create a change set for a stack that doesn't exist, for the ChangeSetType parameter, specify CREATE. To create a change set for an existing stack, specify UPDATE for the ChangeSetType parameter. After the CreateChangeSet call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set or to review it, use the DescribeChangeSet action.

When you are satisfied with the changes the change set will make, execute the change set by using the ExecuteChangeSet action. AWS CloudFormation doesn't make changes until you execute the change set.

Public Method CreateChangeSetAsync(CreateChangeSetRequest, CancellationToken)

Initiates the asynchronous execution of the CreateChangeSet operation.

Public Method CreateStack(CreateStackRequest)

Creates a stack as specified in the template. After the call completes successfully, the stack creation starts. You can check the status of the stack via the DescribeStacks API.

Public Method CreateStackAsync(CreateStackRequest, CancellationToken)

Initiates the asynchronous execution of the CreateStack operation.

Public Method CreateStackInstances(CreateStackInstancesRequest)

Creates stack instances for the specified accounts, within the specified regions. A stack instance refers to a stack in a specific account and region. Accounts and Regions are required parameters—you must specify at least one account and one region.

Public Method CreateStackInstancesAsync(CreateStackInstancesRequest, CancellationToken)

Initiates the asynchronous execution of the CreateStackInstances operation.

Public Method CreateStackSet(CreateStackSetRequest)

Creates a stack set.

Public Method CreateStackSetAsync(CreateStackSetRequest, CancellationToken)

Initiates the asynchronous execution of the CreateStackSet operation.

Public Method DeleteChangeSet(DeleteChangeSetRequest)

Deletes the specified change set. Deleting change sets ensures that no one executes the wrong change set.

If the call successfully completes, AWS CloudFormation successfully deleted the change set.

Public Method DeleteChangeSetAsync(DeleteChangeSetRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteChangeSet operation.

Public Method DeleteStack(DeleteStackRequest)

Deletes a specified stack. Once the call completes successfully, stack deletion starts. Deleted stacks do not show up in the DescribeStacks API if the deletion has been completed successfully.

Public Method DeleteStackAsync(DeleteStackRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteStack operation.

Public Method DeleteStackInstances(DeleteStackInstancesRequest)

Deletes stack instances for the specified accounts, in the specified regions.

Public Method DeleteStackInstancesAsync(DeleteStackInstancesRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteStackInstances operation.

Public Method DeleteStackSet(DeleteStackSetRequest)

Deletes a stack set. Before you can delete a stack set, all of its member stack instances must be deleted. For more information about how to do this, see DeleteStackInstances.

Public Method DeleteStackSetAsync(DeleteStackSetRequest, CancellationToken)

Initiates the asynchronous execution of the DeleteStackSet operation.

Public Method DescribeAccountLimits(DescribeAccountLimitsRequest)

Retrieves your account's AWS CloudFormation limits, such as the maximum number of stacks that you can create in your account.

Public Method DescribeAccountLimitsAsync(DescribeAccountLimitsRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeAccountLimits operation.

Public Method DescribeChangeSet(DescribeChangeSetRequest)

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

Public Method DescribeChangeSetAsync(DescribeChangeSetRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeChangeSet operation.

Public Method DescribeStackEvents(DescribeStackEventsRequest)

Returns all stack related events for a specified stack in reverse chronological order. For more information about a stack's event history, go to Stacks in the AWS CloudFormation User Guide.

You can list events for stacks that have failed to create or have been deleted by specifying the unique stack identifier (stack ID).

Public Method DescribeStackEventsAsync(DescribeStackEventsRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStackEvents operation.

Public Method DescribeStackInstance(DescribeStackInstanceRequest)

Returns the stack instance that's associated with the specified stack set, AWS account, and region.

For a list of stack instances that are associated with a specific stack set, use ListStackInstances.

Public Method DescribeStackInstanceAsync(DescribeStackInstanceRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStackInstance operation.

Public Method DescribeStackResource(DescribeStackResourceRequest)

Returns a description of the specified resource in the specified stack.

For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.

Public Method DescribeStackResourceAsync(DescribeStackResourceRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStackResource operation.

Public Method DescribeStackResources(DescribeStackResourcesRequest)

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId, but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId, go to the AWS CloudFormation User Guide.

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

Public Method DescribeStackResourcesAsync(DescribeStackResourcesRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStackResources operation.

Public Method DescribeStacks()

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

If the stack does not exist, an AmazonCloudFormationException is returned.

Public Method DescribeStacks(DescribeStacksRequest)

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

If the stack does not exist, an AmazonCloudFormationException is returned.

Public Method DescribeStacksAsync(CancellationToken)

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

If the stack does not exist, an AmazonCloudFormationException is returned.

Public Method DescribeStacksAsync(DescribeStacksRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStacks operation.

Public Method DescribeStackSet(DescribeStackSetRequest)

Returns the description of the specified stack set.

Public Method DescribeStackSetAsync(DescribeStackSetRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStackSet operation.

Public Method DescribeStackSetOperation(DescribeStackSetOperationRequest)

Returns the description of the specified stack set operation.

Public Method DescribeStackSetOperationAsync(DescribeStackSetOperationRequest, CancellationToken)

Initiates the asynchronous execution of the DescribeStackSetOperation operation.

Public Method EstimateTemplateCost(EstimateTemplateCostRequest)

Returns the estimated monthly cost of a template. The return value is an AWS Simple Monthly Calculator URL with a query string that describes the resources required to run the template.

Public Method EstimateTemplateCostAsync(EstimateTemplateCostRequest, CancellationToken)

Initiates the asynchronous execution of the EstimateTemplateCost operation.

Public Method ExecuteChangeSet(ExecuteChangeSetRequest)

Updates a stack using the input information that was provided when the specified change set was created. After the call successfully completes, AWS CloudFormation starts updating the stack. Use the DescribeStacks action to view the status of the update.

When you execute a change set, AWS CloudFormation deletes all other change sets associated with the stack because they aren't valid for the updated stack.

If a stack policy is associated with the stack, AWS CloudFormation enforces the policy during the update. You can't specify a temporary stack policy that overrides the current policy.

Public Method ExecuteChangeSetAsync(ExecuteChangeSetRequest, CancellationToken)

Initiates the asynchronous execution of the ExecuteChangeSet operation.

Public Method GetStackPolicy(GetStackPolicyRequest)

Returns the stack policy for a specified stack. If a stack doesn't have a policy, a null value is returned.

Public Method GetStackPolicyAsync(GetStackPolicyRequest, CancellationToken)

Initiates the asynchronous execution of the GetStackPolicy operation.

Public Method GetTemplate(GetTemplateRequest)

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

If the template does not exist, a ValidationError is returned.

Public Method GetTemplateAsync(GetTemplateRequest, CancellationToken)

Initiates the asynchronous execution of the GetTemplate operation.

Public Method GetTemplateSummary(GetTemplateSummaryRequest)

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack or stack set.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a stack set, or a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

Public Method GetTemplateSummaryAsync(GetTemplateSummaryRequest, CancellationToken)

Initiates the asynchronous execution of the GetTemplateSummary operation.

Public Method ListChangeSets(ListChangeSetsRequest)

Returns the ID and status of each active change set for a stack. For example, AWS CloudFormation lists change sets that are in the CREATE_IN_PROGRESS or CREATE_PENDING state.

Public Method ListChangeSetsAsync(ListChangeSetsRequest, CancellationToken)

Initiates the asynchronous execution of the ListChangeSets operation.

Public Method ListExports(ListExportsRequest)

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

Public Method ListExportsAsync(ListExportsRequest, CancellationToken)

Initiates the asynchronous execution of the ListExports operation.

Public Method ListImports(ListImportsRequest)

Lists all stacks that are importing an exported output value. To modify or remove an exported output value, first use this action to see which stacks are using it. To see the exported output values in your account, see ListExports.

For more information about importing an exported output value, see the Fn::ImportValue function.

Public Method ListImportsAsync(ListImportsRequest, CancellationToken)

Initiates the asynchronous execution of the ListImports operation.

Public Method ListStackInstances(ListStackInstancesRequest)

Returns summary information about stack instances that are associated with the specified stack set. You can filter for stack instances that are associated with a specific AWS account name or region.

Public Method ListStackInstancesAsync(ListStackInstancesRequest, CancellationToken)

Initiates the asynchronous execution of the ListStackInstances operation.

Public Method ListStackResources(ListStackResourcesRequest)

Returns descriptions of all resources of the specified stack.

For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.

Public Method ListStackResourcesAsync(ListStackResourcesRequest, CancellationToken)

Initiates the asynchronous execution of the ListStackResources operation.

Public Method ListStacks()

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

Public Method ListStacks(ListStacksRequest)

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

Public Method ListStacksAsync(CancellationToken)

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

Public Method ListStacksAsync(ListStacksRequest, CancellationToken)

Initiates the asynchronous execution of the ListStacks operation.

Public Method ListStackSetOperationResults(ListStackSetOperationResultsRequest)

Returns summary information about the results of a stack set operation.

Public Method ListStackSetOperationResultsAsync(ListStackSetOperationResultsRequest, CancellationToken)

Initiates the asynchronous execution of the ListStackSetOperationResults operation.

Public Method ListStackSetOperations(ListStackSetOperationsRequest)

Returns summary information about operations performed on a stack set.

Public Method ListStackSetOperationsAsync(ListStackSetOperationsRequest, CancellationToken)

Initiates the asynchronous execution of the ListStackSetOperations operation.

Public Method ListStackSets(ListStackSetsRequest)

Returns summary information about stack sets that are associated with the user.

Public Method ListStackSetsAsync(ListStackSetsRequest, CancellationToken)

Initiates the asynchronous execution of the ListStackSets operation.

Public Method SetStackPolicy(SetStackPolicyRequest)

Sets a stack policy for a specified stack.

Public Method SetStackPolicyAsync(SetStackPolicyRequest, CancellationToken)

Initiates the asynchronous execution of the SetStackPolicy operation.

Public Method SignalResource(SignalResourceRequest)

Sends a signal to the specified resource with a success or failure status. You can use the SignalResource API in conjunction with a creation policy or update policy. AWS CloudFormation doesn't proceed with a stack creation or update until resources receive the required number of signals or the timeout period is exceeded. The SignalResource API is useful in cases where you want to send signals from anywhere other than an Amazon EC2 instance.

Public Method SignalResourceAsync(SignalResourceRequest, CancellationToken)

Initiates the asynchronous execution of the SignalResource operation.

Public Method StopStackSetOperation(StopStackSetOperationRequest)

Stops an in-progress operation on a stack set and its associated stack instances.

Public Method StopStackSetOperationAsync(StopStackSetOperationRequest, CancellationToken)

Initiates the asynchronous execution of the StopStackSetOperation operation.

Public Method UpdateStack(UpdateStackRequest)

Updates a stack as specified in the template. After the call completes successfully, the stack update starts. You can check the status of the stack via the DescribeStacks action.

To get a copy of the template for an existing stack, you can use the GetTemplate action.

For more information about creating an update template, updating a stack, and monitoring the progress of the update, see Updating a Stack.

Public Method UpdateStackAsync(UpdateStackRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateStack operation.

Public Method UpdateStackSet(UpdateStackSetRequest)

Updates the stack set and all associated stack instances.

Even if the stack set operation created by updating the stack set fails (completely or partially, below or above a specified failure tolerance), the stack set is updated with your changes. Subsequent CreateStackInstances calls on the specified stack set use the updated stack set.

Public Method UpdateStackSetAsync(UpdateStackSetRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateStackSet operation.

Public Method UpdateTerminationProtection(UpdateTerminationProtectionRequest)

Updates termination protection for the specified stack. If a user attempts to delete a stack with termination protection enabled, the operation fails and the stack remains unchanged. For more information, see Protecting a Stack From Being Deleted in the AWS CloudFormation User Guide.

For nested stacks, termination protection is set on the root stack and cannot be changed directly on the nested stack.

Public Method UpdateTerminationProtectionAsync(UpdateTerminationProtectionRequest, CancellationToken)

Initiates the asynchronous execution of the UpdateTerminationProtection operation.

Public Method ValidateTemplate()

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

Public Method ValidateTemplate(ValidateTemplateRequest)

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

Public Method ValidateTemplateAsync(ValidateTemplateRequest, CancellationToken)

Initiates the asynchronous execution of the ValidateTemplate operation.

Public Method ValidateTemplateAsync(CancellationToken)

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

Version Information

.NET Standard:
Supported in: 1.3

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms