engine

package
v0.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 17, 2026 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExtractPath

func ExtractPath(value any, path string) (any, bool)

func ExtractString

func ExtractString(value any, path string) string

func ExtractStringValue

func ExtractStringValue(value any, path string) (string, bool)

func ResolveBindingRequest

func ResolveBindingRequest(binding spec.Binding, ctx ExecutionContext) (map[string]any, map[string]CaptureResult, error)

func ResolveExpression

func ResolveExpression(expr string, ctx ExecutionContext) (any, bool, error)

func ResolveRequest

func ResolveRequest(mapping map[string]string, ctx ExecutionContext) (map[string]any, error)

func ResolveResourceBindingRequest

func ResolveResourceBindingRequest(resource spec.ResourceSpec, binding spec.Binding, ctx ExecutionContext) (map[string]any, map[string]CaptureResult, error)

func SetTimeScaleForTest

func SetTimeScaleForTest(scale float64) func()

func ShouldRun

func ShouldRun(when string, whenAny []string, execCtx ExecutionContext) (bool, error)

func ShouldSkip

func ShouldSkip(expr string, execCtx ExecutionContext) (bool, error)

Types

type Caller

type Caller interface {
	Call(ctx context.Context, operation string, request map[string]any) (map[string]any, error)
}

type CaptureResult

type CaptureResult struct {
	Items   []map[string]any
	Request map[string]any
}

type ExecutionContext

type ExecutionContext struct {
	Input    map[string]any
	Context  map[string]any
	Current  any
	Captures map[string]CaptureResult
}

type Executor

type Executor struct {
	// contains filtered or unexported fields
}

func NewExecutor

func NewExecutor(resource spec.ResourceSpec, caller Caller) *Executor

func (*Executor) Execute

func (e *Executor) Execute(ctx context.Context, req Request) (Result, error)

type ProbeResult

type ProbeResult struct {
	Items     []map[string]any
	Extra     map[string]any
	Total     int
	HasTotal  bool
	NextToken string
	RequestID string
	Actions   []ecerrors.Action
}

type Request

type Request struct {
	Action         string
	Input          map[string]any
	Context        map[string]any
	Timeout        time.Duration
	TokenGenerator TokenGenerator
}

type Result

type Result struct {
	Items        []map[string]any
	Item         map[string]any
	Extra        map[string]any
	Total        int
	HasTotal     bool
	NextToken    string
	RequestID    string
	Actions      []ecerrors.Action
	Capabilities []string
	Deleted      bool
	DryRun       bool
	ID           string
	Captures     map[string]CaptureResult
	Named        map[string]ProbeResult
}

type TokenGenerator

type TokenGenerator func(prefix string, input map[string]any) string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL