@aws-sdk/client-cloudformation
TypeScript icon, indicating that this package has built-in type declarations

3.564.0 • Public • Published

@aws-sdk/client-cloudformation

Description

AWS SDK for JavaScript CloudFormation Client for Node.js, Browser and React Native.

CloudFormation

CloudFormation allows you to create and manage Amazon Web Services infrastructure deployments predictably and repeatedly. You can use CloudFormation to leverage Amazon Web Services 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 Amazon Web Services infrastructure.

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

For more information about CloudFormation, see the CloudFormation product page.

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

Installing

To install the this package, simply type add or install @aws-sdk/client-cloudformation using your favorite package manager:

  • npm install @aws-sdk/client-cloudformation
  • yarn add @aws-sdk/client-cloudformation
  • pnpm add @aws-sdk/client-cloudformation

Getting Started

Import

The AWS SDK is modulized by clients and commands. To send a request, you only need to import the CloudFormationClient and the commands you need, for example ListExportsCommand:

// ES5 example
const { CloudFormationClient, ListExportsCommand } = require("@aws-sdk/client-cloudformation");
// ES6+ example
import { CloudFormationClient, ListExportsCommand } from "@aws-sdk/client-cloudformation";

Usage

To send a request, you:

  • Initiate client with configuration (e.g. credentials, region).
  • Initiate command with input parameters.
  • Call send operation on client with command object as input.
  • If you are using a custom http handler, you may call destroy() to close open connections.
// a client can be shared by different commands.
const client = new CloudFormationClient({ region: "REGION" });

const params = {
  /** input parameters */
};
const command = new ListExportsCommand(params);

Async/await

We recommend using await operator to wait for the promise returned by send operation as follows:

// async/await.
try {
  const data = await client.send(command);
  // process data.
} catch (error) {
  // error handling.
} finally {
  // finally.
}

Async-await is clean, concise, intuitive, easy to debug and has better error handling as compared to using Promise chains or callbacks.

Promises

You can also use Promise chaining to execute send operation.

client.send(command).then(
  (data) => {
    // process data.
  },
  (error) => {
    // error handling.
  }
);

Promises can also be called using .catch() and .finally() as follows:

client
  .send(command)
  .then((data) => {
    // process data.
  })
  .catch((error) => {
    // error handling.
  })
  .finally(() => {
    // finally.
  });

Callbacks

We do not recommend using callbacks because of callback hell, but they are supported by the send operation.

// callbacks.
client.send(command, (err, data) => {
  // process err and data.
});

v2 compatible style

The client can also send requests using v2 compatible style. However, it results in a bigger bundle size and may be dropped in next major version. More details in the blog post on modular packages in AWS SDK for JavaScript

import * as AWS from "@aws-sdk/client-cloudformation";
const client = new AWS.CloudFormation({ region: "REGION" });

// async/await.
try {
  const data = await client.listExports(params);
  // process data.
} catch (error) {
  // error handling.
}

// Promises.
client
  .listExports(params)
  .then((data) => {
    // process data.
  })
  .catch((error) => {
    // error handling.
  });

// callbacks.
client.listExports(params, (err, data) => {
  // process err and data.
});

Troubleshooting

When the service returns an exception, the error will include the exception information, as well as response metadata (e.g. request id).

try {
  const data = await client.send(command);
  // process data.
} catch (error) {
  const { requestId, cfId, extendedRequestId } = error.$metadata;
  console.log({ requestId, cfId, extendedRequestId });
  /**
   * The keys within exceptions are also parsed.
   * You can access them by specifying exception names:
   * if (error.name === 'SomeServiceException') {
   *     const value = error.specialKeyInException;
   * }
   */
}

Getting Help

Please use these community resources for getting help. We use the GitHub issues for tracking bugs and feature requests, but have limited bandwidth to address them.

To test your universal JavaScript code in Node.js, browser and react-native environments, visit our code samples repo.

Contributing

This client code is generated automatically. Any modifications will be overwritten the next time the @aws-sdk/client-cloudformation package is updated. To contribute to client you can check our generate clients scripts.

License

This SDK is distributed under the Apache License, Version 2.0, see LICENSE for more information.

Client Commands (Operations List)

ActivateOrganizationsAccess

Command API Reference / Input / Output

ActivateType

Command API Reference / Input / Output

BatchDescribeTypeConfigurations

Command API Reference / Input / Output

CancelUpdateStack

Command API Reference / Input / Output

ContinueUpdateRollback

Command API Reference / Input / Output

CreateChangeSet

Command API Reference / Input / Output

CreateGeneratedTemplate

Command API Reference / Input / Output

CreateStack

Command API Reference / Input / Output

