If an administrator uses nbstl to make a change to a storage lifecycle policy, nbstl creates a new version by default.
However, the nbstl command contains options to view different versions and to modify the definitions of existing storage lifecycle policy versions without creating a new version:
Use to display all versions of a storage lifecycle policy definition. Without specifying this option, only the most recent version is displayed by default.
Use with most nbstl configuration options to make changes to the current storage lifecycle policy version without creating a new version. Knowing the current version number is not necessary if this option is used.
-modify_version -version number
Use with most nbstl configuration options to make changes to a specific version without creating a new version.
Use -modify_current or -modify_version to change any of the following configuration options:
Some fields require values for all of the destinations in the storage lifecycle policy. Make sure that the number of values that are specified for the fields matches the existing destination count.
For example, in a storage lifecycle policy that contains three destinations, to change the value of one, a value must be given for all three destinations. Note that the values for all three destinations are replaced. To change the value for the second destination, provide the existing values for the first and the third destinations.
Some configuration options cannot be changed using -modify_current or -modify_version. To change any of the following options, you must create an entirely new storage lifecycle policy version:
The type of the destination: Backup, duplication, snapshot (-uf)
The retention type for the destination: Fixed, capacity managed, expire after duplication (-managed)
The source of a destination, used primarily in hierarchical storage lifecycle policy configurations (-source)
The number of destinations. You cannot add a destination or remove a destination from the storage lifecycle policy definitions.
You cannot instruct a lifecycle to follow the configuration of a previous version that has been superseded. To revert to the behavior of a previous version, change the definition to match the earlier definition. The change creates a version with the same content as the previous version, but with a new version number.