@aws-sdk/client-codedeploy
Description
AWS SDK for JavaScript CodeDeploy Client for Node.js, Browser and React Native.
CodeDeploy is a deployment service that automates application deployments
to Amazon EC2 instances, on-premises instances running in your own facility,
serverless Lambda functions, or applications in an Amazon ECS
service.
You can deploy a nearly unlimited variety of application content, such as an updated
Lambda function, updated applications in an Amazon ECS service,
code, web and configuration files, executables, packages, scripts, multimedia files, and
so on. CodeDeploy can deploy application content stored in Amazon S3
buckets, GitHub repositories, or Bitbucket repositories. You do not need to make changes
to your existing code before you can use CodeDeploy.
CodeDeploy makes it easier for you to rapidly release new features, helps
you avoid downtime during application deployment, and handles the complexity of updating
your applications, without many of the risks associated with error-prone manual
deployments.
CodeDeploy Components
Use the information in this guide to help you work with the following CodeDeploy components:
-
Application: A name that uniquely identifies
the application you want to deploy. CodeDeploy uses this name, which
functions as a container, to ensure the correct combination of revision,
deployment configuration, and deployment group are referenced during a
deployment.
-
Deployment group: A set of individual
instances, CodeDeploy
Lambda deployment configuration settings, or an Amazon ECS
service and network details. A Lambda deployment group specifies how
to route traffic to a new version of a Lambda function. An Amazon ECS deployment group specifies the service created in Amazon ECS to deploy, a load balancer, and a listener to reroute production
traffic to an updated containerized application. An Amazon EC2/On-premises deployment group contains individually tagged instances, Amazon EC2 instances in Amazon EC2 Auto Scaling groups, or both. All
deployment groups can specify optional trigger, alarm, and rollback
settings.
-
Deployment configuration: A set of deployment
rules and deployment success and failure conditions used by CodeDeploy during a deployment.
-
Deployment: The process and the components used
when updating a Lambda function, a containerized application in an
Amazon ECS service, or of installing content on one or more
instances.
-
Application revisions: For an Lambda deployment, this is an AppSpec file that specifies the
Lambda function to be updated and one or more functions to
validate deployment lifecycle events. For an Amazon ECS deployment, this
is an AppSpec file that specifies the Amazon ECS task definition,
container, and port where production traffic is rerouted. For an EC2/On-premises
deployment, this is an archive file that contains source content—source code,
webpages, executable files, and deployment scripts—along with an AppSpec file.
Revisions are stored in Amazon S3 buckets or GitHub repositories. For
Amazon S3, a revision is uniquely identified by its Amazon S3 object key and its ETag, version, or both. For GitHub, a revision is uniquely
identified by its commit ID.
This guide also contains information to help you get details about the instances in
your deployments, to make on-premises instances available for CodeDeploy
deployments, to get details about a Lambda function deployment, and to get
details about Amazon ECS service deployments.
CodeDeploy Information Resources
Installing
To install this package, simply type add or install @aws-sdk/client-codedeploy
using your favorite package manager:
npm install @aws-sdk/client-codedeploy
yarn add @aws-sdk/client-codedeploy
pnpm add @aws-sdk/client-codedeploy
Getting Started
Import
The AWS SDK is modulized by clients and commands.
To send a request, you only need to import the CodeDeployClient
and
the commands you need, for example ListApplicationsCommand
:
const { CodeDeployClient, ListApplicationsCommand } = require("@aws-sdk/client-codedeploy");
import { CodeDeployClient, ListApplicationsCommand } from "@aws-sdk/client-codedeploy";
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.
const client = new CodeDeployClient({ region: "REGION" });
const params = {
};
const command = new ListApplicationsCommand(params);
Async/await
We recommend using await
operator to wait for the promise returned by send operation as follows:
try {
const data = await client.send(command);
} catch (error) {
} 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) => {
},
(error) => {
}
);
Promises can also be called using .catch()
and .finally()
as follows:
client
.send(command)
.then((data) => {
})
.catch((error) => {
})
.finally(() => {
});
Callbacks
We do not recommend using callbacks because of callback hell,
but they are supported by the send operation.
client.send(command, (err, 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-codedeploy";
const client = new AWS.CodeDeploy({ region: "REGION" });
try {
const data = await client.listApplications(params);
} catch (error) {
}
client
.listApplications(params)
.then((data) => {
})
.catch((error) => {
});
client.listApplications(params, (err, 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);
} catch (error) {
const { requestId, cfId, extendedRequestId } = error.$metadata;
console.log({ requestId, cfId, extendedRequestId });
}
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-codedeploy
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)
AddTagsToOnPremisesInstances
Command API Reference / Input / Output
BatchGetApplicationRevisions
Command API Reference / Input / Output
BatchGetApplications
Command API Reference / Input / Output
BatchGetDeploymentGroups
Command API Reference / Input / Output
BatchGetDeploymentInstances
Command API Reference / Input / Output
BatchGetDeployments
Command API Reference / Input / Output
BatchGetDeploymentTargets
Command API Reference / Input / Output
BatchGetOnPremisesInstances
Command API Reference / Input / Output
ContinueDeployment
Command API Reference / Input / Output
CreateApplication
Command API Reference / Input / Output
CreateDeployment
Command API Reference / Input / Output
CreateDeploymentConfig
Command API Reference / Input / Output
CreateDeploymentGroup
Command API Reference / Input / Output
DeleteApplication
Command API Reference / Input / Output
DeleteDeploymentConfig
Command API Reference / Input / Output
DeleteDeploymentGroup
Command API Reference / Input / Output
DeleteGitHubAccountToken
Command API Reference / Input / Output
DeleteResourcesByExternalId
Command API Reference / Input / Output
DeregisterOnPremisesInstance
Command API Reference / Input / Output
GetApplication
Command API Reference / Input / Output
GetApplicationRevision
Command API Reference / Input / Output
GetDeployment
Command API Reference / Input / Output
GetDeploymentConfig
Command API Reference / Input / Output
GetDeploymentGroup
Command API Reference / Input / Output
GetDeploymentInstance
Command API Reference / Input / Output
GetDeploymentTarget
Command API Reference / Input / Output
GetOnPremisesInstance
Command API Reference / Input / Output
ListApplicationRevisions
Command API Reference / Input / Output
ListApplications
Command API Reference / Input / Output
ListDeploymentConfigs
Command API Reference / Input / Output
ListDeploymentGroups
Command API Reference / Input / Output
ListDeploymentInstances
Command API Reference / Input / Output
ListDeployments
Command API Reference / Input / Output
ListDeploymentTargets
Command API Reference / Input / Output
ListGitHubAccountTokenNames
Command API Reference / Input / Output
ListOnPremisesInstances
Command API Reference / Input / Output
ListTagsForResource
Command API Reference / Input / Output
PutLifecycleEventHookExecutionStatus
Command API Reference / Input / Output
RegisterApplicationRevision
Command API Reference / Input / Output
RegisterOnPremisesInstance
Command API Reference / Input / Output
RemoveTagsFromOnPremisesInstances
Command API Reference / Input / Output
SkipWaitTimeForInstanceTermination
Command API Reference / Input / Output
StopDeployment
Command API Reference / Input / Output
TagResource
Command API Reference / Input / Output
UntagResource
Command API Reference / Input / Output
UpdateApplication
Command API Reference / Input / Output
UpdateDeploymentGroup
Command API Reference / Input / Output