--- api_metadata: apiVersion: "batch/v1" import: "k8s.io/api/batch/v1" kind: "CronJob" content_type: "api_reference" description: "CronJob represents the configuration of a single cron job." title: "CronJob" weight: 11 auto_generated: true --- `apiVersion: batch/v1` `import "k8s.io/api/batch/v1"` ## CronJob {#CronJob} CronJob represents the configuration of a single cron job.
- **apiVersion**: batch/v1 - **kind**: CronJob - **metadata** (}}">ObjectMeta) Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **spec** (}}">CronJobSpec) Specification of the desired behavior of a cron job, including the schedule. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - **status** (}}">CronJobStatus) Current status of a cron job. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status ## CronJobSpec {#CronJobSpec} CronJobSpec describes how the job execution will look like and when it will actually run.
- **jobTemplate** (JobTemplateSpec), required Specifies the job that will be created when executing a CronJob. *JobTemplateSpec describes the data a Job should have when created from a template* - **jobTemplate.metadata** (}}">ObjectMeta) Standard object's metadata of the jobs created from this template. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **jobTemplate.spec** (}}">JobSpec) Specification of the desired behavior of the job. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - **schedule** (string), required The schedule in Cron format, see https://en.wikipedia.org/wiki/Cron. - **timeZone** (string) 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 - **concurrencyPolicy** (string) 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 - **startingDeadlineSeconds** (int64) 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. - **suspend** (boolean) This flag tells the controller to suspend subsequent executions, it does not apply to already started executions. Defaults to false. - **successfulJobsHistoryLimit** (int32) The number of successful finished jobs to retain. Value must be non-negative integer. Defaults to 3. - **failedJobsHistoryLimit** (int32) The number of failed finished jobs to retain. Value must be non-negative integer. Defaults to 1. ## CronJobStatus {#CronJobStatus} CronJobStatus represents the current state of a cron job.
- **active** ([]}}">ObjectReference) *Atomic: will be replaced during a merge* A list of pointers to currently running jobs. - **lastScheduleTime** (Time) Information when was the last time the job was successfully scheduled. *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.* - **lastSuccessfulTime** (Time) Information when was the last time the job successfully completed. *Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.* ## CronJobList {#CronJobList} CronJobList is a collection of cron jobs.
- **apiVersion**: batch/v1 - **kind**: CronJobList - **metadata** (}}">ListMeta) Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **items** ([]}}">CronJob), required items is the list of CronJobs. ## Operations {#Operations}
### `get` read the specified CronJob #### HTTP Request GET /apis/batch/v1/namespaces/{namespace}/cronjobs/{name} #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 401: Unauthorized ### `get` read status of the specified CronJob #### HTTP Request GET /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 401: Unauthorized ### `list` list or watch objects of kind CronJob #### HTTP Request GET /apis/batch/v1/namespaces/{namespace}/cronjobs #### Parameters - **namespace** (*in path*): string, required }}">namespace - **allowWatchBookmarks** (*in query*): boolean }}">allowWatchBookmarks - **continue** (*in query*): string }}">continue - **fieldSelector** (*in query*): string }}">fieldSelector - **labelSelector** (*in query*): string }}">labelSelector - **limit** (*in query*): integer }}">limit - **pretty** (*in query*): string }}">pretty - **resourceVersion** (*in query*): string }}">resourceVersion - **resourceVersionMatch** (*in query*): string }}">resourceVersionMatch - **sendInitialEvents** (*in query*): boolean }}">sendInitialEvents - **timeoutSeconds** (*in query*): integer }}">timeoutSeconds - **watch** (*in query*): boolean }}">watch #### Response 200 (}}">CronJobList): OK 401: Unauthorized ### `list` list or watch objects of kind CronJob #### HTTP Request GET /apis/batch/v1/cronjobs #### Parameters - **allowWatchBookmarks** (*in query*): boolean }}">allowWatchBookmarks - **continue** (*in query*): string }}">continue - **fieldSelector** (*in query*): string }}">fieldSelector - **labelSelector** (*in query*): string }}">labelSelector - **limit** (*in query*): integer }}">limit - **pretty** (*in query*): string }}">pretty - **resourceVersion** (*in query*): string }}">resourceVersion - **resourceVersionMatch** (*in query*): string }}">resourceVersionMatch - **sendInitialEvents** (*in query*): boolean }}">sendInitialEvents - **timeoutSeconds** (*in query*): integer }}">timeoutSeconds - **watch** (*in query*): boolean }}">watch #### Response 200 (}}">CronJobList): OK 401: Unauthorized ### `create` create a CronJob #### HTTP Request POST /apis/batch/v1/namespaces/{namespace}/cronjobs #### Parameters - **namespace** (*in path*): string, required }}">namespace - **body**: }}">CronJob, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 201 (}}">CronJob): Created 202 (}}">CronJob): Accepted 401: Unauthorized ### `update` replace the specified CronJob #### HTTP Request PUT /apis/batch/v1/namespaces/{namespace}/cronjobs/{name} #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **body**: }}">CronJob, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 201 (}}">CronJob): Created 401: Unauthorized ### `update` replace status of the specified CronJob #### HTTP Request PUT /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **body**: }}">CronJob, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 201 (}}">CronJob): Created 401: Unauthorized ### `patch` partially update the specified CronJob #### HTTP Request PATCH /apis/batch/v1/namespaces/{namespace}/cronjobs/{name} #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **body**: }}">Patch, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **force** (*in query*): boolean }}">force - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 201 (}}">CronJob): Created 401: Unauthorized ### `patch` partially update status of the specified CronJob #### HTTP Request PATCH /apis/batch/v1/namespaces/{namespace}/cronjobs/{name}/status #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **body**: }}">Patch, required - **dryRun** (*in query*): string }}">dryRun - **fieldManager** (*in query*): string }}">fieldManager - **fieldValidation** (*in query*): string }}">fieldValidation - **force** (*in query*): boolean }}">force - **pretty** (*in query*): string }}">pretty #### Response 200 (}}">CronJob): OK 201 (}}">CronJob): Created 401: Unauthorized ### `delete` delete a CronJob #### HTTP Request DELETE /apis/batch/v1/namespaces/{namespace}/cronjobs/{name} #### Parameters - **name** (*in path*): string, required name of the CronJob - **namespace** (*in path*): string, required }}">namespace - **body**: }}">DeleteOptions - **dryRun** (*in query*): string }}">dryRun - **gracePeriodSeconds** (*in query*): integer }}">gracePeriodSeconds - **pretty** (*in query*): string }}">pretty - **propagationPolicy** (*in query*): string }}">propagationPolicy #### Response 200 (}}">Status): OK 202 (}}">Status): Accepted 401: Unauthorized ### `deletecollection` delete collection of CronJob #### HTTP Request DELETE /apis/batch/v1/namespaces/{namespace}/cronjobs #### Parameters - **namespace** (*in path*): string, required }}">namespace - **body**: }}">DeleteOptions - **continue** (*in query*): string }}">continue - **dryRun** (*in query*): string }}">dryRun - **fieldSelector** (*in query*): string }}">fieldSelector - **gracePeriodSeconds** (*in query*): integer }}">gracePeriodSeconds - **labelSelector** (*in query*): string }}">labelSelector - **limit** (*in query*): integer }}">limit - **pretty** (*in query*): string }}">pretty - **propagationPolicy** (*in query*): string }}">propagationPolicy - **resourceVersion** (*in query*): string }}">resourceVersion - **resourceVersionMatch** (*in query*): string }}">resourceVersionMatch - **sendInitialEvents** (*in query*): boolean }}">sendInitialEvents - **timeoutSeconds** (*in query*): integer }}">timeoutSeconds #### Response 200 (}}">Status): OK 401: Unauthorized