Modern infrastructure as code for Microsoft Azure
Pulumi brings Infrastructure as Code to Azure using familiar programming languages. Manage 100% of your Azure resources, including compute, containers, and serverless with C#, Python, Go, TypeScript, and more. Replace or interoperate with Azure Resource Manager (ARM) templates using Pulumi’s modern SDKs.
import * as resources from "@pulumi/azure-native/resources";
import * as storage from "@pulumi/azure-native/storage";
const resourceGroup = new resources.ResourceGroup("resourceGroup");
const storageAccount = new storage.StorageAccount("sa", {
resourceGroupName: resourceGroup.name,
sku: {
name: "Standard_LRS",
},
kind: "StorageV2",
});
Azure infrastructure in any programming language
- Define infrastructure in JavaScript, TypeScript, Python, Go, Java, YAML, or any .NET language, including C#, F#, and VB.
- Increase your productivity using the full ecosystem of dev tools such as IDE auto-completion, type & error checking, linting, refactoring, and test frameworks to validate all of your Azure resources.
- Keep your cloud secure and in compliance by enforcing policies on every deployment.
- Codify best practices and policies, then share them with your team or community as self-service architectures.

ARM → Pulumi
Whether you’re new to Microsoft Azure or already using it to manage your infrastructure, Pulumi makes getting started easy. If you’re just starting out, you can write your infrastructure code using the Pulumi Azure SDK. Or if you’re already managing resources with Azure, you can deploy an existing ARM template using Pulumi or you can rewrite the ARM template JSON in a programming language, either entirely, or one resource at a time.
If you can deploy a resource with ARM templates, you can deploy it with the Pulumi Azure provider!

100% API coverage
The Pulumi Azure provider covers 100% of the resources available in Azure Resource Manager giving you the full power of Azure at your fingertips. Every property of each resource is always represented in the SDKs.
Get started →Everything in one place
Efficient adoption
Secrets management
Multi-cloud
Convenience functions
Automate delivery
Always up to date
Pulumi’s Microsoft Azure Native provider is designed to stay up-to-date with additions and changes to Azure APIs. The azure-native SDK is generated automatically from the Azure API specifications published by Microsoft, which means you’ll always have access to the latest Azure features and improvements.
Auto generated
Familiar concepts
storage, compute, or web. We map Resource Providers to top-level modules or namespaces in Pulumi SDKs.API versions
2015-05-01, 2020-09-01, or 2020-08-01-preview. Every version of every ARM API is available in Pulumi SDKs, and each version has its own module or namespace.