diff --git a/types/set/reconcile.go b/types/set/reconcile.go new file mode 100644 index 00000000..9912ae32 --- /dev/null +++ b/types/set/reconcile.go @@ -0,0 +1,17 @@ +package set + +func Diff(desired, actual map[string]bool) (toCreate []string, toDelete []string, same []string) { + for key := range desired { + if actual[key] { + same = append(same, key) + } else { + toCreate = append(toCreate, key) + } + } + for key := range actual { + if !desired[key] { + toDelete = append(toDelete, key) + } + } + return +}