mirror of
https://github.com/kubernetes-sigs/kustomize.git
synced 2026-05-18 04:55:08 +00:00
52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
// Copyright 2019 The Kubernetes Authors.
|
|
// SPDX-License-Identifier: Apache-2.0
|
|
|
|
package types
|
|
|
|
import (
|
|
"strconv"
|
|
"strings"
|
|
)
|
|
|
|
// GenArgs contains both GeneratorArgs and GeneratorOptions.
|
|
type GenArgs struct {
|
|
args *GeneratorArgs
|
|
opts *GeneratorOptions
|
|
}
|
|
|
|
// NewGenArgs returns a new object of GenArgs
|
|
func NewGenArgs(args *GeneratorArgs, opts *GeneratorOptions) *GenArgs {
|
|
return &GenArgs{
|
|
args: args,
|
|
opts: opts,
|
|
}
|
|
}
|
|
|
|
func (g *GenArgs) String() string {
|
|
if g == nil {
|
|
return "{nilGenArgs}"
|
|
}
|
|
return "{" +
|
|
strings.Join([]string{
|
|
"nsfx:" + strconv.FormatBool(g.NeedsHashSuffix()),
|
|
"beh:" + g.Behavior().String()},
|
|
",") +
|
|
"}"
|
|
}
|
|
|
|
// NeedsHashSuffix returns true if the hash suffix is needed.
|
|
// It is needed when the two conditions are both met
|
|
// 1) GenArgs is not nil
|
|
// 2) DisableNameSuffixHash in GeneratorOptions is not set to true
|
|
func (g *GenArgs) NeedsHashSuffix() bool {
|
|
return g.args != nil && (g.opts == nil || g.opts.DisableNameSuffixHash == false)
|
|
}
|
|
|
|
// Behavior returns Behavior field of GeneratorArgs
|
|
func (g *GenArgs) Behavior() GenerationBehavior {
|
|
if g.args == nil {
|
|
return BehaviorUnspecified
|
|
}
|
|
return NewGenerationBehavior(g.args.Behavior)
|
|
}
|