com.vmware.content package

Submodules

com.vmware.content.library_client module

The Content Library module provides classes and classes for defining and managing the library’s items, subscription, publication, and storage.

class com.vmware.content.library_client.Item(config)

Bases: vmware.vapi.bindings.stub.VapiInterface

The Item class provides methods for managing library items.

class FindSpec(name=None, library_id=None, source_id=None, type=None, cached=None)

Bases: vmware.vapi.bindings.struct.VapiStruct

The Item.FindSpec class specifies the properties that can be used as a filter to find library items. When multiple attributes are specified, all properties of the item must match the specification.

Tip

The arguments are used to initialize data attributes with the same names.

RESOURCE_TYPE = 'com.vmware.content.library.Item'

Resource type for item.

copy(source_library_item_id, destination_create_spec, client_token=None)

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.
Parameters:
  • client_token (str or None) – A unique token generated on the client for each copy request. The token should be a universally unique identifier (UUID), for example: b8a2a2e3-2314-43cd-a871-6ede0f429751. This token can be used to guarantee idempotent copy. If not specified copy is not idempotent.
  • source_library_item_id (str) – Identifier of the existing library item from which the content will be copied. The parameter must be an identifier for the resource type: com.vmware.content.library.Item.
  • destination_create_spec (ItemModel) – Specification for the new library item to be created.
Return type:

str

Returns:

The identifier of the new library item into which the content is being copied. The return value will be an identifier for the resource type: com.vmware.content.library.Item.

Raise:

com.vmware.vapi.std.errors_client.NotFound if the library item with source_library_item_id does not exist, or if the library referenced by the ItemModel.library_id property of destination_create_spec does not exist.

Raise:
com.vmware.vapi.std.errors_client.InvalidArgument

if one of the following is true for the new library item:

  • name is empty
  • name exceeds 80 characters
  • description exceeds 1024 characters
Raise:

com.vmware.vapi.std.errors_client.InvalidArgument if the client_token does not conform to the UUID format.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementType if the ItemModel.library_id property of destination_create_spec refers to a subscribed library.

Raise:

com.vmware.vapi.std.errors_client.ResourceInaccessible if the copy operation failed because the source or destination library item is not accessible.

Raise:

com.vmware.vapi.std.errors_client.NotAllowedInCurrentState if the content of the source library item specified by source_library_item_id, or the content of the target library specified by the library ID (see ItemModel.library_id) property of destination_create_spec has been deleted from the storage backings (see null) associated with it.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.library.Item referenced by the parameter source_library_item_id requires System.Read.
  • The resource com.vmware.content.Library referenced by the attribute ItemModel.library_id requires ContentLibrary.AddLibraryItem.
create(create_spec, client_token=None)

Creates a new library item.

A new library item is created without any content. After creation, content can be added through the com.vmware.content.library.item_client.UpdateSession and com.vmware.content.library.item.updatesession_client.File classes.

A library item cannot be created in a subscribed library.
Parameters:
  • client_token (str or None) – A unique token generated on the client for each creation request. The token should be a universally unique identifier (UUID), for example: b8a2a2e3-2314-43cd-a871-6ede0f429751. This token can be used to guarantee idempotent creation. If not specified creation is not idempotent.
  • create_spec (ItemModel) – Specification that defines the properties of the new library item.
Return type:

str

Returns:

Identifier of the new library item. The return value will be an identifier for the resource type: com.vmware.content.library.Item.

Raise:

com.vmware.vapi.std.errors_client.NotFound if the ItemModel.library_id property of create_spec refers to a library that does not exist.

Raise:
com.vmware.vapi.std.errors_client.InvalidArgument

if one of the following is true for the new library item:

  • name is empty
  • name exceeds 80 characters
  • description exceeds 1024 characters
Raise:

com.vmware.vapi.std.errors_client.InvalidArgument if the client_token does not conform to the UUID format.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementType if the ItemModel.library_id property of destinationCreateSpec refers to a subscribed library.

Raise:

com.vmware.vapi.std.errors_client.NotAllowedInCurrentState if the content of the library specified by the library ID (see ItemModel.library_id) property of create_spec has been deleted from the storage backings (see null) associated with it.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.Library referenced by the attribute ItemModel.library_id requires ContentLibrary.AddLibraryItem.
delete(library_item_id)

Deletes a library item.

This method 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 method 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.

Parameters:

library_item_id (str) – Identifier of the library item to delete. The parameter must be an identifier for the resource type: com.vmware.content.library.Item.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementType if the library item with the given library_item_id is a member of a subscribed library.

Raise:

com.vmware.vapi.std.errors_client.NotFound if the library item with the specified library_item_id does not exist.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.library.Item referenced by the parameter library_item_id requires ContentLibrary.DeleteLibraryItem.
find(spec)

Returns identifiers of all the visible (as determined by authorization policy) library items matching the requested Item.FindSpec.

Parameters:

spec (Item.FindSpec) – Specification describing what properties to filter on.

Return type:

