diff --git a/pkg/registry/batch/cronjob/strategy.go b/pkg/registry/batch/cronjob/strategy.go index a48d74f51ec..c85eebb1e59 100644 --- a/pkg/registry/batch/cronjob/strategy.go +++ b/pkg/registry/batch/cronjob/strategy.go @@ -33,91 +33,91 @@ import ( "k8s.io/kubernetes/pkg/apis/batch/validation" ) -// scheduledJobStrategy implements verification logic for Replication Controllers. -type scheduledJobStrategy struct { +// cronJobStrategy implements verification logic for Replication Controllers. +type cronJobStrategy struct { runtime.ObjectTyper names.NameGenerator } // Strategy is the default logic that applies when creating and updating CronJob objects. -var Strategy = scheduledJobStrategy{api.Scheme, names.SimpleNameGenerator} +var Strategy = cronJobStrategy{api.Scheme, names.SimpleNameGenerator} // DefaultGarbageCollectionPolicy returns Orphan because that was the default // behavior before the server-side garbage collection was implemented. -func (scheduledJobStrategy) DefaultGarbageCollectionPolicy() rest.GarbageCollectionPolicy { +func (cronJobStrategy) DefaultGarbageCollectionPolicy() rest.GarbageCollectionPolicy { return rest.OrphanDependents } // NamespaceScoped returns true because all scheduled jobs need to be within a namespace. -func (scheduledJobStrategy) NamespaceScoped() bool { +func (cronJobStrategy) NamespaceScoped() bool { return true } // PrepareForCreate clears the status of a scheduled job before creation. -func (scheduledJobStrategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) { - scheduledJob := obj.(*batch.CronJob) - scheduledJob.Status = batch.CronJobStatus{} +func (cronJobStrategy) PrepareForCreate(ctx genericapirequest.Context, obj runtime.Object) { + cronJob := obj.(*batch.CronJob) + cronJob.Status = batch.CronJobStatus{} } // PrepareForUpdate clears fields that are not allowed to be set by end users on update. -func (scheduledJobStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) { +func (cronJobStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) { newCronJob := obj.(*batch.CronJob) oldCronJob := old.(*batch.CronJob) newCronJob.Status = oldCronJob.Status } // Validate validates a new scheduled job. -func (scheduledJobStrategy) Validate(ctx genericapirequest.Context, obj runtime.Object) field.ErrorList { - scheduledJob := obj.(*batch.CronJob) - return validation.ValidateCronJob(scheduledJob) +func (cronJobStrategy) Validate(ctx genericapirequest.Context, obj runtime.Object) field.ErrorList { + cronJob := obj.(*batch.CronJob) + return validation.ValidateCronJob(cronJob) } // Canonicalize normalizes the object after validation. -func (scheduledJobStrategy) Canonicalize(obj runtime.Object) { +func (cronJobStrategy) Canonicalize(obj runtime.Object) { } -func (scheduledJobStrategy) AllowUnconditionalUpdate() bool { +func (cronJobStrategy) AllowUnconditionalUpdate() bool { return true } // AllowCreateOnUpdate is false for scheduled jobs; this means a POST is needed to create one. -func (scheduledJobStrategy) AllowCreateOnUpdate() bool { +func (cronJobStrategy) AllowCreateOnUpdate() bool { return false } // ValidateUpdate is the default update validation for an end user. -func (scheduledJobStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { +func (cronJobStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { return validation.ValidateCronJob(obj.(*batch.CronJob)) } -type scheduledJobStatusStrategy struct { - scheduledJobStrategy +type cronJobStatusStrategy struct { + cronJobStrategy } -var StatusStrategy = scheduledJobStatusStrategy{Strategy} +var StatusStrategy = cronJobStatusStrategy{Strategy} -func (scheduledJobStatusStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) { +func (cronJobStatusStrategy) PrepareForUpdate(ctx genericapirequest.Context, obj, old runtime.Object) { newJob := obj.(*batch.CronJob) oldJob := old.(*batch.CronJob) newJob.Spec = oldJob.Spec } -func (scheduledJobStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { +func (cronJobStatusStrategy) ValidateUpdate(ctx genericapirequest.Context, obj, old runtime.Object) field.ErrorList { return field.ErrorList{} } // CronJobToSelectableFields returns a field set that represents the object for matching purposes. -func CronJobToSelectableFields(scheduledJob *batch.CronJob) fields.Set { - return generic.ObjectMetaFieldsSet(&scheduledJob.ObjectMeta, true) +func CronJobToSelectableFields(cronJob *batch.CronJob) fields.Set { + return generic.ObjectMetaFieldsSet(&cronJob.ObjectMeta, true) } // GetAttrs returns labels and fields of a given object for filtering purposes. func GetAttrs(obj runtime.Object) (labels.Set, fields.Set, error) { - scheduledJob, ok := obj.(*batch.CronJob) + cronJob, ok := obj.(*batch.CronJob) if !ok { return nil, nil, fmt.Errorf("Given object is not a scheduled job.") } - return labels.Set(scheduledJob.ObjectMeta.Labels), CronJobToSelectableFields(scheduledJob), nil + return labels.Set(cronJob.ObjectMeta.Labels), CronJobToSelectableFields(cronJob), nil } // MatchCronJob is the filter used by the generic etcd backend to route