LibraryModel
The LibraryModel structure represents a Content Library resource model. A LibraryModel is a container for a set of items which represent a usable set of files. The Content Library Service allows for multiple libraries to be created with separate authorization and sharing policies.
Each LibraryModel is a container for a set of ItemModel instances. Each item is a logical object in a library, which may have multiple files.
A LibraryModel may be local or subscribed. A local library has its source of truth about items within this Content Library Service. Items may be added to or removed from the library. A local library may also be private or published. When published, the library is exposed by a network endpoint and can be used by another Content Library Service for synchronization. A private local library cannot be used for synchronization.
A subscribed library is a library which gets its source of truth from another library that may be across a network in another Content Library Service. A subscribed library may have a different name and metadata from the library to which it subscribes, but the set of library items is always the same as those in the source library. Library items cannot be manually added to a subscribed library -- they can only be added by adding new items to the source library.
{
"id": "string",
"creation_time": "string",
"description": "string",
"last_modified_time": "string",
"last_sync_time": "string",
"name": "string",
"storage_backings": [
{
"type": "string",
"datastore_id": "string",
"storage_uri": "string"
}
],
"type": "string",
"optimization_info": {
"optimize_remote_publishing": false
},
"version": "string",
"publish_info": {
"authentication_method": "string",
"published": false,
"publish_url": "string",
"user_name": "string",
"password": "string",
"current_password": "string",
"persist_json_enabled": false
},
"subscription_info": {
"authentication_method": "string",
"automatic_sync_enabled": false,
"on_demand": false,
"password": "string",
"ssl_thumbprint": "string",
"subscription_url": "string",
"user_name": "string",
"source_info": {
"source_library": "string",
"subscription": "string"
}
},
"server_guid": "string",
"security_policy_id": "string",
"unset_security_policy_id": false
}
An identifier which uniquely identifies this LibraryModel. This field is not used for the create operation. It will not be present in the result of the get or list operations. It is not used for the update operation. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.content.Library.
The date and time when this library was created. This field is not used for the create operation. It will always be present in the result of the get or list operations. It is not used for the update operation.
A human-readable description for this library. This field is optional for the create operation. Leaving it unset during creation will result in an empty string value. It will always be present in the result of a get or list operation. It is optional for the update operation. Leaving it unset during update indicates that the description should be left unchanged.
The date and time when this library was last updated. This field is updated automatically when the library properties are changed. This 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 field.
This field is not used for the create operation. It will always be present in the result of the get or list operations. It is not used for the update operation.
The date and time when this library was last synchronized. This field applies only to subscribed libraries. It is updated every time a synchronization is triggered on the library. The value is unset for a local library.
This field is not used for the create operation. It is optional in the result of the get or list operations. It is not used for the update operation.
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.
This field must be provided for the create operation. It will always be present in the result of the get or list operations. It is optional for the update operation.
The list of default storage backings which are available for this library. A StorageBacking defines a default storage location which can be used to store files for library items in this library. Some library items, for instance, virtual machine template items, support files that may be distributed across various storage backings. One or more item files may or may not be located on the default storage backing.
Multiple default storage locations are not currently supported but may become supported in future releases.
This field must be provided for the create operation. It will always be present in the result of the get or list operations. It is not used for the update operation.
The LibraryModel.LibraryType enumerated type defines the type of a LibraryModel. The type of a library can be used to determine which additional services can be performed with a library.
LOCAL : The library contents are defined and stored by the local Content Library Service installation. A local library can be retrieved and managed via the LocalLibrary.
SUBSCRIBED : The library synchronizes its items and content from another published library. A subscribed library can be retrieved and managed via the SubscribedLibrary.
The OptimizationInfo structure defines different optimizations and optimization parameters applied to particular library.
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.
This field is not used for the create operation. It will always be present in the result of a get or list operation. It is optional for the update operation. Leaving it unset during update indicates that you do not need to detect concurrent updates.
The PublishInfo structure defines how a local library is published publicly for synchronization to other libraries.
The SubscriptionInfo structure defines the subscription behavior for a subscribed library.
The unique identifier of the vCenter server where the library exists. This field is optional for the create operation. It will always be present in the result of the get or list operations. It is not used for the update operation. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.vcenter.VCenter. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.vcenter.VCenter.
Represents the security policy applied to this library. Setting the field will make the library secure. This field is ignored in update operation if LibraryModel.unset-security-policy-id is set to true.
This field is optional for the create and update operations. If not set in create operation, the library will be insecure. If not specified in update operation, the field is left unchanged. When clients pass a value of this structure as a parameter, the field must be an identifier for the resource type: com.vmware.content.Library. When operations return a value of this structure as a result, the field will be an identifier for the resource type: com.vmware.content.Library.
This represents the intent of the change to LibraryModel.security-policy-id in update operation. If this field is set to true, any security policy applied to the library will be removed. If this field is set to false, any security policy applied to library will be changed to the value specified in LibraryModel.security-policy-id, if any.
This field is optional for the update operation. If unset, any existing security policy will be changed to the value specified in LibraryModel.security-policy-id, if any.