Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -30,3 +30,4 @@ Gopkg.lock
.classpath
target/
*-test/
.claude/settings.local.json
87 changes: 28 additions & 59 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,17 @@ Pulumi is open source under the [Apache 2.0 license](https://github.com/pulumi/p
This repository contains examples of using Pulumi to build and deploy cloud applications and infrastructure across major programming languages.

Each example has a two-part prefix, `<cloud>-<language>`, to indicate which `<cloud>` and `<language>` it pertains to. For example, `<cloud>` could be:
- `aws` for [Amazon Web Services](https://github.com/pulumi/pulumi-aws)
- `azure` for [Microsoft Azure](https://github.com/pulumi/pulumi-azure)
- `gcp` for [Google Cloud Platform](https://github.com/pulumi/pulumi-gcp)
- `kubernetes` for [Kubernetes](https://github.com/pulumi/pulumi-kubernetes)


- `aws` for [Amazon Web Services](https://github.com/pulumi/pulumi-aws)
- `azure` for [Microsoft Azure](https://github.com/pulumi/pulumi-azure)
- `gcp` for [Google Cloud Platform](https://github.com/pulumi/pulumi-gcp)
- `kubernetes` for [Kubernetes](https://github.com/pulumi/pulumi-kubernetes)

See the [Pulumi documentation](https://www.pulumi.com/docs/?utm_campaign=pulumi-examples-github-repo&utm_source=github.com&utm_medium=pulumi-examples) for more details on getting started with Pulumi.

## Checking out a single example

You can checkout only the example(s) you want by using a [sparse checkout](https://git-scm.com/docs/git-sparse-checkout). The following commands show how checkout only the `aws-go-fargate` example. Replace `aws-go-fargate` with your example of interest.
You can checkout only the example(s) you want by using a [sparse checkout](https://git-scm.com/docs/git-sparse-checkout). The following commands show how checkout only the `aws-go-fargate` example. Replace `aws-go-fargate` with your example of interest.

```bash
$ mkdir examples && cd examples
Expand Down Expand Up @@ -69,33 +70,32 @@ The script assumes you have credentials for various providers configured. Exampl
## All Pulumi examples

- [AWS](#aws)
- [TypeScript](#typescript)
- [JavaScript](#javascript)
- [Python](#python)
- [Go](#go)
- [C#](#c)
- [F#](#f)
- [TypeScript](#typescript)
- [JavaScript](#javascript)
- [Python](#python)
- [Go](#go)
- [C#](#c)
- [F#](#f)
- [Azure](#azure)
- [TypeScript](#typescript-1)
- [Python](#python-1)
- [Go](#go-1)
- [C#](#c-1)
- [F#](#f-1)
- [TypeScript](#typescript-1)
- [Python](#python-1)
- [Go](#go-1)
- [C#](#c-1)
- [F#](#f-1)
- [GCP](#gcp)
- [TypeScript](#typescript-2)
- [JavaScript](#javascript-1)
- [Python](#python-2)
- [Go](#go-2)
- [C#](#c-2)
- [TypeScript](#typescript-2)
- [JavaScript](#javascript-1)
- [Python](#python-2)
- [Go](#go-2)
- [C#](#c-2)
- [Kubernetes](#kubernetes)
- [TypeScript](#typescript-3)
- [JavaScript](#javascript-2)
- [Python](#python-3)
- [Go](#go-3)
- [C#](#c-3)
- [TypeScript](#typescript-3)
- [JavaScript](#javascript-2)
- [Python](#python-3)
- [Go](#go-3)
- [C#](#c-3)
- [Openstack](#openstack)
- [OVHCloud](#ovhcloud)
- [Cloud](#cloud)
- [DigitalOcean](#digitalocean)
- [Multicloud](#multicloud)
- [F5](#f5)
Expand Down Expand Up @@ -140,7 +140,6 @@ Example | Description |
[Step Functions](aws-ts-stepfunctions) | Use Step Functions with a Lambda function.
[Thumbnailer](aws-ts-thumbnailer) | Create a video thumbnail extractor using serverless functions and containers.
[Twitter](aws-ts-twitter-athena) | Query Twitter every 2 minutes, store the results in S3, and set up an Athena table and query.
[URL Shortener](aws-ts-url-shortener-cache-http) | Create a serverless URL shortener that uses high-level components.
[Voting App](aws-ts-voting-app) | Create a simple voting app using Redis and Python Flask.
[Web Server](aws-ts-webserver) | Deploy an EC2 Virtual machine using TypeScript to run a Python web server.
[Web Server with Manual Provisioning](aws-ts-ec2-provisioners) | Use Pulumi dynamic providers to accomplish post-provisioning configuration steps.
Expand Down Expand Up @@ -447,36 +446,6 @@ Example | Description |

[Use Pulumi AI](https://www.pulumi.com/ai/?utm_campaign=pulumi-examples-github-repo&utm_source=github.com&utm_medium=pulumi-examples) to build a new example in _any_ language.

## Cloud

### TypeScript

[🔝 Back to the list](#all-pulumi-examples)

Example | Description |
--------- | --------- |
[URL Shortener - Cache and HttpServer](cloud-ts-url-shortener-cache-http) | Create a simple URL shortener SPA that uses the high-level `cloud.Table` and `cloud.HttpServer` components.
[URL Shortener - Cache](cloud-ts-url-shortener-cache) | Create a simple URL shortener SPA that uses the high-level `cloud.Table` and `cloud.API` components.
[URL Shortener](cloud-ts-url-shortener) | Create a complete URL shortener web application that uses the high-level `cloud.Table` and `cloud.HttpServer` components.
[Voting App](cloud-ts-voting-app) | Create a simple voting app using Redis and Python Flask.

[Use Pulumi AI](https://www.pulumi.com/ai/?utm_campaign=pulumi-examples-github-repo&utm_source=github.com&utm_medium=pulumi-examples) to build a new example in _any_ language.

### JavaScript

[🔝 Back to the list](#all-pulumi-examples)

Example | Description |
--------- | --------- |
[API on AWS](cloud-js-api) | Create a simple REST API that counts the number of times a route has been hit.
[Containers](cloud-js-containers) | Provision containers on Fargate.
[HttpServer](cloud-js-httpserver) | Create a simple REST API that counts the number of times a route has been hit.
[Thumbnailer - Machine Learning](cloud-js-thumbnailer-machine-learning) | Create a video thumbnail extractor using serverless functions, containers, and AWS Rekognition.
[Thumbnailer](cloud-js-thumbnailer) | Create a video thumbnail extractor using serverless functions and containers.
[Twitter](cloud-js-twitter-athena) | Query Twitter every 2 minutes, store the results in S3, and set up an Athena table and query.

[Use Pulumi AI](https://www.pulumi.com/ai/?utm_campaign=pulumi-examples-github-repo&utm_source=github.com&utm_medium=pulumi-examples) to build a new example in _any_ language.

## DigitalOcean

### TypeScript
Expand Down
8 changes: 3 additions & 5 deletions aws-ts-serverless-raw/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,10 @@
[![Deploy this example with Pulumi](https://www.pulumi.com/images/deploy-with-pulumi/dark.svg)](https://app.pulumi.com/new?template=https://github.com/pulumi/examples/blob/master/aws-ts-serverless-raw/README.md#gh-light-mode-only)
[![Deploy this example with Pulumi](https://get.pulumi.com/new/button-light.svg)](https://app.pulumi.com/new?template=https://github.com/pulumi/examples/blob/master/aws-ts-serverless-raw/README.md#gh-dark-mode-only)

# Serverless C# App
# Serverless TypeScript App

This example deploys a complete serverless C# application using raw `aws.apigateway.RestAPI`, `aws.lambda.Function` and
`aws.dynamodb.Table` resources from `@pulumi/aws`. Although this doesn't feature any of the higher-level abstractions
from the `@pulumi/cloud` package, it demonstrates that you can program the raw resources directly available in AWS
to accomplish all of the same things this higher-level package offers.
This example deploys a complete serverless TypeScript application using raw `aws.apigateway.RestAPI`, `aws.lambda.Function` and
`aws.dynamodb.Table` resources from `@pulumi/aws`. It demonstrates how to program AWS resources directly to build serverless applications.

The deployed Lambda function is a simple C# application, highlighting the ability to manage existing application code
in a Pulumi application, even if your Pulumi code is written in a different language like JavaScript or Python.
Expand Down
20 changes: 0 additions & 20 deletions aws-ts-url-shortener-cache-http/Pulumi.yaml

This file was deleted.

73 changes: 0 additions & 73 deletions aws-ts-url-shortener-cache-http/README.md

This file was deleted.

70 changes: 0 additions & 70 deletions aws-ts-url-shortener-cache-http/cache.ts

This file was deleted.

8 changes: 0 additions & 8 deletions aws-ts-url-shortener-cache-http/config.ts

This file was deleted.

Loading
Loading