cmdyaml

package
v0.0.0-...-bb1cfd0 Latest Latest
Warning

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

Go to latest
Published: Mar 3, 2026 License: Apache-2.0 Imports: 11 Imported by: 9

README

Package cloudeng.io/cmdutil/cmdyaml

import cloudeng.io/cmdutil/cmdyaml

Functions

Func ErrorWithSource
func ErrorWithSource(spec []byte, err error) error

ErrorWithSource returns an error that includes the yaml source code that was the cause of the error to help with debugging YAML errors. Note that the errors reported for the yaml parser may be inaccurate in terms of the lines the error is reported on. This seems to be particularly true for lists where errors with use of tabs to indent are often reported against the previous line rather than the offending one.

Func ParseConfig
func ParseConfig(spec []byte, cfg any) error

ParseConfig will parse the yaml config in spec into the requested type. It provides improved error reporting via ErrorWithSource.

Func ParseConfigFile
func ParseConfigFile(ctx context.Context, filename string, cfg any) error

ParseConfigFile reads a yaml config file as per ParseConfig using file.FSReadFile to read the file. The use of FSReadFile allows for the configuration file to be read from storage system, including from embed.FS, instead of the local filesystem if an instance of fs.ReadFileFS is stored in the context.

Func ParseConfigFileStrict
func ParseConfigFileStrict(ctx context.Context, filename string, cfg any) error

ParseConfigFileStrict is like ParseConfigFile but reports an error if there are unknown fields in the yaml specification.

Func ParseConfigStrict
func ParseConfigStrict(spec []byte, cfg any) error

ParseConfigStrict is like ParseConfig but reports an error if there are unknown fields in the yaml specification.

Func ParseConfigString
func ParseConfigString(spec string, cfg any) error

ParseConfigString is like ParseConfig but for a string.

Func ParseConfigStringStrict
func ParseConfigStringStrict(spec string, cfg any) error

ParseConfigStringStrict is like ParseConfigString but reports an error if there are unknown fields in the yaml specification.

Types

Type FlexTime
type FlexTime time.Time

FlexTime is a time.Time that can be unmarshaled from time.RFC3339, time.DateTime, time.TimeOnly or time.DateOnly formats. It is always marshaled to time.RFC3339.

Methods
func (t *FlexTime) MarshalYAML() (any, error)
func (t FlexTime) String() string
func (t *FlexTime) UnmarshalYAML(value *yaml.Node) error
Type RFC3339Time
type RFC3339Time time.Time

RFC3339Time is a time.Time that marshals to and from RFC3339 format.

Methods
func (t *RFC3339Time) MarshalYAML() (any, error)
func (t RFC3339Time) String() string
func (t *RFC3339Time) UnmarshalYAML(value *yaml.Node) error

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ErrorWithSource

func ErrorWithSource(spec []byte, err error) error

ErrorWithSource returns an error that includes the yaml source code that was the cause of the error to help with debugging YAML errors. Note that the errors reported for the yaml parser may be inaccurate in terms of the lines the error is reported on. This seems to be particularly true for lists where errors with use of tabs to indent are often reported against the previous line rather than the offending one.

func ParseConfig

func ParseConfig(spec []byte, cfg any) error

ParseConfig will parse the yaml config in spec into the requested type. It provides improved error reporting via ErrorWithSource.

func ParseConfigFile

func ParseConfigFile(ctx context.Context, filename string, cfg any) error

ParseConfigFile reads a yaml config file as per ParseConfig using file.FSReadFile to read the file. The use of FSReadFile allows for the configuration file to be read from storage system, including from embed.FS, instead of the local filesystem if an instance of fs.ReadFileFS is stored in the context.

func ParseConfigFileStrict

func ParseConfigFileStrict(ctx context.Context, filename string, cfg any) error

ParseConfigFileStrict is like ParseConfigFile but reports an error if there are unknown fields in the yaml specification.

func ParseConfigStrict

func ParseConfigStrict(spec []byte, cfg any) error

ParseConfigStrict is like ParseConfig but reports an error if there are unknown fields in the yaml specification.

func ParseConfigString

func ParseConfigString(spec string, cfg any) error

ParseConfigString is like ParseConfig but for a string.

func ParseConfigStringStrict

func ParseConfigStringStrict(spec string, cfg any) error

ParseConfigStringStrict is like ParseConfigString but reports an error if there are unknown fields in the yaml specification.

Types

type FlexTime

type FlexTime time.Time

FlexTime is a time.Time that can be unmarshaled from time.RFC3339, time.DateTime, time.TimeOnly or time.DateOnly formats. It is always marshaled to time.RFC3339.

func (*FlexTime) MarshalYAML

func (t *FlexTime) MarshalYAML() (any, error)

func (FlexTime) String

func (t FlexTime) String() string

func (*FlexTime) UnmarshalYAML

func (t *FlexTime) UnmarshalYAML(value *yaml.Node) error

type RFC3339Time

type RFC3339Time time.Time

RFC3339Time is a time.Time that marshals to and from RFC3339 format.

func (*RFC3339Time) MarshalYAML

func (t *RFC3339Time) MarshalYAML() (any, error)

func (RFC3339Time) String

func (t RFC3339Time) String() string

func (*RFC3339Time) UnmarshalYAML

func (t *RFC3339Time) UnmarshalYAML(value *yaml.Node) error

Jump to

Keyboard shortcuts

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