133 lines
7 KiB
Go
133 lines
7 KiB
Go
/*
|
|
Copyright The Kubernetes Authors.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
// Code generated by applyconfiguration-gen. DO NOT EDIT.
|
|
|
|
package v1
|
|
|
|
import (
|
|
batchv1 "k8s.io/api/batch/v1"
|
|
)
|
|
|
|
// CronJobSpecApplyConfiguration represents a declarative configuration of the CronJobSpec type for use
|
|
// with apply.
|
|
//
|
|
// CronJobSpec describes how the job execution will look like and when it will actually run.
|
|
type CronJobSpecApplyConfiguration struct {
|
|
// The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
|
|
Schedule *string `json:"schedule,omitempty"`
|
|
// The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
|
|
// If not specified, this will default to the time zone of the kube-controller-manager process.
|
|
// The set of valid time zone names and the time zone offset is loaded from the system-wide time zone
|
|
// database by the API server during CronJob validation and the controller manager during execution.
|
|
// If no system-wide time zone database can be found a bundled version of the database is used instead.
|
|
// If the time zone name becomes invalid during the lifetime of a CronJob or due to a change in host
|
|
// configuration, the controller will stop creating new new Jobs and will create a system event with the
|
|
// reason UnknownTimeZone.
|
|
// More information can be found in https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones
|
|
TimeZone *string `json:"timeZone,omitempty"`
|
|
// Optional deadline in seconds for starting the job if it misses scheduled
|
|
// time for any reason. Missed jobs executions will be counted as failed ones.
|
|
StartingDeadlineSeconds *int64 `json:"startingDeadlineSeconds,omitempty"`
|
|
// Specifies how to treat concurrent executions of a Job.
|
|
// Valid values are:
|
|
//
|
|
// - "Allow" (default): allows CronJobs to run concurrently;
|
|
// - "Forbid": forbids concurrent runs, skipping next run if previous run hasn't finished yet;
|
|
// - "Replace": cancels currently running job and replaces it with a new one
|
|
ConcurrencyPolicy *batchv1.ConcurrencyPolicy `json:"concurrencyPolicy,omitempty"`
|
|
// This flag tells the controller to suspend subsequent executions, it does
|
|
// not apply to already started executions. Defaults to false.
|
|
Suspend *bool `json:"suspend,omitempty"`
|
|
// Specifies the job that will be created when executing a CronJob.
|
|
JobTemplate *JobTemplateSpecApplyConfiguration `json:"jobTemplate,omitempty"`
|
|
// The number of successful finished jobs to retain. Value must be non-negative integer.
|
|
// Defaults to 3.
|
|
SuccessfulJobsHistoryLimit *int32 `json:"successfulJobsHistoryLimit,omitempty"`
|
|
// The number of failed finished jobs to retain. Value must be non-negative integer.
|
|
// Defaults to 1.
|
|
FailedJobsHistoryLimit *int32 `json:"failedJobsHistoryLimit,omitempty"`
|
|
}
|
|
|
|
// CronJobSpecApplyConfiguration constructs a declarative configuration of the CronJobSpec type for use with
|
|
// apply.
|
|
func CronJobSpec() *CronJobSpecApplyConfiguration {
|
|
return &CronJobSpecApplyConfiguration{}
|
|
}
|
|
|
|
// WithSchedule sets the Schedule field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Schedule field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithSchedule(value string) *CronJobSpecApplyConfiguration {
|
|
b.Schedule = &value
|
|
return b
|
|
}
|
|
|
|
// WithTimeZone sets the TimeZone field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the TimeZone field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithTimeZone(value string) *CronJobSpecApplyConfiguration {
|
|
b.TimeZone = &value
|
|
return b
|
|
}
|
|
|
|
// WithStartingDeadlineSeconds sets the StartingDeadlineSeconds field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the StartingDeadlineSeconds field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithStartingDeadlineSeconds(value int64) *CronJobSpecApplyConfiguration {
|
|
b.StartingDeadlineSeconds = &value
|
|
return b
|
|
}
|
|
|
|
// WithConcurrencyPolicy sets the ConcurrencyPolicy field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the ConcurrencyPolicy field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithConcurrencyPolicy(value batchv1.ConcurrencyPolicy) *CronJobSpecApplyConfiguration {
|
|
b.ConcurrencyPolicy = &value
|
|
return b
|
|
}
|
|
|
|
// WithSuspend sets the Suspend field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the Suspend field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithSuspend(value bool) *CronJobSpecApplyConfiguration {
|
|
b.Suspend = &value
|
|
return b
|
|
}
|
|
|
|
// WithJobTemplate sets the JobTemplate field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the JobTemplate field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithJobTemplate(value *JobTemplateSpecApplyConfiguration) *CronJobSpecApplyConfiguration {
|
|
b.JobTemplate = value
|
|
return b
|
|
}
|
|
|
|
// WithSuccessfulJobsHistoryLimit sets the SuccessfulJobsHistoryLimit field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the SuccessfulJobsHistoryLimit field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithSuccessfulJobsHistoryLimit(value int32) *CronJobSpecApplyConfiguration {
|
|
b.SuccessfulJobsHistoryLimit = &value
|
|
return b
|
|
}
|
|
|
|
// WithFailedJobsHistoryLimit sets the FailedJobsHistoryLimit field in the declarative configuration to the given value
|
|
// and returns the receiver, so that objects can be built by chaining "With" function invocations.
|
|
// If called multiple times, the FailedJobsHistoryLimit field is set to the value of the last call.
|
|
func (b *CronJobSpecApplyConfiguration) WithFailedJobsHistoryLimit(value int32) *CronJobSpecApplyConfiguration {
|
|
b.FailedJobsHistoryLimit = &value
|
|
return b
|
|
}
|