mutation

package
v0.1.26 Latest Latest
Warning

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

Go to latest
Published: Jul 22, 2025 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Apply

func Apply(path *PathExpr, obj, value any) error

Apply applies a mutation i.e. sets the value(s) referred to by the path expression. Missing or nil values in the path will not be created, and will cause an error.

Types

type Op

type Op struct {
	Path      *PathExpr
	Condition cel.Program
	Value     any
}

Op is an operation that conditionally assigns a value to a path within an object. Designed to be sent over the wire as JSON.

func (*Op) Apply

func (o *Op) Apply(ctx context.Context, comp *apiv1.Composition, current, mutated *unstructured.Unstructured) error

Apply applies the operation to the "mutated" object if the condition is met by the "current" object.

func (*Op) UnmarshalJSON

func (o *Op) UnmarshalJSON(data []byte) error

type PathExpr

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

PathExpr represents an expression that can be used to access or modify values in a nested structure.

func ParsePathExpr

func ParsePathExpr(expr string) (*PathExpr, error)

ParsePathExpr parses a path expression string.

Supported syntax: - `field.anotherfield`: object field traversal - `field["anotherField"]`: alternative object field traversal (useful for values containing dots) - `field[2]`: array indexing - `field[*]`: array wildcards - `field[someKey="value"]`: object array field matchers

Expressions can be chained, e.g. `field.anotherfield[2].yetAnotherField`.

func (*PathExpr) ManagedByEno added in v0.1.25

func (p *PathExpr) ManagedByEno(ctx context.Context, current *unstructured.Unstructured) bool

Jump to

Keyboard shortcuts

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