CreateStackInstances

Command API Reference / Input / Output

CreateStackSet

Command API Reference / Input / Output

DeactivateOrganizationsAccess

Command API Reference / Input / Output

DeactivateType

Command API Reference / Input / Output

DeleteChangeSet

Command API Reference / Input / Output

DeleteGeneratedTemplate

Command API Reference / Input / Output

DeleteStack

Command API Reference / Input / Output

DeleteStackInstances

Command API Reference / Input / Output

DeleteStackSet

Command API Reference / Input / Output

DeregisterType

Command API Reference / Input / Output

DescribeAccountLimits

Command API Reference / Input / Output

DescribeChangeSet

Command API Reference / Input / Output

DescribeChangeSetHooks

Command API Reference / Input / Output

DescribeGeneratedTemplate

Command API Reference / Input / Output

DescribeOrganizationsAccess

Command API Reference / Input / Output

DescribePublisher

Command API Reference / Input / Output

DescribeResourceScan

Command API Reference / Input / Output

DescribeStackDriftDetectionStatus

Command API Reference / Input / Output

DescribeStackEvents

Command API Reference / Input / Output

DescribeStackInstance

Command API Reference / Input / Output

DescribeStackResource

Command API Reference / Input / Output

DescribeStackResourceDrifts

Command API Reference / Input / Output

DescribeStackResources

Command API Reference / Input / Output

DescribeStacks

Command API Reference / Input / Output

DescribeStackSet

Command API Reference / Input / Output

DescribeStackSetOperation

Command API Reference / Input / Output

DescribeType

Command API Reference / Input / Output

DescribeTypeRegistration

Command API Reference / Input / Output

DetectStackDrift

Command API Reference / Input / Output

DetectStackResourceDrift

Command API Reference / Input / Output

DetectStackSetDrift

Command API Reference / Input / Output

EstimateTemplateCost

Command API Reference / Input / Output

ExecuteChangeSet

Command API Reference / Input / Output

GetGeneratedTemplate

Command API Reference / Input / Output

GetStackPolicy

Command API Reference / Input / Output

GetTemplate

Command API Reference / Input / Output

GetTemplateSummary

Command API Reference / Input / Output

ImportStacksToStackSet

Command API Reference / Input / Output

ListChangeSets

Command API Reference / Input / Output

ListExports

Command API Reference / Input / Output

ListGeneratedTemplates

Command API Reference / Input / Output

ListImports

Command API Reference / Input / Output

ListResourceScanRelatedResources

Command API Reference / Input / Output

ListResourceScanResources

Command API Reference / Input / Output

ListResourceScans

Command API Reference / Input / Output

ListStackInstanceResourceDrifts

Command API Reference / Input / Output

ListStackInstances

Command API Reference / Input / Output

ListStackResources

Command API Reference / Input / Output

ListStacks

Command API Reference / Input / Output

ListStackSetAutoDeploymentTargets

Command API Reference / Input / Output

ListStackSetOperationResults

Command API Reference / Input / Output

ListStackSetOperations

Command API Reference / Input / Output

ListStackSets

Command API Reference / Input / Output

ListTypeRegistrations

Command API Reference / Input / Output

ListTypes

Command API Reference / Input / Output

ListTypeVersions

Command API Reference / Input / Output

PublishType

Command API Reference / Input / Output

RecordHandlerProgress

Command API Reference / Input / Output

RegisterPublisher

Command API Reference / Input / Output

RegisterType

Command API Reference / Input / Output

RollbackStack

Command API Reference / Input / Output

SetStackPolicy

Command API Reference / Input / Output

SetTypeConfiguration

Command API Reference / Input / Output

SetTypeDefaultVersion

Command API Reference / Input / Output

SignalResource

Command API Reference / Input / Output

StartResourceScan

Command API Reference / Input / Output

StopStackSetOperation

Command API Reference / Input / Output

TestType

Command API Reference / Input / Output

UpdateGeneratedTemplate

Command API Reference / Input / Output

UpdateStack

Command API Reference / Input / Output

UpdateStackInstances

Command API Reference / Input / Output

UpdateStackSet

Command API Reference / Input / Output

UpdateTerminationProtection

Command API Reference / Input / Output

ValidateTemplate

Command API Reference / Input / Output

Dependents (238)

Package Sidebar

Install

npm i @aws-sdk/client-cloudformation

Weekly Downloads

1,193,599

Version

3.564.0

License

Apache-2.0

Unpacked Size

2.27 MB

Total Files

410

Last publish

Collaborators

  • mattsb42-aws
  • kuhe
  • amzn-oss
  • aws-sdk-bot
  • trivikr-aws