Skip to main content
Version: 2.4.7

Graph Node

A graph node is a JSON document with a well-defined structure and the following top-level properties:

{
"id": "xxx",
"reported": { ... },
"desired": { ... },
"metadata": { ... },
"ancestors": { ... }
}

Each graph node always has an id that is a unique ID created by Resoto.

The reported section contains data reported from the specific cloud provider. The content and schema of the reported section is defined by the cloud provider and described formally in the :ref:model.

The desired section can be manipulated by users and tools to mark and trigger an intended change on the specific resource. Cleaning up a resource, for example, is done by setting clean=true in the desired section.

The metadata section contains additional data about the resource. This data is not from the cloud provider, but added by the Resoto toolchain.

The ancestors section contains information about specific ancestors of a node. It makes it very easy to see something like provider, account, region and zone of a resource.

Kind

Every node has a kind, which describes the structure of the reported section of this node.

The model supports inheritance: every specific type is also an instance of every more general type of this specific type.

Take a graph node with a type of aws_ec2_instance as an example. This type is subtype of the types: instance, aws_resource and resource.