mirror of https://github.com/k3s-io/k3s
255 lines
11 KiB
Protocol Buffer
255 lines
11 KiB
Protocol Buffer
/*
|
|
Copyright 2016 The Kubernetes Authors All rights reserved.
|
|
|
|
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/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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/HEAD/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;
|
|
}
|
|
|