From 018a3db25e5117bdbc1db6b25ecaa505508e2328 Mon Sep 17 00:00:00 2001 From: jennybuckley Date: Wed, 17 Jul 2019 14:59:50 -0700 Subject: [PATCH] Update generated --- go.sum | 4 +- .../src/k8s.io/apiextensions-apiserver/go.sum | 2 + staging/src/k8s.io/apiserver/go.mod | 2 +- staging/src/k8s.io/apiserver/go.sum | 2 + staging/src/k8s.io/kube-aggregator/go.sum | 2 + .../src/k8s.io/legacy-cloud-providers/go.sum | 1 + staging/src/k8s.io/sample-apiserver/go.sum | 2 + vendor/modules.txt | 2 +- .../fieldpath/managers.go | 49 +++++++--- .../structured-merge-diff/merge/conflict.go | 2 +- .../structured-merge-diff/merge/update.go | 91 ++++++++----------- 11 files changed, 90 insertions(+), 69 deletions(-) diff --git a/go.sum b/go.sum index 4385643ee69..f788908c00e 100644 --- a/go.sum +++ b/go.sum @@ -484,8 +484,8 @@ modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= sigs.k8s.io/kustomize v2.0.3+incompatible h1:JUufWFNlI44MdtnjUqVnvh29rR37PQFzPbLXqhyOyX0= sigs.k8s.io/kustomize v2.0.3+incompatible/go.mod h1:MkjgH3RdOWrievjo6c9T245dYlB5QeXV4WCbnt/PEpU= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 h1:9df9ZMJ21XLKSCuwZyI+qfbnQl/hDmrM7wjBK85iv8g= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= vbom.ml/util v0.0.0-20160121211510-db5cfe13f5cc h1:MksmcCZQWAQJCTA5T0jgI/0sJ51AVm4Z41MrmfczEoc= diff --git a/staging/src/k8s.io/apiextensions-apiserver/go.sum b/staging/src/k8s.io/apiextensions-apiserver/go.sum index 3359774752c..bcf6c3871ee 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/go.sum +++ b/staging/src/k8s.io/apiextensions-apiserver/go.sum @@ -310,5 +310,7 @@ modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 h1:9df9ZMJ21XLKSCuwZyI+qfbnQl/hDmrM7wjBK85iv8g= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/staging/src/k8s.io/apiserver/go.mod b/staging/src/k8s.io/apiserver/go.mod index d3df2f5178e..139f60c3122 100644 --- a/staging/src/k8s.io/apiserver/go.mod +++ b/staging/src/k8s.io/apiserver/go.mod @@ -59,7 +59,7 @@ require ( k8s.io/klog v0.3.1 k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058 k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a - sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e + sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 sigs.k8s.io/yaml v1.1.0 ) diff --git a/staging/src/k8s.io/apiserver/go.sum b/staging/src/k8s.io/apiserver/go.sum index 6bfe997cca0..925a30f4d63 100644 --- a/staging/src/k8s.io/apiserver/go.sum +++ b/staging/src/k8s.io/apiserver/go.sum @@ -229,5 +229,7 @@ k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a h1:2jUDc9gJja832Ftp+QbDV0tVhQHMI k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 h1:9df9ZMJ21XLKSCuwZyI+qfbnQl/hDmrM7wjBK85iv8g= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/staging/src/k8s.io/kube-aggregator/go.sum b/staging/src/k8s.io/kube-aggregator/go.sum index db989ba135d..80751104b7b 100644 --- a/staging/src/k8s.io/kube-aggregator/go.sum +++ b/staging/src/k8s.io/kube-aggregator/go.sum @@ -266,5 +266,7 @@ modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 h1:9df9ZMJ21XLKSCuwZyI+qfbnQl/hDmrM7wjBK85iv8g= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/staging/src/k8s.io/legacy-cloud-providers/go.sum b/staging/src/k8s.io/legacy-cloud-providers/go.sum index 56c8b0c0c65..1e62cafe87b 100644 --- a/staging/src/k8s.io/legacy-cloud-providers/go.sum +++ b/staging/src/k8s.io/legacy-cloud-providers/go.sum @@ -209,5 +209,6 @@ k8s.io/kube-openapi v0.0.0-20190709113604-33be087ad058/go.mod h1:nfDlWeOsu3pUf4y k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a h1:2jUDc9gJja832Ftp+QbDV0tVhQHMISFn01els+2ZAcw= k8s.io/utils v0.0.0-20190607212802-c55fbcfc754a/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/staging/src/k8s.io/sample-apiserver/go.sum b/staging/src/k8s.io/sample-apiserver/go.sum index 4f91a87491f..0f2512f79c1 100644 --- a/staging/src/k8s.io/sample-apiserver/go.sum +++ b/staging/src/k8s.io/sample-apiserver/go.sum @@ -263,5 +263,7 @@ modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 h1:9df9ZMJ21XLKSCuwZyI+qfbnQl/hDmrM7wjBK85iv8g= +sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/yaml v1.1.0 h1:4A07+ZFc2wgJwo8YNlQpr1rVlgUDlxXHhPJciaPY5gs= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= diff --git a/vendor/modules.txt b/vendor/modules.txt index 1dc4ef70fcf..a6518c76540 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -1752,7 +1752,7 @@ sigs.k8s.io/kustomize/pkg/transformers sigs.k8s.io/kustomize/pkg/transformers/config sigs.k8s.io/kustomize/pkg/transformers/config/defaultconfig sigs.k8s.io/kustomize/pkg/types -# sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e => sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e +# sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 => sigs.k8s.io/structured-merge-diff v0.0.0-20190628201129-059502f64143 sigs.k8s.io/structured-merge-diff/fieldpath sigs.k8s.io/structured-merge-diff/merge sigs.k8s.io/structured-merge-diff/schema diff --git a/vendor/sigs.k8s.io/structured-merge-diff/fieldpath/managers.go b/vendor/sigs.k8s.io/structured-merge-diff/fieldpath/managers.go index eaff3171c22..25d5f0adf22 100644 --- a/vendor/sigs.k8s.io/structured-merge-diff/fieldpath/managers.go +++ b/vendor/sigs.k8s.io/structured-merge-diff/fieldpath/managers.go @@ -16,16 +16,42 @@ package fieldpath // APIVersion describes the version of an object or of a fieldset. type APIVersion string +type VersionedSet interface { + Set() *Set + APIVersion() APIVersion + Applied() bool +} + // VersionedSet associates a version to a set. -type VersionedSet struct { - *Set - APIVersion APIVersion - Applied bool +type versionedSet struct { + set *Set + apiVersion APIVersion + applied bool +} + +func NewVersionedSet(set *Set, apiVersion APIVersion, applied bool) VersionedSet { + return versionedSet{ + set: set, + apiVersion: apiVersion, + applied: applied, + } +} + +func (v versionedSet) Set() *Set { + return v.set +} + +func (v versionedSet) APIVersion() APIVersion { + return v.apiVersion +} + +func (v versionedSet) Applied() bool { + return v.applied } // ManagedFields is a map from manager to VersionedSet (what they own in // what version). -type ManagedFields map[string]*VersionedSet +type ManagedFields map[string]VersionedSet // Difference returns a symmetric difference between two Managers. If a // given user's entry has version X in lhs and version Y in rhs, then @@ -37,7 +63,7 @@ func (lhs ManagedFields) Difference(rhs ManagedFields) ManagedFields { for manager, left := range lhs { right, ok := rhs[manager] if !ok { - if !left.Empty() { + if !left.Set().Empty() { diff[manager] = left } continue @@ -46,17 +72,14 @@ func (lhs ManagedFields) Difference(rhs ManagedFields) ManagedFields { // If we have sets in both but their version // differs, we don't even diff and keep the // entire thing. - if left.APIVersion != right.APIVersion { + if left.APIVersion() != right.APIVersion() { diff[manager] = right continue } - newSet := left.Difference(right.Set).Union(right.Difference(left.Set)) + newSet := left.Set().Difference(right.Set()).Union(right.Set().Difference(left.Set())) if !newSet.Empty() { - diff[manager] = &VersionedSet{ - Set: newSet, - APIVersion: right.APIVersion, - } + diff[manager] = NewVersionedSet(newSet, right.APIVersion(), false) } } @@ -65,7 +88,7 @@ func (lhs ManagedFields) Difference(rhs ManagedFields) ManagedFields { // Already done continue } - if !set.Empty() { + if !set.Set().Empty() { diff[manager] = set } } diff --git a/vendor/sigs.k8s.io/structured-merge-diff/merge/conflict.go b/vendor/sigs.k8s.io/structured-merge-diff/merge/conflict.go index 1056037b83c..aeef5ce25e0 100644 --- a/vendor/sigs.k8s.io/structured-merge-diff/merge/conflict.go +++ b/vendor/sigs.k8s.io/structured-merge-diff/merge/conflict.go @@ -79,7 +79,7 @@ func ConflictsFromManagers(sets fieldpath.ManagedFields) Conflicts { conflicts := []Conflict{} for manager, set := range sets { - set.Iterate(func(p fieldpath.Path) { + set.Set().Iterate(func(p fieldpath.Path) { conflicts = append(conflicts, Conflict{ Manager: manager, Path: p, diff --git a/vendor/sigs.k8s.io/structured-merge-diff/merge/update.go b/vendor/sigs.k8s.io/structured-merge-diff/merge/update.go index 8bc45f54978..731ec4d7090 100644 --- a/vendor/sigs.k8s.io/structured-merge-diff/merge/update.go +++ b/vendor/sigs.k8s.io/structured-merge-diff/merge/update.go @@ -36,25 +36,23 @@ type Updater struct { func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpath.APIVersion, managers fieldpath.ManagedFields, workflow string, force bool) (fieldpath.ManagedFields, error) { conflicts := fieldpath.ManagedFields{} removed := fieldpath.ManagedFields{} - type Versioned struct { - oldObject *typed.TypedValue - newObject *typed.TypedValue + compare, err := oldObject.Compare(newObject) + if err != nil { + return nil, fmt.Errorf("failed to compare objects: %v", err) } - versions := map[fieldpath.APIVersion]Versioned{ - version: { - oldObject: oldObject, - newObject: newObject, - }, + + versions := map[fieldpath.APIVersion]*typed.Comparison{ + version: compare, } for manager, managerSet := range managers { if manager == workflow { continue } - versioned, ok := versions[managerSet.APIVersion] + compare, ok := versions[managerSet.APIVersion()] if !ok { var err error - versioned.oldObject, err = s.Converter.Convert(oldObject, managerSet.APIVersion) + versionedOldObject, err := s.Converter.Convert(oldObject, managerSet.APIVersion()) if err != nil { if s.Converter.IsMissingVersionError(err) { delete(managers, manager) @@ -62,7 +60,7 @@ func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpa } return nil, fmt.Errorf("failed to convert old object: %v", err) } - versioned.newObject, err = s.Converter.Convert(newObject, managerSet.APIVersion) + versionedNewObject, err := s.Converter.Convert(newObject, managerSet.APIVersion()) if err != nil { if s.Converter.IsMissingVersionError(err) { delete(managers, manager) @@ -70,26 +68,20 @@ func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpa } return nil, fmt.Errorf("failed to convert new object: %v", err) } - versions[managerSet.APIVersion] = versioned - } - compare, err := versioned.oldObject.Compare(versioned.newObject) - if err != nil { - return nil, fmt.Errorf("failed to compare objects: %v", err) + compare, err = versionedOldObject.Compare(versionedNewObject) + if err != nil { + return nil, fmt.Errorf("failed to compare objects: %v", err) + } + versions[managerSet.APIVersion()] = compare } - conflictSet := managerSet.Intersection(compare.Modified.Union(compare.Added)) + conflictSet := managerSet.Set().Intersection(compare.Modified.Union(compare.Added)) if !conflictSet.Empty() { - conflicts[manager] = &fieldpath.VersionedSet{ - Set: conflictSet, - APIVersion: managerSet.APIVersion, - } + conflicts[manager] = fieldpath.NewVersionedSet(conflictSet, managerSet.APIVersion(), false) } if !compare.Removed.Empty() { - removed[manager] = &fieldpath.VersionedSet{ - Set: compare.Removed, - APIVersion: managerSet.APIVersion, - } + removed[manager] = fieldpath.NewVersionedSet(compare.Removed, managerSet.APIVersion(), false) } } @@ -98,15 +90,15 @@ func (s *Updater) update(oldObject, newObject *typed.TypedValue, version fieldpa } for manager, conflictSet := range conflicts { - managers[manager].Set = managers[manager].Set.Difference(conflictSet.Set) + managers[manager] = fieldpath.NewVersionedSet(managers[manager].Set().Difference(conflictSet.Set()), managers[manager].APIVersion(), managers[manager].Applied()) } for manager, removedSet := range removed { - managers[manager].Set = managers[manager].Set.Difference(removedSet.Set) + managers[manager] = fieldpath.NewVersionedSet(managers[manager].Set().Difference(removedSet.Set()), managers[manager].APIVersion(), managers[manager].Applied()) } for manager := range managers { - if managers[manager].Set.Empty() { + if managers[manager].Set().Empty() { delete(managers, manager) } } @@ -134,13 +126,14 @@ func (s *Updater) Update(liveObject, newObject *typed.TypedValue, version fieldp return nil, fieldpath.ManagedFields{}, fmt.Errorf("failed to compare live and new objects: %v", err) } if _, ok := managers[manager]; !ok { - managers[manager] = &fieldpath.VersionedSet{ - Set: fieldpath.NewSet(), - } + managers[manager] = fieldpath.NewVersionedSet(fieldpath.NewSet(), version, false) } - managers[manager].Set = managers[manager].Set.Union(compare.Modified).Union(compare.Added).Difference(compare.Removed) - managers[manager].APIVersion = version - if managers[manager].Set.Empty() { + managers[manager] = fieldpath.NewVersionedSet( + managers[manager].Set().Union(compare.Modified).Union(compare.Added).Difference(compare.Removed), + version, + false, + ) + if managers[manager].Set().Empty() { delete(managers, manager) } return newObject, managers, nil @@ -168,11 +161,7 @@ func (s *Updater) Apply(liveObject, configObject *typed.TypedValue, version fiel if err != nil { return nil, fieldpath.ManagedFields{}, fmt.Errorf("failed to get field set: %v", err) } - managers[manager] = &fieldpath.VersionedSet{ - Set: set, - APIVersion: version, - Applied: true, - } + managers[manager] = fieldpath.NewVersionedSet(set, version, true) newObject, err = s.prune(newObject, managers, manager, lastSet) if err != nil { return nil, fieldpath.ManagedFields{}, fmt.Errorf("failed to prune fields: %v", err) @@ -196,18 +185,18 @@ func shallowCopyManagers(managers fieldpath.ManagedFields) fieldpath.ManagedFiel // * applyingManager applied it last time // * applyingManager didn't apply it this time // * no other applier claims to manage it -func (s *Updater) prune(merged *typed.TypedValue, managers fieldpath.ManagedFields, applyingManager string, lastSet *fieldpath.VersionedSet) (*typed.TypedValue, error) { - if lastSet == nil || lastSet.Set.Empty() { +func (s *Updater) prune(merged *typed.TypedValue, managers fieldpath.ManagedFields, applyingManager string, lastSet fieldpath.VersionedSet) (*typed.TypedValue, error) { + if lastSet == nil || lastSet.Set().Empty() { return merged, nil } - convertedMerged, err := s.Converter.Convert(merged, lastSet.APIVersion) + convertedMerged, err := s.Converter.Convert(merged, lastSet.APIVersion()) if err != nil { if s.Converter.IsMissingVersionError(err) { return merged, nil } return nil, fmt.Errorf("failed to convert merged object to last applied version: %v", err) } - pruned := convertedMerged.RemoveItems(lastSet.Set) + pruned := convertedMerged.RemoveItems(lastSet.Set()) pruned, err = s.addBackOwnedItems(convertedMerged, pruned, managers, applyingManager) if err != nil { return nil, fmt.Errorf("failed add back owned items: %v", err) @@ -216,7 +205,7 @@ func (s *Updater) prune(merged *typed.TypedValue, managers fieldpath.ManagedFiel if err != nil { return nil, fmt.Errorf("failed add back dangling items: %v", err) } - return s.Converter.Convert(pruned, managers[applyingManager].APIVersion) + return s.Converter.Convert(pruned, managers[applyingManager].APIVersion()) } // addBackOwnedItems adds back any list and map items that were removed by prune, @@ -225,11 +214,11 @@ func (s *Updater) addBackOwnedItems(merged, pruned *typed.TypedValue, managedFie var err error managedAtVersion := map[fieldpath.APIVersion]*fieldpath.Set{} for _, managerSet := range managedFields { - if managerSet.Applied { - if _, ok := managedAtVersion[managerSet.APIVersion]; !ok { - managedAtVersion[managerSet.APIVersion] = fieldpath.NewSet() + if managerSet.Applied() { + if _, ok := managedAtVersion[managerSet.APIVersion()]; !ok { + managedAtVersion[managerSet.APIVersion()] = fieldpath.NewSet() } - managedAtVersion[managerSet.APIVersion] = managedAtVersion[managerSet.APIVersion].Union(managerSet.Set) + managedAtVersion[managerSet.APIVersion()] = managedAtVersion[managerSet.APIVersion()].Union(managerSet.Set()) } } for version, managed := range managedAtVersion { @@ -263,8 +252,8 @@ func (s *Updater) addBackOwnedItems(merged, pruned *typed.TypedValue, managedFie // addBackDanglingItems makes sure that the only items removed by prune are items that were // previously owned by the currently applying manager. This will add back unowned items and items // which are owned by Updaters that shouldn't be removed. -func (s *Updater) addBackDanglingItems(merged, pruned *typed.TypedValue, lastSet *fieldpath.VersionedSet) (*typed.TypedValue, error) { - convertedPruned, err := s.Converter.Convert(pruned, lastSet.APIVersion) +func (s *Updater) addBackDanglingItems(merged, pruned *typed.TypedValue, lastSet fieldpath.VersionedSet) (*typed.TypedValue, error) { + convertedPruned, err := s.Converter.Convert(pruned, lastSet.APIVersion()) if err != nil { if s.Converter.IsMissingVersionError(err) { return merged, nil @@ -279,5 +268,5 @@ func (s *Updater) addBackDanglingItems(merged, pruned *typed.TypedValue, lastSet if err != nil { return nil, fmt.Errorf("failed to create field set from merged object in last applied version: %v", err) } - return merged.RemoveItems(mergedSet.Difference(prunedSet).Intersection(lastSet.Set)), nil + return merged.RemoveItems(mergedSet.Difference(prunedSet).Intersection(lastSet.Set())), nil }