In Autorest, Usage determines if a property has a setter or for collections, if it is generated as IReadOnlyList/IReadOnlyDictionary. Currently, in MGC, we only use the readonly decorator. If we were to respect usage, adding an input usage to a model would result in a breaking change that we'd have to account for with some back compat strategy. This seems unexpected as the user never said the property MUST NOT be modified, like they would be saying if they used the readonly decorator. For non-collection properties, it would be OK to support usage because adding a setter is not breaking.
In Autorest, Usage determines if a property has a setter or for collections, if it is generated as IReadOnlyList/IReadOnlyDictionary. Currently, in MGC, we only use the readonly decorator. If we were to respect usage, adding an input usage to a model would result in a breaking change that we'd have to account for with some back compat strategy. This seems unexpected as the user never said the property MUST NOT be modified, like they would be saying if they used the readonly decorator. For non-collection properties, it would be OK to support usage because adding a setter is not breaking.