Object Persistence in Orchestrations v2

Orchestrations v2 enable you to provision an entire stack of cloud resources and manage them individually. Unlike orchestrations v1, you don’t need to have separate orchestrations for different sets of objects such as storage, networking, or instances to ensure that they persist.

In some situations, you might want to stop certain objects while retaining others defined in the same orchestration. Using object persistence, you can ensure that when an orchestration is suspended, certain objects are not deleted.

To make an object persistent, set the persistent attribute to true. When an object is set to persist, it is not deleted when the orchestration is suspended. If the orchestration is terminated, then all the objects are deleted. For information about suspending and terminating orchestrations v2, see Managing Orchestrations v2 Using the REST API.

If you set the persistent attribute of an object to true, then you must set the persistent attribute of all the dependent objects as well to true. For example, if a persistent instance references a bootable storage volume, the storage volume must also be persistent.

The following sample JSON illustrates a persistent storage volume.

{
  "objects": 
  {
    {
      "type": "StorageVolume",
      "description": "a persistent storage volume",
      "label": "myVolume1",
      "persistent": true,
      "template": {
        "name": "/Compute-acme/jack.jones@example.com/volume1",
        "properties": [
          "/oracle/public/storage/default"
         ],
        "size": "2G"
      }
    }
  }
}