---
title: Pulumi
description: Infrastructure as code for any cloud using your favorite programming languages
breadcrumbs: Docs > Integrations > Pulumi
---

# Pulumi
Supported OS 
## Overview{% #overview %}

[Pulumi](https://pulumi.com) is a modern infrastructure as code platform that enables cloud engineering teams to define, deploy, and manage cloud resources on any cloud using their favorite programming languages.

The Pulumi integration is used to provision any of the cloud resources available in Datadog. This integration must be configured with credentials to deploy and update resources in Datadog.

**Note**: You need to set AWS IAM Permissions for the integration to make changes. You can find steps on setting AWS IAM Permissions in our [AWS Integration documentation](https://docs.datadoghq.com/integrations/amazon_web_services.md?tab=roledelegation#aws-iam-permissions).

## Setup{% #setup %}

### Installation{% #installation %}

The [Pulumi Datadog integration](https://www.pulumi.com/docs/intro/cloud-providers/datadog/) uses the Datadog SDK to manage and provision resources.

### Configuration{% #configuration %}

1. [Sign up for a free or commercial Pulumi account](https://www.pulumi.com/pricing/)

1. [Install Pulumi](https://www.pulumi.com/docs/get-started/)

1. Once obtained, there are two ways to set your Datadog authorization tokens for Pulumi:

Set the environment variables `DATADOG_API_KEY` and `DATADOG_APP_KEY`:

```gdscript3
export DATADOG_API_KEY=XXXXXXXXXXXXXX && export DATADOG_APP_KEY=YYYYYYYYYYYYYY
```

Or, set them using configuration if you prefer that they be stored alongside your Pulumi stack for easier multi-user access:

```
pulumi config set datadog:apiKey XXXXXXXXXXXXXX --secret && pulumi config set datadog:appKey YYYYYYYYYYYYYY --secret
```

**Note**: Pass `--secret` when setting `datadog:apiKey` and `datadog:appKey` so that they are properly encrypted.

Run `pulumi new` to initialize a project directory for your infrastructure stack and follow the [API documentation](https://www.pulumi.com/docs/reference/pkg/datadog/) to define new metrics, monitors, dashboards, or other resources.

Once you have defined your cloud resources in code, run `pulumi up` to create the new resources defined in your Pulumi program.

## Data Collected{% #data-collected %}

### Metrics{% #metrics %}

Pulumi does not include any metrics.

### Service Checks{% #service-checks %}

Pulumi does not include any service checks.

### Events{% #events %}

Pulumi does not include any events.

## Troubleshooting{% #troubleshooting %}

Need help? Contact [Datadog support](https://docs.datadoghq.com/help/).
