1. Docs
  2. Using Pulumi
  3. Adopting Pulumi
  4. Convert code

Convert code to Pulumi

    The pulumi convert command allows you translate supported sources to the various [languages that Pulumi supports]((/docs/languages-sdks/), such as TypeScript, JavaScript, Go, Python, C#, or Java.). Conversion sources are supported via a plugin model, and include other IaC tools like Terraform. Pulumi YAML programs can also be converted to any other supported Pulumi language.

    For the detailed usage of this command and options, refer to the pulumi convert CLI documentation.

    Supported source languages

    Supported destination languages

    Use cases for using pulumi convert

    The pulumi convert subcommand is designed to address a variety of migration and conversion scenarios where IaC practices evolve alongside your project needs. Here are some common use cases:

    • Migrating from other IaC tools: If you’re looking to transition your infrastructure definitions from tools like Terraform, Bicep, or ARM templates into Pulumi.
    • Converting from Pulumi YAML: If you started your project with Pulumi YAML and find your requirements have evolved, you can convert and take advantage of the benefits offered by popular programming languages, such as complex logic capabilities and the flexibility to create modular and reusable components.

    Additional conversion tools and resources

    The following list of web-based tools and resources can quickly help you convert your source IaC languages or formats for use with the pulumi convert --from command. The resulting file can be copied or downloaded for use with a new Pulumi project.

      Introducing Pulumi Copilot - Intelligent Cloud Management