list of str

Returns:

The list of identifiers of all the visible library items matching the given spec. The return value will contain identifiers for the resource type: com.vmware.content.library.Item.

Raise:

com.vmware.vapi.std.errors_client.InvalidArgument if no properties are specified in the spec.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • Method execution requires System.Read.
  • The resource com.vmware.content.Library referenced by the attribute Item.FindSpec.library_id requires System.Read.
get(library_item_id)

Returns the ItemModel with the given identifier.

Parameters:

library_item_id (str) – Identifier of the library item to return. The parameter must be an identifier for the resource type: com.vmware.content.library.Item.

Return type:

ItemModel

Returns:

The ItemModel instance with the given library_item_id.

Raise:

com.vmware.vapi.std.errors_client.NotFound if no item with the given library_item_id exists.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.library.Item referenced by the parameter library_item_id requires System.Read.
list(library_id)

Returns the identifiers of all items in the given library.

Parameters:

library_id (str) – Identifier of the library whose items should be returned. The parameter must be an identifier for the resource type: com.vmware.content.Library.

Return type:

list of str

Returns:

The list of identifiers of the items in the library specified by library_id. The return value will contain identifiers for the resource type: com.vmware.content.library.Item.

Raise:

com.vmware.vapi.std.errors_client.NotFound if the library associated with library_id does not exist.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.Library referenced by the parameter library_id requires System.Read.
update(library_item_id, update_spec)

Updates the specified properties of a library item.

This is an incremental update to the library item. Attributes that are None in the update specification are left unchanged.

This method 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.

Parameters:
  • library_item_id (str) – Identifier of the library item to update. The parameter must be an identifier for the resource type: com.vmware.content.library.Item.
  • update_spec (ItemModel) – Specification of the properties to set.
Raise:

com.vmware.vapi.std.errors_client.NotFound if the library item specified by library_item_id does not exist.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementType if the library item corresponding to library_item_id is a member of a subscribed library.

Raise:
com.vmware.vapi.std.errors_client.InvalidArgument

if one of the following is true for the update_spec:

  • name is empty
  • name exceeds 80 characters
  • description exceeds 1024 characters
  • version is not equal to the current version of the library item
Raise:

com.vmware.vapi.std.errors_client.NotAllowedInCurrentState if the library item belongs to a published library with JSON persistence enabled (see PublishInfo.persist_json_enabled) and the content of the library item specified by library_item_id has been deleted from the storage backings (see null) associated with it.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.library.Item referenced by the parameter library_item_id requires ContentLibrary.UpdateLibraryItem.
class com.vmware.content.library_client.ItemModel(id=None, library_id=None, content_version=None, creation_time=None, description=None, last_modified_time=None, last_sync_time=None, metadata_version=None, name=None, cached=None, size=None, type=None, version=None, source_id=None)

Bases: vmware.vapi.bindings.struct.VapiStruct

The ItemModel class represents a library item that has been stored in a library.

A ItemModel represents a single logical unit to be managed within a com.vmware.content_client.LibraryModel. Items contain the actual content of a library, and their placement within a library determines policies that affect that content such as publishing.

A library item can have a specified type, indicated with the ItemModel.type attribute. This property is associated with a Content Library Service plugin that supports specific types and provides additional services. The types available in a specific Content Library Service can be queried using the com.vmware.content_client.Type class. Items of an unknown or unspecified type are treated generically. Because subscribed library catalogs are synchronized as is, subscribing to a remote Content Library Service effectively gives you a library with the functionality of the remote service’s type adapter plugins, even if they are not installed locally.

Items can be managed using the Item class and, for items in subscribed libraries, the SubscribedItem class.

Tip

The arguments are used to initialize data attributes with the same names.

class com.vmware.content.library_client.OptimizationInfo(optimize_remote_publishing=None)

Bases: vmware.vapi.bindings.struct.VapiStruct

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

Tip

The arguments are used to initialize data attributes with the same names.

class com.vmware.content.library_client.PublishInfo(authentication_method=None, published=None, publish_url=None, user_name=None, password=None, current_password=None, persist_json_enabled=None)

Bases: vmware.vapi.bindings.struct.VapiStruct

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

Tip

The arguments are used to initialize data attributes with the same names.

class AuthenticationMethod(string)

Bases: vmware.vapi.bindings.enum.Enum

The PublishInfo.AuthenticationMethod class indicates how a subscribed library should authenticate to the published library endpoint.

Note

This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See enumerated type description page.

BASIC = AuthenticationMethod(string='BASIC')

Require HTTP Basic authentication matching a specified username and password.

NONE = AuthenticationMethod(string='NONE')

Require no authentication.

class com.vmware.content.library_client.StorageBacking(type=None, datastore_id=None, storage_uri=None)

Bases: vmware.vapi.bindings.struct.VapiStruct

The StorageBacking class defines a storage location where content in a library will be stored. The storage location can either be a Datastore or Other type.

Tip

The arguments are used to initialize data attributes with the same names.

