Currently the RESTAPI supports data structures that can be nested multiple times. For example, when creating a virtual machine the user can specify a set of "payloads" and each of these payloads can contain a set of "files": <vm> ... <payloads> <payload> <files> <file .../> <file .../> ... </files> </payload> <payload> <files> <file .../> <file .../> ... </files> </payload> ... </payloads> ... </vm> This kind of multidimensional array is documented in the RSDL metadata file as two nested collections: vm.payloads.payload--COLLECTION: payload.type: xs:string payload.volume_id: xs:string payload.files.file--COLLECTION: file.name: xs:string file.content: xs:string And this results on the following documentation in the generated Python SDK: [@param vm.payloads.payload: collection] { [@ivar payload.type: string] [@ivar payload.volume_id: string] [@ivar payload.files.file: collection] { [@param file.name: string] [@param file.content: string] } } The CLI consumes this documentation, but it doesn't support this nesting. As a result the nested parameters are interpreted as regular top level parameters. In this case, for example, the CLI assumes that there are top level "name" and "content" parameters, which is wrong: $ ovirt-engine-shell # add vm --comm<TAB> <-- This is incorrectly autocompletd as "comment" These nested parameters should be supported correctly (see bug 1198677) or at least ignored.
There aren't plans to update the CLI, so this won't be fixed.