package cronjob import ( "fmt" "github.com/ankitrgadiya/operatorlib/pkg/container" "github.com/ankitrgadiya/operatorlib/pkg/interfaces" batchv1beta1 "k8s.io/api/batch/v1beta1" corev1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/client-go/tools/record" "sigs.k8s.io/controller-runtime/pkg/client" ) func (c Conf) GenSuccessfulJobsHistoryLimit() (*int32, error) { var spec *int32 if c.GenSuccessfulJobsHistoryLimitFunc != nil { return c.GenSuccessfulJobsHistoryLimitFunc() } return spec, nil } func (c Conf) GenFailedJobsHistoryLimitHistoryLimit() (*int32, error) { var spec *int32 if c.GenFailedJobsHistoryLimitHistoryLimitFunc != nil { return c.GenFailedJobsHistoryLimitHistoryLimitFunc() } return spec, nil } func (c Conf) GenConcurrencyPolicy() (batchv1beta1.ConcurrencyPolicy, error) { var spec batchv1beta1.ConcurrencyPolicy if c.GenConcurrencyPolicyFunc != nil { return c.GenConcurrencyPolicyFunc() } return spec, nil } func (c Conf) GenSuspendPolicy() (bool, error) { var spec bool if c.GenSuspendPolicyFunc != nil { return c.GenSuspendPolicyFunc() } return spec, nil } func (c Conf) GenStartingDeadlineSecondsSeconds() (*int64, error) { var spec *int64 if c.GenStartingDeadlineSecondsSecondsFunc != nil { return c.GenStartingDeadlineSecondsSecondsFunc() } return spec, nil } func (c Conf) GenSchedule() (string, error) { var spec string if c.GenScheduleFunc != nil { return c.GenScheduleFunc() } return spec, nil } func (c Conf) GenManualSelector() (*bool, error) { return &c.ManualSelector, nil } func (c Conf) GenParallelism() (*int32, error) { var spec *int32 if c.GenParallelismFunc != nil { return c.GenParallelismFunc() } return spec, nil } func (c Conf) GenCompletions() (*int32, error) { var spec *int32 if c.GenCompletionsFunc != nil { return c.GenCompletionsFunc() } return spec, nil } func (c Conf) GenActiveDeadlineSeconds() (*int64, error) { var spec *int64 if c.GenActiveDeadlineSecondsFunc != nil { return c.GenActiveDeadlineSecondsFunc() } return spec, nil } func (c Conf) GenBackoffLimit() (*int32, error) { var spec *int32 if c.GenBackoffLimitFunc != nil { return c.GenBackoffLimitFunc() } return spec, nil } func (c Conf) Containers() []container.Mutate { var spec []container.Mutate if c.GenContainers != nil { return c.GenContainers } return spec } func (c Conf) Volumes() ([]corev1.Volume, error) { var spec []corev1.Volume if c.GenVolumesFunc != nil { return c.GenVolumesFunc() } return spec, nil } func (c Conf) SecurityContext() (*corev1.PodSecurityContext, error) { var spec *corev1.PodSecurityContext if c.GenSecurityContextFunc != nil { return c.GenSecurityContextFunc() } return spec, nil } func (c Conf) RestartPolicy() (corev1.RestartPolicy, error) { var spec corev1.RestartPolicy if c.GenRestartPolicyFunc != nil { return c.GenRestartPolicyFunc() } return spec, nil } func (c Conf) GenLabelsFunc() (map[string]string, error) { var labels map[string]string if c.GenLabels != nil { return c.GenLabels() } return labels, nil } func (c Conf) GenAnnotationsFunc() (map[string]string, error) { var annotations map[string]string if c.GenAnnotations != nil { return c.GenAnnotations() } return annotations, nil } func (c Conf) GenFinalizersFunc() ([]string, error) { if c.GenFinalizers != nil { return c.GenFinalizers() } return nil, nil } // Object returns the ObjectSyncer subject func (s Conf) Object() interfaces.Object { return s.Obj } // Object returns the ObjectSyncer subject func (s Conf) ObjectName() string { return s.Name } // Object returns the ObjectSyncer subject func (s Conf) ObjectNamespace() string { return s.Namespace } // ObjectOwner returns the ObjectSyncer owner func (s Conf) ObjectOwner() interfaces.Object { return s.Owner } // ObjectWithoutSecretData returns the ObjectSyncer subject without secret data func (s Conf) ObjectWithoutSecretData() runtime.Object { return stripSecrets(s.Obj) } // PreviousWithoutSecretData returns the ObjectSyncer previous subject without secret data func (s Conf) PreviousWithoutSecretData() runtime.Object { return stripSecrets(s.previousObject) } // ObjectType returns the type of the ObjectSyncer subject func (s Conf) ObjectType() string { return fmt.Sprintf("%T", s.Obj) } // OwnerType returns the type of the ObjectSyncer owner func (s Conf) ObjectOwnerType() string { return fmt.Sprintf("%T", s.Owner) } // OwnerType returns the type of the ObjectSyncer owner func (s Conf) SetPreviousObject() { // obj := s.Obj.DeepCopyObject().(*appsv1.Deployment) // s.previousObject = obj s.previousObject = s.Obj.DeepCopyObject() //s.previousObject = s.Object() return } // OwnerType returns the type of the ObjectSyncer owner func (s Conf) GetClient() client.Client { return s.Reconcile.GetClient() } // OwnerType returns the type of the ObjectSyncer owner func (s Conf) GetScheme() *runtime.Scheme { return s.Reconcile.GetScheme() } // OwnerType returns the type of the ObjectSyncer owner func (s Conf) GetRecorder() record.EventRecorder { return s.Reconcile.GetRecorder() } // stripSecrets returns the object without secretData func stripSecrets(obj runtime.Object) runtime.Object { // if obj is secret, don't print secret data s, ok := obj.(*corev1.Secret) if ok { s.Data = nil s.StringData = nil return s } return obj }