ENUM

EntityTraversalScope

EntityTraversalScope indicates the scope of a relationship traversal in the data model

This is required when a graph traversal may cross the partitioning boundary of the graph data model.

Each customer has multiple graph partitions. There is one partition for the management plane entities, one for the VMware managed resources, and one partition per public cloud account. When navigating relationships between partitions, a query must specify a suitable TraversalScope in the traversal.

Cross-partition traversals in a graph query have a performance impact on the query but are required when data is in different partitions.

The most common requirement to specify a traversal scope are when traversing between a management-plane entity which is constructed by the management layer and an entity from a managed environment in a public or private cloud.

One simple way of telling if there a cross-partition traversal is required is to consider the entityType prefixes to determine in which partition the relevant entities are stored:

VMW_MANAGEMENT_PLANE: entityType prefix indicates resources from a VMware management product: vmw.ens, vmw.vra, vmw.vrops, vmw.vrni, ... VMW_MANAGED_RESOURCES: entityType prefix indicates managed resources from a VMware managed environment e.g. vmw.vc, vmw.nsx <managementEndpointId>: entityType prefix indicates a public cloud resource: AWS, Azure, GCP - resources for each public cloud account are stored in separate partitions identified by the managementEndpointId.

link GraphQL Schema definition

  • enum EntityTraversalScope {
  • # Optimized traversal scope - relationships are to entities in the same partition
  • # (typically same cloudAccountId). Most performant.
  • SAME_PARTITION
  • # Remote traversal scope - relationships are to entities in a different partition
  • CROSS_PARTITION
  • # Default traversal scope - relationships are to entities which may be in the same
  • # or a different partition
  • ANY_PARTITION
  • }