The peculiar logic resides in ContentLibrary.CreateContentLibraryItem, where a new file upload mechanism is implemented.
Here, Tenant Manager orchestrates how API consumer should upload the files. First, a POST call creates the ContentLibraryItem object, with no files, in an "incomplete" state. Next, a GET request to that Content Library Item /files path will reveal that API consumer must upload the descriptor.ovf. When that file is uploaded, subsequent calls to /files will reveal which files must be uploaded next. When done, the associated task (that was created with initial POST call) will be completed.
This PR adds the following new types:
ContentLibraryItem
types.ContentLibraryItem
And methods:
ContentLibrary.CreateContentLibraryItem
ContentLibrary.GetAllContentLibraryItems
ContentLibrary.GetContentLibraryItemByName
ContentLibrary.GetContentLibraryItemById
ContentLibraryItem.Update
ContentLibraryItem.Delete
VCDClient.GetContentLibraryItemById
The peculiar logic resides in
ContentLibrary.CreateContentLibraryItem
, where a new file upload mechanism is implemented.Here, Tenant Manager orchestrates how API consumer should upload the files. First, a POST call creates the ContentLibraryItem object, with no files, in an "incomplete" state. Next, a GET request to that Content Library Item
/files
path will reveal that API consumer must upload thedescriptor.ovf
. When that file is uploaded, subsequent calls to/files
will reveal which files must be uploaded next. When done, the associated task (that was created with initial POST call) will be completed.