--- 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: 10 auto_generated: true --- <!-- The file is auto-generated from the Go source code of the component using a generic [generator](https://github.com/kubernetes-sigs/reference-docs/). To learn how to generate the reference documentation, please read [Contributing to the reference documentation](/docs/contribute/generate-ref-docs/). To update the reference content, please follow the [Contributing upstream](/docs/contribute/generate-ref-docs/contribute-upstream/) guide. You can file document formatting bugs against the [reference-docs](https://github.com/kubernetes-sigs/reference-docs/) project. --> `apiVersion: batch/v1` `import "k8s.io/api/batch/v1"` ## CronJob {#CronJob} CronJob represents the configuration of a single cron job. <hr> - **apiVersion**: batch/v1 - **kind**: CronJob - **metadata** (<a href="{{< ref "../common-definitions/object-meta#ObjectMeta" >}}">ObjectMeta</a>) Standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **spec** (<a href="{{< ref "../workload-resources/cron-job-v1#CronJobSpec" >}}">CronJobSpec</a>) 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** (<a href="{{< ref "../workload-resources/cron-job-v1#CronJobStatus" >}}">CronJobStatus</a>) 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. <hr> - **jobTemplate** (JobTemplateSpec), required Specifies the job that will be created when executing a CronJob. <a name="JobTemplateSpec"></a> *JobTemplateSpec describes the data a Job should have when created from a template* - **jobTemplate.metadata** (<a href="{{< ref "../common-definitions/object-meta#ObjectMeta" >}}">ObjectMeta</a>) 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** (<a href="{{< ref "../workload-resources/job-v1#JobSpec" >}}">JobSpec</a>) 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 for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, this will rely on the time zone of the kube-controller-manager process. ALPHA: This field is in alpha and must be enabled via the `CronJobTimeZone` feature gate. - **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. <hr> - **active** ([]<a href="{{< ref "../common-definitions/object-reference#ObjectReference" >}}">ObjectReference</a>) *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. <a name="Time"></a> *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. <a name="Time"></a> *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. <hr> - **apiVersion**: batch/v1 - **kind**: CronJobList - **metadata** (<a href="{{< ref "../common-definitions/list-meta#ListMeta" >}}">ListMeta</a>) Standard list metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - **items** ([]<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>), required items is the list of CronJobs. ## Operations {#Operations} <hr> ### `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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **allowWatchBookmarks** (*in query*): boolean <a href="{{< ref "../common-parameters/common-parameters#allowWatchBookmarks" >}}">allowWatchBookmarks</a> - **continue** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#continue" >}}">continue</a> - **fieldSelector** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldSelector" >}}">fieldSelector</a> - **labelSelector** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#labelSelector" >}}">labelSelector</a> - **limit** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#limit" >}}">limit</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> - **resourceVersion** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#resourceVersion" >}}">resourceVersion</a> - **resourceVersionMatch** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#resourceVersionMatch" >}}">resourceVersionMatch</a> - **timeoutSeconds** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#timeoutSeconds" >}}">timeoutSeconds</a> - **watch** (*in query*): boolean <a href="{{< ref "../common-parameters/common-parameters#watch" >}}">watch</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJobList" >}}">CronJobList</a>): OK 401: Unauthorized ### `list` list or watch objects of kind CronJob #### HTTP Request GET /apis/batch/v1/cronjobs #### Parameters - **allowWatchBookmarks** (*in query*): boolean <a href="{{< ref "../common-parameters/common-parameters#allowWatchBookmarks" >}}">allowWatchBookmarks</a> - **continue** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#continue" >}}">continue</a> - **fieldSelector** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldSelector" >}}">fieldSelector</a> - **labelSelector** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#labelSelector" >}}">labelSelector</a> - **limit** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#limit" >}}">limit</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> - **resourceVersion** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#resourceVersion" >}}">resourceVersion</a> - **resourceVersionMatch** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#resourceVersionMatch" >}}">resourceVersionMatch</a> - **timeoutSeconds** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#timeoutSeconds" >}}">timeoutSeconds</a> - **watch** (*in query*): boolean <a href="{{< ref "../common-parameters/common-parameters#watch" >}}">watch</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJobList" >}}">CronJobList</a>): OK 401: Unauthorized ### `create` create a CronJob #### HTTP Request POST /apis/batch/v1/namespaces/{namespace}/cronjobs #### Parameters - **namespace** (*in path*): string, required <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>, required - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **fieldManager** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldManager" >}}">fieldManager</a> - **fieldValidation** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldValidation" >}}">fieldValidation</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): OK 201 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): Created 202 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>, required - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **fieldManager** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldManager" >}}">fieldManager</a> - **fieldValidation** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldValidation" >}}">fieldValidation</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): OK 201 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>, required - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **fieldManager** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldManager" >}}">fieldManager</a> - **fieldValidation** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldValidation" >}}">fieldValidation</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): OK 201 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../common-definitions/patch#Patch" >}}">Patch</a>, required - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **fieldManager** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldManager" >}}">fieldManager</a> - **fieldValidation** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldValidation" >}}">fieldValidation</a> - **force** (*in query*): boolean <a href="{{< ref "../common-parameters/common-parameters#force" >}}">force</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): OK 201 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../common-definitions/patch#Patch" >}}">Patch</a>, required - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **fieldManager** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldManager" >}}">fieldManager</a> - **fieldValidation** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldValidation" >}}">fieldValidation</a> - **force** (*in query*): boolean <a href="{{< ref "../common-parameters/common-parameters#force" >}}">force</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> #### Response 200 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): OK 201 (<a href="{{< ref "../workload-resources/cron-job-v1#CronJob" >}}">CronJob</a>): 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 <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../common-definitions/delete-options#DeleteOptions" >}}">DeleteOptions</a> - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **gracePeriodSeconds** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#gracePeriodSeconds" >}}">gracePeriodSeconds</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> - **propagationPolicy** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#propagationPolicy" >}}">propagationPolicy</a> #### Response 200 (<a href="{{< ref "../common-definitions/status#Status" >}}">Status</a>): OK 202 (<a href="{{< ref "../common-definitions/status#Status" >}}">Status</a>): Accepted 401: Unauthorized ### `deletecollection` delete collection of CronJob #### HTTP Request DELETE /apis/batch/v1/namespaces/{namespace}/cronjobs #### Parameters - **namespace** (*in path*): string, required <a href="{{< ref "../common-parameters/common-parameters#namespace" >}}">namespace</a> - **body**: <a href="{{< ref "../common-definitions/delete-options#DeleteOptions" >}}">DeleteOptions</a> - **continue** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#continue" >}}">continue</a> - **dryRun** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#dryRun" >}}">dryRun</a> - **fieldSelector** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#fieldSelector" >}}">fieldSelector</a> - **gracePeriodSeconds** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#gracePeriodSeconds" >}}">gracePeriodSeconds</a> - **labelSelector** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#labelSelector" >}}">labelSelector</a> - **limit** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#limit" >}}">limit</a> - **pretty** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#pretty" >}}">pretty</a> - **propagationPolicy** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#propagationPolicy" >}}">propagationPolicy</a> - **resourceVersion** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#resourceVersion" >}}">resourceVersion</a> - **resourceVersionMatch** (*in query*): string <a href="{{< ref "../common-parameters/common-parameters#resourceVersionMatch" >}}">resourceVersionMatch</a> - **timeoutSeconds** (*in query*): integer <a href="{{< ref "../common-parameters/common-parameters#timeoutSeconds" >}}">timeoutSeconds</a> #### Response 200 (<a href="{{< ref "../common-definitions/status#Status" >}}">Status</a>): OK 401: Unauthorized