package merge
import "sigs.k8s.io/structured-merge-diff/merge"
Index ¶
- type Conflict
- type Conflicts
- func ConflictsFromManagers(sets fieldpath.ManagedFields) Conflicts
- func (c Conflicts) Equals(c2 Conflicts) bool
- func (conflicts Conflicts) Error() string
- type Converter
- type Updater
- func (s *Updater) Apply(liveObject, configObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, manager string, force bool) (*typed.TypedValue, fieldpath.ManagedFields, error)
- func (s *Updater) EnableUnionFeature()
- func (s *Updater) Update(liveObject, newObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, manager string) (*typed.TypedValue, fieldpath.ManagedFields, error)
Types ¶
type Conflict ¶
Conflict is a conflict on a specific field with the current manager of that field. It does implement the error interface so that it can be used as an error.
func (Conflict) Equals ¶
Equals returns true if c == c2
func (Conflict) Error ¶
Error formats the conflict as an error.
type Conflicts ¶
type Conflicts []Conflict
Conflicts accumulates multiple conflicts and aggregates them by managers.
func ConflictsFromManagers ¶
func ConflictsFromManagers(sets fieldpath.ManagedFields) Conflicts
ConflictsFromManagers creates a list of conflicts given Managers sets.
func (Conflicts) Equals ¶
Equals returns true if the lists of conflicts are the same.
func (Conflicts) Error ¶
Error prints the list of conflicts, grouped by sorted managers.
type Converter ¶
type Converter interface { Convert(object *typed.TypedValue, version fieldpath.APIVersion) (*typed.TypedValue, error) IsMissingVersionError(error) bool }
Converter is an interface to the conversion logic. The converter needs to be able to convert objects from one version to another.
type Updater ¶
type Updater struct { Converter Converter // contains filtered or unexported fields }
Updater is the object used to compute updated FieldSets and also merge the object on Apply.
func (*Updater) Apply ¶
func (s *Updater) Apply(liveObject, configObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, manager string, force bool) (*typed.TypedValue, fieldpath.ManagedFields, error)
Apply should be called when Apply is run, given the current object as well as the configuration that is applied. This will merge the object and return it.
func (*Updater) EnableUnionFeature ¶
func (s *Updater) EnableUnionFeature()
EnableUnionFeature turns on union handling. It is disabled by default until the feature is complete.
func (*Updater) Update ¶
func (s *Updater) Update(liveObject, newObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, manager string) (*typed.TypedValue, fieldpath.ManagedFields, error)
Update is the method you should call once you've merged your final object on CREATE/UPDATE/PATCH verbs. newObject must be the object that you intend to persist (after applying the patch if this is for a PATCH call), and liveObject must be the original object (empty if this is a CREATE call).
Source Files ¶
conflict.go update.go
- Version
- v1.0.2 (latest)
- Published
- Dec 24, 2019
- Platform
- linux/amd64
- Imports
- 5 packages
- Last checked
- 1 month ago –
Tools for package owners.