Documentation ¶
Index ¶
- Constants
- Variables
- func Resource(resource string) schema.GroupResource
- type AppWrapper
- type AppWrapperCondition
- type AppWrapperConditionType
- type AppWrapperGenericResource
- type AppWrapperList
- type AppWrapperResourceList
- type AppWrapperService
- type AppWrapperSpec
- type AppWrapperState
- type AppWrapperStatus
- type ClusterReference
- type ClusterSchedulingSpec
- type CustomPodResourceTemplate
- type DispatchDurationSpec
- type DispatchingWindowSpec
- type PendingPodSpec
- type RequeuingTemplate
- type ResourceName
- type ResourceType
- type ScheduleTimeSpec
- type SchedulingSpec
- type SchedulingSpecList
- type SchedulingSpecTemplate
Constants ¶
const AppWrapperAnnotationKey = "appwrapper.mcad.ibm.com/appwrapper-name"
AppWrapperAnnotationKey is the annotation key of Pod to identify which AppWrapper it belongs to.
const AppWrapperPlural string = "appwrappers"
const GroupName = "workload.codeflare.dev"
GroupName is the group name used in this package.
const SchedulingSpecPlural = "schedulingspecs"
SchedulingSpecPlural is the plural of SchedulingSpec
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"}
SchemeGroupVersion is the group version used to register these objects.
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group-qualified GroupResource.
Types ¶
type AppWrapper ¶
type AppWrapper struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` Spec AppWrapperSpec `json:"spec"` Status AppWrapperStatus `json:"status,omitempty"` }
Definition of AppWrapper class
func (*AppWrapper) DeepCopy ¶
func (in *AppWrapper) DeepCopy() *AppWrapper
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapper.
func (*AppWrapper) DeepCopyInto ¶
func (in *AppWrapper) DeepCopyInto(out *AppWrapper)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppWrapper) DeepCopyObject ¶
func (in *AppWrapper) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppWrapperCondition ¶
type AppWrapperCondition struct { // Type of AppWrapper condition. Type AppWrapperConditionType `json:"type"` // Status of the condition, one of True, False, Unknown. Status v1.ConditionStatus `json:"status"` // The last time this condition was updated. LastUpdateMicroTime metav1.MicroTime `json:"lastUpdateMicroTime,omitempty"` // Last time the condition transitioned from one status to another. LastTransitionMicroTime metav1.MicroTime `json:"lastTransitionMicroTime,omitempty"` // The reason for the condition's last transition. Reason string `json:"reason,omitempty"` // A human-readable message indicating details about the transition. Message string `json:"message,omitempty"` }
AppWrapperCondition describes the state of an AppWrapper at a certain point.
func (*AppWrapperCondition) DeepCopy ¶
func (in *AppWrapperCondition) DeepCopy() *AppWrapperCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperCondition.
func (*AppWrapperCondition) DeepCopyInto ¶
func (in *AppWrapperCondition) DeepCopyInto(out *AppWrapperCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperConditionType ¶
type AppWrapperConditionType string
const ( AppWrapperCondInit AppWrapperConditionType = "Init" AppWrapperCondQueueing AppWrapperConditionType = "Queueing" AppWrapperCondHeadOfLine AppWrapperConditionType = "HeadOfLine" AppWrapperCondBackoff AppWrapperConditionType = "Backoff" AppWrapperCondDispatched AppWrapperConditionType = "Dispatched" AppWrapperCondRunning AppWrapperConditionType = "Running" AppWrapperCondPreemptCandidate AppWrapperConditionType = "PreemptCandidate" AppWrapperCondPreempted AppWrapperConditionType = "Preempted" AppWrapperCondDeleted AppWrapperConditionType = "Deleted" AppWrapperCondFailed AppWrapperConditionType = "Failed" AppWrapperCondCompleted AppWrapperConditionType = "Completed" AppWrapperCondRunningHoldCompletion AppWrapperConditionType = "RunningHoldCompletion" )
type AppWrapperGenericResource ¶
type AppWrapperGenericResource struct { // Replicas is the number of desired replicas DesiredAvailable int32 `json:"replicas,omitempty" protobuf:"bytes,2,opt,name=desiredavailable"` // The minimal available pods to run for this AppWrapper; the default value is nil MinAvailable *int32 `json:"minavailable,omitempty" protobuf:"bytes,3,opt,name=minavailable"` // The number of allocated replicas from this resource type // +optional Allocated int32 `json:"allocated"` // The priority of this resource // +optional Priority int32 `json:"priority"` // The increasing rate of priority value for this resource // +kubebuilder:validation:Type=number // +kubebuilder:validation:Format=float // +optional PrioritySlope float64 `json:"priorityslope"` // The template for the resource; it is now a raw text because we don't know for what resource // it should be instantiated // +optional // +kubebuilder:pruning:PreserveUnknownFields // +kubebuilder:validation:EmbeddedResource GenericTemplate runtime.RawExtension `json:"generictemplate"` // Optional section that specifies resource requirements for non-standard k8s resources, // follows same format as that of standard k8s resources. CustomPodResources []CustomPodResourceTemplate `json:"custompodresources,omitempty"` // Optional field that drives completion status of this AppWrapper. // This field within an item of an AppWrapper determines the full state of the AppWrapper. // The completionstatus field contains a list of conditions that make the associate item considered // completed, for instance: // - completion conditions could be "Complete" or "Failed". // The associated item's level .status.conditions[].type field is monitored for any one of these conditions. // Once all items with this option is set and the conditionstatus is met the entire AppWrapper state will be changed to one of the valid AppWrapper completion state. // Note: // - this is an AND operation for all items where this option is set. // See the list of AppWrapper states for a list of valid complete states. CompletionStatus string `json:"completionstatus,omitempty"` }
AppWrapperGenericResource is App Wrapper aggregation resource
func (*AppWrapperGenericResource) DeepCopy ¶
func (in *AppWrapperGenericResource) DeepCopy() *AppWrapperGenericResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperGenericResource.
func (*AppWrapperGenericResource) DeepCopyInto ¶
func (in *AppWrapperGenericResource) DeepCopyInto(out *AppWrapperGenericResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperList ¶
type AppWrapperList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []AppWrapper `json:"items"` }
AppWrapperList is a collection of AppWrappers.
func (*AppWrapperList) DeepCopy ¶
func (in *AppWrapperList) DeepCopy() *AppWrapperList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperList.
func (*AppWrapperList) DeepCopyInto ¶
func (in *AppWrapperList) DeepCopyInto(out *AppWrapperList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*AppWrapperList) DeepCopyObject ¶
func (in *AppWrapperList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type AppWrapperResourceList ¶
type AppWrapperResourceList struct { // +optional GenericItems []AppWrapperGenericResource `json:"GenericItems"` }
a collection of AppWrapperResource
func (*AppWrapperResourceList) DeepCopy ¶
func (in *AppWrapperResourceList) DeepCopy() *AppWrapperResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperResourceList.
func (*AppWrapperResourceList) DeepCopyInto ¶
func (in *AppWrapperResourceList) DeepCopyInto(out *AppWrapperResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperService ¶
type AppWrapperService struct {
Spec v1.ServiceSpec `json:"spec"`
}
AppWrapperService is App Wrapper service definition
func (*AppWrapperService) DeepCopy ¶
func (in *AppWrapperService) DeepCopy() *AppWrapperService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperService.
func (*AppWrapperService) DeepCopyInto ¶
func (in *AppWrapperService) DeepCopyInto(out *AppWrapperService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperSpec ¶
type AppWrapperSpec struct { // +optional Priority int32 `json:"priority,omitempty"` // +kubebuilder:validation:Type=number // +kubebuilder:validation:Format=float // +optional PrioritySlope float64 `json:"priorityslope,omitempty"` // +optional Service AppWrapperService `json:"service"` AggrResources AppWrapperResourceList `json:"resources"` Selector *metav1.LabelSelector `json:"selector,omitempty" protobuf:"bytes,1,opt,name=selector"` // SchedSpec specifies the parameters used for scheduling generic items wrapped inside AppWrappers. // It defines the policy for requeuing jobs based on the number of running pods. SchedSpec SchedulingSpecTemplate `json:"schedulingSpec,omitempty" protobuf:"bytes,2,opt,name=schedulingSpec"` }
AppWrapperSpec describes how the App Wrapper will look like.
func (*AppWrapperSpec) DeepCopy ¶
func (in *AppWrapperSpec) DeepCopy() *AppWrapperSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperSpec.
func (*AppWrapperSpec) DeepCopyInto ¶
func (in *AppWrapperSpec) DeepCopyInto(out *AppWrapperSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type AppWrapperState ¶
type AppWrapperState string
const ( AppWrapperStateEnqueued AppWrapperState = "Pending" AppWrapperStateActive AppWrapperState = "Running" AppWrapperStateDeleted AppWrapperState = "Deleted" AppWrapperStateFailed AppWrapperState = "Failed" AppWrapperStateCompleted AppWrapperState = "Completed" AppWrapperStateRunningHoldCompletion AppWrapperState = "RunningHoldCompletion" )
enqueued, active, deleting, succeeded, failed
type AppWrapperStatus ¶
type AppWrapperStatus struct { // The number of pending pods. // +optional Pending int32 `json:"pending,omitempty" protobuf:"bytes,1,opt,name=pending"` // +optional Running int32 `json:"running,omitempty" protobuf:"bytes,1,opt,name=running"` // The number of resources which reached phase Succeeded. // +optional Succeeded int32 `json:"Succeeded,omitempty" protobuf:"bytes,2,opt,name=succeeded"` // The number of resources which reached phase Failed. // +optional Failed int32 `json:"failed,omitempty" protobuf:"bytes,3,opt,name=failed"` // The minimal available resources to run for this AppWrapper (is this different from the MinAvailable from JobStatus) // +optional MinAvailable int32 `json:"template,omitempty" protobuf:"bytes,4,opt,name=template"` // Can run? CanRun bool `json:"canrun,omitempty" protobuf:"bytes,1,opt,name=canrun"` // Is Dispatched? IsDispatched bool `json:"isdispatched,omitempty" protobuf:"bytes,1,opt,name=isdispatched"` // State - Pending, Running, Failed, Deleted State AppWrapperState `json:"state,omitempty"` Message string `json:"message,omitempty"` // System defined Priority // +kubebuilder:validation:Type=number // +kubebuilder:validation:Format=float SystemPriority float64 `json:"systempriority,omitempty"` // State of QueueJob - Init, Queueing, HeadOfLine, Rejoining, ... QueueJobState AppWrapperConditionType `json:"queuejobstate,omitempty"` // Microsecond level timestamp when controller first sees QueueJob (by Informer) ControllerFirstTimestamp metav1.MicroTime `json:"controllerfirsttimestamp,omitempty"` // Microsecond level timestamp when controller first dispatches the AppWrapper ControllerFirstDispatchTimestamp metav1.MicroTime `json:"controllerfirstdispatchtimestamp,omitempty"` // Tell Informer to ignore this update message (do not generate a controller event) FilterIgnore bool `json:"filterignore,omitempty"` // Indicate sender of this message (extremely useful for debugging) Sender string `json:"sender,omitempty"` // Indicate if message is a duplicate (for Informer to recognize duplicate messages) Local bool `json:"local,omitempty"` // Represents the latest available observations of the AppWrapper's current condition. Conditions []AppWrapperCondition `json:"conditions,omitempty"` // Represents the latest available observations of pods belonging to the AppWrapper. PendingPodConditions []PendingPodSpec `json:"pendingpodconditions,omitempty"` // The number of CPU consumed by all pods belonging to the AppWrapper. TotalCPU int32 `json:"totalcpu,omitempty"` // The amount of memory consumed by all pods belonging to the AppWrapper. TotalMemory int32 `json:"totalmemory,omitempty"` // The total number of GPUs consumed by all pods belonging to the AppWrapper. TotalGPU int32 `json:"totalgpu,omitempty"` // Field to keep track of total number of seconds spent in requeueing RequeueingTimeInSeconds int `json:"requeueingTimeInSeconds,omitempty"` // Field to keep track of how many times a requeuing event has been triggered NumberOfRequeueings int `json:"numberOfRequeueings,omitempty"` }
AppWrapperStatus represents the current state of a AppWrapper
func (*AppWrapperStatus) DeepCopy ¶
func (in *AppWrapperStatus) DeepCopy() *AppWrapperStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperStatus.
func (*AppWrapperStatus) DeepCopyInto ¶
func (in *AppWrapperStatus) DeepCopyInto(out *AppWrapperStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterReference ¶
type ClusterReference struct {
Name string `json:"name"`
}
func (*ClusterReference) DeepCopy ¶
func (in *ClusterReference) DeepCopy() *ClusterReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterReference.
func (*ClusterReference) DeepCopyInto ¶
func (in *ClusterReference) DeepCopyInto(out *ClusterReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ClusterSchedulingSpec ¶
type ClusterSchedulingSpec struct { Clusters []ClusterReference `json:"clusters,omitempty"` ClusterSelector *metav1.LabelSelector `json:"clusterSelector,omitempty"` }
func (*ClusterSchedulingSpec) DeepCopy ¶
func (in *ClusterSchedulingSpec) DeepCopy() *ClusterSchedulingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterSchedulingSpec.
func (*ClusterSchedulingSpec) DeepCopyInto ¶
func (in *ClusterSchedulingSpec) DeepCopyInto(out *ClusterSchedulingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type CustomPodResourceTemplate ¶
type CustomPodResourceTemplate struct { Replicas int `json:"replicas"` // todo: replace with // Containers []Container Contain v1.ResourceRequirements Requests v1.ResourceList `json:"requests"` // +optional Limits v1.ResourceList `json:"limits"` }
func (*CustomPodResourceTemplate) DeepCopy ¶
func (in *CustomPodResourceTemplate) DeepCopy() *CustomPodResourceTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPodResourceTemplate.
func (*CustomPodResourceTemplate) DeepCopyInto ¶
func (in *CustomPodResourceTemplate) DeepCopyInto(out *CustomPodResourceTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DispatchDurationSpec ¶
type DispatchDurationSpec struct { Expected int `json:"expected,omitempty"` Limit int `json:"limit,omitempty"` Overrun bool `json:"overrun,omitempty"` }
func (*DispatchDurationSpec) DeepCopy ¶
func (in *DispatchDurationSpec) DeepCopy() *DispatchDurationSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchDurationSpec.
func (*DispatchDurationSpec) DeepCopyInto ¶
func (in *DispatchDurationSpec) DeepCopyInto(out *DispatchDurationSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DispatchingWindowSpec ¶
type DispatchingWindowSpec struct { Start ScheduleTimeSpec `json:"start,omitempty"` End ScheduleTimeSpec `json:"end,omitempty"` }
func (*DispatchingWindowSpec) DeepCopy ¶
func (in *DispatchingWindowSpec) DeepCopy() *DispatchingWindowSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DispatchingWindowSpec.
func (*DispatchingWindowSpec) DeepCopyInto ¶
func (in *DispatchingWindowSpec) DeepCopyInto(out *DispatchingWindowSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type PendingPodSpec ¶
type PendingPodSpec struct { PodName string `json:"podname,omitempty"` Conditions []v1.PodCondition `json:"conditions,omitempty"` }
func (*PendingPodSpec) DeepCopy ¶
func (in *PendingPodSpec) DeepCopy() *PendingPodSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new PendingPodSpec.
func (*PendingPodSpec) DeepCopyInto ¶
func (in *PendingPodSpec) DeepCopyInto(out *PendingPodSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RequeuingTemplate ¶
type RequeuingTemplate struct { // Value to keep track of the initial wait time. // Users cannot set this as it is taken from 'timeInSeconds'. InitialTimeInSeconds int `json:"initialTimeInSeconds,omitempty" protobuf:"bytes,1,rep,name=initialTimeInSeconds"` // Initial waiting time before requeuing conditions are checked. This value is // specified by the user, but it may grow as requeuing events happen. // +kubebuilder:default=300 TimeInSeconds int `json:"timeInSeconds,omitempty" protobuf:"bytes,2,rep,name=timeInSeconds"` // Maximum waiting time for requeuing checks. // +kubebuilder:default=0 MaxTimeInSeconds int `json:"maxTimeInSeconds,omitempty" protobuf:"bytes,3,rep,name=maxTimeInSeconds"` // Growth strategy to increase the waiting time between requeuing checks. // The values available are 'exponential', 'linear', or 'none'. // For example, 'exponential' growth would double the 'timeInSeconds' value // every time a requeuing event is triggered. // If the string value is misspelled or not one of the possible options, // the growth behavior is defaulted to 'none'. // +kubebuilder:default=exponential GrowthType string `json:"growthType,omitempty" protobuf:"bytes,4,rep,name=growthType"` // Field to keep track of how many times a requeuing event has been triggered. // +kubebuilder:default=0 NumRequeuings int `json:"numRequeuings,omitempty" protobuf:"bytes,5,rep,name=numRequeuings"` // Maximum number of requeuing events allowed. Once this value is reached (e.g., // 'numRequeuings = maxNumRequeuings', no more requeuing checks are performed and the generic // items are stopped and removed from the cluster (AppWrapper remains deployed). // +kubebuilder:default=0 MaxNumRequeuings int `json:"maxNumRequeuings,omitempty" protobuf:"bytes,6,rep,name=maxNumRequeuings"` }
func (*RequeuingTemplate) DeepCopy ¶
func (in *RequeuingTemplate) DeepCopy() *RequeuingTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RequeuingTemplate.
func (*RequeuingTemplate) DeepCopyInto ¶
func (in *RequeuingTemplate) DeepCopyInto(out *RequeuingTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceName ¶
type ResourceName string
type ResourceType ¶
type ResourceType string
App Wrapper resources type
const (
ResourceTypePod ResourceType = "Pod"
)
type ScheduleTimeSpec ¶
type ScheduleTimeSpec struct { Min metav1.Time `json:"minTimestamp,omitempty"` Desired metav1.Time `json:"desiredTimestamp,omitempty"` Max metav1.Time `json:"maxTimestamp,omitempty"` }
func (*ScheduleTimeSpec) DeepCopy ¶
func (in *ScheduleTimeSpec) DeepCopy() *ScheduleTimeSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ScheduleTimeSpec.
func (*ScheduleTimeSpec) DeepCopyInto ¶
func (in *ScheduleTimeSpec) DeepCopyInto(out *ScheduleTimeSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchedulingSpec ¶
type SchedulingSpec struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata"` Spec SchedulingSpecTemplate `json:"spec,omitempty" protobuf:"bytes,1,rep,name=spec"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*SchedulingSpec) DeepCopy ¶
func (in *SchedulingSpec) DeepCopy() *SchedulingSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpec.
func (*SchedulingSpec) DeepCopyInto ¶
func (in *SchedulingSpec) DeepCopyInto(out *SchedulingSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingSpec) DeepCopyObject ¶
func (in *SchedulingSpec) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulingSpecList ¶
type SchedulingSpecList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []SchedulingSpec `json:"items"` }
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*SchedulingSpecList) DeepCopy ¶
func (in *SchedulingSpecList) DeepCopy() *SchedulingSpecList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpecList.
func (*SchedulingSpecList) DeepCopyInto ¶
func (in *SchedulingSpecList) DeepCopyInto(out *SchedulingSpecList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SchedulingSpecList) DeepCopyObject ¶
func (in *SchedulingSpecList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type SchedulingSpecTemplate ¶
type SchedulingSpecTemplate struct { NodeSelector map[string]string `json:"nodeSelector,omitempty" protobuf:"bytes,1,rep,name=nodeSelector"` // Expected number of pods in running and/or completed state. // Requeuing is triggered when the number of running/completed pods is not equal to this value. // When not specified, requeuing is disabled and no check is performed. MinAvailable int `json:"minAvailable,omitempty" protobuf:"bytes,2,rep,name=minAvailable"` // Specification of the requeuing strategy based on waiting time. // Values in this field control how often the pod check should happen, // and if requeuing has reached its maximum number of times. Requeuing RequeuingTemplate `json:"requeuing,omitempty" protobuf:"bytes,1,rep,name=requeuing"` // Wall clock duration time of appwrapper in seconds. DispatchDuration DispatchDurationSpec `json:"dispatchDuration,omitempty"` }
func (*SchedulingSpecTemplate) DeepCopy ¶
func (in *SchedulingSpecTemplate) DeepCopy() *SchedulingSpecTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SchedulingSpecTemplate.
func (*SchedulingSpecTemplate) DeepCopyInto ¶
func (in *SchedulingSpecTemplate) DeepCopyInto(out *SchedulingSpecTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.