REST API - get_changes

cdc change log: get changes

Returns all resource change events that have occurred since the provided sequence token. The latter uniquely identifies the first change event in the ordered sequence of change events that must be read.

In case the provided sequence token is the most recent one in the Change Log, 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.

Request:

HTTP request

POST https://{server}/rest/com/vmware/cdc/change-log?~action=get-changes

Request Body Structure:

{
    "sequence_token""string"
}

Request Body Parameters:

Name Type Description
bold = required
sequence_token string an opaque token that identifies the first resource change event to be returned. In order to ensure continuous delivery of change events, this token should be equal to the sequence token returned by the previous call to the method or by the initialization method: get_current_sequence, if that is the first attempt to get changes..

Response:

HTTP Status Code: 200

Representation:

{
    "value"{
        "sequence""string",
        "changes"[
            {
                "resource"{
                    "id""obj-103",
                    "type""string"
                },
                "kind""CREATE",
                "parent_resources"[
                    {
                        "id""obj-103",
                        "type""string"
                    },
                    {
                        "id""obj-103",
                        "type""string"
                    }
                ],
                "properties"[
                    "string",
                    "string"
                ]
            },
            {
                "resource"{
                    "id""obj-103",
                    "type""string"
                },
                "kind""CREATE",
                "parent_resources"[
                    {
                        "id""obj-103",
                        "type""string"
                    },
                    {
                        "id""obj-103",
                        "type""string"
                    }
                ],
                "properties"[
                    "string",
                    "string"
                ]
            }
        ]
    }
}

Response Type:

Name Type Description
bold = required
value change_list all resource change events that have occurred since the provided sequence token.
value.sequence string Tthe sequence token that must be used in a subsequent-call to get_changes method, in order to get the next set of changes. This value is opaque to the consumer and should not be parsed nor interpreted in any way.

value.changes change_event[] The change events that represent all changes that have occurred since the requested sequence token.

Optional. May be missing if no changes occurred.

value.changes[].resource dynamic_ID The identifier of the resource that has been changed.

value.changes[].resource.type string The type of resource being identified (for example com.acme.Person).

Services that contain operations for creating and deleting resources typically contain a constant specifying the resource type for the resources being created and deleted. The API metamodel metadata services include a service that allows retrieving all the known resource types.

value.changes[].resource.id string The identifier for a resource whose type is specified by vapi.std.dynamic_ID.type.

When clients pass a value of this structure as a parameter, the field type must contain the actual resource type. When operations return a value of this structure as a result, the field type will contain the actual resource type.

value.changes[].kind string The kind of the change that has occurred. Never null

The kind of the change that occurred. Value is one of:
CREATE: A new resource has been created.
UPDATE: The resource state (model) has been updated
DELETE: The resource has been deleted.

value.changes[].properties string[] The resoruce model's properties whose values changed, only in case of UPDATE change event. The field is unset in case of any other kind of change event, i.e. CREATE or DELETE.

Each property could be either a single property name, in case of an immediate property of the resource model or a property path (chain) of property names, separated with / symbol to indicate a child property, e.g. relatives/father.

Optional. Unset in case of CREATE or DELETE change kind.

Errors:

HTTP Status Code Type Description
400 invalid_argument if the provided sequence token is invalid or too old, i.e. has expired.