Skip to main content

@quadnix/octo

Index

Decorators

Errors/Container

Errors/Input

Errors/Module

Errors/Node

Errors/Schema

Errors/Terraform

Errors/Transaction

Events

Events/Action

Events/Command

Events/Hooks

Events/Hooks/Commit

Events/Hooks/Model

Events/Hooks/Resource

Events/Mode

Events/ModeResult

Events/Module

Events/Registration

Events/Serialization

Events/State

Events/Terraform

Events/Transaction

Functions/Container

Functions/Dependency

Functions/Diff

Functions/Node

Functions/Schema

Main

Models

Models/Account

Models/App

Models/Deployment

Models/Environment

Models/Execution

Models/Filesystem

Models/Image

Models/Pipeline

Models/Region

Models/Server

Models/Service

Models/Subnet

Modules

Overlays

Resources

Services/State Management

Types

Utilities

Utilities/Hcl

Utilities/String

Utilities/Terraform

Events/Mode

OctoMode

OctoMode: commit | generate | run-action | validate

The steps of the octo lifecycle.

@group

Events/Mode

Modules

TestModule

TestModule<M>:

One module to load into a TestModuleContainer run.

Set hidden to register the module without running it - use it for a module a test needs present but not applied, e.g. one that is only there to be found by a schema lookup.

@group

Modules


Type parameters

  • M: UnknownModule

optionalhidden

hidden?: boolean

inputs

moduleId

moduleId: string

type

type: Constructable<M>

Types

ActionOutputs

ActionOutputs: {}

The resources an action declared, keyed by an ID of your choosing.

@group

Types


Type declaration

  • [key string]: UnknownResource

AnchorSchema

AnchorSchema<T>: T extends AAnchor<infer S, any> ? S : never

The schema of an anchor class.

@group

Types


Type parameters

  • T

Constructable

Constructable<T>: new (...args: any[]) => T

The class of T, i.e. what you pass when an API wants a type rather than an instance.

@group

Types


Type parameters

  • T

Type declaration

    • new (...args: any[]): T
    • Parameters

      • rest...args: any[]

      Returns T

DiffValueTypePropertyUpdate

DiffValueTypePropertyUpdate:

The value of a Diff on a properties field: which property changed, and to what.

@group

Types

key

key: string

value

value: unknown

DiffValueTypeTagUpdate

DiffValueTypeTagUpdate:

The value of a Diff on a tags field, split by what happened to each tag.

@group

Types

add

add: {}

Type declaration

  • [key string]: string

delete

delete: string[]

update

update: {}

Type declaration

  • [key string]: string

EnhancedModuleSchema

EnhancedModuleSchema<T>:

Everything an action knows about the module it belongs to: the inputs it was loaded with, whatever AModule.registerMetadata derived, and the nodes the module produced.

This is the second argument of IModelAction.handle.

@group

Types


Type parameters

  • T: UnknownModule

inputs

inputs: { [ K in keyof ModuleSchemaInputs<T> ]: ModuleSchema<T>[K] }

metadata

metadata: Awaited<ReturnType<T[registerMetadata]>>

models

models: Record<string, UnknownModel>

overlays

overlays: Record<string, UnknownOverlay>

resources

resources: Record<string, UnknownResource>

ModuleSchema

ModuleSchema<T>: T extends AModule<infer S, any> ? S : never

The schema of a module class.

@group

Types


Type parameters

  • T

ModuleSchemaInputs

ModuleSchemaInputs<T>: { [ K in ClassRequiredProperties<ModuleSchema<T>> ]: ModuleSchema<T>[K] } & { [ K in ClassOptionalProperties<ModuleSchema<T>> ]?: ModuleSchema<T>[K] }

A module's schema as the caller supplies it - properties with a default become optional. This is the shape Octo.loadModule accepts.

@group

Types


Type parameters

  • T

OverlaySchema

OverlaySchema<T>: T extends AOverlay<infer S, any> ? S : never

The schema of an overlay class.

@group

Types


Type parameters

  • T

ResourceSchema

ResourceSchema<T>: T extends AResource<infer S, any> ? S : never

The schema of a resource class.

@group

Types


Type parameters

  • T

Utilities/Hcl

HclBlock

HclBlock: {}

One parsed HCL block: each attribute by name, and each nested block by its type. An attribute holding a quoted string is unquoted; any other value (a number, a list, a reference, a jsonencode(...) call) is kept as the HCL text it was rendered as. A nested block repeated in its parent (two ingress blocks) is an array.

@group

Utilities/Hcl


Type declaration