v1alpha1

package
v0.2.4-alpha Latest Latest
Warning

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

Go to latest
Published: Dec 3, 2022 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the kubeteach v1alpha1 API group +kubebuilder:object:generate=true +kubebuilder:validation:Required +groupName=kubeteach.geberl.io

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "kubeteach.geberl.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ExerciseSet

type ExerciseSet struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   ExerciseSetSpec   `json:"spec,omitempty"`
	Status ExerciseSetStatus `json:"status,omitempty"`
}

ExerciseSet is the Schema for the exercisesets API

func (*ExerciseSet) DeepCopy

func (in *ExerciseSet) DeepCopy() *ExerciseSet

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

func (*ExerciseSet) DeepCopyInto

func (in *ExerciseSet) DeepCopyInto(out *ExerciseSet)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExerciseSet) DeepCopyObject

func (in *ExerciseSet) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExerciseSetList

type ExerciseSetList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []ExerciseSet `json:"items"`
}

ExerciseSetList contains a list of ExerciseSet

func (*ExerciseSetList) DeepCopy

func (in *ExerciseSetList) DeepCopy() *ExerciseSetList

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

func (*ExerciseSetList) DeepCopyInto

func (in *ExerciseSetList) DeepCopyInto(out *ExerciseSetList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ExerciseSetList) DeepCopyObject

func (in *ExerciseSetList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type ExerciseSetSpec

type ExerciseSetSpec struct {
	// TaskDefinitionSpec represents the Spec of an TaskDefinition
	// +kubebuilder:validation:Required
	TaskDefinitions []ExerciseSetSpecTaskDefinitions `json:"taskDefinitions,omitempty"`
}

ExerciseSetSpec defines the desired state of ExerciseSet

func (*ExerciseSetSpec) DeepCopy

func (in *ExerciseSetSpec) DeepCopy() *ExerciseSetSpec

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

func (*ExerciseSetSpec) DeepCopyInto

func (in *ExerciseSetSpec) DeepCopyInto(out *ExerciseSetSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExerciseSetSpecTaskDefinitions

type ExerciseSetSpecTaskDefinitions struct {
	// Name is the name of the TaskDefinition
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// TaskDefinitionSpec represents the Spec of an TaskDefinition
	// +kubebuilder:validation:Required
	TaskDefinitionSpec TaskDefinitionSpec `json:"taskDefinitionSpec"`
}

ExerciseSetSpecTaskDefinitions defines the desired state of ExerciseSet

func (*ExerciseSetSpecTaskDefinitions) DeepCopy

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

func (*ExerciseSetSpecTaskDefinitions) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExerciseSetStatus

type ExerciseSetStatus struct {
	// NumberOfTasks is the number of total tasks of this ExerciseSet
	// +optional
	NumberOfTasks int `json:"numberOfTasks"`
	// NumberOfActiveTasks is the number of active tasks of this ExerciseSet
	// +optional
	NumberOfActiveTasks int `json:"numberOfActiveTasks"`
	// NumberOfPendingTasks is the number of pending tasks of this ExerciseSet
	// +optional
	NumberOfPendingTasks int `json:"numberOfPendingTasks"`
	// NumberOfSuccessfulTasks is the number of successful tasks of this ExerciseSet
	// +optional
	NumberOfSuccessfulTasks int `json:"numberOfSuccessfulTasks"`
	// NumberOfUnknownTasks is the number of tasks with an unknown state of this ExerciseSet
	// +optional
	NumberOfUnknownTasks int `json:"numberOfUnknownTasks"`
	// NumberOfTasksWithoutPoints is the number of tasks that have no points defined of this ExerciseSet
	// +optional
	NumberOfTasksWithoutPoints int `json:"numberOfTasksWithoutPoints"`
	// PointsTotal is the total sum of points for all tasks of this ExerciseSet
	// +optional
	PointsTotal int `json:"pointsTotal"`
	// PointsAchieved is the total sum of points for all tasks that are successful of this ExerciseSet
	// +optional
	PointsAchieved int `json:"pointsAchieved"`
}

ExerciseSetStatus defines the observed state of ExerciseSet

func (*ExerciseSetStatus) DeepCopy

func (in *ExerciseSetStatus) DeepCopy() *ExerciseSetStatus

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

func (*ExerciseSetStatus) DeepCopyInto

func (in *ExerciseSetStatus) DeepCopyInto(out *ExerciseSetStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ResourceCondition

type ResourceCondition struct {
	// Field is the json search string for this condition.
	// Example: metadata.name
	// For more details have a look into gjson docs: https://github.com/tidwall/gjson
	// +kubebuilder:validation:MinLength=1
	Field string `json:"field"`
	// Operator is for the condition.
	// Valid operators are eq, neq, lt, gt, nil, notnil contains.
	// +kubebuilder:validation:Enum=eq;neq;lt;gt;contains;nil;notnil
	Operator string `json:"operator"`
	// Value contains the value which the Operator must match.
	// Must be a string but for lt and gt only numbers are allowed in this string.
	// Value is ignored by Operator nil and notnil
	//  +optional
	Value string `json:"value,omitempty"`
}

ResourceCondition describe the conditions that must be apply to success this TaskCondition

func (*ResourceCondition) DeepCopy

func (in *ResourceCondition) DeepCopy() *ResourceCondition

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

func (*ResourceCondition) DeepCopyInto

func (in *ResourceCondition) DeepCopyInto(out *ResourceCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Task

type Task struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TaskSpec   `json:"spec,omitempty"`
	Status TaskStatus `json:"status,omitempty"`
}

Task is the Schema for the tasks API

func (*Task) DeepCopy

func (in *Task) DeepCopy() *Task

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

func (*Task) DeepCopyInto

func (in *Task) DeepCopyInto(out *Task)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Task) DeepCopyObject

func (in *Task) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TaskCondition

type TaskCondition struct {
	// APIVersion is used of the object that should be match this conditions
	// +kubebuilder:validation:MinLength=1
	APIVersion string `json:"apiVersion"`
	// Kind is used of the object that should be match this conditions
	// +kubebuilder:validation:MinLength=1
	Kind string `json:"kind"`
	// APIGroup is used of the object that should be match this conditions
	//  +optional
	APIGroup string `json:"apiGroup,omitempty"`
	// Name defines the name of the object that must apply to this conditions
	// +kubebuilder:validation:MinLength=1
	Name string `json:"name"`
	// Namespace is used to find the object if it is namespaced
	//  +optional
	Namespace string `json:"namespace,omitempty"`
	// NotExists if set to true, all ResourceCondition are ignored and the TaskCondition is true if object do not exists
	//  +optional
	NotExists bool `json:"notExists,omitempty"`
	// ResourceCondition describe the conditions that must be apply to success this TaskCondition
	// If no ResourceCondition is set this TaskCondition just check if object exits
	//  +optional
	ResourceCondition []ResourceCondition `json:"resourceCondition,omitempty"`
}

TaskCondition defines a list of conditions for a object that must be true to complete the task.

func (*TaskCondition) DeepCopy

func (in *TaskCondition) DeepCopy() *TaskCondition

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

func (*TaskCondition) DeepCopyInto

func (in *TaskCondition) DeepCopyInto(out *TaskCondition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaskDefinition

type TaskDefinition struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   TaskDefinitionSpec   `json:"spec,omitempty"`
	Status TaskDefinitionStatus `json:"status,omitempty"`
}

TaskDefinition is the Schema for the taskdefinitions API

func (*TaskDefinition) DeepCopy

func (in *TaskDefinition) DeepCopy() *TaskDefinition

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

func (*TaskDefinition) DeepCopyInto

func (in *TaskDefinition) DeepCopyInto(out *TaskDefinition)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskDefinition) DeepCopyObject

func (in *TaskDefinition) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TaskDefinitionList

type TaskDefinitionList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []TaskDefinition `json:"items"`
}

