pulumi / pulumi-aws

An Amazon Web Services (AWS) Pulumi resource package, providing multi-language access to AWS
Apache License 2.0
428 stars 150 forks source link
aws cloud cloud-computing csharp dotnet fsharp go golang infrastructure infrastructure-as-code javascript lambda pulumi python typescript

Actions Status Slack NPM version Python version NuGet version PkgGoDev License

Amazon Web Services (AWS) provider

The Amazon Web Services (AWS) resource provider for Pulumi lets you use AWS resources in your cloud programs. To use this package, install the Pulumi CLI. For a streamlined Pulumi walkthrough, including language runtime installation and AWS configuration, select "Get Started" below.

Installing

This package is available in many languages in the standard packaging formats.

Node.js (Java/TypeScript)

To use from JavaScript or TypeScript in Node.js, install using either npm:

$ npm install @pulumi/aws

or yarn:

$ yarn add @pulumi/aws

Python

To use from Python, install using pip:

$ pip install pulumi_aws

Go

To use from Go, use go get to grab the latest version of the library

$ go get github.com/pulumi/pulumi-aws/sdk/v6

.NET

To use from .NET, install using dotnet add package:

$ dotnet add package Pulumi.Aws

Concepts

The @pulumi/aws package provides a strongly-typed means to create cloud applications that create and interact closely with AWS resources. Resources are exposed for the entirety of AWS resources and their properties, including (but not limited to), 'apigateway', 'cloudformation', 'EC2', 'ECS', 'iam', 'lambda', etc. Many convenience APIs have also been added to make development easier and to help avoid common mistakes, and to get stronger typing.

Serverless Functions

The aws.lambda.CallbackFunction class allows you to create an AWS lambda function directly out of a JavaScript/TypeScript function object of the right signature. This allows a Pulumi program to simply define a lambda using a simple lambda in the language of choice, while having Pulumi itself do the appropriate transformation into the final AWS Lambda resource.

This makes many APIs easier to use, such as defining a Lambda to execute when an S3 Bucket is manipulated, or a CloudWatch timer is fired. To see some examples of this in action, please refer to the examples/ directory.

Configuration

The following configuration points are available:

Reference

For further information, visit AWS in the Pulumi Registry or for detailed API reference documentation, visit AWS API Docs in the Pulumi Registry.