blob: c4797a16b2ca4fd54004110ae4280921872d6f4c [file] [log] [blame]
Matthias Andreas Benkard832a54e2019-01-29 09:27:38 +01001/*
2Copyright The Kubernetes Authors.
3
4Licensed under the Apache License, Version 2.0 (the "License");
5you may not use this file except in compliance with the License.
6You may obtain a copy of the License at
7
8 http://www.apache.org/licenses/LICENSE-2.0
9
10Unless required by applicable law or agreed to in writing, software
11distributed under the License is distributed on an "AS IS" BASIS,
12WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13See the License for the specific language governing permissions and
14limitations under the License.
15*/
16
17
18// This file was autogenerated by go-to-protobuf. Do not edit it manually!
19
20syntax = 'proto2';
21
22package k8s.io.api.batch.v1;
23
24import "k8s.io/api/core/v1/generated.proto";
25import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
26import "k8s.io/apimachinery/pkg/runtime/generated.proto";
27import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
28import "k8s.io/apimachinery/pkg/util/intstr/generated.proto";
29
30// Package-wide variables from generator "generated".
31option go_package = "v1";
32
33// Job represents the configuration of a single job.
34message Job {
35 // Standard object's metadata.
36 // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
37 // +optional
38 optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
39
40 // Specification of the desired behavior of a job.
41 // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
42 // +optional
43 optional JobSpec spec = 2;
44
45 // Current status of a job.
46 // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#spec-and-status
47 // +optional
48 optional JobStatus status = 3;
49}
50
51// JobCondition describes current state of a job.
52message JobCondition {
53 // Type of job condition, Complete or Failed.
54 optional string type = 1;
55
56 // Status of the condition, one of True, False, Unknown.
57 optional string status = 2;
58
59 // Last time the condition was checked.
60 // +optional
61 optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastProbeTime = 3;
62
63 // Last time the condition transit from one status to another.
64 // +optional
65 optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 4;
66
67 // (brief) reason for the condition's last transition.
68 // +optional
69 optional string reason = 5;
70
71 // Human readable message indicating details about last transition.
72 // +optional
73 optional string message = 6;
74}
75
76// JobList is a collection of jobs.
77message JobList {
78 // Standard list metadata.
79 // More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#metadata
80 // +optional
81 optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
82
83 // items is the list of Jobs.
84 repeated Job items = 2;
85}
86
87// JobSpec describes how the job execution will look like.
88message JobSpec {
89 // Specifies the maximum desired number of pods the job should
90 // run at any given time. The actual number of pods running in steady state will
91 // be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism),
92 // i.e. when the work left to do is less than max parallelism.
93 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
94 // +optional
95 optional int32 parallelism = 1;
96
97 // Specifies the desired number of successfully finished pods the
98 // job should be run with. Setting to nil means that the success of any
99 // pod signals the success of all pods, and allows parallelism to have any positive
100 // value. Setting to 1 means that parallelism is limited to 1 and the success of that
101 // pod signals the success of the job.
102 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
103 // +optional
104 optional int32 completions = 2;
105
106 // Specifies the duration in seconds relative to the startTime that the job may be active
107 // before the system tries to terminate it; value must be positive integer
108 // +optional
109 optional int64 activeDeadlineSeconds = 3;
110
111 // Specifies the number of retries before marking this job failed.
112 // Defaults to 6
113 // +optional
114 optional int32 backoffLimit = 7;
115
116 // A label query over pods that should match the pod count.
117 // Normally, the system sets this field for you.
118 // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors
119 // +optional
120 optional k8s.io.apimachinery.pkg.apis.meta.v1.LabelSelector selector = 4;
121
122 // manualSelector controls generation of pod labels and pod selectors.
123 // Leave `manualSelector` unset unless you are certain what you are doing.
124 // When false or unset, the system pick labels unique to this job
125 // and appends those labels to the pod template. When true,
126 // the user is responsible for picking unique labels and specifying
127 // the selector. Failure to pick a unique label may cause this
128 // and other jobs to not function correctly. However, You may see
129 // `manualSelector=true` in jobs that were created with the old `extensions/v1beta1`
130 // API.
131 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector
132 // +optional
133 optional bool manualSelector = 5;
134
135 // Describes the pod that will be created when executing a job.
136 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
137 optional k8s.io.api.core.v1.PodTemplateSpec template = 6;
138}
139
140// JobStatus represents the current state of a Job.
141message JobStatus {
142 // The latest available observations of an object's current state.
143 // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/
144 // +optional
145 // +patchMergeKey=type
146 // +patchStrategy=merge
147 repeated JobCondition conditions = 1;
148
149 // Represents time when the job was acknowledged by the job controller.
150 // It is not guaranteed to be set in happens-before order across separate operations.
151 // It is represented in RFC3339 form and is in UTC.
152 // +optional
153 optional k8s.io.apimachinery.pkg.apis.meta.v1.Time startTime = 2;
154
155 // Represents time when the job was completed. It is not guaranteed to
156 // be set in happens-before order across separate operations.
157 // It is represented in RFC3339 form and is in UTC.
158 // +optional
159 optional k8s.io.apimachinery.pkg.apis.meta.v1.Time completionTime = 3;
160
161 // The number of actively running pods.
162 // +optional
163 optional int32 active = 4;
164
165 // The number of pods which reached phase Succeeded.
166 // +optional
167 optional int32 succeeded = 5;
168
169 // The number of pods which reached phase Failed.
170 // +optional
171 optional int32 failed = 6;
172}
173