resource

package
v0.8.6 Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2021 License: Apache-2.0 Imports: 16 Imported by: 87

Documentation

Overview

Package resource implements representations of k8s API resources.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func SameEndingSubarray added in v0.6.9

func SameEndingSubarray(shortest, longest []string) bool

Types

type Factory

type Factory struct {
	// contains filtered or unexported fields
}

Factory makes instances of Resource.

func NewFactory

func NewFactory(h ifc.KustHasher) *Factory

NewFactory makes an instance of Factory.

func (*Factory) FromBytes

func (rf *Factory) FromBytes(in []byte) (*Resource, error)

FromBytes unmarshalls bytes into one Resource.

func (*Factory) FromMap

func (rf *Factory) FromMap(m map[string]interface{}) *Resource

FromMap returns a new instance of Resource.

func (*Factory) FromMapAndOption

func (rf *Factory) FromMapAndOption(
	m map[string]interface{}, args *types.GeneratorArgs) *Resource

FromMapAndOption returns a new instance of Resource with given options.

func (*Factory) FromMapWithName

func (rf *Factory) FromMapWithName(n string, m map[string]interface{}) *Resource

FromMapWithName returns a new instance with the given "original" name.

func (*Factory) FromMapWithNamespaceAndName

func (rf *Factory) FromMapWithNamespaceAndName(ns string, n string, m map[string]interface{}) *Resource

FromMapWithNamespaceAndName returns a new instance with the given "original" namespace.

func (*Factory) Hasher

func (rf *Factory) Hasher() ifc.KustHasher

Hasher returns an ifc.KustHasher

func (*Factory) MakeConfigMap

func (rf *Factory) MakeConfigMap(kvLdr ifc.KvLoader, args *types.ConfigMapArgs) (*Resource, error)

MakeConfigMap makes an instance of Resource for ConfigMap

func (*Factory) MakeSecret

func (rf *Factory) MakeSecret(kvLdr ifc.KvLoader, args *types.SecretArgs) (*Resource, error)

MakeSecret makes an instance of Resource for Secret

func (*Factory) RNodesFromBytes added in v0.8.6

func (rf *Factory) RNodesFromBytes(b []byte) (result []*yaml.RNode, err error)

func (*Factory) ResourcesFromRNodes added in v0.8.6

func (rf *Factory) ResourcesFromRNodes(
	nodes []*yaml.RNode) (result []*Resource, err error)

ResourcesFromRNodes converts RNodes to Resources.

func (*Factory) SliceFromBytes

func (rf *Factory) SliceFromBytes(in []byte) ([]*Resource, error)

SliceFromBytes unmarshals bytes into a Resource slice.

func (*Factory) SliceFromBytesWithNames added in v0.6.0

func (rf *Factory) SliceFromBytesWithNames(names []string, in []byte) ([]*Resource, error)

SliceFromBytesWithNames unmarshals bytes into a Resource slice with specified original name.

func (*Factory) SliceFromPatches

func (rf *Factory) SliceFromPatches(
	ldr ifc.Loader, paths []types.PatchStrategicMerge) ([]*Resource, error)

SliceFromPatches returns a slice of resources given a patch path slice from a kustomization file.

type IdSet added in v0.6.6

type IdSet struct {
	// contains filtered or unexported fields
}

func MakeIdSet added in v0.6.6

func MakeIdSet(slice []*Resource) *IdSet

func (IdSet) Contains added in v0.6.6

func (s IdSet) Contains(id resid.ResId) bool

func (IdSet) Size added in v0.6.6

func (s IdSet) Size() int

type ResCtx

type ResCtx interface {
	AddNamePrefix(p string)
	AddNameSuffix(s string)
	GetNamePrefixes() []string
	GetNameSuffixes() []string
}

ResCtx is an interface describing the contextual added kept kustomize in the context of each Resource object. Currently mainly the name prefix and name suffix are added.

type ResCtxMatcher

type ResCtxMatcher func(ResCtx) bool

ResCtxMatcher returns true if two Resources are being modified in the same kustomize context.

type Resource

type Resource struct {
	// contains filtered or unexported fields
}

Resource is an RNode, representing a Kubernetes Resource Model object, paired with metadata used by kustomize.

func (*Resource) AddNamePrefix

func (r *Resource) AddNamePrefix(p string)

Implements ResCtx AddNamePrefix

func (*Resource) AddNameSuffix

func (r *Resource) AddNameSuffix(s string)

Implements ResCtx AddNameSuffix

func (*Resource) AppendRefBy

func (r *Resource) AppendRefBy(id resid.ResId)

AppendRefBy appends a ResId into the refBy list

func (*Resource) AppendRefVarName

func (r *Resource) AppendRefVarName(variable types.Var)

AppendRefVarName appends a name of a var into the refVar list

func (*Resource) ApplyFilter added in v0.6.9

func (r *Resource) ApplyFilter(f kio.Filter) error

func (*Resource) ApplySmPatch added in v0.6.6

func (r *Resource) ApplySmPatch(patch *Resource) error

ApplySmPatch applies the provided strategic merge patch.

func (*Resource) AsRNode added in v0.8.6

func (r *Resource) AsRNode() *kyaml.RNode

func (*Resource) AsYAML

func (r *Resource) AsYAML() ([]byte, error)

AsYAML returns the resource in Yaml form. Easier to read than JSON.

func (*Resource) Behavior

func (r *Resource) Behavior() types.GenerationBehavior

Behavior returns the behavior for the resource.

func (*Resource) CopyMergeMetaDataFieldsFrom added in v0.6.8

func (r *Resource) CopyMergeMetaDataFieldsFrom(other *Resource)

CopyMergeMetaDataFields copies everything but the non-metadata in the resource.

func (*Resource) CurId

func (r *Resource) CurId() resid.ResId

CurId returns a ResId for the resource using the mutable parts of the resource. This should be unique in any ResMap.

func (*Resource) DeepCopy

func (r *Resource) DeepCopy() *Resource

DeepCopy returns a new copy of resource

func (*Resource) ErrIfNotEquals added in v0.6.6

func (r *Resource) ErrIfNotEquals(o *Resource) error

func (*Resource) GetAnnotations added in v0.4.2

func (r *Resource) GetAnnotations() map[string]string

func (*Resource) GetBinaryDataMap added in v0.8.1

func (r *Resource) GetBinaryDataMap() map[string]string

func (*Resource) GetDataMap added in v0.6.8

func (r *Resource) GetDataMap() map[string]string

func (*Resource) GetFieldValue added in v0.4.2

func (r *Resource) GetFieldValue(f string) (interface{}, error)

func (*Resource) GetGvk added in v0.4.2

func (r *Resource) GetGvk() resid.Gvk

func (*Resource) GetKind added in v0.4.2

func (r *Resource) GetKind() string

func (*Resource) GetLabels added in v0.4.2

func (r *Resource) GetLabels() map[string]string

func (*Resource) GetName added in v0.4.2

func (r *Resource) GetName() string

func (*Resource) GetNamePrefixes

func (r *Resource) GetNamePrefixes() []string

Implements ResCtx GetNamePrefixes

func (*Resource) GetNameSuffixes

func (r *Resource) GetNameSuffixes() []string

Implements ResCtx GetNameSuffixes

func (*Resource) GetNamespace

func (r *Resource) GetNamespace() string

GetNamespace returns the namespace the resource thinks it's in.

func (*Resource) GetRefBy

func (r *Resource) GetRefBy() []resid.ResId

GetRefBy returns the ResIds that referred to current resource

func (*Resource) GetRefVarNames

func (r *Resource) GetRefVarNames() []string

GetRefVarNames returns vars that refer to current resource

func (*Resource) GetSlice added in v0.4.2

func (r *Resource) GetSlice(p string) ([]interface{}, error)

func (*Resource) GetString added in v0.4.2

func (r *Resource) GetString(p string) (string, error)

func (*Resource) Hash added in v0.8.6

func (r *Resource) Hash(h ifc.KustHasher) (string, error)

func (*Resource) IsEmpty added in v0.6.3

func (r *Resource) IsEmpty() bool

func (*Resource) KindChangeAllowed added in v0.8.6

func (r *Resource) KindChangeAllowed() bool

func (*Resource) Map added in v0.4.2

func (r *Resource) Map() (map[string]interface{}, error)

func (*Resource) MarshalJSON added in v0.4.2

func (r *Resource) MarshalJSON() ([]byte, error)

func (*Resource) MatchesAnnotationSelector added in v0.4.2

func (r *Resource) MatchesAnnotationSelector(selector string) (bool, error)

func (*Resource) MatchesLabelSelector added in v0.4.2

func (r *Resource) MatchesLabelSelector(selector string) (bool, error)

func (*Resource) MergeBinaryDataMapFrom added in v0.8.1

func (r *Resource) MergeBinaryDataMapFrom(o *Resource)

func (*Resource) MergeDataMapFrom added in v0.6.8

func (r *Resource) MergeDataMapFrom(o *Resource)

func (*Resource) MustYaml added in v0.6.9

func (r *Resource) MustYaml() string

MustYaml returns YAML or panics.

func (*Resource) NameChangeAllowed added in v0.8.6

func (r *Resource) NameChangeAllowed() bool

func (*Resource) NeedHashSuffix

func (r *Resource) NeedHashSuffix() bool

NeedHashSuffix returns true if a resource content hash should be appended to the name of the resource.

func (*Resource) NodeEqual added in v0.8.6

func (r *Resource) NodeEqual(o *Resource) bool

NodeEqual returns true if the resource's nodes are equal, ignoring ancillary information like genargs, refby, etc.

func (*Resource) OrgId

func (r *Resource) OrgId() resid.ResId

OrgId returns the original, immutable ResId for the resource. This doesn't have to be unique in a ResMap.

func (*Resource) PrefixesSuffixesEquals

func (r *Resource) PrefixesSuffixesEquals(o ResCtx) bool

PrefixesSuffixesEquals is conceptually doing the same task as OutermostPrefixSuffix but performs a deeper comparison of the suffix and prefix slices.

func (*Resource) PrevIds added in v0.6.9

func (r *Resource) PrevIds() []resid.ResId

PrevIds returns a list of ResIds that includes every previous ResId the resource has had through all of its GVKN transformations, in the order that it had that ID. I.e. the oldest ID is first. The returned array does not include the resource's current ID. If there are no previous IDs, this will return nil.

func (*Resource) ReferencesEqual

func (r *Resource) ReferencesEqual(other *Resource) bool

func (*Resource) RemoveBuildAnnotations added in v0.6.9

func (r *Resource) RemoveBuildAnnotations()

RemoveBuildAnnotations removes annotations created by the build process. These are internal-only to kustomize, added to the data pipeline to track name changes so name references can be fixed.

func (*Resource) ResetPrimaryData added in v0.4.2

func (r *Resource) ResetPrimaryData(incoming *Resource)

func (*Resource) SetAllowKindChange added in v0.8.6

func (r *Resource) SetAllowKindChange(value string)

func (*Resource) SetAllowNameChange added in v0.8.6

func (r *Resource) SetAllowNameChange(value string)

func (*Resource) SetAnnotations added in v0.4.2

func (r *Resource) SetAnnotations(m map[string]string)

func (*Resource) SetBinaryDataMap added in v0.8.1

func (r *Resource) SetBinaryDataMap(m map[string]string)

func (*Resource) SetDataMap added in v0.6.8

func (r *Resource) SetDataMap(m map[string]string)

func (*Resource) SetGvk added in v0.4.2

func (r *Resource) SetGvk(gvk resid.Gvk)

func (*Resource) SetKind added in v0.8.6

func (r *Resource) SetKind(k string)

func (*Resource) SetLabels added in v0.4.2

func (r *Resource) SetLabels(m map[string]string)

func (*Resource) SetName added in v0.4.2

func (r *Resource) SetName(n string)

func (*Resource) SetNamespace added in v0.4.2

func (r *Resource) SetNamespace(n string)

func (*Resource) SetOptions

func (r *Resource) SetOptions(o *types.GenArgs)

SetOptions updates the generator options for the resource.

func (*Resource) StorePreviousId added in v0.6.9

func (r *Resource) StorePreviousId()

StorePreviousId stores the resource's current ID via build annotations.

func (*Resource) String

func (r *Resource) String() string

String returns resource as JSON.

func (*Resource) UnmarshalJSON added in v0.4.2

func (r *Resource) UnmarshalJSON(s []byte) error

Jump to

Keyboard shortcuts

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