yml

package
v0.29.0 Latest Latest
Warning

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

Go to latest
Published: Feb 21, 2024 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var CustomTags = []string{"!lock"}
View Source
var KnownTags = append(StandardTags, CustomTags...)
View Source
var StandardTags = []string{
	"",
	"!!int",
	"!!bool",
	"!!float",
	"!!map",
	"!!str",
	"!!seq",
	"!!null",
}

Functions

func Clone added in v0.20.3

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

func Compare

func Compare(yaml1, yaml2 []byte) bool

Compare returns true if the two yaml documents are equivalent in terms of contents and comments, false otherwise, disregarding differences in formatting / whitespace.

func EqualWithExclusion added in v0.21.0

func EqualWithExclusion(a, b *yaml.Node, excludedPath ...string) bool

func FindNode

func FindNode(node *yaml.Node, path string) (resultNode *yaml.Node, err error)

FindNode traverses a given yaml.Node to locate the value Node of the provided path. The path is interpreted as being relative to the given yaml.Node.

func FindNodeValueOrDefault

func FindNodeValueOrDefault(node *yaml.Node, path string, defaultValue string) string

func Merge

func Merge(dst, src *yaml.Node) *yaml.Node

func SetOrAddNodeValue

func SetOrAddNodeValue(node *yaml.Node, path string, value string) error

func TreeToYaml

func TreeToYaml(tree *yaml.Node, indent int) (string, error)

Types

type File

type File struct {
	// Path is the path to the yaml file.
	Path string

	// Yaml is the raw yaml of the yaml file.
	Yaml []byte

	// Tree is the root node of the tree representation of the yaml file.
	Tree *yaml.Node

	// ApiVersion is the API version of the CRD, if any.
	ApiVersion string

	// Kind is the kind of the CRD, if any.
	Kind string

	// MetadataName is the name of the CRD resource, if any.
	MetadataName string

	// Indent is the indent size of the yaml file to be used when writing it back to disk.
	Indent int
}

File represents a yaml file loaded into memory in different forms, that can be round-tripped back to disk.

func LoadFile

func LoadFile(filePath string) (*File, error)

func NewFile

func NewFile(filePath string, content []byte) (*File, error)

func NewFileFromTree

func NewFileFromTree(filePath string, indent int, node *yaml.Node) (*File, error)

func (*File) CopyWithNewTree

func (y *File) CopyWithNewTree(newTree *yaml.Node) (*File, error)

func (*File) ToYaml

func (y *File) ToYaml() (string, error)

func (*File) UpdateYamlFromTree

func (y *File) UpdateYamlFromTree() error

func (*File) WriteYaml

func (y *File) WriteYaml() error

type KeyValuePair added in v0.20.2

type KeyValuePair struct {
	Key   *yaml.Node
	Value *yaml.Node
}

Jump to

Keyboard shortcuts

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