LibraryModel

LibraryModel
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.

JSON Example
{
    "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
}
string
id
Optional

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.

string As date-time
creation_time
Optional

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.

string
description
Optional

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.

string As date-time
last_modified_time
Optional

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.

string As date-time
last_sync_time
Optional

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.

string
name
Optional

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.

storage_backings
Optional

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.

type
Optional

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.

optimization_info
Optional

The OptimizationInfo structure defines different optimizations and optimization parameters applied to particular library.

string
version
Optional

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.

publish_info
Optional

The PublishInfo structure defines how a local library is published publicly for synchronization to other libraries.

subscription_info
Optional

The SubscriptionInfo structure defines the subscription behavior for a subscribed library.

string
server_guid
Optional

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.

string
security_policy_id
Optional

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.

boolean
unset_security_policy_id
Optional

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.