mirror of
https://github.com/k3s-io/k3s.git
synced 2024-06-07 19:41:36 +00:00
50 lines
1.8 KiB
Go
50 lines
1.8 KiB
Go
|
// Copyright 2019 The Kubernetes Authors.
|
||
|
// SPDX-License-Identifier: Apache-2.0
|
||
|
|
||
|
// Package yaml contains libraries for manipulating individual Kubernetes Resource
|
||
|
// Configuration as yaml, keeping yaml structure and comments.
|
||
|
//
|
||
|
// Parsing Resources
|
||
|
//
|
||
|
// Typically Resources will be initialized as collections through the kio package libraries.
|
||
|
// However it is possible to directly initialize Resources using Parse.
|
||
|
// resource, err := yaml.Parse("apiVersion: apps/v1\nkind: Deployment")
|
||
|
//
|
||
|
// Processing Resources
|
||
|
//
|
||
|
// Individual Resources are manipulated using the Pipe and PipeE to apply Filter functions
|
||
|
// to transform the Resource data.
|
||
|
// err := resource.PipeE(yaml.SetAnnotation("key", "value"))
|
||
|
//
|
||
|
// If multiple Filter functions are provided to Pipe or PipeE, each function is applied to
|
||
|
// the result of the last function -- e.g. yaml.Lookup(...), yaml.SetField(...)
|
||
|
//
|
||
|
// Field values may also be retrieved using Pipe.
|
||
|
// annotationValue, err := resource.Pipe(yaml.GetAnnotation("key"))
|
||
|
//
|
||
|
// See http://www.linfo.org/filters.html for a definition of filters.
|
||
|
//
|
||
|
// Common Filters
|
||
|
//
|
||
|
// There are a number of standard filter functions provided by the yaml package.
|
||
|
//
|
||
|
// Working with annotations:
|
||
|
// [AnnotationSetter{}, AnnotationGetter{}, AnnotationClearer{}]
|
||
|
//
|
||
|
// Working with fields by path:
|
||
|
// [PathMatcher{}, PathGetter{}]
|
||
|
//
|
||
|
// Working with individual fields on Maps and Objects:
|
||
|
// [FieldMatcher{}, FieldSetter{}, FieldGetter{}]
|
||
|
//
|
||
|
// Working with individual elements in Sequences:
|
||
|
// [ElementAppender{}, ElementSetter{}, ElementMatcher{}]
|
||
|
//
|
||
|
// Writing Filters
|
||
|
//
|
||
|
// Users may implement their own filter functions. When doing so, can be necessary to work with
|
||
|
// the RNode directly rather than through Pipe. RNode provides a number of functions for doing
|
||
|
// so. See:
|
||
|
// [GetMeta(), Fields(), Elements(), String()]
|
||
|
package yaml
|