Pulumi Release Notes: Pulumi Import Improvements, RetainOnDelete as a resource option, and more!

Posted on

The team has been busy releasing new features and improvements in the last 3 weeks. Read on to learn about what’s new in this release!

Pulumi CLI and core technologies

pulumi import Improvements

Last year, we introduced a new Pulumi import feature that allows you to import existing infrastructure into your Pulumi program. We’ve listened to feedback and delivered a plethora of updates and fixes to streamline the import experience to make it more useful, more convenient, and more powerful. Not only can this feature bring a resource into your Pulumi state file, but it can also generate the source code for your Pulumi program too.

You can now use the pulumi import command to import using all input fields instead of only the ones flagged as required, which will result in less check failures. If there are check failures, they are now treated as a warning not an error. In addition, we added an optional flag to pulumi import that allows users to skip the code generation step of import.

Learn more in the Improved Import blog post, import improvements GitHub issue and the disable codegen GitHub issue.

Add RetainOnDelete as a resource option

Pulumi is frequently used to manage the entire lifecycle of a resource, from creation, to updates, to replacement, to deletion. However, there are some cases where it is important to ensure that a resource’s life can extend beyond the lifetime of the Pulumi program that created it. To support these use cases, Pulumi now supports a new resource option RetainOnDelete which allows a resource to be retained in a cloud provider even after it is deleted from the Pulumi stack it is part of.

Learn more in the RetainOnDelete blog post and in the RetainOnDelete GitHub issue.

New pulumi state rename command

In some cases users may need to rename existing resources, which historically has been done by editing the checkpoint file directly. We’ve now made this even easier by offering a CLI command to rename resources. You can now use pulumi state rename to rename resources in an easy and safe manner. This feature will also be useful for customers migrating to the Azure AD provider without replacing resources.

Learn more in the add pulumi state GitHub issue.

Default pulumi plugin install to the latest version

When using pulumi plugin install, the version argument is now optional and will default to the latest version when a version argument is not provided. This will save users time when they want to use the latest plugin version as they no longer need to look it up.

Learn more in the latest plugin version GitHub issue.

Add console output in non-interactive mode

When resources are slow to create, Pulumi will now have a dot spinner in non-interactive mode. When running Pulumi in a hosted CI environment (such as CircleCI) if there is no console output while waiting for resources to create the CI tool may forcibly terminate the job. We have added a parameter to set a delay for a heartbeat message in non-interactive mode to keep the CI tool from killing jobs.

Learn more in the console output non-interactive mode GitHub issue.

Support pulumi cancel for filestate backends

We now support pulumi cancel for self-managed state backends, such as S3.

Learn more in the support pulumi cancel GitHub issue.