Table of Contents

Namespace Rego

Classes

Bundle

Encapsulates a Rego bundle, which contains compiled virtual documents and execution plans, the base documents merged into a single JSON hierarchy, and assorted metadata, including the original module files.

Input

The Input class allows the creation of inputs to a policy without requiring serialization to JSON. The interface is that of a stack, in which values are pushed and then various operations are used to turn terminal types into more complex ones like objects and arrays. When used, the Input will provide the top of the stack to any downstream consumer (such as SetInput(Input)).

Interpreter

Rego interpreter instance. This class provides methods to load modules, data, and input, execute queries, and manage bundles.

Logging

Logging utilities for Rego

Node

Interface for a Rego Node.

Rego Nodes are the basic building blocks of a Rego result. They exist in a tree structure. Each node has a kind, which is one of the variants of NodeType. Each node also has zero or more children, which are also nodes.

Output
RegoBundleHandle

Handle wrapping the pointer to the native Rego bundle object

RegoException

Exception thrown for errors returned from the Rego library

RegoHandle

Handle wrapping the pointer to the native Rego interpreter object

RegoInputHandle

Handle wrapping the pointer to the native Rego input object

RegoNull

Represents a null value in Rego

RegoOutputHandle

Handle wrapping the pointer to the native Rego output object

Enums

BundleFormat
LogLevel

Log levels for Rego logging

NodeType

Node types for Rego AST nodes