Skip to content

YAML schema

YAML schema definition as pydantic

Bolt

Bases: BaseModel

This class defines a bolt. A bolt has a name, method, optional arguments, input, output, state, and deployment.

Deploy

Bases: BaseModel

This class defines the deployment of the spout or bolt. The deployment can be of type k8s or ecs.

DeployArgs

Bases: BaseModel

This class defines the arguments for the deployment. Depending on the type of deployment (k8s, ecs), different arguments are required.

ExtraKwargs

Bases: BaseModel

This class is used to handle any extra arguments that are not explicitly defined in the schema.

Geniusfile

Bases: BaseModel

This class defines the overall structure of the YAML file. It includes a version, spouts, and bolts.

Input

Bases: BaseModel

This class defines the input of the bolt. The input can be of type batch, streaming, spout, or bolt.

InputArgs

Bases: BaseModel

This class defines the arguments for the input. Depending on the type of input (batch, streaming, spout, bolt), different arguments are required.

Output

Bases: BaseModel

This class defines the output of the spout or bolt. The output can be of type batch or streaming.

OutputArgs

Bases: BaseModel

This class defines the arguments for the output. Depending on the type of output (batch, streaming), different arguments are required.

Spout

Bases: BaseModel

This class defines a spout. A spout has a name, method, optional arguments, output, state, and deployment.

State

Bases: BaseModel

This class defines the state of the spout or bolt. The state can be of type none, redis, postgres, or dynamodb.

StateArgs

Bases: BaseModel

This class defines the arguments for the state. Depending on the type of state (none, redis, postgres, dynamodb), different arguments are required.