TaskDefinitionList contains a list of TaskDefinition

func (*TaskDefinitionList) DeepCopy

func (in *TaskDefinitionList) DeepCopy() *TaskDefinitionList

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

func (*TaskDefinitionList) DeepCopyInto

func (in *TaskDefinitionList) DeepCopyInto(out *TaskDefinitionList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskDefinitionList) DeepCopyObject

func (in *TaskDefinitionList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TaskDefinitionSpec

type TaskDefinitionSpec struct {
	// TaskSpec represents spec of the task that is creating for this TaskDefinition.
	// +kubebuilder:validation:Required
	TaskSpec TaskSpec `json:"taskSpec"`
	// TaskConditions defines a list of conditions for a object that must be true to complete the task.
	// +kubebuilder:validation:MinItems=1
	TaskConditions []TaskCondition `json:"taskCondition"`
	// RequiredTaskName defines a TaskDefinition Name that have to be done before.
	// Useful for example if in task1 a object should be created and in task2 the object should be deleted again.
	//  +optional
	RequiredTaskName *string `json:"requiredTaskName,omitempty"`
	// Points Number of points for this TaskDefinition. Points will be summarized in an ExerciseSet.
	// +optional
	Points int `json:"points,omitempty"`
}

TaskDefinitionSpec defines the desired state of TaskDefinition.

func (*TaskDefinitionSpec) DeepCopy

func (in *TaskDefinitionSpec) DeepCopy() *TaskDefinitionSpec

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

func (*TaskDefinitionSpec) DeepCopyInto

func (in *TaskDefinitionSpec) DeepCopyInto(out *TaskDefinitionSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaskDefinitionStatus

type TaskDefinitionStatus struct {
	// State represent the status of this task
	// Can be pending, active, successful, error
	//  +optional
	State *string `json:"state"`
}

TaskDefinitionStatus defines the observed state of TaskDefinition

func (*TaskDefinitionStatus) DeepCopy

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

func (*TaskDefinitionStatus) DeepCopyInto

func (in *TaskDefinitionStatus) DeepCopyInto(out *TaskDefinitionStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaskList

type TaskList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Task `json:"items"`
}

TaskList contains a list of Task

func (*TaskList) DeepCopy

func (in *TaskList) DeepCopy() *TaskList

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

func (*TaskList) DeepCopyInto

func (in *TaskList) DeepCopyInto(out *TaskList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*TaskList) DeepCopyObject

func (in *TaskList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type TaskSpec

type TaskSpec struct {
	// Title is the title of the task
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Title string `json:"title"`
	// Description describes the task
	// +kubebuilder:validation:Required
	// +kubebuilder:validation:MinLength=1
	Description string `json:"description"`
	// LongDescription describes the task
	// +optional
	LongDescription string `json:"longDescription,omitempty"`
	// HelpURL is a URL that can help to solve this Task
	// +optional
	HelpURL string `json:"helpURL,omitempty"`
}

TaskSpec defines the desired state of Task

func (*TaskSpec) DeepCopy

func (in *TaskSpec) DeepCopy() *TaskSpec

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

func (*TaskSpec) DeepCopyInto

func (in *TaskSpec) DeepCopyInto(out *TaskSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type TaskStatus

type TaskStatus struct {
	// State represent the status of this task
	// Can be pending, active, successful
	State *string `json:"state,omitempty"`
}

TaskStatus defines the observed state of Task

func (*TaskStatus) DeepCopy

func (in *TaskStatus) DeepCopy() *TaskStatus

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

func (*TaskStatus) DeepCopyInto

func (in *TaskStatus) DeepCopyInto(out *TaskStatus)

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