common

package
v0.2.0-beta.6 Latest Latest
Warning

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

Go to latest
Published: Jun 19, 2026 License: Apache-2.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ValidateDescription

func ValidateDescription(description string) error

ValidateDescription checks for forbidden items in substring used inside description

func ValidateID

func ValidateID(name string) error

ValidateID checks for forbidden items in substring used inside id

Types

type Display

type Display struct {
	Name        string `json:"name,omitempty" yaml:"name,omitempty"`
	Description string `json:"description,omitempty" yaml:"description,omitempty"`
}

type Duration

type Duration time.Duration

Duration wraps time.Duration. It is used to parse the custom duration format from YAML. This type should not propagate beyond the scope of input/output processing. +kubebuilder:validation:Type=string +kubebuilder:validation:Format=duration +kubebuilder:validation:Pattern=`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`

func ParseDuration

func ParseDuration(s string) (Duration, error)

ParseDuration parses a string into a time.Duration, assuming that a year always has 365d, a week always has 7d, and a day always has 24h.

func (Duration) MarshalJSON

func (d Duration) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface.

func (*Duration) MarshalText

func (d *Duration) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface.

func (Duration) MarshalYAML

func (d Duration) MarshalYAML() (any, error)

MarshalYAML implements the yaml.Marshaler interface.

func (*Duration) Set

func (d *Duration) Set(s string) error

Set implements pflag/flag.Value

func (Duration) String

func (d Duration) String() string

func (*Duration) Type

func (d *Duration) Type() string

Type implements pflag.Value

func (*Duration) UnmarshalJSON

func (d *Duration) UnmarshalJSON(bytes []byte) error

UnmarshalJSON implements the json.Unmarshaler interface.

func (*Duration) UnmarshalText

func (d *Duration) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

func (*Duration) UnmarshalYAML

func (d *Duration) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML implements the yaml.Unmarshaler interface.

type DurationString

type DurationString string

DurationString is a string that represents a duration, such as "1h", "30m", "15s", etc. It is used to unmarshal a duration string from JSON or YAML, and validate that it is a valid duration string.

Not converting the duration string into a time.Duration type allows us to avoid the issue of changing the initial input with an alias. This is something that happens when we use Duration type, because when the duration is unmarshalled then marshaled again, the input can be changed with an equivalent duration. For example "14d" will be changed to "2w".

So, use DurationString instead of Duration when you want to preserve the original input string. If, for any reason, you need to convert the DurationString to a time.Duration, you can use the ParseDuration function.

+kubebuilder:validation:Type=string +kubebuilder:validation:Format=duration +kubebuilder:validation:Pattern=`^(([0-9]+)y)?(([0-9]+)w)?(([0-9]+)d)?(([0-9]+)h)?(([0-9]+)m)?(([0-9]+)s)?(([0-9]+)ms)?$`

func (*DurationString) UnmarshalJSON

func (d *DurationString) UnmarshalJSON(bytes []byte) error

func (*DurationString) UnmarshalYAML

func (d *DurationString) UnmarshalYAML(unmarshal func(any) error) error

type JSONRef

type JSONRef struct {
	// Ref is the JSON reference.
	// That's the only thing used during the marshalling / unmarshalling process.
	// Other attributes are ignored during these processes.
	Ref string `json:"$ref" yaml:"$ref"`
	// Path is a list of string that will be used to find from the root of the struct the object pointed.
	Path []string `json:"-" yaml:"-"`
	// Object will contain the pointer to the actual object referenced by Ref
	Object any `json:"-" yaml:"-"`
}

func (*JSONRef) UnmarshalJSON

func (j *JSONRef) UnmarshalJSON(data []byte) error

func (*JSONRef) UnmarshalYAML

func (j *JSONRef) UnmarshalYAML(unmarshal func(any) error) error

type Regexp

type Regexp struct {
	*regexp.Regexp
	// contains filtered or unexported fields
}

Regexp encapsulates a regexp.Regexp and makes it JSON/YAML marshalable.

func MustNewRegexp

func MustNewRegexp(s string) Regexp

MustNewRegexp works like NewRegexp, but panics if the regular expression does not compile.

func NewRegexp

func NewRegexp(s string) (Regexp, error)

NewRegexp creates a new anchored Regexp and returns an error if the passed-in regular expression does not compile.

func (Regexp) MarshalJSON

func (re Regexp) MarshalJSON() ([]byte, error)

func (Regexp) MarshalYAML

func (re Regexp) MarshalYAML() (any, error)

func (*Regexp) UnmarshalJSON

func (re *Regexp) UnmarshalJSON(data []byte) error

func (*Regexp) UnmarshalYAML

func (re *Regexp) UnmarshalYAML(unmarshal func(any) error) error

type URL

type URL struct {
	*url.URL `json:"-" yaml:"-"`
}

+kubebuilder:validation:Schemaless +kubebuilder:validation:Type=string +kubebuilder:validation:Format=uri

func MustParseURL

func MustParseURL(rawURL string) *URL

func NewURL

func NewURL(u *URL, paths ...string) *URL

func ParseURL

func ParseURL(rawURL string) (*URL, error)

func (*URL) IsNilOrEmpty

func (u *URL) IsNilOrEmpty() bool

func (URL) MarshalJSON

func (u URL) MarshalJSON() ([]byte, error)

MarshalJSON implements the json.Marshaler interface for URL.

func (*URL) MarshalText

func (u *URL) MarshalText() ([]byte, error)

MarshalText implements the encoding.TextMarshaler interface.

func (URL) MarshalYAML

func (u URL) MarshalYAML() (any, error)

MarshalYAML implements the yaml.Marshaler interface for URLs.

func (*URL) String

func (u *URL) String() string

func (*URL) UnmarshalJSON

func (u *URL) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Marshaler interface for URL.

func (*URL) UnmarshalText

func (u *URL) UnmarshalText(text []byte) error

UnmarshalText implements the encoding.TextUnmarshaler interface.

func (*URL) UnmarshalYAML

func (u *URL) UnmarshalYAML(unmarshal func(any) error) error

UnmarshalYAML implements the yaml.Unmarshaler interface for URLs.

Jump to

Keyboard shortcuts

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