Scripting Object - VcCDCChangeLogCollector

Scripting-object corresponding to
CDCChangeLogCollector
Attribute of
VcInternalServiceInstanceContent

Scripting Object Description

Provides a mechanism for harvesting data change events from one or multiple Change Log instances.

Each Change Log represents a totally-ordered, read-only log of changed data events. Clients can use it to listen for changes to the state or life-cycle of server-side managed objects. Change events within a single Change Log instance are ordered with respect to the time of their relative occurrence. However, order of changes from multiple Change Log instance is not guaranteed.

A client can request all changes that have occurred since its previous request for changes by providing the sequence token obtained from the last change list received.

The recommended scenario for using the Change Log is:

  1. Retrieve the current sequence using {@link #initializeSequence(String[])}.
  2. Retrieve the managed object's data (property values) the client is interested in.
  3. Poll for changes using {@link #waitForChanges(String)} at regular intervals that match the requirements of the client. The polling interval should be between 500 milliseconds and 1 minute. Any longer period may result in error due to expired sequence.

The scheme outlined above, may result in receiving change event for property whose changed values is already retrieved in the second step. However, this may happen only in the beginning and it should not lead to any functional problems, but only extra data fetch calls that otherwise could be avoided.

Attributes

Name Type Description
idString

@since Unknown
morefVcManagedObjectReference

returns the ManagedObjectReference of this ManagedObject @since Unknown
sdkConnectionVcSdkConnection

@since Unknown
sdkIdString

@since Unknown
typeStringDeprecated.

Returns the name for the this managed object's vim type @since Unknown
vimHostVcSdkConnection

@since Unknown
vimIdString

@since Unknown
vimTypeString

@since Unknown

Methods

Methods defined in this Scripting Object
_getRef, createTrigger, exchangeSequence, initializeSequence, waitForChanges

initializeSequence

Returns a token which identifies the most recent sequences of change events for a set of given Change Logs. Any client who wants to retrieve change events should use this method before calling {@link #waitForChanges(String)} in order to initialize its own sequence.

The returned value is opaque to the consumer and should not be parsed nor interpreted in any way. @since vSphere API 6.5

Parameters

NameTypeDescription
arg0String []


Return Value

Type Description
String

_getRef

@since Unknown

Parameters

NameTypeDescription
None

Return Value

Type Description
VcManagedObjectReference

createTrigger

@since Unknown

Parameters

NameTypeDescription
timeoutNumber

filterString

conditionString

filterToSyncString


Return Value

Type Description
Trigger

exchangeSequence

Exchanges an existing sequence token for a new one that includes the most recent sequences of a new set of Change Logs and removes the sequences of previously used Change Logs.

Useful when the client wants to start monitoring a new set of Change Logs but does not want to miss any changes from the Change Logs that are already monitored. This call cancels out any pending waitForChanges calls previously invoked within the same vmacore session.

The returned value is opaque to the consumer and should not be parsed nor interpreted in any way. @since vSphere API 6.5

Parameters

NameTypeDescription
arg0String

arg1String []

arg2String []


Return Value

Type Description
String

waitForChanges

Returns all change events that have occurred since the provided sequence token from all Change Log instances that the sequence token is associated with. The token uniquely identifies the first change event that must be read from the ordered sequence of change events of each Change Log instance.

In case the provided sequence token is the most recent one in all Change Logs, i.e. there are no new change events to be returned, the server will delay the response (up to a time limit defined by the server) until new changes can be returned. This helps eliminating the overhead of empty request/response calls. @since vSphere API 6.5

Parameters

NameTypeDescription
arg0String


Return Value

Type Description
VcCDCChangeSet