updated vendor
This commit is contained in:
+550
@@ -0,0 +1,550 @@
|
||||
/*
|
||||
Copyright 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.api.scheduling.v1alpha2;
|
||||
|
||||
import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto";
|
||||
import "k8s.io/apimachinery/pkg/runtime/generated.proto";
|
||||
import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto";
|
||||
|
||||
// Package-wide variables from generator "generated".
|
||||
option go_package = "k8s.io/api/scheduling/v1alpha2";
|
||||
|
||||
// BasicSchedulingPolicy indicates that standard Kubernetes
|
||||
// scheduling behavior should be used.
|
||||
message BasicSchedulingPolicy {
|
||||
}
|
||||
|
||||
// GangSchedulingPolicy defines the parameters for gang scheduling.
|
||||
message GangSchedulingPolicy {
|
||||
// MinCount is the minimum number of pods that must be schedulable or scheduled
|
||||
// at the same time for the scheduler to admit the entire group.
|
||||
// It must be a positive integer.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:minimum=1
|
||||
optional int32 minCount = 1;
|
||||
}
|
||||
|
||||
// PodGroup represents a runtime instance of pods grouped together.
|
||||
// PodGroups are created by workload controllers (Job, LWS, JobSet, etc...) from
|
||||
// Workload.podGroupTemplates.
|
||||
// PodGroup API enablement is toggled by the GenericWorkload feature gate.
|
||||
message PodGroup {
|
||||
// Standard object's metadata.
|
||||
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||
//
|
||||
// +optional
|
||||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||
|
||||
// Spec defines the desired state of the PodGroup.
|
||||
//
|
||||
// +required
|
||||
optional PodGroupSpec spec = 2;
|
||||
|
||||
// Status represents the current observed state of the PodGroup.
|
||||
//
|
||||
// +optional
|
||||
optional PodGroupStatus status = 3;
|
||||
}
|
||||
|
||||
// PodGroupList contains a list of PodGroup resources.
|
||||
message PodGroupList {
|
||||
// Standard list metadata.
|
||||
//
|
||||
// +optional
|
||||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||
|
||||
// Items is the list of PodGroups.
|
||||
repeated PodGroup items = 2;
|
||||
}
|
||||
|
||||
// PodGroupResourceClaim references exactly one ResourceClaim, either directly
|
||||
// or by naming a ResourceClaimTemplate which is then turned into a ResourceClaim
|
||||
// for the PodGroup.
|
||||
//
|
||||
// It adds a name to it that uniquely identifies the ResourceClaim inside the PodGroup.
|
||||
// Pods that need access to the ResourceClaim define a matching reference in its
|
||||
// own Spec.ResourceClaims. The Pod's claim must match all fields of the
|
||||
// PodGroup's claim exactly.
|
||||
message PodGroupResourceClaim {
|
||||
// Name uniquely identifies this resource claim inside the PodGroup.
|
||||
// This must be a DNS_LABEL.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-short-name
|
||||
optional string name = 1;
|
||||
|
||||
// ResourceClaimName is the name of a ResourceClaim object in the same
|
||||
// namespace as this PodGroup. The ResourceClaim will be reserved for the
|
||||
// PodGroup instead of its individual pods.
|
||||
//
|
||||
// Exactly one of ResourceClaimName and ResourceClaimTemplateName must
|
||||
// be set.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:unionMember
|
||||
// +k8s:format=k8s-long-name
|
||||
optional string resourceClaimName = 2;
|
||||
|
||||
// ResourceClaimTemplateName is the name of a ResourceClaimTemplate
|
||||
// object in the same namespace as this PodGroup.
|
||||
//
|
||||
// The template will be used to create a new ResourceClaim, which will
|
||||
// be bound to this PodGroup. When this PodGroup is deleted, the ResourceClaim
|
||||
// will also be deleted. The PodGroup name and resource name, along with a
|
||||
// generated component, will be used to form a unique name for the
|
||||
// ResourceClaim, which will be recorded in podgroup.status.resourceClaimStatuses.
|
||||
//
|
||||
// This field is immutable and no changes will be made to the
|
||||
// corresponding ResourceClaim by the control plane after creating the
|
||||
// ResourceClaim.
|
||||
//
|
||||
// Exactly one of ResourceClaimName and ResourceClaimTemplateName must
|
||||
// be set.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:unionMember
|
||||
// +k8s:format=k8s-long-name
|
||||
optional string resourceClaimTemplateName = 3;
|
||||
}
|
||||
|
||||
// PodGroupResourceClaimStatus is stored in the PodGroupStatus for each
|
||||
// PodGroupResourceClaim which references a ResourceClaimTemplate. It stores the
|
||||
// generated name for the corresponding ResourceClaim.
|
||||
message PodGroupResourceClaimStatus {
|
||||
// Name uniquely identifies this resource claim inside the PodGroup. This
|
||||
// must match the name of an entry in podgroup.spec.resourceClaims, which
|
||||
// implies that the string must be a DNS_LABEL.
|
||||
//
|
||||
// +required
|
||||
optional string name = 1;
|
||||
|
||||
// ResourceClaimName is the name of the ResourceClaim that was generated for
|
||||
// the PodGroup in the namespace of the PodGroup. If this is unset, then
|
||||
// generating a ResourceClaim was not necessary. The
|
||||
// podgroup.spec.resourceClaims entry can be ignored in this case.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:format=k8s-long-name
|
||||
optional string resourceClaimName = 2;
|
||||
}
|
||||
|
||||
// PodGroupSchedulingConstraints defines scheduling constraints (e.g. topology) for a PodGroup.
|
||||
message PodGroupSchedulingConstraints {
|
||||
// Topology defines the topology constraints for the pod group.
|
||||
// Currently only a single topology constraint can be specified. This may change in the future.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:maxItems=1
|
||||
// +listType=atomic
|
||||
// +k8s:listType=atomic
|
||||
repeated TopologyConstraint topology = 1;
|
||||
}
|
||||
|
||||
// PodGroupSchedulingPolicy defines the scheduling configuration for a PodGroup.
|
||||
// Exactly one policy must be set.
|
||||
// +union
|
||||
message PodGroupSchedulingPolicy {
|
||||
// Basic specifies that the pods in this group should be scheduled using
|
||||
// standard Kubernetes scheduling behavior.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:unionMember
|
||||
optional BasicSchedulingPolicy basic = 1;
|
||||
|
||||
// Gang specifies that the pods in this group should be scheduled using
|
||||
// all-or-nothing semantics.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:unionMember
|
||||
optional GangSchedulingPolicy gang = 2;
|
||||
}
|
||||
|
||||
// PodGroupSpec defines the desired state of a PodGroup.
|
||||
message PodGroupSpec {
|
||||
// PodGroupTemplateRef references an optional PodGroup template within other object
|
||||
// (e.g. Workload) that was used to create the PodGroup. This field is immutable.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:immutable
|
||||
optional PodGroupTemplateReference podGroupTemplateRef = 1;
|
||||
|
||||
// SchedulingPolicy defines the scheduling policy for this instance of the PodGroup.
|
||||
// Controllers are expected to fill this field by copying it from a PodGroupTemplate.
|
||||
// This field is immutable.
|
||||
//
|
||||
// +required
|
||||
// +k8s:immutable
|
||||
optional PodGroupSchedulingPolicy schedulingPolicy = 2;
|
||||
|
||||
// SchedulingConstraints defines optional scheduling constraints (e.g. topology) for this PodGroup.
|
||||
// Controllers are expected to fill this field by copying it from a PodGroupTemplate.
|
||||
// This field is immutable.
|
||||
// This field is only available when the TopologyAwareWorkloadScheduling feature gate is enabled.
|
||||
//
|
||||
// +featureGate=TopologyAwareWorkloadScheduling
|
||||
// +optional
|
||||
// +k8s:ifDisabled(TopologyAwareWorkloadScheduling)=+k8s:forbidden
|
||||
// +k8s:ifEnabled(TopologyAwareWorkloadScheduling)=+k8s:optional
|
||||
// +k8s:ifEnabled(TopologyAwareWorkloadScheduling)=+k8s:immutable
|
||||
optional PodGroupSchedulingConstraints schedulingConstraints = 3;
|
||||
|
||||
// ResourceClaims defines which ResourceClaims may be shared among Pods in
|
||||
// the group. Pods consume the devices allocated to a PodGroup's claim by
|
||||
// defining a claim in its own Spec.ResourceClaims that matches the
|
||||
// PodGroup's claim exactly. The claim must have the same name and refer to
|
||||
// the same ResourceClaim or ResourceClaimTemplate.
|
||||
//
|
||||
// This is an alpha-level field and requires that the
|
||||
// DRAWorkloadResourceClaims feature gate is enabled.
|
||||
//
|
||||
// This field is immutable.
|
||||
//
|
||||
// +optional
|
||||
// +patchMergeKey=name
|
||||
// +patchStrategy=merge,retainKeys
|
||||
// +listType=map
|
||||
// +listMapKey=name
|
||||
// +k8s:optional
|
||||
// +k8s:listType=map
|
||||
// +k8s:listMapKey=name
|
||||
// +k8s:maxItems=4
|
||||
// +k8s:immutable
|
||||
// +featureGate=DRAWorkloadResourceClaims
|
||||
repeated PodGroupResourceClaim resourceClaims = 4;
|
||||
|
||||
// DisruptionMode defines the mode in which a given PodGroup can be disrupted.
|
||||
// Controllers are expected to fill this field by copying it from a PodGroupTemplate.
|
||||
// One of Pod, PodGroup. Defaults to Pod if unset.
|
||||
// This field is immutable.
|
||||
// This field is available only when the WorkloadAwarePreemption feature gate
|
||||
// is enabled.
|
||||
//
|
||||
// +featureGate=WorkloadAwarePreemption
|
||||
// +optional
|
||||
// +k8s:ifDisabled("WorkloadAwarePreemption")=+k8s:forbidden
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:optional
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:immutable
|
||||
// +default="Pod"
|
||||
optional string disruptionMode = 5;
|
||||
|
||||
// PriorityClassName defines the priority that should be considered when scheduling this pod group.
|
||||
// Controllers are expected to fill this field by copying it from a PodGroupTemplate.
|
||||
// Otherwise, it is validated and resolved similarly to the PriorityClassName on PodGroupTemplate
|
||||
// (i.e. if no priority class is specified, admission control can set this to the global default
|
||||
// priority class if it exists. Otherwise, the pod group's priority will be zero).
|
||||
// This field is immutable.
|
||||
// This field is available only when the WorkloadAwarePreemption feature gate
|
||||
// is enabled.
|
||||
//
|
||||
// +featureGate=WorkloadAwarePreemption
|
||||
// +optional
|
||||
// +k8s:ifDisabled("WorkloadAwarePreemption")=+k8s:forbidden
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:optional
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:format=k8s-long-name
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:immutable
|
||||
optional string priorityClassName = 6;
|
||||
|
||||
// Priority is the value of priority of this pod group. Various system components
|
||||
// use this field to find the priority of the pod group. When Priority Admission
|
||||
// Controller is enabled, it prevents users from setting this field. The admission
|
||||
// controller populates this field from PriorityClassName.
|
||||
// The higher the value, the higher the priority.
|
||||
// This field is immutable.
|
||||
// This field is available only when the WorkloadAwarePreemption feature gate
|
||||
// is enabled.
|
||||
//
|
||||
// +featureGate=WorkloadAwarePreemption
|
||||
// +optional
|
||||
// +k8s:ifDisabled("WorkloadAwarePreemption")=+k8s:forbidden
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:optional
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:immutable
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:maximum=1000000000 # HighestUserDefinablePriority
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:minimum=-2147483648
|
||||
optional int32 priority = 7;
|
||||
}
|
||||
|
||||
// PodGroupStatus represents information about the status of a pod group.
|
||||
message PodGroupStatus {
|
||||
// Conditions represent the latest observations of the PodGroup's state.
|
||||
//
|
||||
// Known condition types:
|
||||
// - "PodGroupScheduled": Indicates whether the scheduling requirement has been satisfied.
|
||||
// - "DisruptionTarget": Indicates whether the PodGroup is about to be terminated
|
||||
// due to disruption such as preemption.
|
||||
//
|
||||
// Known reasons for the PodGroupScheduled condition:
|
||||
// - "Unschedulable": The PodGroup cannot be scheduled due to resource constraints,
|
||||
// affinity/anti-affinity rules, or insufficient capacity for the gang.
|
||||
// - "SchedulerError": The PodGroup cannot be scheduled due to some internal error
|
||||
// that happened during scheduling, for example due to nodeAffinity parsing errors.
|
||||
//
|
||||
// Known reasons for the DisruptionTarget condition:
|
||||
// - "PreemptionByScheduler": The PodGroup was preempted by the scheduler to make room for
|
||||
// higher-priority PodGroups or Pods.
|
||||
//
|
||||
// +optional
|
||||
// +patchMergeKey=type
|
||||
// +patchStrategy=merge
|
||||
// +listType=map
|
||||
// +listMapKey=type
|
||||
repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 1;
|
||||
|
||||
// Status of resource claims.
|
||||
// +optional
|
||||
// +patchMergeKey=name
|
||||
// +patchStrategy=merge,retainKeys
|
||||
// +listType=map
|
||||
// +listMapKey=name
|
||||
// +k8s:optional
|
||||
// +k8s:listType=map
|
||||
// +k8s:listMapKey=name
|
||||
// +k8s:maxItems=4
|
||||
// +featureGate=DRAWorkloadResourceClaims
|
||||
repeated PodGroupResourceClaimStatus resourceClaimStatuses = 2;
|
||||
}
|
||||
|
||||
// PodGroupTemplate represents a template for a set of pods with a scheduling policy.
|
||||
message PodGroupTemplate {
|
||||
// Name is a unique identifier for the PodGroupTemplate within the Workload.
|
||||
// It must be a DNS label. This field is immutable.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-short-name
|
||||
optional string name = 1;
|
||||
|
||||
// SchedulingPolicy defines the scheduling policy for this PodGroupTemplate.
|
||||
//
|
||||
// +required
|
||||
optional PodGroupSchedulingPolicy schedulingPolicy = 2;
|
||||
|
||||
// SchedulingConstraints defines optional scheduling constraints (e.g. topology) for this PodGroupTemplate.
|
||||
// This field is only available when the TopologyAwareWorkloadScheduling feature gate is enabled.
|
||||
//
|
||||
// +featureGate=TopologyAwareWorkloadScheduling
|
||||
// +optional
|
||||
// +k8s:ifDisabled(TopologyAwareWorkloadScheduling)=+k8s:forbidden
|
||||
// +k8s:ifEnabled(TopologyAwareWorkloadScheduling)=+k8s:optional
|
||||
optional PodGroupSchedulingConstraints schedulingConstraints = 3;
|
||||
|
||||
// ResourceClaims defines which ResourceClaims may be shared among Pods in
|
||||
// the group. Pods consume the devices allocated to a PodGroup's claim by
|
||||
// defining a claim in its own Spec.ResourceClaims that matches the
|
||||
// PodGroup's claim exactly. The claim must have the same name and refer to
|
||||
// the same ResourceClaim or ResourceClaimTemplate.
|
||||
//
|
||||
// This is an alpha-level field and requires that the
|
||||
// DRAWorkloadResourceClaims feature gate is enabled.
|
||||
//
|
||||
// This field is immutable.
|
||||
//
|
||||
// +optional
|
||||
// +patchMergeKey=name
|
||||
// +patchStrategy=merge,retainKeys
|
||||
// +listType=map
|
||||
// +listMapKey=name
|
||||
// +k8s:optional
|
||||
// +k8s:listType=map
|
||||
// +k8s:listMapKey=name
|
||||
// +k8s:maxItems=4
|
||||
// +k8s:immutable
|
||||
// +featureGate=DRAWorkloadResourceClaims
|
||||
repeated PodGroupResourceClaim resourceClaims = 4;
|
||||
|
||||
// DisruptionMode defines the mode in which a given PodGroup can be disrupted.
|
||||
// One of Pod, PodGroup.
|
||||
// This field is available only when the WorkloadAwarePreemption feature gate
|
||||
// is enabled.
|
||||
//
|
||||
// +featureGate=WorkloadAwarePreemption
|
||||
// +optional
|
||||
// +k8s:ifDisabled("WorkloadAwarePreemption")=+k8s:forbidden
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:optional
|
||||
optional string disruptionMode = 5;
|
||||
|
||||
// PriorityClassName indicates the priority that should be considered when scheduling
|
||||
// a pod group created from this template. If no priority class is specified, admission
|
||||
// control can set this to the global default priority class if it exists. Otherwise,
|
||||
// pod groups created from this template will have the priority set to zero.
|
||||
// This field is available only when the WorkloadAwarePreemption feature gate
|
||||
// is enabled.
|
||||
//
|
||||
// +featureGate=WorkloadAwarePreemption
|
||||
// +optional
|
||||
// +k8s:ifDisabled("WorkloadAwarePreemption")=+k8s:forbidden
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:optional
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:format=k8s-long-name
|
||||
optional string priorityClassName = 6;
|
||||
|
||||
// Priority is the value of priority of pod groups created from this template. Various
|
||||
// system components use this field to find the priority of the pod group. When
|
||||
// Priority Admission Controller is enabled, it prevents users from setting this field.
|
||||
// The admission controller populates this field from PriorityClassName.
|
||||
// The higher the value, the higher the priority.
|
||||
// This field is available only when the WorkloadAwarePreemption feature gate
|
||||
// is enabled.
|
||||
//
|
||||
// +featureGate=WorkloadAwarePreemption
|
||||
// +optional
|
||||
// +k8s:ifDisabled("WorkloadAwarePreemption")=+k8s:forbidden
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:optional
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:maximum=1000000000 # HighestUserDefinablePriority
|
||||
// +k8s:ifEnabled("WorkloadAwarePreemption")=+k8s:minimum=-2147483648
|
||||
optional int32 priority = 7;
|
||||
}
|
||||
|
||||
// PodGroupTemplateReference references a PodGroup template defined in some object (e.g. Workload).
|
||||
// Exactly one reference must be set.
|
||||
// +union
|
||||
message PodGroupTemplateReference {
|
||||
// Workload references the PodGroupTemplate within the Workload object that was used to create
|
||||
// the PodGroup.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:unionMember
|
||||
optional WorkloadPodGroupTemplateReference workload = 1;
|
||||
}
|
||||
|
||||
// TopologyConstraint defines a topology constraint for a PodGroup.
|
||||
message TopologyConstraint {
|
||||
// Key specifies the key of the node label representing the topology domain.
|
||||
// All pods within the PodGroup must be colocated within the same domain instance.
|
||||
// Different PodGroups can land on different domain instances even if they derive from the same PodGroupTemplate.
|
||||
// Examples: "topology.kubernetes.io/rack"
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-label-key
|
||||
optional string key = 1;
|
||||
}
|
||||
|
||||
// TypedLocalObjectReference allows to reference typed object inside the same namespace.
|
||||
message TypedLocalObjectReference {
|
||||
// APIGroup is the group for the resource being referenced.
|
||||
// If APIGroup is empty, the specified Kind must be in the core API group.
|
||||
// For any other third-party types, setting APIGroup is required.
|
||||
// It must be a DNS subdomain.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:format=k8s-long-name
|
||||
optional string apiGroup = 1;
|
||||
|
||||
// Kind is the type of resource being referenced.
|
||||
// It must be a path segment name.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-path-segment-name
|
||||
optional string kind = 2;
|
||||
|
||||
// Name is the name of resource being referenced.
|
||||
// It must be a path segment name.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-path-segment-name
|
||||
optional string name = 3;
|
||||
}
|
||||
|
||||
// Workload allows for expressing scheduling constraints that should be used
|
||||
// when managing the lifecycle of workloads from the scheduling perspective,
|
||||
// including scheduling, preemption, eviction and other phases.
|
||||
// Workload API enablement is toggled by the GenericWorkload feature gate.
|
||||
message Workload {
|
||||
// Standard object's metadata.
|
||||
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
|
||||
//
|
||||
// +optional
|
||||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1;
|
||||
|
||||
// Spec defines the desired behavior of a Workload.
|
||||
//
|
||||
// +required
|
||||
optional WorkloadSpec spec = 2;
|
||||
}
|
||||
|
||||
// WorkloadList contains a list of Workload resources.
|
||||
message WorkloadList {
|
||||
// Standard list metadata.
|
||||
//
|
||||
// +optional
|
||||
optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1;
|
||||
|
||||
// Items is the list of Workloads.
|
||||
repeated Workload items = 2;
|
||||
}
|
||||
|
||||
// WorkloadPodGroupTemplateReference references the PodGroupTemplate within the Workload object.
|
||||
message WorkloadPodGroupTemplateReference {
|
||||
// WorkloadName defines the name of the Workload object.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-long-name
|
||||
optional string workloadName = 1;
|
||||
|
||||
// PodGroupTemplateName defines the PodGroupTemplate name within the Workload object.
|
||||
//
|
||||
// +required
|
||||
// +k8s:required
|
||||
// +k8s:format=k8s-short-name
|
||||
optional string podGroupTemplateName = 2;
|
||||
}
|
||||
|
||||
// WorkloadSpec defines the desired state of a Workload.
|
||||
message WorkloadSpec {
|
||||
// ControllerRef is an optional reference to the controlling object, such as a
|
||||
// Deployment or Job. This field is intended for use by tools like CLIs
|
||||
// to provide a link back to the original workload definition.
|
||||
// This field is immutable.
|
||||
//
|
||||
// +optional
|
||||
// +k8s:optional
|
||||
// +k8s:immutable
|
||||
optional TypedLocalObjectReference controllerRef = 1;
|
||||
|
||||
// PodGroupTemplates is the list of templates that make up the Workload.
|
||||
// The maximum number of templates is 8. This field is immutable.
|
||||
//
|
||||
// +required
|
||||
// +listType=map
|
||||
// +listMapKey=name
|
||||
// +k8s:required
|
||||
// +k8s:listType=map
|
||||
// +k8s:listMapKey=name
|
||||
// +k8s:maxItems=8
|
||||
// +k8s:immutable
|
||||
repeated PodGroupTemplate podGroupTemplates = 2;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user