node

package
v1.16.1 Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2024 License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Add added in v1.7.0

func Add(m *yaml.Node, name string, val string)

Add adds a new scalar property to the map

func AddMap added in v1.7.0

func AddMap(parent *yaml.Node, name string) *yaml.Node

AddMap adds a new map to the parent node

func Clone

func Clone(node *yaml.Node) *yaml.Node

Clone returns a copy of the provided node

func Diff added in v1.16.0

func Diff(node1, node2 *yaml.Node) (diffs []string)

Diff returns an array of strings describing differences between two nodes

func RemoveFromMap added in v1.4.0

func RemoveFromMap(node *yaml.Node, name string) error

Remove a map key-value pair from node.Content

func SetMapValue added in v1.4.0

func SetMapValue(parent *yaml.Node, name string, val *yaml.Node)

Add or replace a map value

func SetSequenceValue added in v1.8.0

func SetSequenceValue(parent *yaml.Node, val *yaml.Node, sidx int)

Set the value of a sequence element within the node

func ToJson added in v1.4.0

func ToJson(node *yaml.Node) string

Convert a node to JSON

func ToSJson added in v1.7.0

func ToSJson(node *yaml.Node) string

Convert a node to a shortened JSON for easier debugging

func YamlVal added in v1.7.0

func YamlVal(n *yaml.Node) (any, error)

YamlVal converts node.Value to a string, int, or bool based on the Tag

Types

type NodePair added in v1.4.0

type NodePair struct {
	Key   *yaml.Node
	Value *yaml.Node

	// Parent is used by modules to reference the parent template resource
	Parent *NodePair
}

NodePair represents a !!map key-value pair

func GetParent added in v1.4.0

func GetParent(node *yaml.Node, rootNode *yaml.Node, priorNode *yaml.Node) NodePair

Returns the parent node of node, paired with its name if it's a map pair. If it is not a map pair, only NodePair.Value is not nil. (YAML maps are arrays with even indexes being names and odd indexes being values)

node

Content
  0: Name
  1: Map
    Content
      0: a
      1: b

In the above, if I want b's parent node pair, I get [Name, Map] This allows us to ask "what is the parent's name", which is useful for knowing the logical name of the resource a node belongs to.

For sequence elements that are maps, the Key will be nil

func (*NodePair) String added in v1.8.0

func (np *NodePair) String() string

type SNode added in v1.7.0

type SNode struct {
	Kind    string
	Value   string
	Anchor  string   `json:",omitempty"`
	Content []*SNode `json:",omitempty"`
}

Jump to

Keyboard shortcuts

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