├── .github ├── CODEOWNERS └── workflows │ ├── build-metadata.yml │ ├── command-dispatch.yml │ ├── export-repo-secrets.yml │ ├── pr.yml │ ├── test-metadata.yml │ ├── test-templates.yml │ └── update-templates.yml ├── .gitignore ├── CODE-OF-CONDUCT.md ├── LICENSE ├── Makefile ├── README.md ├── aiven-go ├── Pulumi.yaml ├── go.mod └── main.go ├── aiven-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── aiven-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── alicloud-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── alicloud-fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── alicloud-go ├── .gitignore ├── Pulumi.yaml ├── go.mod └── main.go ├── alicloud-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── alicloud-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── alicloud-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── alicloud-visualbasic ├── ${PROJECT}.vbproj ├── .gitignore ├── Program.vb └── Pulumi.yaml ├── alicloud-yaml └── Pulumi.yaml ├── auth0-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── auth0-go ├── Pulumi.yaml ├── go.mod └── main.go ├── auth0-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── auth0-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── auth0-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── auth0-yaml └── Pulumi.yaml ├── aws-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── README.md ├── aws-fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── aws-go ├── Pulumi.yaml ├── README.md ├── go.mod └── main.go ├── aws-java ├── Pulumi.yaml ├── README.md ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── aws-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── aws-python ├── .gitignore ├── Pulumi.yaml ├── README.md ├── __main__.py └── requirements.txt ├── aws-scala ├── Pulumi.yaml ├── build.sbt └── src │ └── main │ └── scala │ └── Main.scala ├── aws-typescript ├── .gitignore ├── Pulumi.yaml ├── README.md ├── index.ts ├── package.json └── tsconfig.json ├── aws-visualbasic ├── ${PROJECT}.vbproj ├── .gitignore ├── Program.vb └── Pulumi.yaml ├── aws-yaml ├── Pulumi.yaml └── README.md ├── azure-classic-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── azure-classic-fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── azure-classic-go ├── Pulumi.yaml ├── go.mod └── main.go ├── azure-classic-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── azure-classic-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── azure-classic-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── azure-classic-visualbasic ├── ${PROJECT}.vbproj ├── .gitignore ├── Program.vb └── Pulumi.yaml ├── azure-classic-yaml └── Pulumi.yaml ├── azure-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── README.md ├── azure-fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── azure-go ├── Pulumi.yaml ├── README.md ├── go.mod └── main.go ├── azure-java ├── Pulumi.yaml ├── README.md ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── azure-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── azure-python ├── .gitignore ├── Pulumi.yaml ├── README.md ├── __main__.py └── requirements.txt ├── azure-typescript ├── .gitignore ├── Pulumi.yaml ├── README.md ├── index.ts ├── package.json └── tsconfig.json ├── azure-yaml ├── Pulumi.yaml └── README.md ├── azuredevops-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── civo-go ├── Pulumi.yaml ├── go.mod └── main.go ├── civo-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── civo-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── civo-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── civo-yaml └── Pulumi.yaml ├── container-aws-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── app │ └── Dockerfile ├── container-aws-go ├── Pulumi.yaml ├── app │ └── Dockerfile ├── go.mod └── main.go ├── container-aws-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── app │ └── Dockerfile └── requirements.txt ├── container-aws-typescript ├── .gitignore ├── Pulumi.yaml ├── app │ └── Dockerfile ├── index.ts ├── package.json └── tsconfig.json ├── container-aws-yaml ├── Pulumi.yaml └── app │ └── Dockerfile ├── container-azure-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── app │ ├── App.csproj │ ├── Dockerfile │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── container-azure-go ├── Pulumi.yaml ├── app │ ├── Dockerfile │ ├── go.mod │ └── main.go ├── go.mod └── main.go ├── container-azure-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── app │ ├── Dockerfile │ ├── app.py │ └── requirements.txt └── requirements.txt ├── container-azure-typescript ├── .gitignore ├── Pulumi.yaml ├── app │ ├── .dockerignore │ ├── Dockerfile │ ├── index.js │ └── package.json ├── index.ts ├── package.json └── tsconfig.json ├── container-gcp-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── app │ ├── App.csproj │ ├── Dockerfile │ ├── Program.cs │ ├── Properties │ └── launchSettings.json │ ├── appsettings.Development.json │ └── appsettings.json ├── container-gcp-go ├── Pulumi.yaml ├── app │ ├── Dockerfile │ ├── go.mod │ └── main.go ├── go.mod └── main.go ├── container-gcp-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── app │ ├── Dockerfile │ ├── app.py │ └── requirements.txt └── requirements.txt ├── container-gcp-typescript ├── .gitignore ├── Pulumi.yaml ├── app │ ├── .dockerignore │ ├── Dockerfile │ ├── index.js │ └── package.json ├── index.ts ├── package.json └── tsconfig.json ├── csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── digitalocean-go ├── .gitignore ├── Pulumi.yaml ├── go.mod └── main.go ├── digitalocean-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── digitalocean-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── digitalocean-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── digitalocean-yaml └── Pulumi.yaml ├── equinix-metal-go ├── .gitignore ├── Pulumi.yaml ├── go.mod └── main.go ├── equinix-metal-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── equinix-metal-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── equinix-metal-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── equinix-metal-yaml └── Pulumi.yaml ├── esc-connector-lambda-typescript ├── .gitignore ├── Pulumi.yaml ├── README.md ├── images │ └── db_identifier.png ├── index.ts ├── package.json └── tsconfig.json ├── fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── gcp-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── README.md ├── gcp-fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── gcp-go ├── Pulumi.yaml ├── README.md ├── go.mod └── main.go ├── gcp-java ├── Pulumi.yaml ├── README.md ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── gcp-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── gcp-python ├── .gitignore ├── Pulumi.yaml ├── README.md ├── __main__.py └── requirements.txt ├── gcp-typescript ├── .gitignore ├── Pulumi.yaml ├── README.md ├── index.ts ├── package.json └── tsconfig.json ├── gcp-visualbasic ├── ${PROJECT}.vbproj ├── .gitignore ├── Program.vb └── Pulumi.yaml ├── gcp-yaml ├── Pulumi.yaml └── README.md ├── generator └── generate-go-mod.sh ├── github-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── github-go ├── Pulumi.yaml ├── go.mod └── main.go ├── github-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── github-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── github-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── github-yaml └── Pulumi.yaml ├── go ├── Pulumi.yaml ├── go.mod └── main.go ├── google-native-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── google-native-go ├── Pulumi.yaml ├── go.mod └── main.go ├── google-native-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── google-native-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── google-native-yaml └── Pulumi.yaml ├── hello-aws-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js ├── package.json └── www │ ├── favicon.png │ └── index.html ├── helm-kubernetes-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── helm-kubernetes-go ├── Pulumi.yaml ├── go.mod └── main.go ├── helm-kubernetes-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── helm-kubernetes-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── helm-kubernetes-yaml └── Pulumi.yaml ├── java-gradle ├── .gitignore ├── Pulumi.yaml ├── app │ ├── build.gradle │ └── src │ │ └── main │ │ └── java │ │ └── myproject │ │ └── App.java └── settings.gradle ├── java-jbang ├── Pulumi.yaml ├── jbang.properties └── src │ └── main.java ├── java ├── Pulumi.yaml ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── kubernetes-aws-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── kubernetes-aws-go ├── Pulumi.yaml ├── go.mod └── main.go ├── kubernetes-aws-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── kubernetes-aws-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── kubernetes-aws-yaml └── Pulumi.yaml ├── kubernetes-azure-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── kubernetes-azure-go ├── Pulumi.yaml ├── go.mod └── main.go ├── kubernetes-azure-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── kubernetes-azure-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── kubernetes-azure-yaml └── Pulumi.yaml ├── kubernetes-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── kubernetes-fsharp ├── ${PROJECT}.fsproj ├── .gitignore ├── Program.fs └── Pulumi.yaml ├── kubernetes-gcp-csharp ├── ${PROJECT}.csproj ├── Program.cs └── Pulumi.yaml ├── kubernetes-gcp-go ├── Pulumi.yaml ├── go.mod └── main.go ├── kubernetes-gcp-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── kubernetes-gcp-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── kubernetes-gcp-yaml └── Pulumi.yaml ├── kubernetes-go ├── Pulumi.yaml ├── go.mod └── main.go ├── kubernetes-java ├── Pulumi.yaml ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── kubernetes-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── kubernetes-ovh-csharp ├── ${PROJECT}.csproj ├── Program.cs └── Pulumi.yaml ├── kubernetes-ovh-go ├── Pulumi.yaml ├── go.mod └── main.go ├── kubernetes-ovh-java ├── Pulumi.yaml ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── kubernetes-ovh-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── kubernetes-ovh-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── kubernetes-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── kubernetes-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── kubernetes-yaml └── Pulumi.yaml ├── linode-go ├── .gitignore ├── Pulumi.yaml ├── go.mod └── main.go ├── linode-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── linode-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── linode-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── linode-yaml └── Pulumi.yaml ├── metadata ├── architectures.yaml ├── dist │ └── metadata.json └── groups │ ├── container-service-aws.yaml │ ├── container-service-azure.yaml │ ├── container-service-gcp.yaml │ ├── helm-kubernetes.yaml │ ├── kubernetes-aws.yaml │ ├── kubernetes-azure.yaml │ ├── kubernetes-gcp.yaml │ ├── serverless-application-aws.yaml │ ├── serverless-application-azure.yaml │ ├── serverless-application-gcp.yaml │ ├── static-website-aws.yaml │ ├── static-website-azure.yaml │ ├── static-website-gcp.yaml │ ├── virtual-machine-aws.yaml │ ├── virtual-machine-azure.yaml │ ├── virtual-machine-gcp.yaml │ └── webapp-kubernetes.yaml ├── oci-go ├── Pulumi.yaml ├── go.mod └── main.go ├── oci-java ├── .gitignore ├── Pulumi.yaml ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── oci-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── oci-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── oci-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── oci-yaml └── Pulumi.yaml ├── openstack-go ├── .gitignore ├── Pulumi.yaml ├── go.mod └── main.go ├── openstack-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── openstack-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── openstack-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── openstack-yaml └── Pulumi.yaml ├── ovh-csharp ├── ${PROJECT}.csproj ├── Program.cs └── Pulumi.yaml ├── ovh-go ├── Pulumi.yaml ├── go.mod └── main.go ├── ovh-java ├── Pulumi.yaml ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── ovh-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── ovh-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── package.json ├── pinecone-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── pinecone-go ├── Pulumi.yaml ├── go.mod └── main.go ├── pinecone-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── pinecone-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── pinecone-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── pinecone-yaml └── Pulumi.yaml ├── python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── random-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── random-go ├── Pulumi.yaml ├── go.mod └── main.go ├── random-java ├── Pulumi.yaml ├── pom.xml └── src │ └── main │ └── java │ └── myproject │ └── App.java ├── random-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── random-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── random-yaml └── Pulumi.yaml ├── rediscloud-go ├── Pulumi.yaml ├── go.mod └── main.go ├── rediscloud-javascript ├── .gitignore ├── Pulumi.yaml ├── index.js └── package.json ├── rediscloud-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── sagemaker-aws-python ├── .gitignore ├── Pulumi.yaml ├── README.md ├── __main__.py ├── huggingface_llm.py └── requirements.txt ├── scripts └── build-metadata.js ├── serverless-aws-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml ├── function │ └── handler.py └── www │ └── index.html ├── serverless-aws-go ├── Pulumi.yaml ├── function │ └── handler.py ├── go.mod ├── main.go └── www │ └── index.html ├── serverless-aws-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── function │ └── handler.py ├── requirements.txt └── www │ └── index.html ├── serverless-aws-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json ├── tsconfig.json └── www │ └── index.html ├── serverless-aws-yaml ├── Pulumi.yaml ├── function │ └── handler.py └── www │ └── index.html ├── serverless-azure-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml ├── app │ ├── App.cs │ ├── App.csproj │ ├── host.json │ └── local.settings.json └── www │ ├── error.html │ └── index.html ├── serverless-azure-go ├── Pulumi.yaml ├── app │ ├── .gitignore │ ├── cmd │ │ └── app.go │ ├── data │ │ └── function.json │ ├── go.mod │ ├── host.json │ └── local.settings.json ├── go.mod ├── main.go └── www │ ├── error.html │ └── index.html ├── serverless-azure-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── app │ ├── data │ │ ├── __init__.py │ │ └── function.json │ ├── host.json │ ├── local.settings.json │ └── requirements.txt ├── requirements.txt └── www │ ├── error.html │ └── index.html ├── serverless-azure-typescript ├── .gitignore ├── Pulumi.yaml ├── app │ ├── data │ │ ├── function.json │ │ └── index.js │ ├── host.json │ └── package.json ├── index.ts ├── package.json ├── tsconfig.json └── www │ ├── error.html │ └── index.html ├── serverless-azure-yaml ├── Pulumi.yaml ├── app │ ├── data │ │ ├── __init__.py │ │ └── function.json │ ├── host.json │ ├── local.settings.json │ └── requirements.txt └── www │ ├── error.html │ └── index.html ├── serverless-gcp-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml ├── app │ ├── App.csproj │ └── Function.cs └── www │ ├── error.html │ └── index.html ├── serverless-gcp-go ├── Pulumi.yaml ├── app │ ├── go.mod │ └── main.go ├── go.mod ├── main.go └── www │ ├── error.html │ └── index.html ├── serverless-gcp-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── app │ ├── main.py │ └── requirements.txt ├── requirements.txt └── www │ ├── error.html │ └── index.html ├── serverless-gcp-typescript ├── .gitignore ├── Pulumi.yaml ├── app │ ├── index.js │ └── package.json ├── index.ts ├── package.json ├── tsconfig.json └── www │ ├── error.html │ └── index.html ├── serverless-gcp-yaml ├── Pulumi.yaml ├── app │ ├── main.py │ └── requirements.txt └── www │ ├── error.html │ └── index.html ├── static-website-aws-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── www │ ├── error.html │ └── index.html ├── static-website-aws-go ├── Pulumi.yaml ├── go.mod ├── main.go └── www │ ├── error.html │ └── index.html ├── static-website-aws-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── requirements.txt └── www │ ├── error.html │ └── index.html ├── static-website-aws-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json ├── tsconfig.json └── www │ ├── error.html │ └── index.html ├── static-website-aws-yaml ├── Pulumi.yaml └── www │ ├── error.html │ └── index.html ├── static-website-azure-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── www │ ├── error.html │ └── index.html ├── static-website-azure-go ├── Pulumi.yaml ├── go.mod ├── main.go └── www │ ├── error.html │ └── index.html ├── static-website-azure-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── requirements.txt └── www │ ├── error.html │ └── index.html ├── static-website-azure-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json ├── tsconfig.json └── www │ ├── error.html │ └── index.html ├── static-website-azure-yaml ├── Pulumi.yaml └── www │ ├── error.html │ └── index.html ├── static-website-gcp-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs ├── Pulumi.yaml └── www │ ├── error.html │ └── index.html ├── static-website-gcp-go ├── Pulumi.yaml ├── go.mod ├── main.go └── www │ ├── error.html │ └── index.html ├── static-website-gcp-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py ├── requirements.txt └── www │ ├── error.html │ └── index.html ├── static-website-gcp-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json ├── tsconfig.json └── www │ ├── error.html │ └── index.html ├── static-website-gcp-yaml ├── Pulumi.yaml └── www │ ├── error.html │ └── index.html ├── tests ├── go.mod ├── go.sum ├── internal │ └── testutils │ │ ├── config.go │ │ ├── environments.go │ │ ├── templates.go │ │ └── timeout.go ├── metadata │ └── metadata.test.js ├── perf │ └── performance_test.go └── template_test.go ├── typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── visualbasic ├── ${PROJECT}.vbproj ├── .gitignore ├── Program.vb └── Pulumi.yaml ├── vm-aws-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── vm-aws-go ├── Pulumi.yaml ├── go.mod └── main.go ├── vm-aws-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── vm-aws-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── vm-aws-yaml └── Pulumi.yaml ├── vm-azure-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── vm-azure-go ├── Pulumi.yaml ├── go.mod └── main.go ├── vm-azure-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── vm-azure-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── vm-azure-yaml └── Pulumi.yaml ├── vm-gcp-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── vm-gcp-go ├── Pulumi.yaml ├── go.mod └── main.go ├── vm-gcp-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── vm-gcp-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── vm-gcp-yaml └── Pulumi.yaml ├── webapp-kubernetes-csharp ├── ${PROJECT}.csproj ├── .gitignore ├── Program.cs └── Pulumi.yaml ├── webapp-kubernetes-go ├── Pulumi.yaml ├── go.mod └── main.go ├── webapp-kubernetes-python ├── .gitignore ├── Pulumi.yaml ├── __main__.py └── requirements.txt ├── webapp-kubernetes-typescript ├── .gitignore ├── Pulumi.yaml ├── index.ts ├── package.json └── tsconfig.json ├── webapp-kubernetes-yaml └── Pulumi.yaml ├── yaml └── Pulumi.yaml └── yarn.lock /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | * @pulumi/platform 2 | -------------------------------------------------------------------------------- /.github/workflows/test-metadata.yml: -------------------------------------------------------------------------------- 1 | name: Test template metadata 2 | on: 3 | pull_request: 4 | branches: 5 | - master 6 | jobs: 7 | test: 8 | runs-on: ubuntu-latest 9 | name: Test template metadata 10 | steps: 11 | - name: Checkout 12 | uses: actions/checkout@v2 13 | 14 | - name: Install Node 15 | uses: actions/setup-node@v3 16 | with: 17 | node-version: 18.x 18 | 19 | - name: Build and test metadata 20 | run: | 21 | make metadata 22 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .DS_Store 3 | tests/vendor/ 4 | state 5 | traces 6 | package-lock.json 7 | yarn.lock 8 | !/yarn.lock 9 | go.sum 10 | !tests/go.sum 11 | Pulumi.*.yaml 12 | node_modules 13 | .vscode 14 | [Bb]in/ 15 | [Oo]bj/ 16 | .gradle 17 | -------------------------------------------------------------------------------- /aiven-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Aiven Go Pulumi program 6 | config: 7 | aiven:apiToken: 8 | description: The token that allows you access to your Aiven account 9 | secret: true 10 | -------------------------------------------------------------------------------- /aiven-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-aiven/sdk/v6 v6.43.1 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /aiven-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /aiven-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aiven>=5.4.0,<6.0.0 3 | -------------------------------------------------------------------------------- /aiven-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /aiven-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Aiven TypeScript Pulumi program 6 | config: 7 | project: 8 | description: Aiven project name 9 | cloudName: 10 | description: Choice of cloud provider and region 11 | plan: 12 | description: An Aiven plan to choose compute, storage, and other features 13 | serviceName: 14 | description: The name of this Aiven service 15 | 16 | 17 | -------------------------------------------------------------------------------- /aiven-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/aiven": "^5.4.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /alicloud-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /alicloud-csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using Pulumi; 2 | using Pulumi.AliCloud.Oss; 3 | using System.Collections.Generic; 4 | 5 | return await Deployment.RunAsync(() => 6 | { 7 | // Create an AliCloud resource (OSS Bucket) 8 | var bucket = new Bucket("my-bucket"); 9 | 10 | // Export the name of the bucket 11 | return new Dictionary 12 | { 13 | ["bucketName"] = bucket.Id 14 | }; 15 | }); 16 | -------------------------------------------------------------------------------- /alicloud-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal AliCloud C# Pulumi program" 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | -------------------------------------------------------------------------------- /alicloud-fsharp/Program.fs: -------------------------------------------------------------------------------- 1 | module Program 2 | 3 | open Pulumi.FSharp 4 | open Pulumi.AliCloud.Oss 5 | 6 | let infra () = 7 | 8 | // Create an AliCloud resource (OSS Bucket) 9 | let bucket = Bucket "my-bucket" 10 | 11 | // Export the name of the bucket 12 | dict [("bucketName", bucket.Id :> obj)] 13 | 14 | [] 15 | let main _ = 16 | Deployment.run infra 17 | -------------------------------------------------------------------------------- /alicloud-fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal AliCloud F# Pulumi program" 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | -------------------------------------------------------------------------------- /alicloud-go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /alicloud-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal AliCloud Go Pulumi program 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | -------------------------------------------------------------------------------- /alicloud-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-alicloud/sdk/v3 v3.86.1 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /alicloud-go/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/pulumi/pulumi-alicloud/sdk/v2/go/alicloud/oss" 5 | "github.com/pulumi/pulumi/sdk/v2/go/pulumi" 6 | ) 7 | 8 | func main() { 9 | pulumi.Run(func(ctx *pulumi.Context) error { 10 | // Create an AliCloud resource (OSS Bucket) 11 | bucket, err := oss.NewBucket(ctx, "my-bucket", nil) 12 | if err != nil { 13 | return err 14 | } 15 | 16 | // Export the name of the bucket 17 | ctx.Export("bucketName", bucket.ID()) 18 | return nil 19 | }) 20 | } 21 | -------------------------------------------------------------------------------- /alicloud-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /alicloud-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal AliCloud JavaScript Pulumi program 9 | config: 10 | alicloud:region: 11 | description: The AliCloud region to deploy into 12 | default: cn-beijing 13 | -------------------------------------------------------------------------------- /alicloud-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const alicloud = require("@pulumi/alicloud"); 4 | 5 | // Create an AliCloud resource (OSS Bucket) 6 | const bucket = new alicloud.oss.Bucket("my-bucket"); 7 | 8 | // Export the name of the bucket 9 | exports.bucketName = bucket.id; 10 | -------------------------------------------------------------------------------- /alicloud-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/alicloud": "^3.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /alicloud-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /alicloud-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal AliCloud Python Pulumi program 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | -------------------------------------------------------------------------------- /alicloud-python/__main__.py: -------------------------------------------------------------------------------- 1 | """An AliCloud Python Pulumi program""" 2 | 3 | import pulumi 4 | from pulumi_alicloud import oss 5 | 6 | # Create an AliCloud resource (OSS Bucket) 7 | bucket = oss.Bucket('my-bucket') 8 | 9 | # Export the name of the bucket 10 | pulumi.export('bucket_name', bucket.id) 11 | -------------------------------------------------------------------------------- /alicloud-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-alicloud>=3.0.0,<4.0.0 3 | -------------------------------------------------------------------------------- /alicloud-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /alicloud-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal AliCloud TypeScript Pulumi program 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | -------------------------------------------------------------------------------- /alicloud-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as alicloud from "@pulumi/alicloud"; 3 | 4 | // Create an AliCloud resource (OSS Bucket) 5 | const bucket = new alicloud.oss.Bucket("my-bucket"); 6 | 7 | // Export the name of the bucket 8 | export const bucketName = bucket.id; 9 | -------------------------------------------------------------------------------- /alicloud-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/alicloud": "^3.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /alicloud-visualbasic/${PROJECT}.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /alicloud-visualbasic/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal AliCloud VB.NET Pulumi program" 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | -------------------------------------------------------------------------------- /alicloud-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal AliCloud Pulumi YAML program 6 | config: 7 | alicloud:region: 8 | description: The AliCloud region to deploy into 9 | default: cn-beijing 10 | 11 | resources: 12 | # Create an AliCloud resource (OSS Bucket) 13 | bucket: 14 | type: alicloud:oss:Bucket 15 | 16 | outputs: 17 | # Export the name of the bucket 18 | bucketName: ${bucket.id} 19 | -------------------------------------------------------------------------------- /auth0-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /auth0-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Auth0 C# Pulumi program" 6 | config: 7 | auth0:clientId: 8 | description: The Auth0 client ID 9 | secret: true 10 | auth0:clientSecret: 11 | description: The Auth0 client secret 12 | secret: true 13 | auth0:domain: 14 | description: The Auth0 domain 15 | -------------------------------------------------------------------------------- /auth0-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Auth0 Go Pulumi program 6 | config: 7 | auth0:clientId: 8 | description: The Auth0 client ID 9 | secret: true 10 | auth0:clientSecret: 11 | description: The Auth0 client secret 12 | secret: true 13 | auth0:domain: 14 | description: The Auth0 domain -------------------------------------------------------------------------------- /auth0-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-auth0/sdk/v3 v3.29.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /auth0-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /auth0-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Auth0 TypeScript Pulumi program 9 | config: 10 | auth0:clientId: 11 | description: The Auth0 client ID 12 | secret: true 13 | auth0:clientSecret: 14 | description: The Auth0 client secret 15 | secret: true 16 | auth0:domain: 17 | description: The Auth0 domain 18 | -------------------------------------------------------------------------------- /auth0-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.20.0", 6 | "@pulumi/auth0": "^2.3.2" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /auth0-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /auth0-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Auth0 Python Pulumi program 6 | config: 7 | auth0:clientId: 8 | description: The Auth0 client ID 9 | secret: true 10 | auth0:clientSecret: 11 | description: The Auth0 client secret 12 | secret: true 13 | auth0:domain: 14 | description: The Auth0 domain -------------------------------------------------------------------------------- /auth0-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi_auth0>=1.0.0,<3.0.0 3 | -------------------------------------------------------------------------------- /auth0-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /auth0-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Auth0 TypeScript Pulumi program 6 | config: 7 | auth0:clientId: 8 | description: The Auth0 client ID 9 | secret: true 10 | auth0:clientSecret: 11 | description: The Auth0 client secret 12 | secret: true 13 | auth0:domain: 14 | description: The Auth0 domain 15 | -------------------------------------------------------------------------------- /auth0-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/auth0": "^2.3.2", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /aws-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /aws-csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using Pulumi; 2 | using Pulumi.Aws.S3; 3 | using System.Collections.Generic; 4 | 5 | return await Deployment.RunAsync(() => 6 | { 7 | // Create an AWS resource (S3 Bucket) 8 | var bucket = new Bucket("my-bucket"); 9 | 10 | // Export the name of the bucket 11 | return new Dictionary 12 | { 13 | ["bucketName"] = bucket.Id 14 | }; 15 | }); 16 | -------------------------------------------------------------------------------- /aws-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal AWS C# Pulumi program" 6 | important: true 7 | config: 8 | aws:region: 9 | description: The AWS region to deploy into 10 | default: us-east-1 11 | -------------------------------------------------------------------------------- /aws-fsharp/Program.fs: -------------------------------------------------------------------------------- 1 | module Program 2 | 3 | open Pulumi.FSharp 4 | open Pulumi.Aws.S3 5 | 6 | let infra () = 7 | 8 | // Create an AWS resource (S3 Bucket) 9 | let bucket = Bucket "my-bucket" 10 | 11 | // Export the name of the bucket 12 | dict [("bucketName", bucket.Id :> obj)] 13 | 14 | [] 15 | let main _ = 16 | Deployment.run infra 17 | -------------------------------------------------------------------------------- /aws-fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal AWS F# Pulumi program" 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-east-1 10 | -------------------------------------------------------------------------------- /aws-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal AWS Go Pulumi program 6 | important: true 7 | config: 8 | aws:region: 9 | description: The AWS region to deploy into 10 | default: us-east-1 11 | -------------------------------------------------------------------------------- /aws-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-aws/sdk/v7 v7.7.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /aws-go/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/pulumi/pulumi-aws/sdk/v7/go/aws/s3" 5 | "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 6 | ) 7 | 8 | func main() { 9 | pulumi.Run(func(ctx *pulumi.Context) error { 10 | // Create an AWS resource (S3 Bucket) 11 | bucket, err := s3.NewBucket(ctx, "my-bucket", nil) 12 | if err != nil { 13 | return err 14 | } 15 | 16 | // Export the name of the bucket 17 | ctx.Export("bucketName", bucket.ID()) 18 | return nil 19 | }) 20 | } 21 | -------------------------------------------------------------------------------- /aws-java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal AWS Java Pulumi program 6 | important: true 7 | config: 8 | aws:region: 9 | description: The AWS region to deploy into 10 | default: us-east-1 11 | -------------------------------------------------------------------------------- /aws-java/src/main/java/myproject/App.java: -------------------------------------------------------------------------------- 1 | package myproject; 2 | 3 | import com.pulumi.Pulumi; 4 | import com.pulumi.core.Output; 5 | import com.pulumi.aws.s3.Bucket; 6 | 7 | public class App { 8 | public static void main(String[] args) { 9 | Pulumi.run(ctx -> { 10 | var bucket = new Bucket("my-bucket"); 11 | ctx.export("bucketName", bucket.bucket()); 12 | }); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /aws-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /aws-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal AWS JavaScript Pulumi program 9 | important: true 10 | config: 11 | aws:region: 12 | description: The AWS region to deploy into 13 | default: us-east-1 14 | -------------------------------------------------------------------------------- /aws-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const aws = require("@pulumi/aws"); 4 | const awsx = require("@pulumi/awsx"); 5 | 6 | // Create an AWS resource (S3 Bucket) 7 | const bucket = new aws.s3.Bucket("my-bucket"); 8 | 9 | // Export the name of the bucket 10 | exports.bucketName = bucket.id; 11 | -------------------------------------------------------------------------------- /aws-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/aws": "^7.0.0", 7 | "@pulumi/awsx": "^3.0.0" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /aws-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal AWS Python Pulumi program 6 | important: true 7 | config: 8 | aws:region: 9 | description: The AWS region to deploy into 10 | default: us-east-1 11 | -------------------------------------------------------------------------------- /aws-python/__main__.py: -------------------------------------------------------------------------------- 1 | """An AWS Python Pulumi program""" 2 | 3 | import pulumi 4 | from pulumi_aws import s3 5 | 6 | # Create an AWS resource (S3 Bucket) 7 | bucket = s3.Bucket('my-bucket') 8 | 9 | # Export the name of the bucket 10 | pulumi.export('bucket_name', bucket.id) 11 | -------------------------------------------------------------------------------- /aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aws>=7.0.0,<8.0.0 3 | -------------------------------------------------------------------------------- /aws-scala/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal AWS Scala Pulumi program 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-east-1 10 | -------------------------------------------------------------------------------- /aws-scala/build.sbt: -------------------------------------------------------------------------------- 1 | val scala3Version = "3.2.2" 2 | 3 | lazy val root = project 4 | .in(file(".")) 5 | .settings( 6 | name := "Scala 3 Project Template", 7 | version := "0.1.0-SNAPSHOT", 8 | 9 | scalaVersion := scala3Version, 10 | 11 | libraryDependencies += "org.scalameta" %% "munit" % "0.7.29" % Test, 12 | libraryDependencies += "com.pulumi" % "pulumi" % "0.7.1", 13 | libraryDependencies += "com.pulumi" % "aws" % "5.28.0" 14 | ) 15 | -------------------------------------------------------------------------------- /aws-scala/src/main/scala/Main.scala: -------------------------------------------------------------------------------- 1 | package myproject 2 | 3 | import com.pulumi.{Context, Pulumi} 4 | import com.pulumi.aws.s3.BucketV2 5 | 6 | object App { 7 | def main(args: Array[String]): Unit = { 8 | Pulumi.run { (ctx: Context) => 9 | 10 | // Create an AWS resource (S3 Bucket) 11 | var bucket = new BucketV2("my-bucket"); 12 | 13 | // Export the name of the bucket 14 | ctx.`export`("bucketName", bucket.bucket()) 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /aws-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /aws-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal AWS TypeScript Pulumi program 6 | important: true 7 | config: 8 | aws:region: 9 | description: The AWS region to deploy into 10 | default: us-east-1 11 | -------------------------------------------------------------------------------- /aws-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as aws from "@pulumi/aws"; 3 | import * as awsx from "@pulumi/awsx"; 4 | 5 | // Create an AWS resource (S3 Bucket) 6 | const bucket = new aws.s3.Bucket("my-bucket"); 7 | 8 | // Export the name of the bucket 9 | export const bucketName = bucket.id; 10 | -------------------------------------------------------------------------------- /aws-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/aws": "^7.0.0", 10 | "@pulumi/awsx": "^3.0.0", 11 | "@pulumi/pulumi": "^3.113.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /aws-visualbasic/${PROJECT}.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /aws-visualbasic/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal AWS VB.NET Pulumi program" 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-east-1 10 | -------------------------------------------------------------------------------- /aws-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal AWS Pulumi YAML program 6 | important: true 7 | config: 8 | aws:region: 9 | description: The AWS region to deploy into 10 | default: us-east-1 11 | 12 | resources: 13 | # Create an AWS resource (S3 Bucket) 14 | my-bucket: 15 | type: aws:s3:Bucket 16 | 17 | outputs: 18 | # Export the name of the bucket 19 | bucketName: ${my-bucket.id} 20 | -------------------------------------------------------------------------------- /azure-classic-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /azure-classic-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal C# Pulumi program with the classic Azure provider" 6 | config: 7 | azure:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | azure:subscriptionId: 11 | description: The Azure Subscription to deploy into 12 | -------------------------------------------------------------------------------- /azure-classic-fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal F# Pulumi program with the classic Azure provider" 6 | config: 7 | azure:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | azure:subscriptionId: 11 | description: The Azure Subscription to deploy into 12 | -------------------------------------------------------------------------------- /azure-classic-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Go Pulumi program with the classic Azure provider 6 | config: 7 | azure:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | azure:subscriptionId: 11 | description: The Azure Subscription to deploy into 12 | -------------------------------------------------------------------------------- /azure-classic-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-azure/sdk/v6 v6.28.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /azure-classic-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /azure-classic-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal JavaScript Pulumi program with the classic Azure provider 9 | config: 10 | azure:location: 11 | description: The Azure location to use 12 | default: WestUS2 13 | azure:subscriptionId: 14 | description: The Azure Subscription to deploy into 15 | -------------------------------------------------------------------------------- /azure-classic-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/azure": "^6.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /azure-classic-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /azure-classic-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Python Pulumi program with the classic Azure provider 6 | config: 7 | azure:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | azure:subscriptionId: 11 | description: The Azure Subscription to deploy into 12 | -------------------------------------------------------------------------------- /azure-classic-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure>=6.0.0,<7.0.0 3 | -------------------------------------------------------------------------------- /azure-classic-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /azure-classic-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal TypeScript Pulumi program with the classic Azure provider 6 | config: 7 | azure:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | azure:subscriptionId: 11 | description: The Azure Subscription to deploy into 12 | -------------------------------------------------------------------------------- /azure-classic-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/azure": "^6.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /azure-classic-visualbasic/${PROJECT}.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /azure-classic-visualbasic/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal VB.NET Pulumi program with the classic Azure provider" 6 | config: 7 | azure:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | azure:subscriptionId: 11 | description: The Azure Subscription to deploy into 12 | -------------------------------------------------------------------------------- /azure-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /azure-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Azure Native C# Pulumi program" 6 | important: true 7 | config: 8 | azure-native:location: 9 | description: The Azure location to use 10 | default: WestUS2 -------------------------------------------------------------------------------- /azure-fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Azure Native F# Pulumi program" 6 | config: 7 | azure-native:location: 8 | description: The Azure location to use 9 | default: WestUS2 10 | -------------------------------------------------------------------------------- /azure-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Azure Native Go Pulumi program 6 | important: true 7 | config: 8 | azure-native:location: 9 | description: The Azure location to use 10 | default: WestUS2 11 | -------------------------------------------------------------------------------- /azure-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-azure-native-sdk/resources/v3 v3.8.0 7 | github.com/pulumi/pulumi-azure-native-sdk/storage/v3 v3.8.0 8 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 9 | ) 10 | -------------------------------------------------------------------------------- /azure-java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal Azure Native Java Pulumi program 6 | important: true 7 | config: 8 | azure-native:location: 9 | description: The Azure location to use 10 | default: WestUS2 11 | -------------------------------------------------------------------------------- /azure-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /azure-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal JavaScript Pulumi program with the native Azure provider 9 | important: true 10 | config: 11 | azure-native:location: 12 | description: The Azure location to use 13 | default: WestUS2 14 | -------------------------------------------------------------------------------- /azure-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/azure-native": "^3.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /azure-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /azure-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Azure Native Python Pulumi program 6 | important: true 7 | config: 8 | azure-native:location: 9 | description: The Azure location to use 10 | default: WestUS2 11 | -------------------------------------------------------------------------------- /azure-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure-native>=3.0.0,<4.0.0 3 | -------------------------------------------------------------------------------- /azure-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /azure-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Azure Native TypeScript Pulumi program 6 | important: true 7 | config: 8 | azure-native:location: 9 | description: The Azure location to use 10 | default: WestUS2 11 | -------------------------------------------------------------------------------- /azure-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/azure-native": "^3.0.0", 10 | "@pulumi/pulumi": "^3.0.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /azuredevops-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /azuredevops-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Azure DevOps Python Pulumi program to create an AzureDevOps Project 6 | -------------------------------------------------------------------------------- /azuredevops-python/__main__.py: -------------------------------------------------------------------------------- 1 | """An Azure DevOps Python Pulumi program""" 2 | 3 | import pulumi 4 | import pulumi_random as random 5 | import pulumi_azuredevops as ado 6 | 7 | # Generate Azure DevOps project name 8 | project_name = random.RandomPet("demo-project-name") 9 | 10 | # Create Azure DevOps project 11 | project = ado.Project("demo-project", 12 | name=project_name) 13 | 14 | # Export the name of created project 15 | pulumi.export("project_name", project.name) 16 | -------------------------------------------------------------------------------- /azuredevops-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi_random>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /civo-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Civo Go Pulumi program 6 | config: 7 | civo:token: 8 | description: The token that allows you access your CIVO account 9 | secret: true 10 | -------------------------------------------------------------------------------- /civo-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-civo/sdk/v2 v2.4.8 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /civo-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /civo-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Civo TypeScript Pulumi program 9 | config: 10 | civo:token: 11 | description: The token that allows you access your CIVO account 12 | secret: true 13 | -------------------------------------------------------------------------------- /civo-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "3.60.0", 6 | "@pulumi/civo": "2.3.4" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /civo-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /civo-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Civo Python Pulumi program 6 | config: 7 | civo:token: 8 | description: The token that allows you access your CIVO account 9 | secret: true 10 | -------------------------------------------------------------------------------- /civo-python/__main__.py: -------------------------------------------------------------------------------- 1 | import pulumi 2 | import pulumi_civo as civo 3 | 4 | firewall = civo.Firewall("civo-firewall", create_default_rules=True, region="LON1") 5 | 6 | cluster = civo.KubernetesCluster( 7 | "civo-k3s-cluster", 8 | name="myFirstCivoCluster", 9 | region="LON1", 10 | firewall_id=firewall.id, 11 | pools={ 12 | "node_count": 3, 13 | "size": "g4s.kube.medium", 14 | }, 15 | ) 16 | 17 | pulumi.export("cluster_name", cluster.name) 18 | -------------------------------------------------------------------------------- /civo-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-civo>=2,<3 3 | -------------------------------------------------------------------------------- /civo-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /civo-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Civo TypeScript Pulumi program 6 | config: 7 | civo:token: 8 | description: The token that allows you access your CIVO account 9 | secret: true 10 | -------------------------------------------------------------------------------- /civo-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/civo": "2.3.4", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /container-aws-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /container-aws-csharp/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx -------------------------------------------------------------------------------- /container-aws-go/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx -------------------------------------------------------------------------------- /container-aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /container-aws-python/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx -------------------------------------------------------------------------------- /container-aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aws>=7.0.0,<8.0.0 3 | pulumi-awsx>=3.0.0,<4.0.0 4 | -------------------------------------------------------------------------------- /container-aws-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /container-aws-typescript/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx -------------------------------------------------------------------------------- /container-aws-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/aws": "^7.0.0", 9 | "@pulumi/awsx": "^3.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } -------------------------------------------------------------------------------- /container-aws-yaml/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM nginx -------------------------------------------------------------------------------- /container-azure-csharp/app/App.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net8.0 4 | enable 5 | enable 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /container-azure-csharp/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build 2 | WORKDIR /app 3 | 4 | COPY *.csproj ./ 5 | RUN dotnet restore 6 | 7 | COPY . . 8 | RUN dotnet publish -c Release -o out 9 | 10 | FROM mcr.microsoft.com/dotnet/aspnet:8.0 as base 11 | WORKDIR /app 12 | 13 | COPY --from=build /app/out . 14 | 15 | ENTRYPOINT ["dotnet", "App.dll"] 16 | -------------------------------------------------------------------------------- /container-azure-csharp/app/Program.cs: -------------------------------------------------------------------------------- 1 | var builder = WebApplication.CreateBuilder(args); 2 | var app = builder.Build(); 3 | 4 | app.MapGet("/", async (context) => 5 | { 6 | await context.Response.WriteAsJsonAsync(new 7 | { 8 | message = "Hello, world!" 9 | }); 10 | }); 11 | 12 | app.Run(); 13 | -------------------------------------------------------------------------------- /container-azure-csharp/app/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /container-azure-csharp/app/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /container-azure-go/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM --platform=linux/amd64 golang 2 | WORKDIR /usr/src/app 3 | 4 | COPY go.* ./ 5 | RUN go mod download 6 | 7 | COPY . . 8 | RUN go build -o /app 9 | 10 | ENTRYPOINT ["/app"] 11 | -------------------------------------------------------------------------------- /container-azure-go/app/go.mod: -------------------------------------------------------------------------------- 1 | module app 2 | 3 | go 1.20 4 | -------------------------------------------------------------------------------- /container-azure-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.21.7 4 | 5 | toolchain go1.22.1 6 | 7 | require ( 8 | github.com/pulumi/pulumi-azure-native-sdk/containerinstance/v2 v2.1.1 9 | github.com/pulumi/pulumi-azure-native-sdk/containerregistry/v2 v2.1.1 10 | github.com/pulumi/pulumi-azure-native-sdk/resources/v2 v2.0.0 11 | github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.6 12 | github.com/pulumi/pulumi-random/sdk/v4 v4.8.2 13 | github.com/pulumi/pulumi/sdk/v3 v3.128.0 14 | ) 15 | -------------------------------------------------------------------------------- /container-azure-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /container-azure-python/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.10-alpine 2 | WORKDIR /usr/src/app 3 | 4 | COPY requirements.txt ./ 5 | RUN pip install -r requirements.txt 6 | 7 | COPY . . 8 | 9 | CMD ["flask", "run"] 10 | -------------------------------------------------------------------------------- /container-azure-python/app/app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | 3 | app = Flask(__name__) 4 | 5 | @app.route("/") 6 | def index(): 7 | return { "message": "Hello, world!" } 8 | -------------------------------------------------------------------------------- /container-azure-python/app/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | -------------------------------------------------------------------------------- /container-azure-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure-native>=2.0.0,<3.0.0 3 | pulumi-random>=4.0.0,<5.0.0 4 | pulumi-docker-build>=0.0.0,<1.0.0 5 | -------------------------------------------------------------------------------- /container-azure-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /container-azure-typescript/app/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /container-azure-typescript/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:16 2 | WORKDIR /usr/src/app 3 | 4 | COPY package*.json ./ 5 | RUN npm install 6 | 7 | COPY . . 8 | 9 | CMD [ "node", "index.js" ] 10 | -------------------------------------------------------------------------------- /container-azure-typescript/app/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const express = require("express"); 4 | const app = express(); 5 | 6 | app.get("/", (req, res) => { 7 | res.json({ message: "Hello, world!" }); 8 | }); 9 | 10 | const port = process.env.PORT; 11 | app.listen(port, () => { 12 | console.log(`Listening on port ${port}`); 13 | }); 14 | -------------------------------------------------------------------------------- /container-azure-typescript/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}-app", 3 | "version": "0.1.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "start": "node index.js" 7 | }, 8 | "dependencies": { 9 | "express": "^4.16.1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /container-azure-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/azure-native": "^2.0.0", 9 | "@pulumi/docker-build": "^0.0.6", 10 | "@pulumi/random": "^4.8.2", 11 | "@pulumi/pulumi": "^3.113.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /container-gcp-csharp/app/App.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | net8.0 4 | enable 5 | enable 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /container-gcp-csharp/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build 2 | WORKDIR /app 3 | 4 | COPY *.csproj ./ 5 | RUN dotnet restore 6 | 7 | COPY . . 8 | RUN dotnet publish -c Release -o out 9 | 10 | FROM mcr.microsoft.com/dotnet/aspnet:8.0 as base 11 | WORKDIR /app 12 | 13 | COPY --from=build /app/out . 14 | 15 | ENTRYPOINT ["dotnet", "App.dll"] 16 | -------------------------------------------------------------------------------- /container-gcp-csharp/app/Program.cs: -------------------------------------------------------------------------------- 1 | var builder = WebApplication.CreateBuilder(args); 2 | var app = builder.Build(); 3 | 4 | app.MapGet("/", async (context) => 5 | { 6 | await context.Response.WriteAsJsonAsync(new 7 | { 8 | message = "Hello, world!" 9 | }); 10 | }); 11 | 12 | app.Run(); 13 | -------------------------------------------------------------------------------- /container-gcp-csharp/app/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /container-gcp-csharp/app/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "LogLevel": { 4 | "Default": "Information", 5 | "Microsoft.AspNetCore": "Warning" 6 | } 7 | }, 8 | "AllowedHosts": "*" 9 | } 10 | -------------------------------------------------------------------------------- /container-gcp-go/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM --platform=linux/amd64 golang 2 | WORKDIR /usr/src/app 3 | 4 | COPY go.* ./ 5 | RUN go mod download 6 | 7 | COPY . . 8 | RUN go build -o /app 9 | 10 | ENTRYPOINT ["/app"] 11 | -------------------------------------------------------------------------------- /container-gcp-go/app/go.mod: -------------------------------------------------------------------------------- 1 | module app 2 | 3 | go 1.20 4 | -------------------------------------------------------------------------------- /container-gcp-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.21.7 4 | 5 | toolchain go1.22.1 6 | 7 | require ( 8 | github.com/pulumi/pulumi-docker-build/sdk/go/dockerbuild v0.0.6 9 | github.com/pulumi/pulumi-gcp/sdk/v9 v9.0.0 10 | github.com/pulumi/pulumi-random/sdk/v4 v4.13.2 11 | github.com/pulumi/pulumi/sdk/v3 v3.128.0 12 | ) 13 | -------------------------------------------------------------------------------- /container-gcp-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /container-gcp-python/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM python:3.10-alpine 2 | WORKDIR /usr/src/app 3 | 4 | COPY requirements.txt ./ 5 | RUN pip install -r requirements.txt 6 | 7 | COPY . . 8 | 9 | CMD ["flask", "run", "--host=0.0.0.0"] 10 | -------------------------------------------------------------------------------- /container-gcp-python/app/app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask 2 | 3 | app = Flask(__name__) 4 | 5 | @app.route("/") 6 | def index(): 7 | return { "message": "Hello, world!" } 8 | -------------------------------------------------------------------------------- /container-gcp-python/app/requirements.txt: -------------------------------------------------------------------------------- 1 | Flask 2 | -------------------------------------------------------------------------------- /container-gcp-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-gcp>=9.0.0,<10.0.0 3 | pulumi-docker-build>=0.0.0,<1.0.0 4 | pulumi-random >=4.0.0,<5.0.0 5 | -------------------------------------------------------------------------------- /container-gcp-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /container-gcp-typescript/app/.dockerignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | npm-debug.log 3 | -------------------------------------------------------------------------------- /container-gcp-typescript/app/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM node:16 2 | WORKDIR /usr/src/app 3 | 4 | COPY package*.json ./ 5 | RUN npm install 6 | 7 | COPY . . 8 | 9 | CMD [ "node", "index.js" ] 10 | -------------------------------------------------------------------------------- /container-gcp-typescript/app/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | 3 | const express = require("express"); 4 | const app = express(); 5 | 6 | app.get("/", (req, res) => { 7 | res.json({ message: "Hello, world!" }); 8 | }); 9 | 10 | const port = process.env.PORT; 11 | app.listen(port, () => { 12 | console.log(`Listening on port ${port}`); 13 | }); 14 | -------------------------------------------------------------------------------- /container-gcp-typescript/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}-app", 3 | "version": "0.1.0", 4 | "main": "index.js", 5 | "scripts": { 6 | "start": "node index.js" 7 | }, 8 | "dependencies": { 9 | "express": "^4.16.1" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /container-gcp-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/docker-build": "^0.0.6", 10 | "@pulumi/gcp": "^9.0.0", 11 | "@pulumi/random": "^4.0.0", 12 | "@pulumi/pulumi": "^3.113.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using Pulumi; 3 | 4 | return await Deployment.RunAsync(() => 5 | { 6 | // Add your resources here 7 | // e.g. var resource = new Resource("name", new ResourceArgs { }); 8 | 9 | // Export outputs here 10 | return new Dictionary 11 | { 12 | ["outputKey"] = "outputValue" 13 | }; 14 | }); 15 | -------------------------------------------------------------------------------- /csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal C# Pulumi program" 6 | -------------------------------------------------------------------------------- /digitalocean-go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /digitalocean-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal DigitalOcean Go Pulumi program 6 | -------------------------------------------------------------------------------- /digitalocean-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-digitalocean/sdk/v4 v4.53.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /digitalocean-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /digitalocean-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal DigitalOcean JavaScript Pulumi program 9 | -------------------------------------------------------------------------------- /digitalocean-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const digitalocean = require("@pulumi/digitalocean"); 4 | 5 | // Create a DigitalOcean resource (Domain) 6 | const domain = new digitalocean.Domain("my-domain", { 7 | name: "my-domain.io" 8 | }); 9 | 10 | // Export the name of the domain 11 | exports.domainName = domain.name; 12 | -------------------------------------------------------------------------------- /digitalocean-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/digitalocean": "^4.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /digitalocean-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /digitalocean-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal DigitalOcean Python Pulumi program 6 | -------------------------------------------------------------------------------- /digitalocean-python/__main__.py: -------------------------------------------------------------------------------- 1 | """A DigitalOcean Python Pulumi program""" 2 | 3 | import pulumi 4 | import pulumi_digitalocean as do 5 | 6 | # Create a DigitalOcean resource (Domain) 7 | domain = do.Domain('my-domain', 8 | name='my-domain.io') 9 | 10 | # Export the name of the domain 11 | pulumi.export('domain_name', domain.name) 12 | -------------------------------------------------------------------------------- /digitalocean-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-digitalocean>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /digitalocean-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /digitalocean-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal DigitalOcean TypeScript Pulumi program 6 | -------------------------------------------------------------------------------- /digitalocean-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as digitalocean from "@pulumi/digitalocean"; 3 | 4 | // Create a DigitalOcean resource (Domain) 5 | const domain = new digitalocean.Domain("my-domain", { 6 | name: "my-domain.io" 7 | }); 8 | 9 | // Export the name of the domain 10 | export const domainName = domain.name; 11 | -------------------------------------------------------------------------------- /digitalocean-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/digitalocean": "^4.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /digitalocean-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal DigitalOcean Pulumi YAML program 6 | 7 | resources: 8 | # Create a DigitalOcean resource (Domain) 9 | domain: 10 | type: digitalocean:Domain 11 | properties: 12 | name: my-domain.io 13 | 14 | outputs: 15 | # Export the name of the domain 16 | domainName: ${domain.name} 17 | -------------------------------------------------------------------------------- /equinix-metal-go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /equinix-metal-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Equinix Metal Go Pulumi program 6 | -------------------------------------------------------------------------------- /equinix-metal-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-equinix-metal/sdk/v3 v3.2.1 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /equinix-metal-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /equinix-metal-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Equinix Metal JavaScript Pulumi program 9 | -------------------------------------------------------------------------------- /equinix-metal-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const metal = require("@pulumi/equinix-metal"); 4 | 5 | // Create an Equinix Metal resource (Project) 6 | const project = new metal.Project("my-test-project", { 7 | name: "my-project", 8 | }); 9 | 10 | // Export the name of the project 11 | exports.projectName = project.name; 12 | -------------------------------------------------------------------------------- /equinix-metal-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/equinix-metal": "^2.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /equinix-metal-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /equinix-metal-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Equinix Metal Python Pulumi program 6 | -------------------------------------------------------------------------------- /equinix-metal-python/__main__.py: -------------------------------------------------------------------------------- 1 | """An Equinix Metal Python Pulumi program""" 2 | 3 | import pulumi 4 | from pulumi_equinix_metal import metal 5 | 6 | # Create an Equinix Metal resource (project) 7 | project = metal.Project('my-test-project', 8 | name='my-test-project') 9 | 10 | # Export the name of the project 11 | pulumi.export('project_name', project.name) 12 | -------------------------------------------------------------------------------- /equinix-metal-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-equinix-metal>=2.0.0,<3.0.0 3 | -------------------------------------------------------------------------------- /equinix-metal-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /equinix-metal-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Equinix Metal TypeScript Pulumi program 6 | -------------------------------------------------------------------------------- /equinix-metal-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as metal from "@pulumi/equinix-metal"; 3 | 4 | // Create an Equinix Metal resource (Project) 5 | const project = new metal.Project("my-test-project", { 6 | name: "My Test Project", 7 | }); 8 | 9 | // Export the name of the project 10 | export const projectName = project.name; 11 | -------------------------------------------------------------------------------- /equinix-metal-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/equinix-metal": "^2.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /equinix-metal-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal Equinix Metal Pulumi YAML program 6 | 7 | resources: 8 | # Create an Equinix Metal resource (Project) 9 | project: 10 | type: metal:Project 11 | properties: 12 | name: My Test Project 13 | 14 | outputs: 15 | # Export the name of the project 16 | projectName: ${project.name} 17 | -------------------------------------------------------------------------------- /esc-connector-lambda-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /esc-connector-lambda-typescript/images/db_identifier.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/templates/17621eaa4e14dfacb2ba346d9ac91e97a260e17a/esc-connector-lambda-typescript/images/db_identifier.png -------------------------------------------------------------------------------- /esc-connector-lambda-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "esc-rotator-lambda", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^14" 6 | }, 7 | "dependencies": { 8 | "@pulumi/aws": "^7.0.0", 9 | "@pulumi/pulumi": "^3.0.0", 10 | "@pulumi/pulumiservice": "^0.29.1", 11 | "typescript": "^4.0.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /fsharp/${PROJECT}.fsproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /fsharp/Program.fs: -------------------------------------------------------------------------------- 1 | module Program 2 | 3 | open Pulumi.FSharp 4 | 5 | let infra () = 6 | // 7 | // Add your resources here. 8 | // 9 | 10 | // Export outputs here. 11 | dict [] 12 | 13 | [] 14 | let main _ = 15 | Deployment.run infra 16 | -------------------------------------------------------------------------------- /fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal F# Pulumi program" 6 | -------------------------------------------------------------------------------- /gcp-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /gcp-csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using Pulumi; 2 | using Pulumi.Gcp.Storage; 3 | using System.Collections.Generic; 4 | 5 | return await Deployment.RunAsync(() => 6 | { 7 | // Create a GCP resource (Storage Bucket) 8 | var bucket = new Bucket("my-bucket", new BucketArgs 9 | { 10 | Location = "US" 11 | }); 12 | 13 | // Export the DNS name of the bucket 14 | return new Dictionary 15 | { 16 | ["bucketName"] = bucket.Url 17 | }; 18 | }); 19 | -------------------------------------------------------------------------------- /gcp-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Google Cloud C# Pulumi program" 6 | important: true 7 | config: 8 | gcp:project: 9 | description: The Google Cloud project to deploy into 10 | -------------------------------------------------------------------------------- /gcp-fsharp/Program.fs: -------------------------------------------------------------------------------- 1 | module Program 2 | 3 | open Pulumi.FSharp 4 | open Pulumi.Gcp.Storage 5 | 6 | let infra () = 7 | // Create a GCP resource (Storage Bucket) 8 | let bucket = Bucket("my-bucket", BucketArgs(Location = "US")) 9 | 10 | // Export the DNS name of the bucket 11 | dict [("bucketName", bucket.Url :> obj)] 12 | 13 | [] 14 | let main _ = 15 | Deployment.run infra 16 | -------------------------------------------------------------------------------- /gcp-fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal GCP F# Pulumi program" 6 | config: 7 | gcp:project: 8 | description: The Google Cloud project to deploy into 9 | -------------------------------------------------------------------------------- /gcp-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Google Cloud Go Pulumi program 6 | important: true 7 | config: 8 | gcp:project: 9 | description: The Google Cloud project to deploy into 10 | -------------------------------------------------------------------------------- /gcp-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-gcp/sdk/v9 v9.2.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /gcp-java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal Google Cloud Java Pulumi program 6 | important: true 7 | config: 8 | gcp:project: 9 | description: The Google Cloud project to deploy into 10 | -------------------------------------------------------------------------------- /gcp-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /gcp-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Google Cloud JavaScript Pulumi program 9 | important: true 10 | config: 11 | gcp:project: 12 | description: The Google Cloud project to deploy into 13 | -------------------------------------------------------------------------------- /gcp-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const gcp = require("@pulumi/gcp"); 4 | 5 | // Create a GCP resource (Storage Bucket) 6 | const bucket = new gcp.storage.Bucket("my-bucket", { 7 | location: "US" 8 | }); 9 | 10 | // Export the DNS name of the bucket 11 | exports.bucketName = bucket.url; 12 | -------------------------------------------------------------------------------- /gcp-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/gcp": "^9.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /gcp-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /gcp-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Google Cloud Python Pulumi program 6 | important: true 7 | config: 8 | gcp:project: 9 | description: The Google Cloud project to deploy into 10 | -------------------------------------------------------------------------------- /gcp-python/__main__.py: -------------------------------------------------------------------------------- 1 | """A Google Cloud Python Pulumi program""" 2 | 3 | import pulumi 4 | from pulumi_gcp import storage 5 | 6 | # Create a GCP resource (Storage Bucket) 7 | bucket = storage.Bucket('my-bucket', location="US") 8 | 9 | # Export the DNS name of the bucket 10 | pulumi.export('bucket_name', bucket.url) 11 | -------------------------------------------------------------------------------- /gcp-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-gcp>=9.0.0,<10.0.0 3 | -------------------------------------------------------------------------------- /gcp-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /gcp-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Google Cloud TypeScript Pulumi program 6 | important: true 7 | config: 8 | gcp:project: 9 | description: The Google Cloud project to deploy into 10 | -------------------------------------------------------------------------------- /gcp-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as gcp from "@pulumi/gcp"; 3 | 4 | // Create a GCP resource (Storage Bucket) 5 | const bucket = new gcp.storage.Bucket("my-bucket", { 6 | location: "US" 7 | }); 8 | 9 | // Export the DNS name of the bucket 10 | export const bucketName = bucket.url; 11 | -------------------------------------------------------------------------------- /gcp-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/gcp": "^9.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /gcp-visualbasic/${PROJECT}.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /gcp-visualbasic/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal GCP VB.NET Pulumi program" 6 | config: 7 | gcp:project: 8 | description: The Google Cloud project to deploy into 9 | -------------------------------------------------------------------------------- /github-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /github-csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using Pulumi; 2 | using Pulumi.Github; 3 | using System.Collections.Generic; 4 | 5 | return await Deployment.RunAsync(() => 6 | { 7 | // Create a GitHub Repository 8 | var repository = new Repository("demo-repo", new RepositoryArgs 9 | { 10 | Description = "Demo Repository for GitHub", 11 | }); 12 | 13 | // Export the name of the repository 14 | return new Dictionary 15 | { 16 | ["repositoryName"] = repository.Name 17 | }; 18 | }); 19 | -------------------------------------------------------------------------------- /github-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A minimal GitHub C# Pulumi program 6 | config: 7 | github:token: 8 | description: The GitHub token to use for authentication 9 | secret: true 10 | github:owner: 11 | description: To target a specific GitHub organization or an individual user account, set the GitHub owner configuration value. 12 | -------------------------------------------------------------------------------- /github-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal GitHub Go Pulumi program 6 | config: 7 | github:token: 8 | description: The GitHub token to use for authentication 9 | secret: true 10 | github:owner: 11 | description: To target a specific GitHub organization or an individual user account, set the GitHub owner configuration value. -------------------------------------------------------------------------------- /github-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-github/sdk/v5 v5.3.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 8 | ) 9 | -------------------------------------------------------------------------------- /github-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /github-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal GitHub JavaScript Pulumi program. 9 | config: 10 | github:token: 11 | description: The GitHub token to use for authentication 12 | secret: true 13 | github:owner: 14 | description: To target a specific GitHub organization or an individual user account, set the GitHub owner configuration value. 15 | -------------------------------------------------------------------------------- /github-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const github = require("@pulumi/github") 4 | 5 | const repo = new github.Repository("demo-repo", { 6 | description: "Demo Repository for GitHub", 7 | }); 8 | 9 | exports.repositoryName = repo.name -------------------------------------------------------------------------------- /github-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.19.0", 6 | "@pulumi/github": "^4.8.1" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /github-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /github-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal GitHub Python Pulumi program 6 | config: 7 | github:token: 8 | description: The GitHub token to use for authentication 9 | secret: true 10 | github:owner: 11 | description: To target a specific GitHub organization or an individual user account, set the GitHub owner configuration value. 12 | -------------------------------------------------------------------------------- /github-python/__main__.py: -------------------------------------------------------------------------------- 1 | """A GitHub Python Pulumi program""" 2 | 3 | import pulumi 4 | import pulumi_github as github 5 | 6 | # Create a GitHub repository 7 | repository = github.Repository('demo-repo', description="Demo Repository for GitHub") 8 | 9 | # Export the Name of the repository 10 | pulumi.export('repositoryName', repository.name) 11 | -------------------------------------------------------------------------------- /github-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-github>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /github-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /github-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal GitHub TypeScript Pulumi program. 6 | config: 7 | github:token: 8 | description: The GitHub token to use for authentication 9 | secret: true 10 | github:owner: 11 | description: To target a specific GitHub organization or an individual user account, set the GitHub owner configuration value. 12 | -------------------------------------------------------------------------------- /github-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as github from "@pulumi/github"; 2 | 3 | const repo = new github.Repository("demo-repo", { 4 | description: "Demo Repository for GitHub", 5 | }); 6 | 7 | export const repositoryName = repo.name -------------------------------------------------------------------------------- /github-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/github": "^4.8.1", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Go Pulumi program 6 | -------------------------------------------------------------------------------- /go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 7 | ) 8 | -------------------------------------------------------------------------------- /go/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 5 | ) 6 | 7 | func main() { 8 | pulumi.Run(func(ctx *pulumi.Context) error { 9 | return nil 10 | }) 11 | } 12 | -------------------------------------------------------------------------------- /google-native-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /google-native-csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using Pulumi; 2 | using Pulumi.GoogleNative.Storage.V1; 3 | using System.Collections.Generic; 4 | 5 | return await Deployment.RunAsync(() => 6 | { 7 | // Create a Google Cloud resource (Storage Bucket) 8 | var bucket = new Bucket("my-bucket"); 9 | 10 | // Export the DNS name of the bucket 11 | return new Dictionary 12 | { 13 | ["bucketSelfLink"] = bucket.SelfLink 14 | }; 15 | }); 16 | -------------------------------------------------------------------------------- /google-native-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Google Cloud C# Pulumi program" 6 | config: 7 | google-native:project: 8 | description: The Google Cloud project to deploy into 9 | -------------------------------------------------------------------------------- /google-native-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Google Cloud Go Pulumi program 6 | config: 7 | google-native:project: 8 | description: The Google Cloud project to deploy into 9 | -------------------------------------------------------------------------------- /google-native-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-google-native/sdk v0.32.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /google-native-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /google-native-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: python 5 | options: 6 | virtualenv: venv 7 | template: 8 | description: A minimal Google Cloud Python Pulumi program 9 | config: 10 | google-native:project: 11 | description: The Google Cloud project to deploy into 12 | -------------------------------------------------------------------------------- /google-native-python/__main__.py: -------------------------------------------------------------------------------- 1 | """A Google Cloud Python Pulumi program""" 2 | 3 | import pulumi 4 | from pulumi_google_native.storage import v1 as storage 5 | 6 | # Create a Google Cloud resource (Storage Bucket) 7 | bucket = storage.Bucket('my-bucket') 8 | 9 | # Export the bucket self-link 10 | pulumi.export('bucketSelfLink', bucket.self_link) 11 | 12 | -------------------------------------------------------------------------------- /google-native-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-google-native>=0.7.0 3 | -------------------------------------------------------------------------------- /google-native-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /google-native-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Google Cloud TypeScript Pulumi program 6 | config: 7 | google-native:project: 8 | description: The Google Cloud project to deploy into 9 | -------------------------------------------------------------------------------- /google-native-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as storage from "@pulumi/google-native/storage/v1"; 2 | 3 | // Create a Google Cloud resource (Storage Bucket) 4 | const bucket = new storage.Bucket("my-bucket"); 5 | 6 | // Export the bucket self-link 7 | export const bucketSelfLink = bucket.selfLink; 8 | 9 | -------------------------------------------------------------------------------- /google-native-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/google-native": "^0.7.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /google-native-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal Google Cloud Pulumi YAML program 6 | config: 7 | google-native:project: 8 | description: The Google Cloud project to deploy into 9 | 10 | resources: 11 | # Create a Google Cloud resource (Storage Bucket) 12 | bucket: 13 | type: google-native:storage/v1:Bucket 14 | 15 | outputs: 16 | # Export the bucket self-link 17 | bucketSelfLink: ${bucket.selfLink} 18 | -------------------------------------------------------------------------------- /hello-aws-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /hello-aws-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A simple AWS serverless JavaScript Pulumi program 9 | config: 10 | aws:region: 11 | description: The AWS region to deploy into 12 | default: us-east-1 13 | -------------------------------------------------------------------------------- /hello-aws-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/aws": "^6.0.0", 7 | "@pulumi/awsx": "^2.0.2" 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /hello-aws-javascript/www/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/templates/17621eaa4e14dfacb2ba346d9ac91e97a260e17a/hello-aws-javascript/www/favicon.png -------------------------------------------------------------------------------- /helm-kubernetes-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /helm-kubernetes-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A C# program to deploy a Helm chart onto a Kubernetes cluster 6 | config: 7 | k8sNamespace: 8 | default: nginx-ingress 9 | description: The Kubernetes namespace to deploy into 10 | -------------------------------------------------------------------------------- /helm-kubernetes-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A Go program to deploy a Helm chart onto a Kubernetes cluster 6 | config: 7 | k8sNamespace: 8 | default: nginx-ingress 9 | description: The Kubernetes namespace to deploy into 10 | -------------------------------------------------------------------------------- /helm-kubernetes-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 7 | github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.0.3 8 | ) 9 | -------------------------------------------------------------------------------- /helm-kubernetes-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /helm-kubernetes-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A Python program to deploy a Helm chart onto a Kubernetes cluster 6 | config: 7 | k8sNamespace: 8 | default: nginx-ingress 9 | description: The Kubernetes namespace to deploy into 10 | -------------------------------------------------------------------------------- /helm-kubernetes-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-kubernetes>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /helm-kubernetes-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /helm-kubernetes-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A TypeScript program to deploy a Helm chart onto a Kubernetes cluster 6 | config: 7 | k8sNamespace: 8 | default: nginx-ingress 9 | description: The Kubernetes namespace to deploy into 10 | -------------------------------------------------------------------------------- /helm-kubernetes-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "test", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/kubernetes": "^4.0.0", 9 | "@pulumi/pulumi": "^3.113.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /java-gradle/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: "A minimal Java Pulumi program with Gradle builds" 6 | -------------------------------------------------------------------------------- /java-gradle/app/src/main/java/myproject/App.java: -------------------------------------------------------------------------------- 1 | package myproject; 2 | 3 | import com.pulumi.Pulumi; 4 | import com.pulumi.core.Output; 5 | 6 | public class App { 7 | public static void main(String[] args) { 8 | Pulumi.run(ctx -> { 9 | ctx.export("exampleOutput", Output.of("example")); 10 | }); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /java-gradle/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = '${PROJECT}' 2 | include('app') 3 | -------------------------------------------------------------------------------- /java-jbang/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: "A minimal Java Pulumi program with JBang" -------------------------------------------------------------------------------- /java-jbang/jbang.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pulumi/templates/17621eaa4e14dfacb2ba346d9ac91e97a260e17a/java-jbang/jbang.properties -------------------------------------------------------------------------------- /java-jbang/src/main.java: -------------------------------------------------------------------------------- 1 | //DEPS com.pulumi:pulumi:1.+ 2 | 3 | import com.pulumi.Pulumi; 4 | import com.pulumi.core.Output; 5 | 6 | public class main { 7 | public static void main(String[] args) { 8 | Pulumi.run(ctx -> { 9 | ctx.export("exampleOutput", Output.of("example")); 10 | }); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: "A minimal Java Pulumi program with Maven builds" 6 | -------------------------------------------------------------------------------- /java/src/main/java/myproject/App.java: -------------------------------------------------------------------------------- 1 | package myproject; 2 | 3 | import com.pulumi.Pulumi; 4 | import com.pulumi.core.Output; 5 | 6 | public class App { 7 | public static void main(String[] args) { 8 | Pulumi.run(ctx -> { 9 | ctx.export("exampleOutput", Output.of("example")); 10 | }); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal JavaScript Pulumi program 9 | -------------------------------------------------------------------------------- /javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | -------------------------------------------------------------------------------- /javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /kubernetes-aws-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-awsx/sdk/v2 v2.1.1 7 | github.com/pulumi/pulumi-eks/sdk/v3 v3.0.0 8 | github.com/pulumi/pulumi/sdk/v3 v3.91.1 9 | ) 10 | -------------------------------------------------------------------------------- /kubernetes-aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /kubernetes-aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-awsx>=2.0.0,<3.0.0 3 | pulumi-eks>=3.0.0,<4.0.0 4 | -------------------------------------------------------------------------------- /kubernetes-aws-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /kubernetes-aws-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/awsx": "^2.0.2", 9 | "@pulumi/eks": "^3.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kubernetes-azure-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kubernetes-azure-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-azure-native-sdk/containerservice/v2 v2.1.1 7 | github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.1.1 8 | github.com/pulumi/pulumi-azure-native-sdk/resources/v2 v2.1.1 9 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 10 | ) 11 | -------------------------------------------------------------------------------- /kubernetes-azure-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /kubernetes-azure-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure-native>=2.0.0,<3.0.0 3 | -------------------------------------------------------------------------------- /kubernetes-azure-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /kubernetes-azure-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/azure-native": "^2.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /kubernetes-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kubernetes-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Kubernetes C# Pulumi program" 6 | important: true 7 | -------------------------------------------------------------------------------- /kubernetes-fsharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal Kubernetes F# Pulumi program" 6 | -------------------------------------------------------------------------------- /kubernetes-gcp-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kubernetes-gcp-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A Go program to deploy a Kubernetes cluster on Google Cloud 6 | config: 7 | gcp:project: 8 | description: The Google Cloud project to deploy into 9 | gcp:region: 10 | default: us-central1 11 | description: The Google Cloud region to deploy into 12 | nodesPerZone: 13 | default: 1 14 | description: The desired number of nodes PER ZONE in the nodepool 15 | -------------------------------------------------------------------------------- /kubernetes-gcp-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-gcp/sdk/v9 v9.0.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.91.1 8 | ) 9 | -------------------------------------------------------------------------------- /kubernetes-gcp-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /kubernetes-gcp-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-gcp>=9.0.0,<10.0.0 3 | -------------------------------------------------------------------------------- /kubernetes-gcp-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /kubernetes-gcp-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/gcp": "^9.0.0", 9 | "@pulumi/pulumi": "^3.113.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /kubernetes-gcp-typescript/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "outDir": "bin", 5 | "target": "es2020", 6 | "module": "commonjs", 7 | "moduleResolution": "node", 8 | "sourceMap": true, 9 | "experimentalDecorators": true, 10 | "pretty": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "noImplicitReturns": true, 13 | "forceConsistentCasingInFileNames": true 14 | }, 15 | "files": [ 16 | "index.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /kubernetes-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: "A minimal Kubernetes Go Pulumi program" 6 | important: true 7 | -------------------------------------------------------------------------------- /kubernetes-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.23.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /kubernetes-java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal Kubernetes Java Pulumi program 6 | important: true 7 | -------------------------------------------------------------------------------- /kubernetes-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /kubernetes-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Kubernetes JavaScript Pulumi program 9 | important: true 10 | -------------------------------------------------------------------------------- /kubernetes-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const k8s = require("@pulumi/kubernetes"); 3 | 4 | const appLabels = { app: "nginx" }; 5 | const deployment = new k8s.apps.v1.Deployment("nginx", { 6 | spec: { 7 | selector: { matchLabels: appLabels }, 8 | replicas: 1, 9 | template: { 10 | metadata: { labels: appLabels }, 11 | spec: { containers: [{ name: "nginx", image: "nginx" }] } 12 | } 13 | } 14 | }); 15 | exports.name = deployment.metadata.name; 16 | -------------------------------------------------------------------------------- /kubernetes-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/kubernetes": "^4.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /kubernetes-ovh-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /kubernetes-ovh-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /kubernetes-ovh-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-ovh 3 | -------------------------------------------------------------------------------- /kubernetes-ovh-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /kubernetes-ovh-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ovh-typescript", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^16" 6 | }, 7 | "dependencies": { 8 | "@ovhcloud/pulumi-ovh": "^1.1.0", 9 | "@pulumi/pulumi": "^3.0.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /kubernetes-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /kubernetes-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Kubernetes Python Pulumi program 6 | important: true 7 | -------------------------------------------------------------------------------- /kubernetes-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-kubernetes>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /kubernetes-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /kubernetes-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Kubernetes TypeScript Pulumi program 6 | important: true 7 | -------------------------------------------------------------------------------- /kubernetes-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as k8s from "@pulumi/kubernetes"; 2 | 3 | const appLabels = { app: "nginx" }; 4 | const deployment = new k8s.apps.v1.Deployment("nginx", { 5 | spec: { 6 | selector: { matchLabels: appLabels }, 7 | replicas: 1, 8 | template: { 9 | metadata: { labels: appLabels }, 10 | spec: { containers: [{ name: "nginx", image: "nginx" }] } 11 | } 12 | } 13 | }); 14 | export const name = deployment.metadata.name; 15 | -------------------------------------------------------------------------------- /kubernetes-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/kubernetes": "^4.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /linode-go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /linode-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Linode Go Pulumi program 6 | config: 7 | linode:token: 8 | description: The token that allows you access to your Linode account 9 | secret: true 10 | -------------------------------------------------------------------------------- /linode-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-linode/sdk/v5 v5.3.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /linode-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /linode-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Linode JavaScript Pulumi program 9 | config: 10 | linode:token: 11 | description: The token that allows you access to your Linode account 12 | secret: true 13 | -------------------------------------------------------------------------------- /linode-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const linode = require("@pulumi/linode"); 4 | 5 | // Create a Linode resource (Linode Instance) 6 | const instance = new linode.Instance("my-instance", { 7 | type: "g6-nanode-1", 8 | region: "us-east", 9 | image: "linode/ubuntu18.04", 10 | }); 11 | 12 | // Export the Instance label of the instance 13 | exports.instanceLabel = instance.label; 14 | -------------------------------------------------------------------------------- /linode-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/linode": "^4.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /linode-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /linode-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Linode Python Pulumi program 6 | config: 7 | linode:token: 8 | description: The token that allows you access to your Linode account 9 | secret: true 10 | -------------------------------------------------------------------------------- /linode-python/__main__.py: -------------------------------------------------------------------------------- 1 | """A Linode Python Pulumi program""" 2 | 3 | import pulumi 4 | import pulumi_linode 5 | 6 | # Create a Linode resource (Linode Instance) 7 | instance = pulumi_linode.Instance('my-instance', type='g6-nanode-1', region='us-east', 8 | image='linode/ubuntu18.04') 9 | 10 | # Export the Instance label of the instance 11 | pulumi.export('instance_label', instance.label) 12 | -------------------------------------------------------------------------------- /linode-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-linode>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /linode-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /linode-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Linode TypeScript Pulumi program 6 | config: 7 | linode:token: 8 | description: The token that allows you access to your Linode account 9 | secret: true 10 | -------------------------------------------------------------------------------- /linode-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as linode from "@pulumi/linode"; 3 | 4 | // Create a Linode resource (Linode Instance) 5 | const instance = new linode.Instance("my-instance", { 6 | type: "g6-nanode-1", 7 | region: "us-east", 8 | image: "linode/ubuntu18.04", 9 | }); 10 | 11 | // Export the Instance label of the instance 12 | export const instanceLabel = instance.label; 13 | -------------------------------------------------------------------------------- /linode-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/linode": "^4.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /metadata/groups/container-service-aws.yaml: -------------------------------------------------------------------------------- 1 | name: Container Service 2 | kind: architecture 3 | parent: container-service 4 | slug: aws 5 | clouds: 6 | - aws 7 | templates: 8 | - container-aws-typescript 9 | - container-aws-python 10 | - container-aws-go 11 | - container-aws-csharp 12 | - container-aws-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/container-service-azure.yaml: -------------------------------------------------------------------------------- 1 | name: Container Service 2 | kind: architecture 3 | parent: container-service 4 | slug: azure 5 | clouds: 6 | - azure 7 | templates: 8 | - container-azure-typescript 9 | - container-azure-python 10 | - container-azure-go 11 | - container-azure-csharp 12 | -------------------------------------------------------------------------------- /metadata/groups/container-service-gcp.yaml: -------------------------------------------------------------------------------- 1 | name: Container Service 2 | kind: architecture 3 | parent: container-service 4 | slug: gcp 5 | clouds: 6 | - gcp 7 | templates: 8 | - container-gcp-typescript 9 | - container-gcp-python 10 | - container-gcp-go 11 | - container-gcp-csharp 12 | -------------------------------------------------------------------------------- /metadata/groups/helm-kubernetes.yaml: -------------------------------------------------------------------------------- 1 | name: Helm Chart 2 | kind: architecture 3 | parent: kubernetes-application 4 | slug: helm-chart 5 | clouds: 6 | - kubernetes 7 | templates: 8 | - helm-kubernetes-typescript 9 | - helm-kubernetes-python 10 | - helm-kubernetes-go 11 | - helm-kubernetes-csharp 12 | - helm-kubernetes-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/kubernetes-aws.yaml: -------------------------------------------------------------------------------- 1 | name: Kubernetes Cluster 2 | kind: architecture 3 | parent: kubernetes 4 | slug: aws 5 | clouds: 6 | - aws 7 | templates: 8 | - kubernetes-aws-typescript 9 | - kubernetes-aws-python 10 | - kubernetes-aws-go 11 | - kubernetes-aws-csharp 12 | - kubernetes-aws-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/kubernetes-azure.yaml: -------------------------------------------------------------------------------- 1 | name: Kubernetes Cluster 2 | kind: architecture 3 | parent: kubernetes 4 | slug: azure 5 | clouds: 6 | - azure 7 | templates: 8 | - kubernetes-azure-typescript 9 | - kubernetes-azure-python 10 | - kubernetes-azure-go 11 | - kubernetes-azure-csharp 12 | - kubernetes-azure-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/kubernetes-gcp.yaml: -------------------------------------------------------------------------------- 1 | name: Kubernetes Cluster 2 | kind: architecture 3 | parent: kubernetes 4 | slug: gcp 5 | clouds: 6 | - gcp 7 | templates: 8 | - kubernetes-gcp-typescript 9 | - kubernetes-gcp-python 10 | - kubernetes-gcp-go 11 | - kubernetes-gcp-yaml 12 | - kubernetes-gcp-csharp 13 | -------------------------------------------------------------------------------- /metadata/groups/serverless-application-aws.yaml: -------------------------------------------------------------------------------- 1 | name: Serverless Application 2 | kind: architecture 3 | parent: serverless-application 4 | slug: aws 5 | clouds: 6 | - aws 7 | templates: 8 | - serverless-aws-typescript 9 | - serverless-aws-python 10 | - serverless-aws-go 11 | - serverless-aws-csharp 12 | - serverless-aws-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/serverless-application-azure.yaml: -------------------------------------------------------------------------------- 1 | name: Serverless Application 2 | kind: architecture 3 | parent: serverless-application 4 | slug: azure 5 | clouds: 6 | - azure 7 | templates: 8 | - serverless-azure-typescript 9 | - serverless-azure-python 10 | - serverless-azure-go 11 | - serverless-azure-csharp 12 | - serverless-azure-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/serverless-application-gcp.yaml: -------------------------------------------------------------------------------- 1 | name: Serverless Application 2 | kind: architecture 3 | parent: serverless-application 4 | slug: gcp 5 | clouds: 6 | - gcp 7 | templates: 8 | - serverless-gcp-typescript 9 | - serverless-gcp-python 10 | - serverless-gcp-go 11 | - serverless-gcp-csharp 12 | - serverless-gcp-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/static-website-aws.yaml: -------------------------------------------------------------------------------- 1 | name: Static Website 2 | kind: architecture 3 | parent: static-website 4 | slug: aws 5 | clouds: 6 | - aws 7 | templates: 8 | - static-website-aws-typescript 9 | - static-website-aws-python 10 | - static-website-aws-go 11 | - static-website-aws-csharp 12 | - static-website-aws-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/static-website-azure.yaml: -------------------------------------------------------------------------------- 1 | name: Static Website 2 | kind: architecture 3 | parent: static-website 4 | slug: azure 5 | clouds: 6 | - azure 7 | templates: 8 | - static-website-azure-typescript 9 | - static-website-azure-python 10 | - static-website-azure-go 11 | - static-website-azure-csharp 12 | - static-website-azure-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/static-website-gcp.yaml: -------------------------------------------------------------------------------- 1 | name: Static Website 2 | kind: architecture 3 | parent: static-website 4 | slug: gcp 5 | clouds: 6 | - gcp 7 | templates: 8 | - static-website-gcp-typescript 9 | - static-website-gcp-python 10 | - static-website-gcp-go 11 | - static-website-gcp-csharp 12 | - static-website-gcp-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/virtual-machine-aws.yaml: -------------------------------------------------------------------------------- 1 | name: Virtual Machine 2 | kind: architecture 3 | parent: virtual-machine 4 | slug: aws 5 | clouds: 6 | - aws 7 | templates: 8 | - vm-aws-typescript 9 | - vm-aws-python 10 | - vm-aws-go 11 | - vm-aws-csharp 12 | - vm-aws-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/virtual-machine-azure.yaml: -------------------------------------------------------------------------------- 1 | name: Virtual Machine 2 | kind: architecture 3 | parent: virtual-machine 4 | slug: azure 5 | clouds: 6 | - azure 7 | templates: 8 | - vm-azure-typescript 9 | - vm-azure-python 10 | - vm-azure-go 11 | - vm-azure-csharp 12 | - vm-azure-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/virtual-machine-gcp.yaml: -------------------------------------------------------------------------------- 1 | name: Virtual Machine 2 | kind: architecture 3 | parent: virtual-machine 4 | slug: gcp 5 | clouds: 6 | - gcp 7 | templates: 8 | - vm-gcp-typescript 9 | - vm-gcp-python 10 | - vm-gcp-go 11 | - vm-gcp-csharp 12 | - vm-gcp-yaml 13 | -------------------------------------------------------------------------------- /metadata/groups/webapp-kubernetes.yaml: -------------------------------------------------------------------------------- 1 | name: Web Application 2 | kind: architecture 3 | parent: kubernetes-application 4 | slug: web-application 5 | clouds: 6 | - kubernetes 7 | templates: 8 | - webapp-kubernetes-typescript 9 | - webapp-kubernetes-python 10 | - webapp-kubernetes-go 11 | - webapp-kubernetes-csharp 12 | - webapp-kubernetes-yaml 13 | -------------------------------------------------------------------------------- /oci-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal OCI Go Pulumi program 6 | -------------------------------------------------------------------------------- /oci-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-oci/sdk/v3 v3.9.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /oci-java/.gitignore: -------------------------------------------------------------------------------- 1 | **/target 2 | -------------------------------------------------------------------------------- /oci-java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal Java Pulumi program with Maven builds 6 | -------------------------------------------------------------------------------- /oci-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /oci-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal OCI JavaScript Pulumi program 9 | -------------------------------------------------------------------------------- /oci-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "3.60.0", 6 | "@pulumi/oci": "0.13.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /oci-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /oci-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal OCI Python Pulumi program 6 | -------------------------------------------------------------------------------- /oci-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi==3.60.0 2 | pulumi-oci==0.13.0 3 | -------------------------------------------------------------------------------- /oci-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /oci-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal OCI TypeScript Pulumi program 6 | -------------------------------------------------------------------------------- /oci-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/oci": "0.13.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /openstack-go/.gitignore: -------------------------------------------------------------------------------- 1 | /vendor/ 2 | -------------------------------------------------------------------------------- /openstack-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal OpenStack Go Pulumi program 6 | -------------------------------------------------------------------------------- /openstack-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.23 4 | 5 | require ( 6 | github.com/pulumi/pulumi-openstack/sdk/v5 v5.3.3 7 | github.com/pulumi/pulumi/sdk/v3 v3.201.0 8 | ) 9 | -------------------------------------------------------------------------------- /openstack-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /openstack-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal OpenStack JavaScript Pulumi program 9 | -------------------------------------------------------------------------------- /openstack-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const os = require("@pulumi/openstack"); 4 | 5 | // Create an OpenStack resource (Compute Instance) 6 | const instance = new os.compute.Instance("test", { 7 | flavorName: "s1-2", 8 | imageName: "Ubuntu 22.04", 9 | }); 10 | 11 | // Export the IP of the instance 12 | exports.instanceIP = instance.accessIpV4; 13 | -------------------------------------------------------------------------------- /openstack-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pulumi/openstack": "^3.0.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /openstack-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /openstack-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal OpenStack Python Pulumi program 6 | -------------------------------------------------------------------------------- /openstack-python/__main__.py: -------------------------------------------------------------------------------- 1 | """An OpenStack Python Pulumi program""" 2 | 3 | import pulumi 4 | from pulumi_openstack import compute 5 | 6 | # Create an OpenStack resource (Compute Instance) 7 | instance = compute.Instance('test', 8 | flavor_name='s1-2', 9 | image_name='Ubuntu 22.04') 10 | 11 | # Export the IP of the instance 12 | pulumi.export('instance_ip', instance.access_ip_v4) 13 | -------------------------------------------------------------------------------- /openstack-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-openstack>=3.0.0,<4.0.0 3 | -------------------------------------------------------------------------------- /openstack-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /openstack-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal OpenStack TypeScript Pulumi program 6 | -------------------------------------------------------------------------------- /openstack-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as os from "@pulumi/openstack"; 3 | 4 | // Create an OpenStack resource (Compute Instance) 5 | const instance = new os.compute.Instance("test", { 6 | flavorName: "s1-2", 7 | imageName: "Ubuntu 22.04", 8 | }); 9 | 10 | // Export the IP of the instance 11 | export const instanceIP = instance.accessIpV4; 12 | -------------------------------------------------------------------------------- /openstack-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/openstack": "^3.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /openstack-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal OpenStack Pulumi YAML program 6 | 7 | resources: 8 | # Create an OpenStack resource (Compute Instance) 9 | instance: 10 | type: openstack:compute:Instance 11 | properties: 12 | flavorName: s1-2 13 | imageName: Ubuntu 22.04 14 | 15 | outputs: 16 | # Export the IP of the instance 17 | instanceIP: ${instance.accessIpV4} 18 | -------------------------------------------------------------------------------- /ovh-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /ovh-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /ovh-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-ovh 3 | -------------------------------------------------------------------------------- /ovh-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /ovh-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "ovh-typescript", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^16" 6 | }, 7 | "dependencies": { 8 | "@ovhcloud/pulumi-ovh": "^1.1.0", 9 | "@pulumi/pulumi": "^3.0.0" 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "pulumi-templates", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "metadata": "node scripts/build-metadata.js", 7 | "test": "jest" 8 | }, 9 | "dependencies": { 10 | "glob": "^8.0.3", 11 | "jest": "^29.2.0", 12 | "js-yaml": "^4.1.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /pinecone-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /pinecone-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A minimal Pinecone C# Pulumi program 6 | -------------------------------------------------------------------------------- /pinecone-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Pinecone Go Pulumi program 6 | -------------------------------------------------------------------------------- /pinecone-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pinecone-io/pulumi-pinecone/sdk v0.3.1 7 | github.com/pulumi/pulumi/sdk/v3 v3.101.1 8 | ) 9 | -------------------------------------------------------------------------------- /pinecone-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /pinecone-javascript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: nodejs 5 | options: 6 | typescript: false 7 | template: 8 | description: A minimal Pinecone JavaScript Pulumi program 9 | -------------------------------------------------------------------------------- /pinecone-javascript/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | const pulumi = require("@pulumi/pulumi"); 3 | const pinecone = require("@pinecone-database/pulumi"); 4 | 5 | const myExampleIndex = new pinecone.PineconeIndex("my-example-index", { 6 | name: "my-example-index", 7 | metric: pinecone.IndexMetric.Cosine, 8 | spec: { 9 | serverless: { 10 | cloud: pinecone.ServerlessSpecCloud.Aws, 11 | region: "us-west-2", 12 | } 13 | } 14 | }); 15 | 16 | exports.host = myExampleIndex.host; 17 | -------------------------------------------------------------------------------- /pinecone-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.js", 4 | "dependencies": { 5 | "@pulumi/pulumi": "^3.0.0", 6 | "@pinecone-database/pulumi": "^0.3.0" 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /pinecone-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /pinecone-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: python 5 | options: 6 | virtualenv: venv 7 | template: 8 | description: A minimal Pinecone Python Pulumi program 9 | -------------------------------------------------------------------------------- /pinecone-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pinecone_pulumi>=0.3.0,<0.4.0 3 | -------------------------------------------------------------------------------- /pinecone-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /pinecone-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Pinecone TypeScript Pulumi program 6 | -------------------------------------------------------------------------------- /pinecone-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | import * as pinecone from "@pinecone-database/pulumi"; 3 | 4 | const myExampleIndex = new pinecone.PineconeIndex("my-example-index", { 5 | name: "example-index-ts", 6 | metric: pinecone.IndexMetric.Cosine, 7 | spec: { 8 | serverless: { 9 | cloud: pinecone.ServerlessSpecCloud.Aws, 10 | region: "us-west-2", 11 | }, 12 | }, 13 | }); 14 | export const host = myExampleIndex.host; 15 | -------------------------------------------------------------------------------- /pinecone-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pinecone-database/pulumi": "^0.3.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /pinecone-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal Pinecone Pulumi YAML program 6 | 7 | resources: 8 | myExampleIndex: 9 | type: pinecone:index:PineconeIndex 10 | properties: 11 | name: "example-index" 12 | metric: "cosine" 13 | spec: 14 | serverless: 15 | cloud: aws 16 | region: us-west-2 17 | 18 | outputs: 19 | output: 20 | value: ${myExampleIndex.host} 21 | -------------------------------------------------------------------------------- /python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Python Pulumi program 6 | -------------------------------------------------------------------------------- /python/__main__.py: -------------------------------------------------------------------------------- 1 | """A Python Pulumi program""" 2 | 3 | import pulumi 4 | -------------------------------------------------------------------------------- /python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | -------------------------------------------------------------------------------- /random-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /random-csharp/Program.cs: -------------------------------------------------------------------------------- 1 | using Pulumi; 2 | using Pulumi.Random; 3 | using System.Collections.Generic; 4 | 5 | return await Deployment.RunAsync(() => 6 | { 7 | var username = new RandomPet("username", new RandomPetArgs{}); 8 | 9 | return new Dictionary 10 | { 11 | ["name"] = username.Id 12 | }; 13 | }); 14 | -------------------------------------------------------------------------------- /random-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A minimal Random C# Pulumi program. -------------------------------------------------------------------------------- /random-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A minimal Random Go Pulumi program. -------------------------------------------------------------------------------- /random-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-random/sdk/v4 v4.13.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.39.1 8 | ) 9 | -------------------------------------------------------------------------------- /random-go/main.go: -------------------------------------------------------------------------------- 1 | package main 2 | 3 | import ( 4 | "github.com/pulumi/pulumi-random/sdk/v4/go/random" 5 | "github.com/pulumi/pulumi/sdk/v3/go/pulumi" 6 | ) 7 | 8 | func main() { 9 | pulumi.Run(func(ctx *pulumi.Context) error { 10 | username, err := random.NewRandomPet(ctx, "username", &random.RandomPetArgs{}) 11 | if err != nil { 12 | return err 13 | } 14 | 15 | ctx.Export("name", username.ID()) 16 | return nil 17 | }) 18 | } 19 | -------------------------------------------------------------------------------- /random-java/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: java 4 | template: 5 | description: A minimal Random Java Pulumi program 6 | important: true 7 | -------------------------------------------------------------------------------- /random-java/src/main/java/myproject/App.java: -------------------------------------------------------------------------------- 1 | package myproject; 2 | 3 | import com.pulumi.Pulumi; 4 | import com.pulumi.random.RandomPet; 5 | 6 | public class App { 7 | public static void main(String[] args) { 8 | Pulumi.run(ctx -> { 9 | var username = new RandomPet("username"); 10 | 11 | ctx.export("name", username.id()); 12 | }); 13 | } 14 | } -------------------------------------------------------------------------------- /random-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /random-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A minimal Random Python Pulumi program. -------------------------------------------------------------------------------- /random-python/__main__.py: -------------------------------------------------------------------------------- 1 | """A Random Python Pulumi program""" 2 | 3 | import pulumi 4 | import pulumi_random as random 5 | 6 | username = random.RandomPet('username') 7 | 8 | pulumi.export('name', username.id) 9 | -------------------------------------------------------------------------------- /random-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-random>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /random-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /random-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal Random TypeScript Pulumi program. -------------------------------------------------------------------------------- /random-typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as random from "@pulumi/random"; 2 | 3 | const username = new random.RandomPet("username", {}); 4 | 5 | export const name = username.id -------------------------------------------------------------------------------- /random-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/random": "^4.13.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /random-yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal Random Pulumi YAML program. 6 | 7 | resources: 8 | username: 9 | type: random:RandomPet 10 | 11 | outputs: 12 | name: ${username.id} -------------------------------------------------------------------------------- /rediscloud-go/go.mod: -------------------------------------------------------------------------------- 1 | module rediscloudgo 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/RedisLabs/pulumi-rediscloud/sdk v1.3.3 7 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 8 | ) 9 | -------------------------------------------------------------------------------- /rediscloud-javascript/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /rediscloud-javascript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "type": "module", 4 | "main": "index.js", 5 | "dependencies": { 6 | "@pulumi/pulumi": "3.60.0", 7 | "@rediscloud/pulumi-rediscloud": "^1.2.5" 8 | } 9 | } -------------------------------------------------------------------------------- /rediscloud-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /rediscloud-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi_rediscloud>=1.1.0,<2.0.0 3 | -------------------------------------------------------------------------------- /sagemaker-aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /sagemaker-aws-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A Python program to deploy a Huggingface LLM model to Amazon SageMaker with CloudWatch monitoring 6 | config: 7 | aws:region: 8 | description: The AWS region where resources will be created 9 | default: us-east-1 10 | -------------------------------------------------------------------------------- /sagemaker-aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aws>=7.0.0,<8.0.0 3 | sagemaker>=2.161.0 4 | -------------------------------------------------------------------------------- /serverless-aws-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /serverless-aws-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A C# program to deploy a serverless application on AWS 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-west-2 10 | -------------------------------------------------------------------------------- /serverless-aws-csharp/function/handler.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | 3 | def handler(event, context): 4 | return { 5 | 'statusCode': 200, 6 | 'body': datetime.now().isoformat() 7 | } -------------------------------------------------------------------------------- /serverless-aws-csharp/www/index.html: -------------------------------------------------------------------------------- 1 |

Serverless with Pulumi

2 | 3 | The current time is: . 4 | 5 | -------------------------------------------------------------------------------- /serverless-aws-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A Go program to deploy a serverless application on AWS 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-west-2 10 | -------------------------------------------------------------------------------- /serverless-aws-go/function/handler.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | 3 | def handler(event, context): 4 | return { 5 | 'statusCode': 200, 6 | 'body': datetime.now().isoformat() 7 | } -------------------------------------------------------------------------------- /serverless-aws-go/www/index.html: -------------------------------------------------------------------------------- 1 |

Serverless with Pulumi

2 | 3 | The current time is: . 4 | 5 | -------------------------------------------------------------------------------- /serverless-aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /serverless-aws-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: 4 | name: python 5 | options: 6 | virtualenv: venv 7 | template: 8 | description: A Python program to deploy a serverless application on AWS 9 | config: 10 | aws:region: 11 | description: The AWS region to deploy into 12 | default: us-west-2 13 | 14 | -------------------------------------------------------------------------------- /serverless-aws-python/function/handler.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | 3 | def handler(event, context): 4 | return { 5 | 'statusCode': 200, 6 | 'body': datetime.now().isoformat() 7 | } -------------------------------------------------------------------------------- /serverless-aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aws>=7.0.0,<8.0.0 3 | pulumi-aws-apigateway>=3.0.0,<4.0.0 4 | pulumi-awsx>=3.0.0,<4.0.0 5 | -------------------------------------------------------------------------------- /serverless-aws-python/www/index.html: -------------------------------------------------------------------------------- 1 |

Serverless with Pulumi

2 | 3 | The current time is: . 4 | 5 | -------------------------------------------------------------------------------- /serverless-aws-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /serverless-aws-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A TypeScript program to deploy a serverless application on AWS 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-west-2 10 | -------------------------------------------------------------------------------- /serverless-aws-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/aws": "^7.0.0", 9 | "@pulumi/aws-apigateway": "^2.0.0", 10 | "@pulumi/awsx": "^2.0.2", 11 | "@pulumi/pulumi": "^3.113.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /serverless-aws-typescript/www/index.html: -------------------------------------------------------------------------------- 1 |

Serverless with Pulumi

2 | 3 | The current time is: . 4 | 5 | -------------------------------------------------------------------------------- /serverless-aws-yaml/function/handler.py: -------------------------------------------------------------------------------- 1 | from datetime import datetime 2 | 3 | def handler(event, context): 4 | return { 5 | 'statusCode': 200, 6 | 'body': datetime.now().isoformat() 7 | } -------------------------------------------------------------------------------- /serverless-aws-yaml/www/index.html: -------------------------------------------------------------------------------- 1 |

Serverless with Pulumi

2 | 3 | The current time is: . 4 | 5 | -------------------------------------------------------------------------------- /serverless-azure-csharp/app/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingSettings": { 6 | "isEnabled": true, 7 | "excludedTypes": "Request" 8 | } 9 | } 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /serverless-azure-csharp/app/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "AzureWebJobsStorage": "UseDevelopmentStorage=true", 5 | "FUNCTIONS_WORKER_RUNTIME": "dotnet" 6 | } 7 | } -------------------------------------------------------------------------------- /serverless-azure-csharp/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-azure-go/app/.gitignore: -------------------------------------------------------------------------------- 1 | /app 2 | -------------------------------------------------------------------------------- /serverless-azure-go/app/data/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "authLevel": "Anonymous", 5 | "type": "httpTrigger", 6 | "direction": "in", 7 | "name": "req", 8 | "methods": [ 9 | "get" 10 | ] 11 | }, 12 | { 13 | "type": "http", 14 | "direction": "out", 15 | "name": "res" 16 | } 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /serverless-azure-go/app/go.mod: -------------------------------------------------------------------------------- 1 | module fn 2 | 3 | go 1.20 4 | -------------------------------------------------------------------------------- /serverless-azure-go/app/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "FUNCTIONS_WORKER_RUNTIME": "custom", 5 | "AzureWebJobsStorage": "" 6 | } 7 | } -------------------------------------------------------------------------------- /serverless-azure-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-azure-native-sdk/resources/v2 v2.1.1 7 | github.com/pulumi/pulumi-azure-native-sdk/storage/v2 v2.1.1 8 | github.com/pulumi/pulumi-azure-native-sdk/web/v2 v2.1.1 9 | github.com/pulumi/pulumi-command/sdk v0.7.0 10 | github.com/pulumi/pulumi-synced-folder/sdk v0.0.9 11 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 12 | ) 13 | -------------------------------------------------------------------------------- /serverless-azure-go/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-azure-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /serverless-azure-python/app/data/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "scriptFile": "__init__.py", 3 | "bindings": [ 4 | { 5 | "authLevel": "Anonymous", 6 | "type": "httpTrigger", 7 | "direction": "in", 8 | "name": "req", 9 | "methods": [ 10 | "get" 11 | ] 12 | }, 13 | { 14 | "type": "http", 15 | "direction": "out", 16 | "name": "$return" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /serverless-azure-python/app/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingSettings": { 6 | "isEnabled": true, 7 | "excludedTypes": "Request" 8 | } 9 | } 10 | }, 11 | "extensionBundle": { 12 | "id": "Microsoft.Azure.Functions.ExtensionBundle", 13 | "version": "[3.*, 4.0.0)" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /serverless-azure-python/app/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "FUNCTIONS_WORKER_RUNTIME": "python", 5 | "AzureWebJobsStorage": "" 6 | } 7 | } -------------------------------------------------------------------------------- /serverless-azure-python/app/requirements.txt: -------------------------------------------------------------------------------- 1 | # Do not include azure-functions-worker in this file 2 | # The Python Worker is managed by the Azure Functions platform 3 | # Manually managing azure-functions-worker may cause unexpected issues 4 | 5 | azure-functions -------------------------------------------------------------------------------- /serverless-azure-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure-native>=2.0.0,<3.0.0 3 | pulumi-synced-folder>=0.0.0,<1.0.0 4 | -------------------------------------------------------------------------------- /serverless-azure-python/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-azure-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /serverless-azure-typescript/app/data/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "bindings": [ 3 | { 4 | "authLevel": "anonymous", 5 | "type": "httpTrigger", 6 | "direction": "in", 7 | "name": "req", 8 | "methods": [ 9 | "get", 10 | "options" 11 | ] 12 | }, 13 | { 14 | "type": "http", 15 | "direction": "out", 16 | "name": "res" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /serverless-azure-typescript/app/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0" 3 | } 4 | -------------------------------------------------------------------------------- /serverless-azure-typescript/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}-app", 3 | "version": "0.1.0" 4 | } 5 | -------------------------------------------------------------------------------- /serverless-azure-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/azure-native": "^2.0.0", 9 | "@pulumi/synced-folder": "^0.0.9", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /serverless-azure-typescript/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-azure-yaml/app/data/function.json: -------------------------------------------------------------------------------- 1 | { 2 | "scriptFile": "__init__.py", 3 | "bindings": [ 4 | { 5 | "authLevel": "Anonymous", 6 | "type": "httpTrigger", 7 | "direction": "in", 8 | "name": "req", 9 | "methods": [ 10 | "get" 11 | ] 12 | }, 13 | { 14 | "type": "http", 15 | "direction": "out", 16 | "name": "$return" 17 | } 18 | ] 19 | } 20 | -------------------------------------------------------------------------------- /serverless-azure-yaml/app/host.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "2.0", 3 | "logging": { 4 | "applicationInsights": { 5 | "samplingSettings": { 6 | "isEnabled": true, 7 | "excludedTypes": "Request" 8 | } 9 | } 10 | }, 11 | "extensionBundle": { 12 | "id": "Microsoft.Azure.Functions.ExtensionBundle", 13 | "version": "[3.*, 4.0.0)" 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /serverless-azure-yaml/app/local.settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "IsEncrypted": false, 3 | "Values": { 4 | "FUNCTIONS_WORKER_RUNTIME": "python", 5 | "AzureWebJobsStorage": "" 6 | } 7 | } -------------------------------------------------------------------------------- /serverless-azure-yaml/app/requirements.txt: -------------------------------------------------------------------------------- 1 | # Do not include azure-functions-worker in this file 2 | # The Python Worker is managed by the Azure Functions platform 3 | # Manually managing azure-functions-worker may cause unexpected issues 4 | 5 | azure-functions -------------------------------------------------------------------------------- /serverless-azure-yaml/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-gcp-csharp/app/App.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | Exe 4 | net8.0 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /serverless-gcp-csharp/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-gcp-go/app/go.mod: -------------------------------------------------------------------------------- 1 | module example.com/${PROJECT}/api 2 | 3 | go 1.16 4 | 5 | require cloud.google.com/go/functions v1.0.0 6 | -------------------------------------------------------------------------------- /serverless-gcp-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-gcp/sdk/v9 v9.0.0 7 | github.com/pulumi/pulumi-synced-folder/sdk v0.0.9 8 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 9 | ) 10 | -------------------------------------------------------------------------------- /serverless-gcp-go/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-gcp-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /serverless-gcp-python/app/requirements.txt: -------------------------------------------------------------------------------- 1 | functions-framework==3.2.0 2 | flask==2.1.0 3 | -------------------------------------------------------------------------------- /serverless-gcp-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-gcp>=9.0.0,<10.0.0 3 | pulumi-synced-folder>=0.0.0,<1.0.0 4 | -------------------------------------------------------------------------------- /serverless-gcp-python/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-gcp-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /serverless-gcp-typescript/app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}-app", 3 | "version": "0.1.0", 4 | "dependencies": { 5 | "@google-cloud/functions-framework": "^3.1.0" 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /serverless-gcp-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/gcp": "^9.0.0", 10 | "@pulumi/synced-folder": "^0.0.9", 11 | "@pulumi/pulumi": "^3.113.0" 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /serverless-gcp-typescript/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /serverless-gcp-yaml/app/requirements.txt: -------------------------------------------------------------------------------- 1 | functions-framework==3.2.0 2 | flask==2.1.0 3 | -------------------------------------------------------------------------------- /serverless-gcp-yaml/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-aws-csharp/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-aws-csharp/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-aws-go/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-aws-go/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /static-website-aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aws>=7.0.0,<8.0.0 3 | pulumi-synced-folder>=0.0.0,<1.0.0 4 | -------------------------------------------------------------------------------- /static-website-aws-python/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-aws-python/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-aws-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /static-website-aws-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/aws": "^7.0.0", 9 | "@pulumi/synced-folder": "^0.11.1", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static-website-aws-typescript/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-aws-typescript/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-aws-yaml/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-aws-yaml/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-azure-csharp/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-azure-csharp/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-azure-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-azure-native-sdk/cdn/v2 v2.1.1 7 | github.com/pulumi/pulumi-azure-native-sdk/resources/v2 v2.1.1 8 | github.com/pulumi/pulumi-azure-native-sdk/storage/v2 v2.1.1 9 | github.com/pulumi/pulumi-synced-folder/sdk v0.0.9 10 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 11 | ) 12 | -------------------------------------------------------------------------------- /static-website-azure-go/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-azure-go/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-azure-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /static-website-azure-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure-native>=2.0.0,<3.0.0 3 | pulumi-synced-folder>=0.0.0,<1.0.0 4 | -------------------------------------------------------------------------------- /static-website-azure-python/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-azure-python/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-azure-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /static-website-azure-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/azure-native": "^2.0.0", 9 | "@pulumi/synced-folder": "^0.0.9", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static-website-azure-typescript/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-azure-typescript/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-azure-yaml/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-azure-yaml/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-gcp-csharp/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-gcp-csharp/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-gcp-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-gcp/sdk/v9 v9.0.0 7 | github.com/pulumi/pulumi-synced-folder/sdk v0.0.9 8 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 9 | ) 10 | -------------------------------------------------------------------------------- /static-website-gcp-go/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-gcp-go/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-gcp-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /static-website-gcp-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-gcp>=9.0.0,<10.0.0 3 | pulumi-synced-folder>=0.0.0,<1.0.0 4 | -------------------------------------------------------------------------------- /static-website-gcp-python/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-gcp-python/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-gcp-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /static-website-gcp-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/gcp": "^9.0.0", 9 | "@pulumi/synced-folder": "^0.0.9", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /static-website-gcp-typescript/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-gcp-typescript/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /static-website-gcp-yaml/www/error.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Page not found 6 | 7 | 8 | Oops! That page wasn't found. Try our home page instead. 9 | 10 | 11 | -------------------------------------------------------------------------------- /static-website-gcp-yaml/www/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Hello, world! 6 | 7 | 8 |