class Type(string)

Bases: vmware.vapi.bindings.enum.Enum

The StorageBacking.Type class specifies the type of the StorageBacking.

Note

This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See enumerated type description page.

DATASTORE = Type(string='DATASTORE')

The content of the library will be stored on a datastore.

These are vCenter Server managed datastores, and are logical containers that hide specifics of each storage device. Depending on the type of storage you use, datastores can be backed by the following file system formats:

  • Virtual Machine File System (VMFS)
  • Network File System (NFS)
OTHER = Type(string='OTHER')

The content of the library will be stored on a remote file system.

Supports the following remote file systems:
  • NFS (on vCenter Server Appliance)
  • SMB (on vCenter Server Appliance and vCenter Server for Windows)
class com.vmware.content.library_client.StubFactory(stub_config)

Bases: vmware.vapi.bindings.stub.StubFactoryBase

class com.vmware.content.library_client.SubscribedItem(config)

Bases: vmware.vapi.bindings.stub.VapiInterface

The SubscribedItem class manages the unique features of library items that are members of a subscribed library.

evict(library_item_id)

Evicts the cached content of a library item in a subscribed library.

This method allows the cached content of a library item to be removed to free up storage capacity. This method 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 ItemModel.cached to false.

Parameters:

library_item_id (str) – Identifier of the library item whose content should be evicted. The parameter must be an identifier for the resource type: com.vmware.content.library.Item.

Raise:

com.vmware.vapi.std.errors_client.NotFound if the library item specified by library_item_id does not exist.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementType if the library item specified by library_item_id is not a member of a subscribed library.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementConfiguration if the library item specified by library_item_id is a member of a subscribed library that does not synchronize on-demand.

Raise:

com.vmware.vapi.std.errors_client.NotAllowedInCurrentState if the content of the library item specified by library_item_id has been deleted from the storage backings (see null) associated with it.

For instance, this {\@term error) is reported on evicting a library item in an on-demand subscribed library that was restored from backup, and the library item was deleted after backup, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library item is present on a restore, while its content has been deleted.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.library.Item referenced by the parameter library_item_id requires ContentLibrary.EvictLibraryItem.
sync(library_item_id, force_sync_content)

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 method will delete the library item from the subscribed library as well.

The default behavior of the synchronization is determined by the SubscriptionInfo of the library which owns the library item.

  • If SubscriptionInfo.on_demand is true, then the file content is not synchronized by default. In this case, only the library item metadata is synchronized. The file content may still be forcefully synchronized by passing true for the force_sync_content parameter.
  • If SubscriptionInfo.on_demand is false, then this call will always synchronize the file content. The force_sync_content parameter is ignored when the subscription is not on-demand.

When the file content has been synchronized, the ItemModel.cached attribute will be true.

This method will return immediately and create an asynchronous task to perform the synchronization.

Parameters:
  • library_item_id (str) – Identifier of the library item to synchronize. The parameter must be an identifier for the resource type: com.vmware.content.library.Item.
  • force_sync_content (bool) – Whether to synchronize file content as well as metadata. This parameter applies only if the subscription is on-demand.
Raise:

com.vmware.vapi.std.errors_client.NotFound if the library item specified by library_item_id could not be found.

Raise:

com.vmware.vapi.std.errors_client.InvalidElementType if the library item specified by library_item_id is not a member of a subscribed library.

Raise:

com.vmware.vapi.std.errors_client.NotAllowedInCurrentState if the content of the library item specified by library_item_id has been deleted from the storage backings (see null) associated with it.

For instance, this {\@term error) is reported on synchronizing a library item in a subscribed library that was restored from backup, and the library item was deleted after backup, thus resulting in its content being deleted from the associated storage backings. In this scenario, the metadata of the library item is present on a restore, while its content has been deleted.

Raise:

com.vmware.vapi.std.errors_client.Unauthorized if you do not have all of the privileges described as follows:

  • The resource com.vmware.content.library.Item referenced by the parameter library_item_id requires ContentLibrary.SyncLibraryItem.
class com.vmware.content.library_client.SubscriptionInfo(authentication_method=None, automatic_sync_enabled=None, on_demand=None, password=None, ssl_thumbprint=None, subscription_url=None, user_name=None)

Bases: vmware.vapi.bindings.struct.VapiStruct

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

Tip

The arguments are used to initialize data attributes with the same names.

class AuthenticationMethod(string)

Bases: vmware.vapi.bindings.enum.Enum

Indicate how the subscribed library should authenticate with the published library endpoint.

Note

This class represents an enumerated type in the interface language definition. The class contains class attributes which represent the values in the current version of the enumerated type. Newer versions of the enumerated type may contain new values. To use new values of the enumerated type in communication with a server that supports the newer version of the API, you instantiate this class. See enumerated type description page.

BASIC = AuthenticationMethod(string='BASIC')

Require HTTP Basic authentication matching a specified username and password.

NONE = AuthenticationMethod(string='NONE')

Require no authentication.