...
In order to help a GUI UI perform checking on the value of a given key as well as what keys are applicable, we intend to add a method to the PrimaryDataStoreDriver interface with the following interface:
List<StringMap<String, String> getPropertiesAndTypes();
The key of the returned list map is a String representing a given property that is supported by the plug-in. For example, "burstIops". These are vendor specific and have no meaning to CloudStack.
The value of the returned list map is a String representing the type of the property. For example, "Integer", "Float", "String". All supported types will be listed as public static final member variables in the PrimaryDataStoreDriver interface.
...
A new API will be added to CloudStack that returns such a list map for a given storage plug-in. With the above information, the client application a UI could display to the admin all applicable properties and perform basic type checking on assigned values based on returned types.
...