Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 9 additions & 9 deletions client/typed/stash/v1alpha1/util/recovery.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
)

func CreateOrPatchRecovery(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, transform func(alert *api.Recovery) *api.Recovery) (*api.Recovery, bool, error) {
func CreateOrPatchRecovery(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, transform func(alert *api.Recovery) *api.Recovery) (*api.Recovery, kutil.VerbType, error) {
cur, err := c.Recoveries(meta.Namespace).Get(meta.Name, metav1.GetOptions{})
if kerr.IsNotFound(err) {
glog.V(3).Infof("Creating Recovery %s/%s.", meta.Namespace, meta.Name)
Expand All @@ -28,34 +28,34 @@ func CreateOrPatchRecovery(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta,
},
ObjectMeta: meta,
}))
return out, true, err
return out, kutil.VerbCreated, err
} else if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}
return PatchRecovery(c, cur, transform)
}

func PatchRecovery(c cs.StashV1alpha1Interface, cur *api.Recovery, transform func(*api.Recovery) *api.Recovery) (*api.Recovery, bool, error) {
func PatchRecovery(c cs.StashV1alpha1Interface, cur *api.Recovery, transform func(*api.Recovery) *api.Recovery) (*api.Recovery, kutil.VerbType, error) {
curJson, err := json.Marshal(cur)
if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}

modJson, err := json.Marshal(transform(cur.DeepCopy()))
if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}

patch, err := jsonmergepatch.CreateThreeWayJSONMergePatch(curJson, modJson, curJson)
if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}
if len(patch) == 0 || string(patch) == "{}" {
return cur, false, nil
return cur, kutil.VerbUnchanged, nil
}
glog.V(3).Infof("Patching Recovery %s/%s with %s.", cur.Namespace, cur.Name, string(patch))
out, err := c.Recoveries(cur.Namespace).Patch(cur.Name, types.MergePatchType, patch)
return out, true, err
return out, kutil.VerbPatched, err
}

func TryPatchRecovery(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, transform func(*api.Recovery) *api.Recovery) (result *api.Recovery, err error) {
Expand Down
18 changes: 9 additions & 9 deletions client/typed/stash/v1alpha1/util/restic.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import (
"k8s.io/apimachinery/pkg/util/wait"
)

func CreateOrPatchRestic(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, transform func(alert *api.Restic) *api.Restic) (*api.Restic, bool, error) {
func CreateOrPatchRestic(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, transform func(alert *api.Restic) *api.Restic) (*api.Restic, kutil.VerbType, error) {
cur, err := c.Restics(meta.Namespace).Get(meta.Name, metav1.GetOptions{})
if kerr.IsNotFound(err) {
glog.V(3).Infof("Creating Restic %s/%s.", meta.Namespace, meta.Name)
Expand All @@ -26,34 +26,34 @@ func CreateOrPatchRestic(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, tr
},
ObjectMeta: meta,
}))
return out, true, err
return out, kutil.VerbCreated, err
} else if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}
return PatchRestic(c, cur, transform)
}

func PatchRestic(c cs.StashV1alpha1Interface, cur *api.Restic, transform func(*api.Restic) *api.Restic) (*api.Restic, bool, error) {
func PatchRestic(c cs.StashV1alpha1Interface, cur *api.Restic, transform func(*api.Restic) *api.Restic) (*api.Restic, kutil.VerbType, error) {
curJson, err := json.Marshal(cur)
if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}

modJson, err := json.Marshal(transform(cur.DeepCopy()))
if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}

patch, err := jsonmergepatch.CreateThreeWayJSONMergePatch(curJson, modJson, curJson)
if err != nil {
return nil, false, err
return nil, kutil.VerbUnchanged, err
}
if len(patch) == 0 || string(patch) == "{}" {
return cur, false, nil
return cur, kutil.VerbUnchanged, nil
}
glog.V(3).Infof("Patching Restic %s/%s with %s.", cur.Namespace, cur.Name, string(patch))
out, err := c.Restics(cur.Namespace).Patch(cur.Name, types.MergePatchType, patch)
return out, true, err
return out, kutil.VerbPatched, err
}

func TryPatchRestic(c cs.StashV1alpha1Interface, meta metav1.ObjectMeta, transform func(*api.Restic) *api.Restic) (result *api.Restic, err error) {
Expand Down
4 changes: 2 additions & 2 deletions glide.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading