A revision is a set of launch parameters associated with a particular manifest version. Revisions are typically created from existing application instances so that they can be accessed at a later time. They are useful in many ways, particularly since they can answer the following questions:

Revisions should not be used to snapshot an instance or preserve your virtual machines’s state. Their purpose is to store what you see on the instance screen between instance launches.

Typical Use Cases

Duplicating an Existing Instance

If you have an instance that you want to re-create at a later time, navigate to the instance screen and click Create a revision… in the top-right corner. You will be presented with a dialog box where you can select/de-select your launch parameters.


After doing so, the newly created revision will be available on the Applications screen and the original instance will be associated with it.


When you create a revision, we recommend not including parameters that are adjusted on per-case basis (e.g. JVM memory settings that you want to vary within an environment and codebase version).

Now, to replicate the instance and populate its parameter values, click Advanced launch… and choose your revision from the drop-down list. You will see that the newly created instance is associated with the selected revision.


Preserving Information Across Application Launches

For this use case, imagine that you have an application manifest that runs integration tests as an instance workflow. The workflow produces a “Test report URL” return value that you want to keep as long as the application is registered with the system.

To keep the return value, follow the instructions in the previous use case for creating a revision; however, pay attention to the list of return values that can be included or excluded (similar to launch parameters). Including a return value with a revision has no effect on the instance launch process; rather, the value is stored so that it can become available on the revision screen even when no instances are present.


Since a revision can be shared by multiple instances, any update to a return value will result in the new value being propagated to the revision screen.