Hello, world! 👋

9 |

Deployed with 💜 by Pulumi.

10 | 11 | 12 | -------------------------------------------------------------------------------- /typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A minimal TypeScript Pulumi program 6 | -------------------------------------------------------------------------------- /typescript/index.ts: -------------------------------------------------------------------------------- 1 | import * as pulumi from "@pulumi/pulumi"; 2 | -------------------------------------------------------------------------------- /typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/pulumi": "^3.113.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /visualbasic/${PROJECT}.vbproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /visualbasic/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: "A minimal VB.NET Pulumi program" 6 | -------------------------------------------------------------------------------- /vm-aws-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /vm-aws-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A C# program to deploy a virtual machine on Amazon EC2 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-west-2 10 | instanceType: 11 | description: The Amazon EC2 instance type 12 | default: t3.micro 13 | vpcNetworkCidr: 14 | description: The network CIDR to use for the VPC 15 | default: 10.0.0.0/16 16 | -------------------------------------------------------------------------------- /vm-aws-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A Go program to deploy a virtual machine on Amazon EC2 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-west-2 10 | instanceType: 11 | description: The Amazon EC2 instance type 12 | default: t3.micro 13 | vpcNetworkCidr: 14 | description: The network CIDR to use for the VPC 15 | default: 10.0.0.0/16 16 | -------------------------------------------------------------------------------- /vm-aws-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /vm-aws-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A Python program to deploy a virtual machine on Amazon EC2 6 | config: 7 | aws:region: 8 | description: The AWS region to deploy into 9 | default: us-west-2 10 | instanceType: 11 | description: The Amazon EC2 instance type 12 | default: t3.micro 13 | vpcNetworkCidr: 14 | description: The network CIDR to use for the VPC 15 | default: 10.0.0.0/16 16 | -------------------------------------------------------------------------------- /vm-aws-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-aws>=7.0.0,<8.0.0 3 | -------------------------------------------------------------------------------- /vm-aws-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /vm-aws-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/aws": "^7.0.0", 9 | "@pulumi/pulumi": "^3.113.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /vm-azure-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-azure-native-sdk/compute/v2 v2.1.1 7 | github.com/pulumi/pulumi-azure-native-sdk/network/v2 v2.1.1 8 | github.com/pulumi/pulumi-azure-native-sdk/resources/v2 v2.1.1 9 | github.com/pulumi/pulumi-random/sdk/v4 v4.8.2 10 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 11 | github.com/pulumi/pulumi-tls/sdk/v4 v4.11.1 12 | ) 13 | -------------------------------------------------------------------------------- /vm-azure-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /vm-azure-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-azure-native>=2.0.0,<3.0.0 3 | pulumi-random>=4.0.0,<5.0.0 4 | pulumi-tls>=4.0.0,<5.0.0 5 | -------------------------------------------------------------------------------- /vm-azure-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /vm-azure-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vm-azure-typescript", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/azure-native": "^2.0.0", 10 | "@pulumi/random": "^4.8.2", 11 | "@pulumi/tls": "^4.0.0", 12 | "@pulumi/pulumi": "^3.113.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /vm-gcp-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /vm-gcp-go/go.mod: -------------------------------------------------------------------------------- 1 | module ${PROJECT} 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi-gcp/sdk/v9 v9.0.0 7 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 8 | ) 9 | -------------------------------------------------------------------------------- /vm-gcp-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ 3 | -------------------------------------------------------------------------------- /vm-gcp-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-gcp>=9.0.0,<10.0.0 3 | -------------------------------------------------------------------------------- /vm-gcp-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ 3 | -------------------------------------------------------------------------------- /vm-gcp-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "${PROJECT}", 3 | "main": "index.ts", 4 | "devDependencies": { 5 | "@types/node": "^18", 6 | "typescript": "^5.0.0" 7 | }, 8 | "dependencies": { 9 | "@pulumi/gcp": "^9.0.0", 10 | "@pulumi/pulumi": "^3.113.0" 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /webapp-kubernetes-csharp/${PROJECT}.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Exe 5 | net8.0 6 | enable 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /webapp-kubernetes-csharp/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: dotnet 4 | template: 5 | description: A C# program to deploy a web application onto a Kubernetes cluster 6 | config: 7 | namespace: 8 | default: default 9 | description: The Kubernetes namespace to deploy into 10 | replicas: 11 | default: 1 12 | description: The number of replicas to deploy 13 | -------------------------------------------------------------------------------- /webapp-kubernetes-go/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: go 4 | template: 5 | description: A Go program to deploy a web application onto a Kubernetes cluster 6 | config: 7 | namespace: 8 | default: default 9 | description: The Kubernetes namespace to deploy into 10 | replicas: 11 | default: 1 12 | description: The number of replicas to deploy 13 | -------------------------------------------------------------------------------- /webapp-kubernetes-go/go.mod: -------------------------------------------------------------------------------- 1 | module tmp 2 | 3 | go 1.20 4 | 5 | require ( 6 | github.com/pulumi/pulumi/sdk/v3 v3.96.1 7 | github.com/pulumi/pulumi-kubernetes/sdk/v4 v4.0.3 8 | ) 9 | -------------------------------------------------------------------------------- /webapp-kubernetes-python/.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | venv/ -------------------------------------------------------------------------------- /webapp-kubernetes-python/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: python 4 | template: 5 | description: A Python program to deploy a web application onto a Kubernetes cluster 6 | config: 7 | namespace: 8 | default: default 9 | description: The Kubernetes namespace to deploy into 10 | replicas: 11 | default: 1 12 | description: The number of replicas to deploy 13 | -------------------------------------------------------------------------------- /webapp-kubernetes-python/requirements.txt: -------------------------------------------------------------------------------- 1 | pulumi>=3.0.0,<4.0.0 2 | pulumi-kubernetes>=4.0.0,<5.0.0 3 | -------------------------------------------------------------------------------- /webapp-kubernetes-typescript/.gitignore: -------------------------------------------------------------------------------- 1 | /bin/ 2 | /node_modules/ -------------------------------------------------------------------------------- /webapp-kubernetes-typescript/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: nodejs 4 | template: 5 | description: A TypeScript program to deploy a web application onto a Kubernetes cluster 6 | config: 7 | namespace: 8 | default: default 9 | description: The Kubernetes namespace to deploy into 10 | replicas: 11 | default: 1 12 | description: The number of replicas to deploy 13 | -------------------------------------------------------------------------------- /webapp-kubernetes-typescript/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webapp-kubernetes-typescript", 3 | "devDependencies": { 4 | "@types/node": "^18", 5 | "typescript": "^5.0.0" 6 | }, 7 | "dependencies": { 8 | "@pulumi/kubernetes": "^4.0.0", 9 | "@pulumi/pulumi": "^3.113.0" 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /webapp-kubernetes-typescript/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "strict": true, 4 | "outDir": "bin", 5 | "target": "es2020", 6 | "module": "commonjs", 7 | "moduleResolution": "node", 8 | "sourceMap": true, 9 | "experimentalDecorators": true, 10 | "pretty": true, 11 | "noFallthroughCasesInSwitch": true, 12 | "noImplicitReturns": true, 13 | "forceConsistentCasingInFileNames": true 14 | }, 15 | "files": [ 16 | "index.ts" 17 | ] 18 | } 19 | -------------------------------------------------------------------------------- /yaml/Pulumi.yaml: -------------------------------------------------------------------------------- 1 | name: ${PROJECT} 2 | description: ${DESCRIPTION} 3 | runtime: yaml 4 | template: 5 | description: A minimal Pulumi YAML program 6 | 7 | config: {} 8 | variables: {} 9 | resources: {} 10 | outputs: {} 11 | --------------------------------------------------------------------------------