Skip to content
types.go 1.08 KiB
Newer Older
Timothee Gosselin's avatar
Timothee Gosselin committed
package configmap

import (
	"github.com/ankitrgadiya/operatorlib/pkg/interfaces"
	"github.com/ankitrgadiya/operatorlib/pkg/meta"

	corev1 "k8s.io/api/core/v1"
)

// GenConfigMapFunc defines a function which generates ConfigMap.
type GenConfigMapFunc func(Conf) (*corev1.ConfigMap, error)

// GenDataFunc defines a function which generates data (string map)
// for Configmap.
type GenDataFunc func() (map[string]string, error)

// GenBinaryDataFunc defines a function which generates binary data
// (map of string to byte slice) for Configmap.
type GenBinaryDataFunc func() (map[string][]byte, error)

type Mutate interface {
	meta.Mutate
	GenData() (map[string]string, error)
	GenBinaryData() (map[string][]byte, error)
}

Timothee Gosselin's avatar
Timothee Gosselin committed
type Conf struct {
	Namespace      string
	Name           string
	Obj            interfaces.Object
	Reconcile      interfaces.Reconcile
	previousObject interfaces.Object
	Owner          interfaces.Object
	OwnerReference bool
	GenFinalizers  meta.GenFinalizers
	GenLabels      meta.GenLabels
	GenAnnotations meta.GenAnnotations
	GenConfigMapFunc
	GenDataFunc
	GenBinaryDataFunc
}