123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255 |
- /*
- Copyright 2016 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.
- */
- // This file was autogenerated by go-to-protobuf. Do not edit it manually!
- syntax = 'proto2';
- package k8s.io.kubernetes.pkg.apis.batch.v2alpha1;
- import "k8s.io/kubernetes/pkg/api/resource/generated.proto";
- import "k8s.io/kubernetes/pkg/api/unversioned/generated.proto";
- import "k8s.io/kubernetes/pkg/api/v1/generated.proto";
- import "k8s.io/kubernetes/pkg/runtime/generated.proto";
- import "k8s.io/kubernetes/pkg/util/intstr/generated.proto";
- // Package-wide variables from generator "generated".
- option go_package = "v2alpha1";
- // Job represents the configuration of a single job.
- message Job {
- // Standard object's metadata.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#metadata
- optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
- // Spec is a structure defining the expected behavior of a job.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#spec-and-status
- optional JobSpec spec = 2;
- // Status is a structure describing current status of a job.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#spec-and-status
- optional JobStatus status = 3;
- }
- // JobCondition describes current state of a job.
- message JobCondition {
- // Type of job condition, Complete or Failed.
- optional string type = 1;
- // Status of the condition, one of True, False, Unknown.
- optional string status = 2;
- // Last time the condition was checked.
- optional k8s.io.kubernetes.pkg.api.unversioned.Time lastProbeTime = 3;
- // Last time the condition transit from one status to another.
- optional k8s.io.kubernetes.pkg.api.unversioned.Time lastTransitionTime = 4;
- // (brief) reason for the condition's last transition.
- optional string reason = 5;
- // Human readable message indicating details about last transition.
- optional string message = 6;
- }
- // JobList is a collection of jobs.
- message JobList {
- // Standard list metadata
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#metadata
- optional k8s.io.kubernetes.pkg.api.unversioned.ListMeta metadata = 1;
- // Items is the list of Job.
- repeated Job items = 2;
- }
- // JobSpec describes how the job execution will look like.
- message JobSpec {
- // Parallelism specifies the maximum desired number of pods the job should
- // run at any given time. The actual number of pods running in steady state will
- // be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism),
- // i.e. when the work left to do is less than max parallelism.
- // More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
- optional int32 parallelism = 1;
- // Completions specifies the desired number of successfully finished pods the
- // job should be run with. Setting to nil means that the success of any
- // pod signals the success of all pods, and allows parallelism to have any positive
- // value. Setting to 1 means that parallelism is limited to 1 and the success of that
- // pod signals the success of the job.
- // More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
- optional int32 completions = 2;
- // Optional duration in seconds relative to the startTime that the job may be active
- // before the system tries to terminate it; value must be positive integer
- optional int64 activeDeadlineSeconds = 3;
- // Selector is a label query over pods that should match the pod count.
- // Normally, the system sets this field for you.
- // More info: http://releases.k8s.io/release-1.4/docs/user-guide/labels.md#label-selectors
- optional LabelSelector selector = 4;
- // ManualSelector controls generation of pod labels and pod selectors.
- // Leave `manualSelector` unset unless you are certain what you are doing.
- // When false or unset, the system pick labels unique to this job
- // and appends those labels to the pod template. When true,
- // the user is responsible for picking unique labels and specifying
- // the selector. Failure to pick a unique label may cause this
- // and other jobs to not function correctly. However, You may see
- // `manualSelector=true` in jobs that were created with the old `extensions/v1beta1`
- // API.
- // More info: http://releases.k8s.io/release-1.4/docs/design/selector-generation.md
- optional bool manualSelector = 5;
- // Template is the object that describes the pod that will be created when
- // executing a job.
- // More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
- optional k8s.io.kubernetes.pkg.api.v1.PodTemplateSpec template = 6;
- }
- // JobStatus represents the current state of a Job.
- message JobStatus {
- // Conditions represent the latest available observations of an object's current state.
- // More info: http://releases.k8s.io/release-1.4/docs/user-guide/jobs.md
- repeated JobCondition conditions = 1;
- // StartTime represents time when the job was acknowledged by the Job Manager.
- // It is not guaranteed to be set in happens-before order across separate operations.
- // It is represented in RFC3339 form and is in UTC.
- optional k8s.io.kubernetes.pkg.api.unversioned.Time startTime = 2;
- // CompletionTime represents time when the job was completed. It is not guaranteed to
- // be set in happens-before order across separate operations.
- // It is represented in RFC3339 form and is in UTC.
- optional k8s.io.kubernetes.pkg.api.unversioned.Time completionTime = 3;
- // Active is the number of actively running pods.
- optional int32 active = 4;
- // Succeeded is the number of pods which reached Phase Succeeded.
- optional int32 succeeded = 5;
- // Failed is the number of pods which reached Phase Failed.
- optional int32 failed = 6;
- }
- // JobTemplate describes a template for creating copies of a predefined pod.
- message JobTemplate {
- // Standard object's metadata.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#metadata
- optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
- // Template defines jobs that will be created from this template
- // http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#spec-and-status
- optional JobTemplateSpec template = 2;
- }
- // JobTemplateSpec describes the data a Job should have when created from a template
- message JobTemplateSpec {
- // Standard object's metadata of the jobs created from this template.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#metadata
- optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
- // Specification of the desired behavior of the job.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#spec-and-status
- optional JobSpec spec = 2;
- }
- // A label selector is a label query over a set of resources. The result of matchLabels and
- // matchExpressions are ANDed. An empty label selector matches all objects. A null
- // label selector matches no objects.
- message LabelSelector {
- // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels
- // map is equivalent to an element of matchExpressions, whose key field is "key", the
- // operator is "In", and the values array contains only "value". The requirements are ANDed.
- map<string, string> matchLabels = 1;
- // matchExpressions is a list of label selector requirements. The requirements are ANDed.
- repeated LabelSelectorRequirement matchExpressions = 2;
- }
- // A label selector requirement is a selector that contains values, a key, and an operator that
- // relates the key and values.
- message LabelSelectorRequirement {
- // key is the label key that the selector applies to.
- optional string key = 1;
- // operator represents a key's relationship to a set of values.
- // Valid operators ard In, NotIn, Exists and DoesNotExist.
- optional string operator = 2;
- // values is an array of string values. If the operator is In or NotIn,
- // the values array must be non-empty. If the operator is Exists or DoesNotExist,
- // the values array must be empty. This array is replaced during a strategic
- // merge patch.
- repeated string values = 3;
- }
- // ScheduledJob represents the configuration of a single scheduled job.
- message ScheduledJob {
- // Standard object's metadata.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#metadata
- optional k8s.io.kubernetes.pkg.api.v1.ObjectMeta metadata = 1;
- // Spec is a structure defining the expected behavior of a job, including the schedule.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#spec-and-status
- optional ScheduledJobSpec spec = 2;
- // Status is a structure describing current status of a job.
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#spec-and-status
- optional ScheduledJobStatus status = 3;
- }
- // ScheduledJobList is a collection of scheduled jobs.
- message ScheduledJobList {
- // Standard list metadata
- // More info: http://releases.k8s.io/release-1.4/docs/devel/api-conventions.md#metadata
- optional k8s.io.kubernetes.pkg.api.unversioned.ListMeta metadata = 1;
- // Items is the list of ScheduledJob.
- repeated ScheduledJob items = 2;
- }
- // ScheduledJobSpec describes how the job execution will look like and when it will actually run.
- message ScheduledJobSpec {
- // Schedule contains the schedule in Cron format, see https://en.wikipedia.org/wiki/Cron.
- optional string schedule = 1;
- // 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.
- optional int64 startingDeadlineSeconds = 2;
- // ConcurrencyPolicy specifies how to treat concurrent executions of a Job.
- optional string concurrencyPolicy = 3;
- // Suspend flag tells the controller to suspend subsequent executions, it does
- // not apply to already started executions. Defaults to false.
- optional bool suspend = 4;
- // JobTemplate is the object that describes the job that will be created when
- // executing a ScheduledJob.
- optional JobTemplateSpec jobTemplate = 5;
- }
- // ScheduledJobStatus represents the current state of a Job.
- message ScheduledJobStatus {
- // Active holds pointers to currently running jobs.
- repeated k8s.io.kubernetes.pkg.api.v1.ObjectReference active = 1;
- // LastScheduleTime keeps information of when was the last time the job was successfully scheduled.
- optional k8s.io.kubernetes.pkg.api.unversioned.Time lastScheduleTime = 4;
- }
|