v1beta1

package
v1.40.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 18, 2023 License: Apache-2.0 Imports: 4 Imported by: 2

Documentation

Index

Constants

View Source
const AppWrapperAnnotationKey = "appwrapper.mcad.ibm.com/appwrapper-name"

AppWrapperAnnotationKey is the annotation key of Pod to identify which AppWrapper it belongs to.

View Source
const AppWrapperPlural string = "appwrappers"
View Source
const GroupName = "workload.codeflare.dev"

GroupName is the group name used in this package.

View Source
const SchedulingSpecPlural = "schedulingspecs"

SchedulingSpecPlural is the plural of SchedulingSpec

Variables

View Source
var (
	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes)
	AddToScheme   = SchemeBuilder.AddToScheme
)
View Source
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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new AppWrapperGenericResource.

func (*AppWrapperGenericResource) DeepCopyInto

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

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

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

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomPodResourceTemplate.

func (*CustomPodResourceTemplate) DeepCopyInto

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

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

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

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.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL