{ "info": { "termsOfService": "http://swagger.io/terms/", "description": "VMware vSphere\u00ae Content Library empowers vSphere Admins to effectively manage VM templates, vApps, ISO images and scripts with ease.", "title": "content" }, "paths": { "/com/vmware/content/configuration": { "patch": { "responses": { "200": { "description": "" }, "400": { "description": "if one of the configuration properties is not within the proper range.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.configuration_update" }, "required": true, "name": "model", "in": "body" } ], "tags": [ "configuration " ], "consumes": [ "application/json" ], "summary": "Updates the configuration. The update is incremental. Any {@term field} in the {@link ConfigurationModel} {@term structure} that is {@term unset} will not be modified. Note that this update {@term operation} doesn't guarantee an atomic change of all the properties. In the case of a system crash or failure, some of the properties could be left unchanged while others may be updated." } }, "/com/vmware/content/configuration?~action=get": { "post": { "responses": { "200": { "description": "The {@link ConfigurationModel} instance representing the configuration of the Content Library Service.", "schema": { "$ref": "#/definitions/com.vmware.content.configuration_model" } } }, "parameters": [], "tags": [ "configuration " ], "consumes": [ "application/json" ], "summary": "Retrieves the current configuration values." } }, "/com/vmware/content/library": { "get": { "responses": { "200": { "description": "The {@term list} of all identifiers of all libraries in the Content Library.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "library " ], "summary": "Returns the identifiers of all libraries of any type in the Content Library." } }, "/com/vmware/content/library/id:{library_id}": { "patch": { "responses": { "200": { "description": "" }, "400": { "description": "if the {@param.name updateSpec} is not valid.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "404": { "description": "if the library associated with {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library to update.", "required": true, "type": "string", "name": "library_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library_update" }, "required": true, "name": "update_spec", "in": "body" } ], "tags": [ "library " ], "consumes": [ "application/json" ], "summary": "Updates the properties of a library.
This is an incremental update to the library. Any {@term field} in the {@link LibraryModel} {@term structure} that is {@term unset} will not be modified.
This {@term operation} will only update the common properties for all library types. This will not, for example, update the {@link LibraryModel#publishInfo} of a local library, nor the {@link LibraryModel#subscriptionInfo} of a subscribed library. Specific properties are updated in {@link LocalLibrary#update} and {@link SubscribedLibrary#update}." }, "get": { "responses": { "200": { "description": "The {@link LibraryModel} instance with the specified {@param.name libraryId}.", "schema": { "$ref": "#/definitions/com.vmware.content.library_model" } }, "404": { "description": "if the specified library does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library to return.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "library " ], "summary": "Returns a given {@link LibraryModel}." } }, "/com/vmware/content/library/item": { "post": { "responses": { "200": { "description": "Identifier of the new library item.", "schema": { "type": "string" } }, "400": { "description": "if the {@link ItemModel#libraryId} property of {@param.name destinationCreateSpec} refers to a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the {@link ItemModel#libraryId} property of {@param.name createSpec} refers to a library that does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.library.item_create" }, "required": true, "name": "client_token,create_spec", "in": "body" } ], "tags": [ "library/item " ], "consumes": [ "application/json" ], "summary": "Creates a new library item.
A new library item is created without any content. After creation, content can be added through the {@link UpdateSession} and {@link File} {@term services}.
A library item cannot be created in a subscribed library." }, "get": { "responses": { "200": { "description": "The {@term list} of identifiers of the items in the library specified by {@param.name libraryId}.", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if the library associated with {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item " ], "summary": "Returns the identifiers of all items in the given library." } }, "/com/vmware/content/library/item-path?~action=get-by-datastore-path": { "post": { "responses": { "200": { "description": "The {@link ItemModel} instance of an item that contains the file with the given {@param.name datastorePath}.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item_model" } }, "400": { "description": "If the Iso Service is disabled. (This method is added to support the lookup needed by the Iso Service UI)", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.error" } }, "404": { "description": "if no file with the given {@param.name datastorePath} exists in a content library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.library.item_path_get_by_datastore_path" }, "required": true, "name": "datastore_path", "in": "body" } ], "tags": [ "library/item_path " ], "consumes": [ "application/json" ], "summary": "Returns the {@link ItemModel} for an item that contains the file specified by the given datastore path." } }, "/com/vmware/content/library/item/download-session": { "post": { "responses": { "200": { "description": "Identifier of the new download session being created.", "schema": { "type": "string" } }, "400": { "description": "if the session specification is not valid.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "404": { "description": "if the library item targeted by the download does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.download_session_create" }, "required": true, "name": "client_token,create_spec", "in": "body" } ], "tags": [ "library/item/download_session " ], "consumes": [ "application/json" ], "summary": "Creates a new download session." }, "get": { "responses": { "200": { "description": "The {@term list} of identifiers of all download sessions created by the calling user.", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if a library item identifier is given for an item which does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/download_session " ], "summary": "Lists the identifiers of the download sessions created by the calling user. Optionally may filter by library item." } }, "/com/vmware/content/library/item/download-session/id:{download_session_id}": { "delete": { "responses": { "200": { "description": "" }, "404": { "description": "if the download session does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the download session to be deleted.", "required": true, "type": "string", "name": "download_session_id", "in": "path" } ], "tags": [ "library/item/download_session " ], "summary": "Deletes a download session. This removes the session and all information associated with it.
Removing a download session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the transfers will be able to complete). However there will no longer be a means of inspecting the status of those downloads except by seeing the effect on the library item.
Download sessions for which there is no download activity or which are complete will automatically be expired and then deleted after a period of time." }, "get": { "responses": { "200": { "description": "The {@link DownloadSessionModel} instance with the given {@param.name downloadSessionId}.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.download_session_model" } }, "404": { "description": "if no download session with the given {@param.name downloadSessionId} exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the download session to retrieve.", "required": true, "type": "string", "name": "download_session_id", "in": "path" } ], "tags": [ "library/item/download_session " ], "summary": "Gets the download session with the specified identifier, including the most up-to-date status information for the session." } }, "/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=cancel": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the download session is not in the {@link DownloadSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if no download session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifer of the download session that should be canceled.", "required": true, "type": "string", "name": "download_session_id", "in": "path" } ], "tags": [ "library/item/download_session " ], "consumes": [ "application/json" ], "summary": "Cancels the download session. This {@term operation} will abort any ongoing transfers and invalidate transfer urls that the client may be downloading from." } }, "/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=fail": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the download session is not in the {@link DownloadSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if the download session does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the download session to fail.", "required": true, "type": "string", "name": "download_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.download_session_fail" }, "required": true, "name": "client_error_message", "in": "body" } ], "tags": [ "library/item/download_session " ], "consumes": [ "application/json" ], "summary": "Terminates the download session with a client specified error message.
This is useful in transmitting client side failures (for example, not being able to download a file) to the server side." } }, "/com/vmware/content/library/item/download-session/id:{download_session_id}?~action=keep-alive": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the download session is not in the {@link DownloadSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if no download session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the download session whose lifetime should be extended.", "required": true, "type": "string", "name": "download_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.download_session_keep_alive" }, "name": "progress", "in": "body" } ], "tags": [ "library/item/download_session " ], "consumes": [ "application/json" ], "summary": "Keeps a download session alive. This operation is allowed only if the session is in the {@link DownloadSessionModel.State#ACTIVE} state.
If there is no activity for a download session for a certain period of time, the download session will expire. The download session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this {@term operation} enables a client to specifically extend the lifetime of an active download session." } }, "/com/vmware/content/library/item/downloadsession/file": { "get": { "responses": { "200": { "description": "The {@term list} of {@link File.Info} instances.", "schema": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file.info" }, "type": "array" } }, "404": { "description": "if the download session associated with {@param.name downloadSessionId} doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/downloadsession/file " ], "summary": "Lists the information of all the files in the library item associated with the download session." } }, "/com/vmware/content/library/item/downloadsession/file/id:{download_session_id}?~action=get": { "post": { "responses": { "200": { "description": "The {@link Info} instance containing the status of the file and its download link if available.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file.info" } }, "400": { "description": "if there is no file with the specified {@param.name fileName}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "404": { "description": "if the download session associated with {@param.name downloadSessionId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the download session.", "required": true, "type": "string", "name": "download_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file_get" }, "required": true, "name": "file_name", "in": "body" } ], "tags": [ "library/item/downloadsession/file " ], "consumes": [ "application/json" ], "summary": "Retrieves file download information for a specific file." } }, "/com/vmware/content/library/item/downloadsession/file/id:{download_session_id}?~action=prepare": { "post": { "responses": { "200": { "description": "File information containing the status of the request and the download link to the file.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file.info" } }, "400": { "description": "if there is no file with the specified {@param.name fileName}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "403": { "description": "if the the download session wasn't created with the ContentLibrary.ReadStorage privilege and the caller requested a {@link EndpointType#DIRECT} endpoint type.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.unauthorized" } }, "404": { "description": "if the download session does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the download session.", "required": true, "type": "string", "name": "download_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file_prepare" }, "required": true, "name": "file_name,endpoint_type", "in": "body" } ], "tags": [ "library/item/downloadsession/file " ], "consumes": [ "application/json" ], "summary": "Requests a file to be prepared for download." } }, "/com/vmware/content/library/item/file": { "get": { "responses": { "200": { "description": "The {@term list} of all of the files that are stored within the given library item.", "schema": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.file.info" }, "type": "array" } }, "404": { "description": "if {@param.name libraryItemId} refers to a library item that does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/file " ], "summary": "Lists all of the files that are stored within a given library item." } }, "/com/vmware/content/library/item/file/id:{library_item_id}?~action=get": { "post": { "responses": { "200": { "description": "The {@link Info} object with information on the specified file.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.file.info" } }, "404": { "description": "if {@param.name libraryItemId} refers to a library item that does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library item whose file information should be returned.", "required": true, "type": "string", "name": "library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.file_get" }, "required": true, "name": "name", "in": "body" } ], "tags": [ "library/item/file " ], "consumes": [ "application/json" ], "summary": "Retrieves the information for a single file in a library item by its name." } }, "/com/vmware/content/library/item/id:{library_item_id}": { "delete": { "responses": { "200": { "description": "" }, "400": { "description": "if the library item with the given {@param.name libraryItemId} is a member of a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library item with the specified {@param.name libraryItemId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library item to delete.", "required": true, "type": "string", "name": "library_item_id", "in": "path" } ], "tags": [ "library/item " ], "summary": "Deletes a library item.
This {@term operation} will immediately remove the item from the library that owns it. The content of the item will be asynchronously removed from the storage backings. The content deletion can be tracked with a task. In the event that the task fails, an administrator may need to manually remove the files from the storage backing.
This {@term operation} cannot be used to delete a library item that is a member of a subscribed library. Removing an item from a subscribed library requires deleting the item from the original published local library and syncing the subscribed library." }, "patch": { "responses": { "200": { "description": "" }, "400": { "description": "if one of the following is true for the {@param.name updateSpec}:
This is an incremental update to the library item. {@term Fields} that are {@term unset} in the update specification are left unchanged.
This {@term operation} cannot update a library item that is a member of a subscribed library. Those items must be updated in the source published library and synchronized to the subscribed library." }, "get": { "responses": { "200": { "description": "The {@link ItemModel} instance with the given {@param.name libraryItemId}.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item_model" } }, "404": { "description": "if no item with the given {@param.name libraryItemId} exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library item to return.", "required": true, "type": "string", "name": "library_item_id", "in": "path" } ], "tags": [ "library/item " ], "summary": "Returns the {@link ItemModel} with the given identifier." } }, "/com/vmware/content/library/item/id:{source_library_item_id}?~action=copy": { "post": { "responses": { "200": { "description": "The identifier of the new library item into which the content is being copied.", "schema": { "type": "string" } }, "400": { "description": "if the copy operation failed because the source or destination library item is not accessible.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.resource_inaccessible" } }, "404": { "description": "if the library item with {@param.name sourceLibraryItemId} does not exist, or if the library referenced by the {@link ItemModel#libraryId} property of {@param.name destinationCreateSpec} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the existing library item from which the content will be copied.", "required": true, "type": "string", "name": "source_library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item_copy" }, "required": true, "name": "client_token,destination_create_spec", "in": "body" } ], "tags": [ "library/item " ], "consumes": [ "application/json" ], "summary": "Copies a library item.
Copying a library item allows a duplicate to be made within the same or different library. The copy occurs by first creating a new library item, whose identifier is returned. The content of the library item is then copied asynchronously. This copy can be tracked as a task.
If the copy fails, Content Library Service will roll back the copy by deleting any content that was already copied, and removing the new library item. A failure during rollback may require manual cleanup by an administrator.
A library item cannot be copied into a subscribed library." } }, "/com/vmware/content/library/item/storage": { "get": { "responses": { "200": { "description": "The {@term list} of all storage items for a given library item.", "schema": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.storage.info" }, "type": "array" } }, "404": { "description": "if the specified library item does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/storage " ], "summary": "Lists all storage items for a given library item." } }, "/com/vmware/content/library/item/storage/id:{library_item_id}?~action=get": { "post": { "responses": { "200": { "description": "The {@term list} of all the storage items for the given file within the given library item.", "schema": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.storage.info" }, "type": "array" } }, "404": { "description": "if the specified library item does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library item whose storage information should be retrieved.", "required": true, "type": "string", "name": "library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.storage_get" }, "required": true, "name": "file_name", "in": "body" } ], "tags": [ "library/item/storage " ], "consumes": [ "application/json" ], "summary": "Retrieves the storage information for a specific file in a library item." } }, "/com/vmware/content/library/item/tagging": { "get": { "responses": { "200": { "description": "the list of tags associated with the library item", "schema": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.tagging.info" }, "type": "array" } }, "404": { "description": "if the library item cannot be found", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/tagging " ], "summary": "Lists all tags associated with the library item. If no tag is found, the method will return an empty list." } }, "/com/vmware/content/library/item/tagging/id:{library_item_id}": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the library item is a member of a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library item cannot be found", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "the ID of the library item", "required": true, "type": "string", "name": "library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.tagging_create" }, "required": true, "name": "key,value", "in": "body" } ], "tags": [ "library/item/tagging " ], "consumes": [ "application/json" ], "summary": "Sets a key/value pair on a library item. If the key has been already set in the past, this method will override the old value with the new one." } }, "/com/vmware/content/library/item/tagging/id:{library_item_id}?~action=delete": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the library item is a member of a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library item cannot be found", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "the ID of the library item", "required": true, "type": "string", "name": "library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.tagging_delete" }, "required": true, "name": "key", "in": "body" } ], "tags": [ "library/item/tagging " ], "consumes": [ "application/json" ], "summary": "Removes the key from the library item tags. If the library item doesn't have such a key this call will be a no-op." } }, "/com/vmware/content/library/item/tagging/id:{library_item_id}?~action=get": { "post": { "responses": { "200": { "description": "the value of the key or null if unset", "schema": { "required": false, "type": "string" } }, "404": { "description": "if the library item cannot be found", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "the ID of the library item", "required": true, "type": "string", "name": "library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.tagging_get" }, "required": true, "name": "key", "in": "body" } ], "tags": [ "library/item/tagging " ], "consumes": [ "application/json" ], "summary": "Gets the value of the key associated with the library item. If no key is defined this method will return null." } }, "/com/vmware/content/library/item/update-session": { "post": { "responses": { "200": { "description": "Identifier of the new update session being created.", "schema": { "type": "string" } }, "400": { "description": "if there is another update session on the same library item.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.resource_busy" } }, "404": { "description": "if the item targeted for update does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.update_session_create" }, "required": true, "name": "client_token,create_spec", "in": "body" } ], "tags": [ "library/item/update_session " ], "consumes": [ "application/json" ], "summary": "Creates a new update session. An update session is used to make modifications to a library item. Modifications are not visible to other clients unless the session is completed and all necessary files have been received.
Content Library Service allows only one single update session to be active for a specific library item." }, "get": { "responses": { "200": { "description": "The {@term list} of identifiers of all update sessions created by the calling user.", "schema": { "items": { "type": "string" }, "type": "array" } }, "404": { "description": "if a library item identifier is given for an item which does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/update_session " ], "summary": "Lists the identifiers of the update session created by the calling user. Optionally may filter by library item." } }, "/com/vmware/content/library/item/update-session/id:{update_session_id}": { "delete": { "responses": { "200": { "description": "" }, "400": { "description": "if the update session is in the {@link UpdateSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if the update session does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifer of the update session to delete.", "required": true, "type": "string", "name": "update_session_id", "in": "path" } ], "tags": [ "library/item/update_session " ], "summary": "Deletes an update session. This removes the session and all information associated with it.
Removing an update session leaves any current transfers for that session in an indeterminate state (there is no guarantee that the server will terminate the transfers, or that the transfers can be completed). However there will no longer be a means of inspecting the status of those uploads except by seeing the effect on the library item.
Update sessions for which there is no upload activity or which are complete will automatically be deleted after a period of time." }, "get": { "responses": { "200": { "description": "The {@link UpdateSessionModel} instance with the given {@param.name updateSessionId}.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.update_session_model" } }, "404": { "description": "if no update session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session to retrieve.", "required": true, "type": "string", "name": "update_session_id", "in": "path" } ], "tags": [ "library/item/update_session " ], "summary": "Gets the update session with the specified identifier, including the most up-to-date status information for the session." } }, "/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=cancel": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if no update session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session that should be canceled.", "required": true, "type": "string", "name": "update_session_id", "in": "path" } ], "tags": [ "library/item/update_session " ], "consumes": [ "application/json" ], "summary": "Cancels the update session and deletes it. This {@term operation} will free up any temporary resources currently associated with the session.
This {@term operation} is not allowed if the session has been already completed.
Cancelling an update session will cancel any in progress transfers (either uploaded by the client or pulled by the server). Any content that has been already received will be scheduled for deletion." } }, "/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=complete": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state, or if some of the files that will be uploaded by the client aren't received correctly.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if no update session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session that should be completed.", "required": true, "type": "string", "name": "update_session_id", "in": "path" } ], "tags": [ "library/item/update_session " ], "consumes": [ "application/json" ], "summary": "Completes the update session. This indicates that the client has finished making all the changes required to the underlying library item. If the client is pushing the content to the server, the library item will be updated once this call returns. If the server is pulling the content, the call may return before the changes become visible. In that case, the client can track the session to know when the server is done.
This {@term operation} requires the session to be in the {@link UpdateSessionModel.State#ACTIVE} state.
Depending on the type of the library item associated with this session, a type adapter may be invoked to verify the validity of the files uploaded. The user can explicitly validate the session before completing the session by using the {@link com.vmware.content.library.item.updatesession.File#validate} {@term operation}.
Modifications are not visible to other clients unless the session is completed and all necessary files have been received." } }, "/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=fail": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if the update session does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session to fail.", "required": true, "type": "string", "name": "update_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.update_session_fail" }, "required": true, "name": "client_error_message", "in": "body" } ], "tags": [ "library/item/update_session " ], "consumes": [ "application/json" ], "summary": "Terminates the update session with a client specified error message.
This is useful in transmitting client side failures (for example, not being able to access a file) to the server side." } }, "/com/vmware/content/library/item/update-session/id:{update_session_id}?~action=keep-alive": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if no update session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session whose lifetime should be extended.", "required": true, "type": "string", "name": "update_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.update_session_keep_alive" }, "name": "client_progress", "in": "body" } ], "tags": [ "library/item/update_session " ], "consumes": [ "application/json" ], "summary": "Keeps an update session alive.
If there is no activity for an update session after a period of time, the update session will expire, then be deleted. The update session expiration timeout is configurable in the Content Library Service system configuration. The default is five minutes. Invoking this {@term operation} enables a client to specifically extend the lifetime of the update session." } }, "/com/vmware/content/library/item/updatesession/file": { "get": { "responses": { "200": { "description": "The {@term list} of the files in the library item associated with the update session. This {@term list} may be empty if the caller has removed all the files as part of this session (in which case completing the update session will result in an empty library item).", "schema": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.info" }, "type": "array" } }, "404": { "description": "if the update session doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [], "tags": [ "library/item/updatesession/file " ], "summary": "Lists all files in the library item associated with the update session." } }, "/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=add": { "post": { "responses": { "200": { "description": "An {@link Info} {@term structure} containing upload links as well as server side state tracking the transfer of the file.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.info" } }, "400": { "description": "if the {@param.name fileSpec} is invalid.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "403": { "description": "if the caller doesn't have ContentLibrary.ReadStorage privilege on the library item of the update session and source type {@link SourceType#PULL} is requested for a file or datastore source endpoint (that is, not HTTP or HTTPs based endpoint).", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.unauthorized" } }, "404": { "description": "if the update session doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session to be modified.", "required": true, "type": "string", "name": "update_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file_add" }, "required": true, "name": "file_spec", "in": "body" } ], "tags": [ "library/item/updatesession/file " ], "consumes": [ "application/json" ], "summary": "Requests file content to be changed (either created, or updated). Depending on the source type of the file, this {@term operation} will either return an upload endpoint where the client can push the content, or the server will pull from the provided source endpoint. If a file with the same name already exists in this session, this {@term operation} will be used to update the content of the existing file.
When importing a file directly from storage, where the source endpoint is a file or datastore URI, you will need to have the ContentLibrary.ReadStorage privilege on the library item. If the file is located in the same directory as the library storage backing folder, the server will move the file instead of copying it, thereby allowing instantaneous import of files for efficient backup and restore scenarios. In all other cases, a copy is performed rather than a move." } }, "/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=get": { "post": { "responses": { "200": { "description": "Information about the file.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.info" } }, "400": { "description": "if the file doesn't exist in the library item associated with the update session.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "404": { "description": "if the update session doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session.", "required": true, "type": "string", "name": "update_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file_get" }, "required": true, "name": "file_name", "in": "body" } ], "tags": [ "library/item/updatesession/file " ], "consumes": [ "application/json" ], "summary": "Retrieves information about a specific file in the snapshot of the library item at the time when the update session was created." } }, "/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=remove": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the file doesn't exist in the library item associated with the update session.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "404": { "description": "if the update session doesn't exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session.", "required": true, "type": "string", "name": "update_session_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file_remove" }, "required": true, "name": "file_name", "in": "body" } ], "tags": [ "library/item/updatesession/file " ], "consumes": [ "application/json" ], "summary": "Requests a file to be removed. The file will only be effectively removed when the update session is completed." } }, "/com/vmware/content/library/item/updatesession/file/id:{update_session_id}?~action=validate": { "post": { "responses": { "200": { "description": "A validation result containing missing files or invalid files and the reason why they are invalid.", "schema": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.validation_result" } }, "400": { "description": "if the update session is not in the {@link UpdateSessionModel.State#ACTIVE} state, or if some of the files that will be uploaded by the client aren't received correctly.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if no update session with the given identifier exists.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the update session to validate.", "required": true, "type": "string", "name": "update_session_id", "in": "path" } ], "tags": [ "library/item/updatesession/file " ], "consumes": [ "application/json" ], "summary": "Validates the files in the update session with the referenced identifier and ensures all necessary files are received. In the case where a file is missing, this {@term operation} will return its name in the {@link ValidationResult#missingFiles} set. The user can add the missing files and try re-validating. For other type of errors, {@link ValidationResult#invalidFiles} will contain the list of invalid files." } }, "/com/vmware/content/library/item?~action=find": { "post": { "responses": { "200": { "description": "The {@term list} of identifiers of all the visible library items matching the given {@param.name spec}.", "schema": { "items": { "type": "string" }, "type": "array" } }, "400": { "description": "if no properties are specified in the {@param.name spec}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.library.item_find" }, "required": true, "name": "spec", "in": "body" } ], "tags": [ "library/item " ], "consumes": [ "application/json" ], "summary": "Returns identifiers of all the visible (as determined by authorization policy) library items matching the requested {@link Item.FindSpec}." } }, "/com/vmware/content/library/subscribed-item/id:{library_item_id}?~action=evict": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the library item specified by {@param.name libraryItemId} is a member of a subscribed library that does not synchronize on-demand.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_configuration" } }, "404": { "description": "if the library item specified by {@param.name libraryItemId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library item whose content should be evicted.", "required": true, "type": "string", "name": "library_item_id", "in": "path" } ], "tags": [ "library/subscribed_item " ], "consumes": [ "application/json" ], "summary": "Evicts the cached content of a library item in a subscribed library.
This {@term operation} allows the cached content of a library item to be removed to free up storage capacity. This {@term operation} will only work when a library item is synchronized on-demand. When a library is not synchronized on-demand, it always attempts to keep its cache up-to-date with the published source. Evicting the library item will set {@link ItemModel#cached} to false." } }, "/com/vmware/content/library/subscribed-item/id:{library_item_id}?~action=sync": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the library item specified by {@param.name libraryItemId} is not a member of a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library item specified by {@param.name libraryItemId} could not be found.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the library item to synchronize.", "required": true, "type": "string", "name": "library_item_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.library.subscribed_item_sync" }, "required": true, "name": "force_sync_content", "in": "body" } ], "tags": [ "library/subscribed_item " ], "consumes": [ "application/json" ], "summary": "Forces the synchronization of an individual library item in a subscribed library.
Synchronizing an individual item will update that item's metadata from the remote source. If the source library item on the remote library has been deleted, this {@term operation} will delete the library item from the subscribed library as well.
The default behavior of the synchronization is determined by the {@link SubscriptionInfo} of the library which owns the library item.
This {@term operation} will return immediately and create an asynchronous task to perform the synchronization." } }, "/com/vmware/content/library?~action=find": { "post": { "responses": { "200": { "description": "The {@term list} of identifiers of all the visible libraries matching the given {@param.name spec}.", "schema": { "items": { "type": "string" }, "type": "array" } }, "400": { "description": "if no properties are specified in the {@param.name spec}.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.library_find" }, "required": true, "name": "spec", "in": "body" } ], "tags": [ "library " ], "consumes": [ "application/json" ], "summary": "Returns a list of all the visible (as determined by authorization policy) libraries matching the requested {@link Library.FindSpec}." } }, "/com/vmware/content/local-library": { "post": { "responses": { "200": { "description": "Identifier of the newly created {@link LibraryModel}.", "schema": { "type": "string" } }, "400": { "description": "if using multiple storage backings.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.unsupported" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.local_library_create" }, "required": true, "name": "client_token,create_spec", "in": "body" } ], "tags": [ "local_library " ], "consumes": [ "application/json" ], "summary": "Creates a new local library." }, "get": { "responses": { "200": { "description": "The {@term list} of identifiers of all local libraries in the Content Library.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "local_library " ], "summary": "Returns the identifiers of all local libraries in the Content Library." } }, "/com/vmware/content/local-library/id:{library_id}": { "delete": { "responses": { "200": { "description": "" }, "400": { "description": "if the library specified by {@param.name libraryId} is not a local library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library specified by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the local library to delete.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "local_library " ], "summary": "Deletes the specified local library.
Deleting a local library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal." }, "patch": { "responses": { "200": { "description": "" }, "400": { "description": "if the {@param.name updateSpec} is not valid.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_argument" } }, "404": { "description": "if the library specified by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the local library to update.", "required": true, "type": "string", "name": "library_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.local_library_update" }, "required": true, "name": "update_spec", "in": "body" } ], "tags": [ "local_library " ], "consumes": [ "application/json" ], "summary": "Updates the properties of a local library.
This is an incremental update to the local library. {@term Fields} that are {@term unset} in the update specification will be left unchanged." }, "get": { "responses": { "200": { "description": "The {@link LibraryModel} instance associated with {@param.name libraryId}.", "schema": { "$ref": "#/definitions/com.vmware.content.library_model" } }, "400": { "description": "if the library specified by {@param.name libraryId} is not a local library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library specified by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the local library to return.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "local_library " ], "summary": "Returns a given local library." } }, "/com/vmware/content/subscribed-library": { "post": { "responses": { "200": { "description": "Identifier of the newly created subscribed library.", "schema": { "type": "string" } }, "400": { "description": "if subscribing to a published library which cannot be accessed.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.resource_inaccessible" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.subscribed_library_create" }, "required": true, "name": "client_token,create_spec", "in": "body" } ], "tags": [ "subscribed_library " ], "consumes": [ "application/json" ], "summary": "Creates a new subscribed library.
Once created, the subscribed library will be empty. If the {@link LibraryModel#subscriptionInfo} property is set, the Content Library Service will attempt to synchronize to the remote source. This is an asynchronous operation so the content of the published library may not immediately appear." }, "get": { "responses": { "200": { "description": "The {@term list} of identifiers of all subscribed libraries in the Content Library.", "schema": { "items": { "type": "string" }, "type": "array" } } }, "parameters": [], "tags": [ "subscribed_library " ], "summary": "Returns the identifiers of all subscribed libraries in the Content Library." } }, "/com/vmware/content/subscribed-library/id:{library_id}": { "get": { "responses": { "200": { "description": "The {@link LibraryModel} instance that corresponds to {@param.name libraryId}.", "schema": { "$ref": "#/definitions/com.vmware.content.library_model" } }, "400": { "description": "if the library associated with {@param.name libraryId} is not a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library associated with {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the subscribed library to return.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "subscribed_library " ], "summary": "Returns a given subscribed library." }, "delete": { "responses": { "200": { "description": "" }, "400": { "description": "if the library referenced by {@param.name libraryId} is not a subscribed library.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.invalid_element_type" } }, "404": { "description": "if the library referenced by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the subscribed library to delete.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "subscribed_library " ], "summary": "Deletes the specified subscribed library.
Deleting a subscribed library will remove the entry immediately and begin an asynchronous task to remove all cached content for the library. If the asynchronous task fails, file content may remain on the storage backing. This content will require manual removal." }, "patch": { "responses": { "200": { "description": "" }, "400": { "description": "if the subscription info is being updated but the published library cannot be contacted or found.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.resource_inaccessible" } }, "404": { "description": "if the library specified by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the subscribed library to update.", "required": true, "type": "string", "name": "library_id", "in": "path" }, { "schema": { "$ref": "#/definitions/com.vmware.content.subscribed_library_update" }, "required": true, "name": "update_spec", "in": "body" } ], "tags": [ "subscribed_library " ], "consumes": [ "application/json" ], "summary": "Updates the properties of a subscribed library.
This is an incremental update to the subscribed library. {@term Fields} that are {@term unset} in the update specification will be left unchanged." } }, "/com/vmware/content/subscribed-library/id:{library_id}?~action=evict": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the library specified by {@param.name libraryId} does not synchronize on-demand.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_allowed_in_current_state" } }, "404": { "description": "if the library specified by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the subscribed library whose content should be evicted.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "subscribed_library " ], "consumes": [ "application/json" ], "summary": "Evicts the cached content of an on-demand subscribed library.
This {@term operation} allows the cached content of a subscribed library to be removed to free up storage capacity. This {@term operation} will only work when a subscribed library is synchronized on-demand." } }, "/com/vmware/content/subscribed-library/id:{library_id}?~action=sync": { "post": { "responses": { "200": { "description": "" }, "400": { "description": "if the published library cannot be contacted or found.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.resource_inaccessible" } }, "404": { "description": "if the library specified by {@param.name libraryId} does not exist.", "schema": { "$ref": "#/definitions/com.vmware.vapi.std.errors.not_found" } } }, "parameters": [ { "description": "Identifier of the subscribed library to synchronize.", "required": true, "type": "string", "name": "library_id", "in": "path" } ], "tags": [ "subscribed_library " ], "consumes": [ "application/json" ], "summary": "Forces the synchronization of the subscribed library.
Synchronizing a subscribed library forcefully with this {@term operation} will perform the same synchronization behavior as would run periodically for the library. The {@link SubscriptionInfo#onDemand} setting is respected. Calling this {@term operation} on a library that is already in the process of synchronizing will have no effect." } }, "/com/vmware/content/subscribed-library?~action=probe": { "post": { "responses": { "200": { "description": "The subscription info probe result.", "schema": { "$ref": "#/definitions/com.vmware.content.subscribed_library.probe_result" } } }, "parameters": [ { "schema": { "$ref": "#/definitions/com.vmware.content.subscribed_library_probe" }, "required": true, "name": "subscription_info", "in": "body" } ], "tags": [ "subscribed_library " ], "consumes": [ "application/json" ], "summary": "Probes remote library subscription information, including URL, SSL certificate and password. The resulting {@link ProbeResult} {@term structure} describes whether or not the subscription configuration is successful." } } }, "schemes": [ "https", "http" ], "tags": [], "basePath": "/rest", "host": "", "definitions": { "com.vmware.content.configuration_model": { "type": "object", "properties": { "maximum_concurrent_item_syncs": { "type": "integer", "description": "The maximum allowed number of library items to synchronize concurrently from remote libraries. This must be a positive number. The service may not be able to guarantee the requested concurrency if there is no available capacity.
This setting is global across all subscribed libraries.", "format": "int64" }, "automatic_sync_enabled": { "type": "boolean", "description": "Whether automatic synchronization is enabled.
When automatic synchronization is enabled, the Content Library Service will automatically synchronize all subscribed libraries on a daily basis. Subscribed libraries with the {@link SubscriptionInfo#automaticSyncEnabled} flag turned on will be synchronized every hour between {@link #automaticSyncStartHour} and {@link #automaticSyncStopHour}." }, "automatic_sync_start_hour": { "type": "integer", "description": "The hour at which the automatic synchronization will start. This value is between 0 (midnight) and 23 inclusive.", "format": "int64" }, "automatic_sync_stop_hour": { "type": "integer", "description": "The hour at which the automatic synchronization will stop. Any active synchronization operation will continue to run, however no new synchronization operations will be triggered after the stop hour. This value is between 0 (midnight) and 23 inclusive.", "format": "int64" } } }, "com.vmware.content.configuration_update": { "required": [ "model" ], "type": "object", "properties": { "model": { "description": "The {@link ConfigurationModel} specifying the settings to update.", "$ref": "#/definitions/com.vmware.content.configuration_model" } } }, "com.vmware.content.library.find_spec": { "type": "object", "properties": { "type": { "description": "Library type to search. See {@link LibraryModel#type}.", "$ref": "#/definitions/com.vmware.content.library_model.library_type" }, "name": { "type": "string", "description": "Name of the library to search. The name is case-insensitive. See {@link LibraryModel#name}." } } }, "com.vmware.content.library.item.download_session_create": { "required": [ "create_spec" ], "type": "object", "properties": { "client_token": { "type": "string", "description": "A unique token generated by the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." }, "create_spec": { "description": "Specification for the new download session to be created.", "$ref": "#/definitions/com.vmware.content.library.item.download_session_model" } } }, "com.vmware.content.library.item.download_session_fail": { "required": [ "client_error_message" ], "type": "object", "properties": { "client_error_message": { "type": "string", "description": "Client side error message. This can be useful in providing some extra details about the client side failure. Note that the message won't be translated to the user's locale." } } }, "com.vmware.content.library.item.download_session_keep_alive": { "type": "object", "properties": { "progress": { "type": "integer", "description": "Optional update to the progress property of the session. If specified, the new progress should be greater then the current progress. See {@link DownloadSessionModel#clientProgress}.", "format": "int64" } } }, "com.vmware.content.library.item.download_session_model": { "type": "object", "properties": { "error_message": { "description": "If the session is in the {@link State#ERROR} status this property will have more details about the error.", "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "library_item_id": { "type": "string", "description": "The identifier of the library item whose content is being downloaded." }, "state": { "description": "The current state ({@enum.values State}) of the download session.", "$ref": "#/definitions/com.vmware.content.library.item.download_session_model.state" }, "library_item_content_version": { "type": "string", "description": "The content version of the library item whose content is being downloaded. This value is the {@link ItemModel#contentVersion} at the time when the session is created for the library item." }, "expiration_time": { "type": "date_time", "description": "Indicates the time after which the session will expire. The session is guaranteed not to expire before this time." }, "id": { "type": "string", "description": "The identifier of this download session." }, "client_progress": { "type": "integer", "description": "The progress that has been made with the download. This property is to be updated by the client during the download process to indicate the progress of its work in completing the download. The initial progress is 0 until updated by the client. The maximum value is 100, which indicates that the download is complete.", "format": "int64" } } }, "com.vmware.content.library.item.download_session_model.state": { "enum": [ "ACTIVE", "CANCELED", "ERROR" ], "type": "string", "description": "The state of the download session." }, "com.vmware.content.library.item.downloadsession.file.endpoint_type": { "enum": [ "HTTPS", "DIRECT" ], "type": "string", "description": "The {@name EndpointType} {@term enumerated type} defines the types of endpoints used to download the file." }, "com.vmware.content.library.item.downloadsession.file.info": { "required": [ "status", "bytes_transferred", "name" ], "type": "object", "properties": { "status": { "description": "The preparation status ({@enum.values PrepareStatus}) of the file.", "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file.prepare_status" }, "bytes_transferred": { "type": "integer", "description": "The number of bytes that have been transferred by the server so far for making this file prepared for download. This value may stay at zero till the client starts downloading the file.", "format": "int64" }, "checksum_info": { "description": "The checksum information of the file. When the download is complete, you can retrieve the checksum from the {@link File#get} {@term operation} to verify the checksum for the downloaded file.", "$ref": "#/definitions/com.vmware.content.library.item.file.checksum_info" }, "error_message": { "description": "Error message for a failed preparation when the prepare status is {@link File.PrepareStatus#ERROR}.", "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "download_endpoint": { "description": "Endpoint at which the file is available for download. The value is valid only when the {@link #status} is {@link File.PrepareStatus#PREPARED}.", "$ref": "#/definitions/com.vmware.content.library.item.transfer_endpoint" }, "size": { "type": "integer", "description": "The file size, in bytes.", "format": "int64" }, "name": { "type": "string", "description": "The name of the file." } } }, "com.vmware.content.library.item.downloadsession.file.prepare_status": { "enum": [ "UNPREPARED", "PREPARE_REQUESTED", "PREPARING", "PREPARED", "ERROR" ], "type": "string", "description": "The {@name PrepareStatus} {@term enumerated type} defines the state of the file in preparation for download." }, "com.vmware.content.library.item.downloadsession.file_get": { "required": [ "file_name" ], "type": "object", "properties": { "file_name": { "type": "string", "description": "Name of the file requested." } } }, "com.vmware.content.library.item.downloadsession.file_prepare": { "required": [ "file_name" ], "type": "object", "properties": { "file_name": { "type": "string", "description": "Name of the file requested for download." }, "endpoint_type": { "description": "Endpoint type request, one of {@enum.values EndpointType}. This will determine the type of the {@link File.Info#downloadEndpoint} that is generated when the file is prepared. The {@link EndpointType#DIRECT} is only available to users who have the ContentLibrary.ReadStorage privilege.", "$ref": "#/definitions/com.vmware.content.library.item.downloadsession.file.endpoint_type" } } }, "com.vmware.content.library.item.file.checksum_algorithm": { "enum": [ "SHA1", "MD5" ], "type": "string", "description": "The {@name ChecksumAlgorithm} {@term enumerated type} defines the valid checksum algorithms." }, "com.vmware.content.library.item.file.checksum_info": { "required": [ "checksum" ], "type": "object", "properties": { "checksum": { "type": "string", "description": "The checksum value calculated with {@link #algorithm}." }, "algorithm": { "description": "The checksum algorithm ({@enum.values ChecksumAlgorithm}) used to calculate the checksum.", "$ref": "#/definitions/com.vmware.content.library.item.file.checksum_algorithm" } } }, "com.vmware.content.library.item.file.info": { "required": [ "cached", "size", "version", "name" ], "type": "object", "properties": { "cached": { "type": "boolean", "description": "Indicates whether the file is on disk or not." }, "size": { "type": "integer", "description": "The file size, in bytes. The file size is the storage used and not the uploaded or provisioned size. For example, when uploading a disk to a datastore, the amount of storage that the disk consumes may be different from the disk file size. When the file is not cached, the size is 0.", "format": "int64" }, "checksum_info": { "description": "A checksum for validating the content of the file.
This value can be used to verify that a transfer was completed without errors.", "$ref": "#/definitions/com.vmware.content.library.item.file.checksum_info" }, "version": { "type": "string", "description": "The version of this file; incremented when a new copy of the file is uploaded." }, "name": { "type": "string", "description": "The name of the file.
This value will be unique within the library item for each file. It cannot be an empty string." } } }, "com.vmware.content.library.item.file_get": { "required": [ "name" ], "type": "object", "properties": { "name": { "type": "string", "description": "Name of the file in the library item whose information should be returned." } } }, "com.vmware.content.library.item.find_spec": { "type": "object", "properties": { "source_id": { "type": "string", "description": "The identifier of the library item as reported by the publisher. See {@link ItemModel#sourceId}." }, "library_id": { "type": "string", "description": "The identifier of the library containing the item. See {@link ItemModel#libraryId}." }, "type": { "type": "string", "description": "The type of the library item. The type is case-insensitive. See {@link ItemModel#type}." }, "name": { "type": "string", "description": "The name of the library item. The name is case-insensitive. See {@link ItemModel#name}." }, "cached": { "type": "boolean", "description": "Whether the item is cached. Possible values are 'true' or 'false'. See {@link ItemModel#cached}." } } }, "com.vmware.content.library.item.storage.info": { "required": [ "storage_backing", "storage_uris", "cached", "name", "version", "size" ], "type": "object", "properties": { "storage_backing": { "description": "The storage backing on which this object resides.", "$ref": "#/definitions/com.vmware.content.library.storage_backing" }, "storage_uris": { "items": { "type": "uri" }, "type": "array", "description": "URIs that identify the file on the storage backing.
These URIs may be specific to the backing and may need interpretation by the client. A client that understands a URI scheme in this list may use that URI to directly access the file on the storage backing. This can provide high-performance support for file manipulation." }, "checksum_info": { "description": "A checksum for validating the content of the file.
This value can be used to verify that a transfer was completed without errors.", "$ref": "#/definitions/com.vmware.content.library.item.file.checksum_info" }, "cached": { "type": "boolean", "description": "Indicates whether the file is on disk or not." }, "name": { "type": "string", "description": "The name of the file.
This value will be unique within the library item for each file. It cannot be an empty string." }, "version": { "type": "string", "description": "The version of this file; incremented when a new copy of the file is uploaded." }, "size": { "type": "integer", "description": "The file size, in bytes. The file size is the storage used and not the uploaded or provisioned size. For example, when uploading a disk to a datastore, the amount of storage that the disk consumes may be different from the disk file size. When the file is not cached, the size is 0.", "format": "int64" } } }, "com.vmware.content.library.item.storage_get": { "required": [ "file_name" ], "type": "object", "properties": { "file_name": { "type": "string", "description": "Name of the file for which the storage information should be listed." } } }, "com.vmware.content.library.item.tagging.info": { "required": [ "key" ], "type": "object", "properties": { "value": { "type": "string", "description": "The value associated with the key" }, "key": { "type": "string", "description": "Tag key. This uniquely identifies the tag within a library item" } } }, "com.vmware.content.library.item.tagging_create": { "required": [ "key", "value" ], "type": "object", "properties": { "value": { "type": "string", "description": "the value to set the key to" }, "key": { "type": "string", "description": "the key to set" } } }, "com.vmware.content.library.item.tagging_delete": { "required": [ "key" ], "type": "object", "properties": { "key": { "type": "string", "description": "the key to remove" } } }, "com.vmware.content.library.item.tagging_get": { "required": [ "key" ], "type": "object", "properties": { "key": { "type": "string", "description": "the key to lookup" } } }, "com.vmware.content.library.item.transfer_endpoint": { "required": [ "uri" ], "type": "object", "properties": { "ssl_certificate_thumbprint": { "type": "string", "description": "Thumbprint of the expected SSL certificate for this endpoint. Only used for HTTPS connections. The thumbprint is the SHA-1 hash of the DER encoding of the remote endpoint's SSL certificate. If set, the remote endpoint's SSL certificate is only accepted if it matches this thumbprint, and no other certificate validation is performed." }, "uri": { "type": "uri", "description": "Transfer endpoint URI. The supported URI schemes are: {@code http}, {@code https}, {@code file}, and {@code ds}.
An endpoint URI with the {@code ds} scheme specifies the location of the file on the datastore. The format of the datastore URI is:
Some examples of valid file URI formats are:
When the transfer endpoint is a file or datastore location, the server can import the file directly from the storage backing without the overhead of streaming over HTTP." } } }, "com.vmware.content.library.item.transfer_status": { "enum": [ "WAITING_FOR_TRANSFER", "TRANSFERRING", "READY", "VALIDATING", "ERROR" ], "type": "string", "description": "The {@name TransferStatus} {@term enumerated type} defines the transfer state of a file." }, "com.vmware.content.library.item.update_session_create": { "required": [ "create_spec" ], "type": "object", "properties": { "client_token": { "type": "string", "description": "Unique token generated by the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." }, "create_spec": { "description": "Specification for the new update session to be created.", "$ref": "#/definitions/com.vmware.content.library.item.update_session_model" } } }, "com.vmware.content.library.item.update_session_fail": { "required": [ "client_error_message" ], "type": "object", "properties": { "client_error_message": { "type": "string", "description": "Client side error message. This can be useful in providing some extra details about the client side failure. Note that the message won't be translated to the user's locale." } } }, "com.vmware.content.library.item.update_session_keep_alive": { "type": "object", "properties": { "client_progress": { "type": "integer", "description": "Optional update to the progress property of the session. If specified, the new progress should be greater then the current progress. See {@link UpdateSessionModel#clientProgress}.", "format": "int64" } } }, "com.vmware.content.library.item.update_session_model": { "type": "object", "properties": { "error_message": { "description": "If the session is in the {@link State#ERROR} status this property will have more details about the error.", "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "library_item_id": { "type": "string", "description": "The identifier of the library item to which content will be uploaded or removed." }, "state": { "description": "The current state ({@enum.values State}) of the update session.", "$ref": "#/definitions/com.vmware.content.library.item.update_session_model.state" }, "library_item_content_version": { "type": "string", "description": "The content version of the library item whose content is being modified. This value is the {@link ItemModel#contentVersion} at the time when the session is created for the library item." }, "expiration_time": { "type": "date_time", "description": "Indicates the time after which the session will expire. The session is guaranteed not to expire earlier than this time." }, "id": { "type": "string", "description": "The identifier of this update session." }, "client_progress": { "type": "integer", "description": "The progress that has been made with the upload. This property is to be updated by the client during the upload process to indicate the progress of its work in completing the upload. The initial progress is 0 until updated by the client. The maximum value is 100, which indicates that the update is complete.", "format": "int64" } } }, "com.vmware.content.library.item.update_session_model.state": { "enum": [ "ACTIVE", "DONE", "ERROR", "CANCELED" ], "type": "string", "description": "The state of an update session." }, "com.vmware.content.library.item.updatesession.file.add_spec": { "required": [ "source_type", "name" ], "type": "object", "properties": { "checksum_info": { "description": "The checksum of the file. If specified, the server will verify the checksum once the file is received. If there is a mismatch, the upload will fail.", "$ref": "#/definitions/com.vmware.content.library.item.file.checksum_info" }, "source_type": { "description": "The source type ({@enum.values SourceType}) from which the file content will be retrieved.", "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.source_type" }, "name": { "type": "string", "description": "The name of the file being uploaded." }, "source_endpoint": { "description": "Location from which the Content Library Service will fetch the file, rather than requiring a client to upload the file.", "$ref": "#/definitions/com.vmware.content.library.item.transfer_endpoint" }, "size": { "type": "integer", "description": "The file size, in bytes.", "format": "int64" } } }, "com.vmware.content.library.item.updatesession.file.info": { "required": [ "status", "bytes_transferred", "source_type", "name" ], "type": "object", "properties": { "status": { "description": "The transfer status ({@enum.values TransferStatus}) of this file.", "$ref": "#/definitions/com.vmware.content.library.item.transfer_status" }, "bytes_transferred": { "type": "integer", "description": "The number of bytes of this file that have been received by the server.", "format": "int64" }, "checksum_info": { "description": "The checksum information of the file received by the server.", "$ref": "#/definitions/com.vmware.content.library.item.file.checksum_info" }, "upload_endpoint": { "description": "An upload endpoint to which the client can push the content.", "$ref": "#/definitions/com.vmware.content.library.item.transfer_endpoint" }, "error_message": { "description": "Details about the transfer error.", "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "source_endpoint": { "description": "A source endpoint from which to retrieve the file.", "$ref": "#/definitions/com.vmware.content.library.item.transfer_endpoint" }, "source_type": { "description": "The source type ({@enum.values SourceType}) from which the file is being retrieved. This may be {@link SourceType#NONE} if the file is not being changed.", "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.source_type" }, "size": { "type": "integer", "description": "The file size, in bytes as received by the server. This {@term field} is guaranteed to be set when the server has completely received the file.", "format": "int64" }, "name": { "type": "string", "description": "The name of the file." } } }, "com.vmware.content.library.item.updatesession.file.source_type": { "enum": [ "NONE", "PUSH", "PULL" ], "type": "string", "description": "The {@name SourceType} {@term enumerated type} defines how the file content is retrieved." }, "com.vmware.content.library.item.updatesession.file.validation_error": { "required": [ "error_message", "name" ], "type": "object", "properties": { "error_message": { "description": "A message indicating why the file was considered invalid.", "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "name": { "type": "string", "description": "The name of the file." } } }, "com.vmware.content.library.item.updatesession.file.validation_result": { "required": [ "has_errors", "invalid_files", "missing_files" ], "type": "object", "properties": { "has_errors": { "type": "boolean", "description": "Whether the validation was succesful or not. In case of errors, the {@link #missingFiles} and {@link #invalidFiles} will contain at least one entry." }, "invalid_files": { "items": { "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.validation_error" }, "type": "array", "description": "A {@term list} containing the files that have been identified as invalid and details about the error." }, "missing_files": { "uniqueItems": true, "items": { "type": "string" }, "type": "array", "description": "A {@term set} containing the names of the files that are required but the client hasn't added." } } }, "com.vmware.content.library.item.updatesession.file_add": { "required": [ "file_spec" ], "type": "object", "properties": { "file_spec": { "description": "Specification for the file that needs to be added or updated. This includes whether the client wants to push the content or have the server pull it.", "$ref": "#/definitions/com.vmware.content.library.item.updatesession.file.add_spec" } } }, "com.vmware.content.library.item.updatesession.file_get": { "required": [ "file_name" ], "type": "object", "properties": { "file_name": { "type": "string", "description": "Name of the file." } } }, "com.vmware.content.library.item.updatesession.file_remove": { "required": [ "file_name" ], "type": "object", "properties": { "file_name": { "type": "string", "description": "Name of the file to be removed." } } }, "com.vmware.content.library.item_copy": { "required": [ "destination_create_spec" ], "type": "object", "properties": { "client_token": { "type": "string", "description": "A unique token generated on the client for each copy request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent copy." }, "destination_create_spec": { "description": "Specification for the new library item to be created.", "$ref": "#/definitions/com.vmware.content.library.item_model" } } }, "com.vmware.content.library.item_create": { "required": [ "create_spec" ], "type": "object", "properties": { "client_token": { "type": "string", "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." }, "create_spec": { "description": "Specification that defines the properties of the new library item.", "$ref": "#/definitions/com.vmware.content.library.item_model" } } }, "com.vmware.content.library.item_find": { "required": [ "spec" ], "type": "object", "properties": { "spec": { "description": "Specification describing what properties to filter on.", "$ref": "#/definitions/com.vmware.content.library.item.find_spec" } } }, "com.vmware.content.library.item_model": { "type": "object", "properties": { "library_id": { "type": "string", "description": "The identifier of the {@link LibraryModel} to which this item belongs." }, "description": { "type": "string", "description": "A human-readable description for this library item." }, "metadata_version": { "type": "string", "description": "A version number for the metadata of this library item.
This value is incremented with each change to the metadata of this item. Changes to name, description, and so on will increment this value. The value is not incremented by changes to the content or tags of the item or the library which owns it." }, "cached": { "type": "boolean", "description": "The status that indicates whether the library item is on disk or not. The library item is cached when all its files are on disk." }, "type": { "type": "string", "description": "An optional type identifier which indicates the type adapter plugin to use.
This {@term field} may be set to a non-empty string value that corresponds to an identifier supported by a type adapter plugin present in the Content Library Service. A type adapter plugin, if present for the specified type, can provide additional information and services around the item content. A type adapter can guide the upload process by creating file entries that are in need of being uploaded to complete an item.
The types and plugins supported by the Content Library Service can be queried using the {@link Type} {@term service}." }, "creation_time": { "type": "date_time", "description": "The date and time when this library item was created." }, "source_id": { "type": "string", "description": "The identifier of the {@link ItemModel} to which this item is synchronized to if the item belongs to a subscribed library. The value is {@term unset} for a library item that belongs to a local library." }, "version": { "type": "string", "description": "A version number that is updated on metadata changes. This value is used to validate update requests to provide optimistic concurrency of changes.
This value represents a number that is incremented every time library item properties, such as name or description, are changed. It is not incremented by changes to the file content of the library item, including adding or removing files. It is also not affected by tagging the library item." }, "last_modified_time": { "type": "date_time", "description": "The date and time when the metadata for this library item was last changed.
This {@term field} is affected by changes to the properties or file content of this item. It is not modified by changes to the tags of the item, or by changes to the library which owns this item." }, "content_version": { "type": "string", "description": "The version of the file content list of this library item." }, "size": { "type": "integer", "description": "The library item size, in bytes. The size is the sum of the size used on the storage backing for all the files in the item. When the library item is not cached, the size is 0.", "format": "int64" }, "last_sync_time": { "type": "date_time", "description": "The date and time when this library item was last synchronized.
This {@term field} is updated every time a synchronization is triggered on the library item, including when a synchronization is triggered on the library to which this item belongs. The value is {@term unset} for a library item that belongs to a local library." }, "id": { "type": "string", "description": "A unique identifier for this library item." }, "name": { "type": "string", "description": "A human-readable name for this library item.
The name may not be {@term unset} or an empty string. The name does not have to be unique, even within the same library." } } }, "com.vmware.content.library.item_path_get_by_datastore_path": { "required": [ "datastore_path" ], "type": "object", "properties": { "datastore_path": { "type": "string", "description": "Path of a content library file on a datastore." } } }, "com.vmware.content.library.item_update": { "required": [ "update_spec" ], "type": "object", "properties": { "update_spec": { "description": "Specification of the properties to set.", "$ref": "#/definitions/com.vmware.content.library.item_model" } } }, "com.vmware.content.library.optimization_info": { "type": "object", "properties": { "optimize_remote_publishing": { "type": "boolean", "description": "If set to {@code true} then library would be optimized for remote publishing.
Turn it on if remote publishing is dominant use case for this library. Remote publishing means here that publisher and subscribers are not the part of the same {@name Vcenter} SSO domain.
Any optimizations could be done as result of turning on this optimization during library creation. For example, library content could be stored in different format but optimizations are not limited to just storage format.
Note, that value of this toggle could be set only during creation of the library and you would need to migrate your library in case you need to change this value (optimize the library for different use case)." } } }, "com.vmware.content.library.publish_info": { "type": "object", "properties": { "persist_json_enabled": { "type": "boolean", "description": "Whether library and library item metadata are persisted in the storage backing as JSON files. This flag only applies if the local library is published.
Enabling JSON persistence allows you to synchronize a subscribed library manually instead of over HTTP. You copy the local library content and metadata to another storage backing manually and then create a subscribed library referencing the location of the library JSON file in the {@link SubscriptionInfo#subscriptionUrl}. When the subscribed library's storage backing matches the subscription URL, files do not need to be copied to the subscribed library.
For a library backed by a datastore, the library JSON file will be stored at the path contentlib-{library_id}/lib.json on the datastore.
For a library backed by a remote file system, the library JSON file will be stored at {library_id}/lib.json in the remote file system path." }, "authentication_method": { "description": "Indicates how a subscribed library should authenticate ({@enum.values AuthenticationMethod}) to the published library endpoint.", "$ref": "#/definitions/com.vmware.content.library.publish_info.authentication_method" }, "publish_url": { "type": "uri", "description": "The URL to which the library metadata is published by the Content Library Service.
This value can be used to set the {@link SubscriptionInfo#subscriptionUrl} property when creating a subscribed library." }, "published": { "type": "boolean", "description": "Whether the local library is published." }, "password": { "type": "secret", "description": "The password to require for authentication." }, "user_name": { "type": "string", "description": "The username to require for authentication." } } }, "com.vmware.content.library.publish_info.authentication_method": { "enum": [ "BASIC", "NONE" ], "type": "string", "description": "The {@name AuthenticationMethod} {@term enumerated type} indicates how a subscribed library should authenticate to the published library endpoint." }, "com.vmware.content.library.storage_backing": { "type": "object", "properties": { "datastore_id": { "type": "string", "description": "Identifier of the datastore used to store the content in the library." }, "type": { "description": "Type ({@enum.values Type}) of {@link StorageBacking}.", "$ref": "#/definitions/com.vmware.content.library.storage_backing.type" }, "storage_uri": { "type": "uri", "description": "URI identifying the location used to store the content in the library.
The following URI formats are supported:
vSphere 6.5
vSphere 6.0 Update 1
vSphere 6.0
If this is set to {@code true}, then the library item's metadata will be synchronized but the item's content (its files) will not be synchronized. The Content Library Service will synchronize the content upon request only. This can cause the first use of the content to have a noticeable delay.
Items without synchronized content can be forcefully synchronized in advance using the {@link SubscribedItem#sync} call with {@param.name forceSyncContent} set to true. Once content has been synchronized, the content can removed with the {@link SubscribedItem#evict} call.
If this value is set to {@code false}, all content will be synchronized in advance." }, "authentication_method": { "description": "Indicate how the subscribed library should authenticate ({@enum.values AuthenticationMethod}) with the published library endpoint.", "$ref": "#/definitions/com.vmware.content.library.subscription_info.authentication_method" }, "ssl_thumbprint": { "type": "string", "description": "An optional SHA-1 hash of the SSL certificate for the remote endpoint.
If this value is defined the SSL certificate will be verified by comparing it to the SSL thumbprint. The SSL certificate must verify against the thumbprint. When specified, the standard certificate chain validation behavior is not used. The certificate chain is validated normally if this value is {@term unset}." }, "automatic_sync_enabled": { "type": "boolean", "description": "Whether the library should participate in automatic library synchronization. In order for automatic synchronization to happen, the global {@link ConfigurationModel#automaticSyncEnabled} option must also be true. The subscription is still active even when automatic synchronization is turned off, but synchronization is only activated with an explicit call to {@link SubscribedLibrary#sync} or {@link SubscribedItem#sync}. In other words, manual synchronization is still available even when automatic synchronization is disabled." }, "subscription_url": { "type": "uri", "description": "The URL of the endpoint where the metadata for the remotely published library is being served.
This URL can be the {@link PublishInfo#publishUrl} of the published library (for example, https://server/path/lib.json).
If the source content comes from a published library with {@link PublishInfo#persistJsonEnabled}, the subscription URL can be a URL pointing to the library JSON file on a datastore or remote file system. The supported formats are:
vSphere 6.5
vSphere 6.0
When you specify a DS subscription URL, the datastore must be on the same vCenter Server as the subscribed library. When you specify an NFS or SMB subscription URL, the {@link StorageBacking#storageUri} of the subscribed library must be on the same remote file server and should share a common parent path with the subscription URL." }, "password": { "type": "secret", "description": "The password to use when authenticating.
The password must be set when using a password-based authentication method; empty strings are not allowed." }, "user_name": { "type": "string", "description": "The username to use when authenticating.
The username must be set when using a password-based authentication method. Empty strings are allowed for usernames." } } }, "com.vmware.content.library.subscription_info.authentication_method": { "enum": [ "BASIC", "NONE" ], "type": "string", "description": "Indicate how the subscribed library should authenticate with the published library endpoint." }, "com.vmware.content.library_find": { "required": [ "spec" ], "type": "object", "properties": { "spec": { "description": "Specification describing what properties to filter on.", "$ref": "#/definitions/com.vmware.content.library.find_spec" } } }, "com.vmware.content.library_model": { "type": "object", "properties": { "publish_info": { "description": "Defines how this library is published so that it can be subscribed to by a remote subscribed library.
The {@link PublishInfo} defines where and how the metadata for this local library is accessible. A local library is only published publically if {@link PublishInfo#published} is {@code true}.", "$ref": "#/definitions/com.vmware.content.library.publish_info" }, "storage_backings": { "items": { "$ref": "#/definitions/com.vmware.content.library.storage_backing" }, "type": "array", "description": "The list of storage backings which are available for this library.
A {@link StorageBacking} defines a storage location which can be used to store files for the library items in this library. Multiple storage locations are not currently supported but may become supported in future releases." }, "name": { "type": "string", "description": "The name of the library.
A Library is identified by a human-readable name. Library names cannot be undefined or an empty string. Names do not have to be unique." }, "type": { "description": "The type ({@enum.values LibraryModel.LibraryType}) of this library.
This value can be used to determine what additional services and information can be available for this library.", "$ref": "#/definitions/com.vmware.content.library_model.library_type" }, "creation_time": { "type": "date_time", "description": "The date and time when this library was created." }, "subscription_info": { "description": "Defines the subscription behavior for this Library.
The {@link SubscriptionInfo} defines how this subscribed library synchronizes to a remote source. Setting the value will determine the remote source to which the library synchronizes, and how. Changing the subscription will result in synchronizing to a new source. If the new source differs from the old one, the old library items and data will be lost. Setting {@link SubscriptionInfo#automaticSyncEnabled} to false will halt subscription but will not remove existing cached data.", "$ref": "#/definitions/com.vmware.content.library.subscription_info" }, "server_guid": { "type": "string", "description": "The unique identifier of the vCenter server where the library exists." }, "optimization_info": { "description": "Defines various optimizations and optimization parameters applied to this library.", "$ref": "#/definitions/com.vmware.content.library.optimization_info" }, "version": { "type": "string", "description": "A version number which is updated on metadata changes. This value allows clients to detect concurrent updates and prevent accidental clobbering of data.
This value represents a number which is incremented every time library properties, such as name or description, are changed. It is not incremented by changes to a library item within the library, including adding or removing items. It is also not affected by tagging the library." }, "last_modified_time": { "type": "date_time", "description": "The date and time when this library was last updated.
This {@term field} is updated automatically when the library properties are changed. This {@term field} is not affected by adding, removing, or modifying a library item or its content within the library. Tagging the library or syncing the subscribed library does not alter this {@term field}." }, "last_sync_time": { "type": "date_time", "description": "The date and time when this library was last synchronized.
This {@term field} applies only to subscribed libraries. It is updated every time a synchronization is triggered on the library. The value is {@term unset} for a local library." }, "id": { "type": "string", "description": "An identifier which uniquely identifies this {@name LibraryModel}." }, "description": { "type": "string", "description": "A human-readable description for this library." } } }, "com.vmware.content.library_model.library_type": { "enum": [ "LOCAL", "SUBSCRIBED" ], "type": "string", "description": "The {@name LibraryType} {@term enumerated type} defines the type of a {@link LibraryModel}.
The type of a library can be used to determine which additional services can be performed with a library." }, "com.vmware.content.library_update": { "required": [ "update_spec" ], "type": "object", "properties": { "update_spec": { "description": "Specification of the new property values to set on the library.", "$ref": "#/definitions/com.vmware.content.library_model" } } }, "com.vmware.content.local_library_create": { "required": [ "create_spec" ], "type": "object", "properties": { "client_token": { "type": "string", "description": "A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." }, "create_spec": { "description": "Specification for the new local library.", "$ref": "#/definitions/com.vmware.content.library_model" } } }, "com.vmware.content.local_library_update": { "required": [ "update_spec" ], "type": "object", "properties": { "update_spec": { "description": "Specification of the new property values to set on the local library.", "$ref": "#/definitions/com.vmware.content.library_model" } } }, "com.vmware.content.subscribed_library.probe_result": { "required": [ "status", "error_messages" ], "type": "object", "properties": { "status": { "description": "The status of probe result. This will be one of {@enum.values Status}.", "$ref": "#/definitions/com.vmware.content.subscribed_library.probe_result.status" }, "ssl_thumbprint": { "type": "string", "description": "The SSL thumbprint for the remote endpoint." }, "error_messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "If the probe result is in an error status, this {@term field} will contain the detailed error messages." } } }, "com.vmware.content.subscribed_library.probe_result.status": { "enum": [ "SUCCESS", "INVALID_URL", "TIMED_OUT", "HOST_NOT_FOUND", "RESOURCE_NOT_FOUND", "INVALID_CREDENTIALS", "CERTIFICATE_ERROR", "UNKNOWN_ERROR" ], "type": "string", "description": "The {@name Status} {@term enumerated type} defines the error status constants for the probe result." }, "com.vmware.content.subscribed_library_create": { "required": [ "create_spec" ], "type": "object", "properties": { "client_token": { "type": "string", "description": "Unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: {@code b8a2a2e3-2314-43cd-a871-6ede0f429751}. This token can be used to guarantee idempotent creation." }, "create_spec": { "description": "Specification for the new subscribed library.", "$ref": "#/definitions/com.vmware.content.library_model" } } }, "com.vmware.content.subscribed_library_probe": { "required": [ "subscription_info" ], "type": "object", "properties": { "subscription_info": { "description": "The subscription info to be probed.", "$ref": "#/definitions/com.vmware.content.library.subscription_info" } } }, "com.vmware.content.subscribed_library_update": { "required": [ "update_spec" ], "type": "object", "properties": { "update_spec": { "description": "Specification of the new property values to set on the subscribed library.", "$ref": "#/definitions/com.vmware.content.library_model" } } }, "com.vmware.vapi.std.errors.error": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.invalid_argument": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.invalid_element_configuration": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.invalid_element_type": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.not_allowed_in_current_state": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.not_found": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.resource_busy": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.resource_inaccessible": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.unauthorized": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.errors.unsupported": { "required": [ "messages" ], "type": "object", "properties": { "data": { "type": "dynamic_structure", "description": "Data to facilitate clients responding to the {@term operation} reporting a standard {@term error} to indicating that it was unable to complete successfully.
{@term Operations} may provide data that clients can use when responding to {@term errors}. Since the data that clients need may be specific to the context of the {@term operation} reporting the {@term error}, different {@term operations} that report the same {@term error} may provide different data in the {@term error}. The documentation for each each {@term operation} will describe what, if any, data it provides for each {@term error} it reports. The {@link ArgumentLocations}, {@link FileLocations}, and {@link TransientIndication} {@term structures} are intended as possible values for this {@term field}. {@link com.vmware.vapi.std.DynamicID} may also be useful as a value for this {@term field} (although that is not its primary purpose). Some {@term services} may provide their own specific {@term structures} for use as the value of this {@term field} when reporting {@term errors} from their {@term operations}." }, "messages": { "items": { "$ref": "#/definitions/com.vmware.vapi.std.localizable_message" }, "type": "array", "description": "Stack of one or more localizable messages for human {@term error} consumers.
The message at the top of the stack (first in the list) describes the {@term error} from the perspective of the {@term operation} the client invoked. Each subsequent message in the stack describes the \"cause\" of the prior message." } } }, "com.vmware.vapi.std.localizable_message": { "required": [ "default_message", "args", "id" ], "type": "object", "properties": { "default_message": { "type": "string", "description": "The value of this localizable string or message template in the {@code en_US} (English) locale. If {@link #id} refers to a message template, the default message will contain the substituted arguments. This value can be used by clients that do not need to display strings and messages in the native language of the user. It could also be used as a fallback if a client is unable to access the appropriate message catalog." }, "args": { "items": { "type": "string" }, "type": "array", "description": "Arguments to be substituted into a message template." }, "id": { "type": "string", "description": "Unique identifier of the localizable string or message template.
This identifier is typically used to retrieve a locale-specific string or message template from a message catalog." } } } }, "swagger": "2.0", "externalDocs": {} }