v1alpha1

package
v0.0.0-...-57137be Latest Latest
Warning

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

Go to latest
Published: Feb 8, 2024 License: Apache-2.0 Imports: 26 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the v1alpha1 API group +kubebuilder:object:generate=true +groupName=engine.nagare.media

Index

Constants

View Source
const (
	// AMD GPU resource name.
	AMD_GPU corev1.ResourceName = "amd.com/gpu"

	// Intel GPU prefix resource name.
	IntelGPUPrefix string = "gpu.intel.com/"

	// NVIDIA GPU resource name.
	NVIDIA_GPU corev1.ResourceName = "nvidia.com/gpu"

	// Shared NVIDIA GPU resource name.
	NVIDIA_GPUShared corev1.ResourceName = "nvidia.com/gpu.shared"
)
View Source
const (
	// Selection label to indicate the type of function.
	BetaFunctionTypeLabel = "beta.engine.nagare.media/function-type"

	// Selection label to indicate the language used in script functions.
	BetaFunctionScriptLanguageTypeLabel = "beta.engine.nagare.media/function-script-language"
)
View Source
const (
	// MediaLocations with this annotation set to "true" will be used as default location between tasks that use the
	// "step" NBMP execution mode. This annotation can only be used once per MediaLocation in a singe namespace or once
	// per ClusterMediaLocation in the whole Kubernetes cluster. A MediaLocation with this annotation has precedence over
	// a ClusterMediaLocation.
	BetaIsDefaultStepMediaLocationAnnotation = "beta.engine.nagare.media/is-default-step-media-location"

	// MediaLocations with this annotation set to "true" will be used as default location between tasks that use the
	// "streaming" NBMP execution mode. This annotation can only be used once per MediaLocation in a singe namespace or
	// once per ClusterMediaLocation in the whole Kubernetes cluster. A MediaLocation with this annotation has precedence
	// over a ClusterMediaLocation.
	BetaIsDefaultStreamingMediaLocationAnnotation = "beta.engine.nagare.media/is-default-streaming-media-location"
)
View Source
const (
	// Label automatically assigned by nagare media engine indicating the task namespace. This allows quick filtering
	// for a specific task.
	TaskNamespaceLabel = "engine.nagare.media/task-namespace"

	// Label automatically assigned by nagare media engine indicating the task namespace. This allows quick filtering
	// for a specific task.
	TaskNameLabel = "engine.nagare.media/task-name"
)
View Source
const (
	TaskProtectionFinalizer = "engine.nagare.media/task-protection"

	JobProtectionFinalizer = "engine.nagare.media/job-protection"
)
View Source
const (
	// Label automatically assigned by nagare media engine indicating the workflow namespace. This allows quick filtering
	// for a specific workflow.
	WorkflowNamespaceLabel = "engine.nagare.media/workflow-namespace"

	// Label automatically assigned by nagare media engine indicating the workflow name. This allows quick filtering for a
	// specific workflow.
	WorkflowNameLabel = "engine.nagare.media/workflow-name"
)
View Source
const (
	// MediaProcessingEntities with this annotation set to "true" will be used as default MPE for running tasks. This
	// annotation can only be used once per MediaProcessingEntity in a singe namespace or once per
	// ClusterMediaProcessingEntity in the whole Kubernetes cluster. A MediaProcessingEntity with this annotation has
	// precedence over a ClusterMediaProcessingEntity.
	BetaIsDefaultMediaProcessingEntityAnnotation = "beta.engine.nagare.media/is-default-media-processing-entity"
)
View Source
const (
	// Description of the location the MediaProcessingEntity is in (e.g. "de-48149").
	BetaMediaProcessingEntityLocationLabel = "beta.engine.nagare.media/media-processing-entity-location"
)
View Source
const (
	// Default key used in Secrets for the Kubeconfig.
	DefaultSecretKeyKubeconfig = "kubeconfig"
)
View Source
const (
	// Protects MediaProcessingEntities from deletion before cleanup.
	MediaProcessingEntityProtectionFinalizer = "engine.nagare.media/mpe-protection"
)
View Source
const (
	WorkflowkProtectionFinalizer = "engine.nagare.media/workflow-protection"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "engine.nagare.media", 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
)
View Source
var (
	// Media location types that support NBMP "step" execution mode between tasks.
	NBMPStepExecutionModeMediaLocations = []string{
		"http",
		"s3",
		"opencast",
	}

	// Media location types that support NBMP "streaming" execution mode between tasks.
	NBMPStreamingExecutionModeMediaLocations = []string{
		"rtmp",
		"rtsp",
		"rist",
	}
)

Functions

This section is empty.

Types

type AWSAuth

type AWSAuth struct {
	// Reference to a Secret that contains the keys "accessKeyID" and "secretAccessKey". Only references to Secrets are
	// allowed. A MediaLocation can only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration of an AWS authentication method.

func (*AWSAuth) DeepCopy

func (in *AWSAuth) DeepCopy() *AWSAuth

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

func (*AWSAuth) DeepCopyInto

func (in *AWSAuth) DeepCopyInto(out *AWSAuth)

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

type AudioMediaStream

type AudioMediaStream struct {
	// +optional
	BitDepth *uint8 `json:"bitDepth,omitempty"`

	// +optional
	Channels *uint8 `json:"channels,omitempty"`

	// +optional
	ChannelLayout *string `json:"channelLayout,omitempty"`

	// +optional
	SamplingRate *int32 `json:"samplingRate,omitempty"`
}

func (*AudioMediaStream) DeepCopy

func (in *AudioMediaStream) DeepCopy() *AudioMediaStream

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

func (*AudioMediaStream) DeepCopyInto

func (in *AudioMediaStream) DeepCopyInto(out *AudioMediaStream)

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

type BitRate

type BitRate int64

type Checksum

type Checksum struct {
	Alg string `json:"alg"`
	Sum string `json:"sum"`
}

func (*Checksum) DeepCopy

func (in *Checksum) DeepCopy() *Checksum

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

func (*Checksum) DeepCopyInto

func (in *Checksum) DeepCopyInto(out *Checksum)

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

type ChromaSubsampling

type ChromaSubsampling string

+kubebuilder:validation:Enum=3:1:1;4:1:0;4:1:1;4:2:0;4:2:2;4:4:0;4:4:4

const (
	ChromaSubsampling311 ChromaSubsampling = "3:1:1"
	ChromaSubsampling410 ChromaSubsampling = "4:1:0"
	ChromaSubsampling411 ChromaSubsampling = "4:1:1"
	ChromaSubsampling420 ChromaSubsampling = "4:2:0"
	ChromaSubsampling422 ChromaSubsampling = "4:2:2"
	ChromaSubsampling440 ChromaSubsampling = "4:4:0"
	ChromaSubsampling444 ChromaSubsampling = "4:4:4"
)

type ClusterFunction

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

	Spec FunctionSpec `json:"spec,omitempty"`
}

ClusterFunction is the Schema for the clusterfunctions API

func (*ClusterFunction) DeepCopy

func (in *ClusterFunction) DeepCopy() *ClusterFunction

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

func (*ClusterFunction) DeepCopyInto

func (in *ClusterFunction) DeepCopyInto(out *ClusterFunction)

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

func (*ClusterFunction) DeepCopyObject

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

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

func (*ClusterFunction) Default

func (cf *ClusterFunction) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ClusterFunction) SetupWebhookWithManager

func (cf *ClusterFunction) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ClusterFunction) ValidateCreate

func (cf *ClusterFunction) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ClusterFunction) ValidateDelete

func (cf *ClusterFunction) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ClusterFunction) ValidateUpdate

func (cf *ClusterFunction) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ClusterFunctionList

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

ClusterFunctionList contains a list of ClusterFunction

func (*ClusterFunctionList) DeepCopy

func (in *ClusterFunctionList) DeepCopy() *ClusterFunctionList

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

func (*ClusterFunctionList) DeepCopyInto

func (in *ClusterFunctionList) DeepCopyInto(out *ClusterFunctionList)

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

func (*ClusterFunctionList) DeepCopyObject

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

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

type ClusterMediaLocation

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

	Spec MediaLocationSpec `json:"spec,omitempty"`
}

ClusterMediaLocation is the Schema for the clustermedialocations API

func (*ClusterMediaLocation) DeepCopy

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

func (*ClusterMediaLocation) DeepCopyInto

func (in *ClusterMediaLocation) DeepCopyInto(out *ClusterMediaLocation)

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

func (*ClusterMediaLocation) DeepCopyObject

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

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

func (*ClusterMediaLocation) Default

func (cml *ClusterMediaLocation) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ClusterMediaLocation) SetupWebhookWithManager

func (cml *ClusterMediaLocation) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ClusterMediaLocation) ValidateCreate

func (cml *ClusterMediaLocation) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ClusterMediaLocation) ValidateDelete

func (cml *ClusterMediaLocation) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ClusterMediaLocation) ValidateUpdate

func (cml *ClusterMediaLocation) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ClusterMediaLocationList

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

ClusterMediaLocationList contains a list of ClusterMediaLocation

func (*ClusterMediaLocationList) DeepCopy

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

func (*ClusterMediaLocationList) DeepCopyInto

func (in *ClusterMediaLocationList) DeepCopyInto(out *ClusterMediaLocationList)

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

func (*ClusterMediaLocationList) DeepCopyObject

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

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

type ClusterMediaProcessingEntity

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

	Spec   MediaProcessingEntitySpec   `json:"spec,omitempty"`
	Status MediaProcessingEntityStatus `json:"status,omitempty"`
}

ClusterMediaProcessingEntity is the Schema for the clustermediaprocessingentities API

func (*ClusterMediaProcessingEntity) DeepCopy

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

func (*ClusterMediaProcessingEntity) DeepCopyInto

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

func (*ClusterMediaProcessingEntity) DeepCopyObject

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

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

func (*ClusterMediaProcessingEntity) Default

func (cmpe *ClusterMediaProcessingEntity) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ClusterMediaProcessingEntity) SetupWebhookWithManager

func (cmpe *ClusterMediaProcessingEntity) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ClusterMediaProcessingEntity) ValidateCreate

func (cmpe *ClusterMediaProcessingEntity) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ClusterMediaProcessingEntity) ValidateDelete

func (cmpe *ClusterMediaProcessingEntity) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ClusterMediaProcessingEntity) ValidateUpdate

func (cmpe *ClusterMediaProcessingEntity) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ClusterMediaProcessingEntityList

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

ClusterMediaProcessingEntityList contains a list of ClusterMediaProcessingEntity

func (*ClusterMediaProcessingEntityList) DeepCopy

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

func (*ClusterMediaProcessingEntityList) DeepCopyInto

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

func (*ClusterMediaProcessingEntityList) DeepCopyObject

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

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

type ClusterTaskTemplate

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

	Spec TaskTemplateSpec `json:"spec,omitempty"`
}

ClusterTaskTemplate is the Schema for the clustertasktemplates API

func (*ClusterTaskTemplate) DeepCopy

func (in *ClusterTaskTemplate) DeepCopy() *ClusterTaskTemplate

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

func (*ClusterTaskTemplate) DeepCopyInto

func (in *ClusterTaskTemplate) DeepCopyInto(out *ClusterTaskTemplate)

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

func (*ClusterTaskTemplate) DeepCopyObject

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

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

func (*ClusterTaskTemplate) Default

func (ctt *ClusterTaskTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*ClusterTaskTemplate) SetupWebhookWithManager

func (ctt *ClusterTaskTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ClusterTaskTemplate) ValidateCreate

func (ctt *ClusterTaskTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*ClusterTaskTemplate) ValidateDelete

func (ctt *ClusterTaskTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*ClusterTaskTemplate) ValidateUpdate

func (ctt *ClusterTaskTemplate) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type ClusterTaskTemplateList

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

ClusterTaskTemplateList contains a list of ClusterTaskTemplate

func (*ClusterTaskTemplateList) DeepCopy

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

func (*ClusterTaskTemplateList) DeepCopyInto

func (in *ClusterTaskTemplateList) DeepCopyInto(out *ClusterTaskTemplateList)

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

func (*ClusterTaskTemplateList) DeepCopyObject

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

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

type CodecType

type CodecType string

type ColorRange

type ColorRange string

+kubebuilder:validation:Enum=full;limited

const (
	FullColorRange    ColorRange = "full"
	LimitedColorRange ColorRange = "limited"
)

type Condition

type Condition struct {
	// Type of condition.
	Type ConditionType `json:"type"`

	// Status of the condition, one of True, False, Unknown.
	Status corev1.ConditionStatus `json:"status"`

	// Last time the condition transit from one status to another.
	// +optional
	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"`

	// (brief) reason for the condition's last transition.
	// +optional
	Reason string `json:"reason,omitempty"`

	// Human readable message indicating details about last transition.
	// +optional
	Message string `json:"message,omitempty"`
}

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionType

type ConditionType string
const (
	// WorkflowReadyConditionType means the Workflow has been processed by the Workflow controller.
	WorkflowReadyConditionType ConditionType = "Ready"

	// WorkflowCompleteConditionType means the Workflow has completed its execution.
	WorkflowCompleteConditionType ConditionType = "Complete"

	// WorkflowFailedConditionType means the Workflow has failed its execution.
	WorkflowFailedConditionType ConditionType = "Failed"
)
var (
	// MediaProcessingEntityReadyConditionType means the a connection to the MediaProcessingEntity could be established.
	MediaProcessingEntityReadyConditionType ConditionType = "Ready"

	// MediaProcessingEntityFailedConditionType means the a connection to the MediaProcessingEntity could not be
	// established.
	MediaProcessingEntityFailedConditionType ConditionType = "Failed"
)
var (
	// TaskInitializedConditionType means the Task has been processed by the Task controller and a Job was created.
	TaskInitializedConditionType ConditionType = "Initialized"

	// TaskReadyConditionType means the Task has been processed by the Task controller and a Job was created.
	TaskReadyConditionType ConditionType = "Ready"

	// TaskCompleteConditionType means the Task has completed its execution.
	TaskCompleteConditionType ConditionType = "Complete"

	// TaskFailedConditionType means the Task has failed its execution.
	TaskFailedConditionType ConditionType = "Failed"
)

type DataMediaStream

type DataMediaStream struct {
}

func (*DataMediaStream) DeepCopy

func (in *DataMediaStream) DeepCopy() *DataMediaStream

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

func (*DataMediaStream) DeepCopyInto

func (in *DataMediaStream) DeepCopyInto(out *DataMediaStream)

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

type FieldOrder

type FieldOrder string

+kubebuilder:validation:Enum=unknown;progressive;top-field-first;bottom-field-first

const (
	UnknownFieldOrder          FieldOrder = "unknown"
	ProgressiveFieldOrder      FieldOrder = "progressive"
	TopFieldFirstFieldOrder    FieldOrder = "top-field-first"
	BottomFieldFirstFieldOrder FieldOrder = "bottom-field-first"
)

type FrameRate

type FrameRate struct {
	// +optional
	Average *float32 `json:"average,omitempty"`

	// +optional
	LowestCommon *float32 `json:"lowestCommon,omitempty"`
}

func (*FrameRate) DeepCopy

func (in *FrameRate) DeepCopy() *FrameRate

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

func (*FrameRate) DeepCopyInto

func (in *FrameRate) DeepCopyInto(out *FrameRate)

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

type Function

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

	Spec FunctionSpec `json:"spec,omitempty"`
}

Function is the Schema for the functions API

func (*Function) DeepCopy

func (in *Function) DeepCopy() *Function

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

func (*Function) DeepCopyInto

func (in *Function) DeepCopyInto(out *Function)

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

func (*Function) DeepCopyObject

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

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

func (*Function) Default

func (f *Function) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Function) SetupWebhookWithManager

func (f *Function) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Function) ValidateCreate

func (f *Function) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Function) ValidateDelete

func (f *Function) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Function) ValidateUpdate

func (f *Function) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type FunctionList

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

FunctionList contains a list of Function

func (*FunctionList) DeepCopy

func (in *FunctionList) DeepCopy() *FunctionList

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

func (*FunctionList) DeepCopyInto

func (in *FunctionList) DeepCopyInto(out *FunctionList)

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

func (*FunctionList) DeepCopyObject

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

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

type FunctionSpec

type FunctionSpec struct {
	// Version number of this function following the SemVer 2.0.0 specification (see https://semver.org/spec/v2.0.0.html).
	// When label selections are used to specify functions, the version number determines the final function selection if
	// multiple functions have the same labels.
	// Cannot be updated.
	// +kubebuilder:validation:Pattern="^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(-(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(\\+[0-9a-zA-Z-]+(\\.[0-9a-zA-Z-]+)*)?$"
	Version string `json:"version"`

	// Describes the Job that will be created when executing this function.
	//
	// The following limitations are imposed:
	// - spec.template.spec.restartPolicy: must be "OnFailure" or "Never". The default is "Never"
	//
	// Cannot be updated.
	// TODO: make some exceptions
	// TODO: hinder changes to this field
	Template batchv1.JobTemplateSpec `json:"template"`

	// Indicates that this function can only run on a local Media Processing Entities (MPE), e.g. if this function changes
	// the Workflow on the management cluster. The default is "false"
	// +kubebuilder:default=false
	// +optional
	LocalMediaProcessingEntitiesOnly bool `json:"localMediaProcessingEntitiesOnly"`

	// Default configuration values.
	// +optional
	DefaultConfig map[string]string `json:"defaultConfig,omitempty"`
}

Specification of a function.

func (*FunctionSpec) DeepCopy

func (in *FunctionSpec) DeepCopy() *FunctionSpec

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

func (*FunctionSpec) DeepCopyInto

func (in *FunctionSpec) DeepCopyInto(out *FunctionSpec)

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

type GatewayNBMPConfiguration

type GatewayNBMPConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	GatewayNBMPConfigurationSpec `json:",inline"`
}

GatewayNBMPConfiguration defines the configuration for nagare media engine gateway-nbmp.

func (*GatewayNBMPConfiguration) DeepCopy

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

func (*GatewayNBMPConfiguration) DeepCopyInto

func (in *GatewayNBMPConfiguration) DeepCopyInto(out *GatewayNBMPConfiguration)

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

func (*GatewayNBMPConfiguration) DeepCopyObject

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

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

func (*GatewayNBMPConfiguration) Default

func (c *GatewayNBMPConfiguration) Default()

func (*GatewayNBMPConfiguration) Validate

func (c *GatewayNBMPConfiguration) Validate() error

type GatewayNBMPConfigurationSpec

type GatewayNBMPConfigurationSpec struct {
	Webserver       WebserverConfiguration                  `json:"webserver"`
	WorkflowService GatewayNBMPWorkflowServiceConfiguration `json:"workflows"`
}

func (*GatewayNBMPConfigurationSpec) DeepCopy

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

func (*GatewayNBMPConfigurationSpec) DeepCopyInto

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

type GatewayNBMPWorkflowServiceConfiguration

type GatewayNBMPWorkflowServiceConfiguration struct {
	// Limit gateway-nbmp to a specific Kubernetes namespace.
	// +optional
	// TODO: make really optional
	KubernetesNamespace string `json:"kubernetesNamespace,omitempty"`

	// Name of the GPU resource used in the Kubernetes cluster (e.g. "nvidia.com/gpu").
	// +optional
	DefaultKubernetesGPUResource corev1.ResourceName `json:"defaultKubernetesGPUResource,omitempty"`
}

func (*GatewayNBMPWorkflowServiceConfiguration) DeepCopy

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

func (*GatewayNBMPWorkflowServiceConfiguration) DeepCopyInto

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

type HTTPAuthConfig

type HTTPAuthConfig struct {
	// Configures an HTTP basic authentication method.
	// +optional
	Basic *HTTPBasicAuth `json:"basic,omitempty"`

	// Configures an HTTP digest authentication method.
	// +optional
	Digest *HTTPDigestAuth `json:"digest,omitempty"`

	// Configures an HTTP bearer token authentication method.
	// +optional
	Token *HTTPToken `json:"token,omitempty"`
}

Configuration of an HTTP authentication method. Exactly one of these must be set. TODO(mtneug): is this a valid assumption? Maybe allow specifying multiple methods and choose during request time? +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*HTTPAuthConfig) DeepCopy

func (in *HTTPAuthConfig) DeepCopy() *HTTPAuthConfig

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

func (*HTTPAuthConfig) DeepCopyInto

func (in *HTTPAuthConfig) DeepCopyInto(out *HTTPAuthConfig)

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

type HTTPBasicAuth

type HTTPBasicAuth struct {
	// Reference to a Secret that contains the keys "username" and "password". Only references to Secrets are allowed. A
	// MediaLocation can only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration of an HTTP basic authentication method.

func (*HTTPBasicAuth) DeepCopy

func (in *HTTPBasicAuth) DeepCopy() *HTTPBasicAuth

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

func (*HTTPBasicAuth) DeepCopyInto

func (in *HTTPBasicAuth) DeepCopyInto(out *HTTPBasicAuth)

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

type HTTPDigestAuth

type HTTPDigestAuth struct {
	// Reference to a Secret that contains the keys "username" and "password". Only references to Secrets are allowed. A
	// MediaLocation can only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration of an HTTP digest authentication method.

func (*HTTPDigestAuth) DeepCopy

func (in *HTTPDigestAuth) DeepCopy() *HTTPDigestAuth

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

func (*HTTPDigestAuth) DeepCopyInto

func (in *HTTPDigestAuth) DeepCopyInto(out *HTTPDigestAuth)

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

type HTTPMediaLocation

type HTTPMediaLocation struct {
	// HTTP base URL. Media referencing this location are relative to this URL.
	// +kubebuilder:validation:Pattern="^(http|https)://.*$"
	BaseURL string `json:"baseURL"`

	// List of HTTP headers that should be send with HTTP requests.
	// Note that it is up the the function implementation to honor these headers.
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	Headers []Header `json:"headers,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// List of HTTP query arguments that should be send with HTTP requests.
	// Note that it is up the the function implementation to honor these query arguments.
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	QueryArgs []QueryArg `json:"queryArgs,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// HTTP authentication configuration.
	// +optional
	Auth *HTTPAuthConfig `json:"auth,omitempty"`
}

Configuration of an HTTP media location.

func (*HTTPMediaLocation) DeepCopy

func (in *HTTPMediaLocation) DeepCopy() *HTTPMediaLocation

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

func (*HTTPMediaLocation) DeepCopyInto

func (in *HTTPMediaLocation) DeepCopyInto(out *HTTPMediaLocation)

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

type HTTPToken

type HTTPToken struct {
	// Reference to a Secret that contains the key "token". Only references to Secrets are allowed. A MediaLocation can
	// only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`

	// Name of the HTTP header the token should be passed to. The default is "Authorization".
	// +kubebuilder:default="Authorization"
	// +optional
	HeaderName *string `json:"headerName,omitempty"`

	// Prefix of the HTTP header value before the token. The default is "Bearer ".
	// +kubebuilder:default="Bearer "
	// +optional
	HeaderValuePrefix *string `json:"headerValuePrefix,omitempty"`
}

Configuration of an HTTP bearer token authentication method.

func (*HTTPToken) DeepCopy

func (in *HTTPToken) DeepCopy() *HTTPToken

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

func (*HTTPToken) DeepCopyInto

func (in *HTTPToken) DeepCopyInto(out *HTTPToken)

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

type Header struct {
	// Name of the header.
	Name string `json:"name"`

	// Value of the header. This field is required if valueFrom is not specified. If both are specified, value has
	// precedence.
	// +optional
	Value *string `json:"value,omitempty"`
}

Specifies a header.

func (*Header) DeepCopy

func (in *Header) DeepCopy() *Header

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

func (*Header) DeepCopyInto

func (in *Header) DeepCopyInto(out *Header)

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

type HumanReadableMediaDescription

type HumanReadableMediaDescription struct {
	// Human readable name of this media.
	// +optional
	Name *string `json:"name,omitempty"`
}

func (*HumanReadableMediaDescription) DeepCopy

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

func (*HumanReadableMediaDescription) DeepCopyInto

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

type HumanReadableTaskDescription

type HumanReadableTaskDescription struct {
	// Human readable name of this Task.
	// +optional
	Name *string `json:"name,omitempty"`

	// Human readable description of this Task.
	// +optional
	Description *string `json:"description,omitempty"`
}

func (*HumanReadableTaskDescription) DeepCopy

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

func (*HumanReadableTaskDescription) DeepCopyInto

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

type HumanReadableWorkflowDescription

type HumanReadableWorkflowDescription struct {
	// Human readable name of this Workflow.
	// +optional
	Name *string `json:"name,omitempty"`

	// Human readable description of this Workflow.
	// +optional
	Description *string `json:"description,omitempty"`
}

func (*HumanReadableWorkflowDescription) DeepCopy

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

func (*HumanReadableWorkflowDescription) DeepCopyInto

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

type JobFailurePolicy

type JobFailurePolicy struct {
	// The default action taken when a job fails and no rule applies.
	// +kubebuilder:default=FailWorkflow
	// +optional
	DefaultAction *JobFailurePolicyAction `json:"defaultAction,omitempty"`
}

func (*JobFailurePolicy) DeepCopy

func (in *JobFailurePolicy) DeepCopy() *JobFailurePolicy

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

func (*JobFailurePolicy) DeepCopyInto

func (in *JobFailurePolicy) DeepCopyInto(out *JobFailurePolicy)

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

type JobFailurePolicyAction

type JobFailurePolicyAction string

+kubebuilder:validation:Enum=FailWorkflow;Ignore

var (
	// This is an action which might be taken on a Job failure - mark the Task and Workflow as Failed and terminate all
	// running Tasks.
	JobFailurePolicyActionFailWorkflow JobFailurePolicyAction = "FailWorkflow"

	// This is an action which might be taken on a Job failure - mark the Task as Failed but do not terminate other Tasks.
	// Dependent Tasks have to deal with this fail-state.
	JobFailurePolicyActionIgnore JobFailurePolicyAction = "Ignore"
)

type Kubeconfig

type Kubeconfig struct {
	// Reference to a Secret that contains the kubeconfig in specified key. If no key is specified, "kubeconfig" is used
	// by default. Only references to Secrets are allowed. A MediaProcessingEntity can only reference Secrets from its
	// own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration for connecting to a Kubernetes cluster.

func (*Kubeconfig) DeepCopy

func (in *Kubeconfig) DeepCopy() *Kubeconfig

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

func (*Kubeconfig) DeepCopyInto

func (in *Kubeconfig) DeepCopyInto(out *Kubeconfig)

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

type Language

type Language string

type LocalMediaProcessingEntity

type LocalMediaProcessingEntity struct {
	// Configures the namespace Jobs should run in. For MediaProcessingEntities this field is optional in which case the
	// Jobs are created in the namespace the MediaProcessingEntity is in. This field is required for
	// ClusterMediaProcessingEntities.
	// +optional
	Namespace string `json:"namespace,omitempty"`
}

Configuration of a local Media Processing Entity (MPE).

func (*LocalMediaProcessingEntity) DeepCopy

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

func (*LocalMediaProcessingEntity) DeepCopyInto

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

type Media

type Media struct {
	// ID of this media.
	ID string `json:"id"`

	// Human readable description of this media.
	// +optional
	HumanReadable *HumanReadableMediaDescription `json:"humanReadable,omitempty"`

	// Type of this media.
	Type MediaType `json:"type"`

	// Direction this media is streamed in.
	// +optional
	Direction *MediaDirection `json:"direction,omitempty"`

	PortBindings []MediaPortBinding `json:"portBindings"`

	// URL of this media.
	// +optional
	URL *string `json:"url,omitempty"`

	// Labels of this media.
	// +optional
	Labels map[string]string `json:"labels,omitempty"`

	// Metadata of this media.
	Metadata MediaMetadata `json:"metadata"`
}

Media describes an input or output.

func (*Media) DeepCopy

func (in *Media) DeepCopy() *Media

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

func (*Media) DeepCopyInto

func (in *Media) DeepCopyInto(out *Media)

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

type MediaCodec

type MediaCodec struct {
	Name string `json:"name"`

	// +optional
	Profile *string `json:"profile,omitempty"`

	// +optional
	Level *string `json:"level,omitempty"`
}

func (*MediaCodec) DeepCopy

func (in *MediaCodec) DeepCopy() *MediaCodec

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

func (*MediaCodec) DeepCopyInto

func (in *MediaCodec) DeepCopyInto(out *MediaCodec)

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

type MediaContainer

type MediaContainer struct {
	Name string `json:"name"`
}

func (*MediaContainer) DeepCopy

func (in *MediaContainer) DeepCopy() *MediaContainer

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

func (*MediaContainer) DeepCopyInto

func (in *MediaContainer) DeepCopyInto(out *MediaContainer)

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

type MediaDirection

type MediaDirection string

+kubebuilder:validation:Enum=push;pull

const (
	PushMediaDirection MediaDirection = "push"
	PullMediaDirection MediaDirection = "pull"
)

type MediaLocation

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

	Spec MediaLocationSpec `json:"spec,omitempty"`
}

MediaLocation is the Schema for the medialocations API

func (*MediaLocation) DeepCopy

func (in *MediaLocation) DeepCopy() *MediaLocation

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

func (*MediaLocation) DeepCopyInto

func (in *MediaLocation) DeepCopyInto(out *MediaLocation)

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

func (*MediaLocation) DeepCopyObject

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

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

func (*MediaLocation) Default

func (ml *MediaLocation) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MediaLocation) SetupWebhookWithManager

func (ml *MediaLocation) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MediaLocation) ValidateCreate

func (ml *MediaLocation) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MediaLocation) ValidateDelete

func (ml *MediaLocation) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MediaLocation) ValidateUpdate

func (ml *MediaLocation) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MediaLocationConfig

type MediaLocationConfig struct {
	// Configures an HTTP media location.
	// This media location can be used between NBMP tasks that use the "step" execution mode.
	// +optional
	HTTP *HTTPMediaLocation `json:"http,omitempty"`

	// Configures an S3 media location.
	// This media location can be used between NBMP tasks that use the "step" execution mode.
	// +optional
	S3 *S3MediaLocation `json:"s3,omitempty"`

	// Configures an Opencast media location.
	// This media location can be used between NBMP tasks that use the "step" execution mode.
	// +optional
	Opencast *OpencastMediaLocation `json:"opencast,omitempty"`

	// Configures an RTMP media location.
	// This media location can be used between NBMP tasks that use the "streaming" execution mode.
	// +optional
	RTMP *RTMPMediaLocation `json:"rtmp,omitempty"`

	// Configures an RTSP media location.
	// This media location can be used between NBMP tasks that use the "streaming" execution mode.
	// +optional
	RTSP *RTSPMediaLocation `json:"rtsp,omitempty"`

	// Configures a RIST media location.
	// This media location can be used between NBMP tasks that use the "streaming" execution mode.
	// +optional
	RIST *RISTMediaLocation `json:"rist,omitempty"`
}

Configuration of a media location. Exactly one of these must be set. +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*MediaLocationConfig) DeepCopy

func (in *MediaLocationConfig) DeepCopy() *MediaLocationConfig

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

func (*MediaLocationConfig) DeepCopyInto

func (in *MediaLocationConfig) DeepCopyInto(out *MediaLocationConfig)

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

type MediaLocationList

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

MediaLocationList contains a list of MediaLocation

func (*MediaLocationList) DeepCopy

func (in *MediaLocationList) DeepCopy() *MediaLocationList

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

func (*MediaLocationList) DeepCopyInto

func (in *MediaLocationList) DeepCopyInto(out *MediaLocationList)

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

func (*MediaLocationList) DeepCopyObject

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

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

type MediaLocationSpec

type MediaLocationSpec struct {
	MediaLocationConfig `json:",inline"`
}

Specification of a media location.

func (*MediaLocationSpec) DeepCopy

func (in *MediaLocationSpec) DeepCopy() *MediaLocationSpec

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

func (*MediaLocationSpec) DeepCopyInto

func (in *MediaLocationSpec) DeepCopyInto(out *MediaLocationSpec)

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

type MediaMetadata

type MediaMetadata struct {
	// +optional
	MimeType *MimeType `json:"mimeType,omitempty"`

	// +optional
	CodecType *CodecType `json:"codecType,omitempty"`

	// +optional
	Duration *metav1.Duration `json:"duration,omitempty"`

	// BitRate in bit/s
	// +optional
	BitRate *BitRate `json:"bitRate,omitempty"`

	// Size in bytes.
	// +optional
	Size *Size `json:"size,omitempty"`

	// +optional
	Checksums []Checksum `json:"checksums,omitempty"`

	// +optional
	Container *MediaContainer `json:"container,omitempty"`

	// +optional
	Streams []MediaStream `json:"streams,omitempty"`
}

func (*MediaMetadata) DeepCopy

func (in *MediaMetadata) DeepCopy() *MediaMetadata

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

func (*MediaMetadata) DeepCopyInto

func (in *MediaMetadata) DeepCopyInto(out *MediaMetadata)

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

type MediaPortBinding

type MediaPortBinding struct {
	// ID of the port.
	ID string `json:"id"`
}

func (*MediaPortBinding) DeepCopy

func (in *MediaPortBinding) DeepCopy() *MediaPortBinding

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

func (*MediaPortBinding) DeepCopyInto

func (in *MediaPortBinding) DeepCopyInto(out *MediaPortBinding)

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

type MediaProcessingEntity

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

	Spec   MediaProcessingEntitySpec   `json:"spec,omitempty"`
	Status MediaProcessingEntityStatus `json:"status,omitempty"`
}

MediaProcessingEntity is the Schema for the mediaprocessingentities API

func (*MediaProcessingEntity) DeepCopy

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

func (*MediaProcessingEntity) DeepCopyInto

func (in *MediaProcessingEntity) DeepCopyInto(out *MediaProcessingEntity)

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

func (*MediaProcessingEntity) DeepCopyObject

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

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

func (*MediaProcessingEntity) Default

func (mpe *MediaProcessingEntity) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*MediaProcessingEntity) SetupWebhookWithManager

func (mpe *MediaProcessingEntity) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*MediaProcessingEntity) ValidateCreate

func (mpe *MediaProcessingEntity) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*MediaProcessingEntity) ValidateDelete

func (mpe *MediaProcessingEntity) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*MediaProcessingEntity) ValidateUpdate

func (mpe *MediaProcessingEntity) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type MediaProcessingEntityConfig

type MediaProcessingEntityConfig struct {
	// Configures the Media Processing Entity (MPE) to talk to the local Kubernetes cluster.
	// +optional
	Local *LocalMediaProcessingEntity `json:"local,omitempty"`

	// Configures the Media Processing Entity (MPE) to talk to a remote Kubernetes cluster.
	// +optional
	Remote *RemoteMediaProcessingEntity `json:"remote,omitempty"`
}

Configuration of the Media Processing Entity (MPE). Exactly one of these must be set. +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*MediaProcessingEntityConfig) DeepCopy

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

func (*MediaProcessingEntityConfig) DeepCopyInto

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

type MediaProcessingEntityList

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

MediaProcessingEntityList contains a list of MediaProcessingEntity

func (*MediaProcessingEntityList) DeepCopy

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

func (*MediaProcessingEntityList) DeepCopyInto

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

func (*MediaProcessingEntityList) DeepCopyObject

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

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

type MediaProcessingEntitySpec

type MediaProcessingEntitySpec struct {
	MediaProcessingEntityConfig `json:",inline"`
}

Specification of a Media Processing Entity (MPE).

func (*MediaProcessingEntitySpec) DeepCopy

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

func (*MediaProcessingEntitySpec) DeepCopyInto

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

type MediaProcessingEntityStatus

type MediaProcessingEntityStatus struct {
	// The latest available observations of an object's current state. When a connection to a MediaProcessingEntity is
	// established, one of the conditions will have type "Ready" and status true.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=atomic
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// A human readable message indicating why the MediaProcessingEntity is in this condition.
	Message string `json:"message,omitempty"`
}

Status of a MediaProcessingEntity

func (*MediaProcessingEntityStatus) DeepCopy

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

func (*MediaProcessingEntityStatus) DeepCopyInto

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

type MediaProperty

type MediaProperty struct {
	Name  string `json:"name"`
	Value string `json:"value"`
}

func (*MediaProperty) DeepCopy

func (in *MediaProperty) DeepCopy() *MediaProperty

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

func (*MediaProperty) DeepCopyInto

func (in *MediaProperty) DeepCopyInto(out *MediaProperty)

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

type MediaStream

type MediaStream struct {
	ID string `json:"id"`

	// +optional
	Codec *MediaCodec `json:"codec,omitempty"`

	// BitRate in bit/s
	// +optional
	BitRate *BitRate `json:"bitRate,omitempty"`

	// +optional
	Duration *metav1.Duration `json:"duration,omitempty"`

	// Properties additionally associated with this stream.
	// +optional
	Properties []MediaProperty `json:"properties,omitempty"`

	MediaStreamType `json:",inline"`
}

func (*MediaStream) DeepCopy

func (in *MediaStream) DeepCopy() *MediaStream

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

func (*MediaStream) DeepCopyInto

func (in *MediaStream) DeepCopyInto(out *MediaStream)

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

type MediaStreamType

type MediaStreamType struct {
	// +optional
	Audio *AudioMediaStream `json:"audio,omitempty"`

	// +optional
	Video *VideoMediaStream `json:"video,omitempty"`

	// +optional
	Subtitle *SubtitleMediaStream `json:"subtitle,omitempty"`

	// +optional
	Data *DataMediaStream `json:"data,omitempty"`
}

+kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*MediaStreamType) DeepCopy

func (in *MediaStreamType) DeepCopy() *MediaStreamType

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

func (*MediaStreamType) DeepCopyInto

func (in *MediaStreamType) DeepCopyInto(out *MediaStreamType)

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

type MediaType

type MediaType string

+kubebuilder:validation:Enum=media;metadata

const (
	MediaMediaType    MediaType = "media"
	MetadataMediaType MediaType = "metadata"
)

type MimeType

type MimeType string

type NATSConfig

type NATSConfig struct {
	// TODO: add auth methods
	URL base.URI `json:"url"`
}

func (*NATSConfig) DeepCopy

func (in *NATSConfig) DeepCopy() *NATSConfig

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

func (*NATSConfig) DeepCopyInto

func (in *NATSConfig) DeepCopyInto(out *NATSConfig)

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

type NamedMediaLocationReference

type NamedMediaLocationReference struct {
	// Name of the MediaLocation as used in the Workflow.
	// +kubebuilder:validation:Pattern="[a-zA-Z0-9-]+"
	Name string `json:"name"`

	// Reference to a MediaLocation of ClusterMediaLocation. Only references to these two kinds are allowed. A Workflow
	// can only reference MediaLocations from its own Namespace.
	Ref meta.LocalObjectReference `json:"ref"`
}

func (*NamedMediaLocationReference) DeepCopy

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

func (*NamedMediaLocationReference) DeepCopyInto

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

type OpencastAuthConfig

type OpencastAuthConfig struct {
	// Configures an HTTP basic authentication method.
	// +optional
	Basic *HTTPBasicAuth `json:"basic,omitempty"`
}

Configuration of an Opencast authentication method. Exactly one of these must be set. +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*OpencastAuthConfig) DeepCopy

func (in *OpencastAuthConfig) DeepCopy() *OpencastAuthConfig

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

func (*OpencastAuthConfig) DeepCopyInto

func (in *OpencastAuthConfig) DeepCopyInto(out *OpencastAuthConfig)

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

type OpencastEndpointOverwrites

type OpencastEndpointOverwrites struct {
	// Overwrite for the External API.
	// +kubebuilder:validation:Pattern="^(http|https)://.*$"
	// +optional
	ExternalAPI *string `json:"externalAPI,omitempty"`
}

Configuration for overwriting specific Opencast endpoints. These will be used instead of the endpoints given by the Opencast service registry.

func (*OpencastEndpointOverwrites) DeepCopy

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

func (*OpencastEndpointOverwrites) DeepCopyInto

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

type OpencastMediaLocation

type OpencastMediaLocation struct {
	// URL to the Opencast service registry. Usually this takes the form of "http://my.tld/services/available.json".
	// +kubebuilder:validation:Pattern="^(http|https)://.*$"
	ServiceRegistryURL string `json:"serviceRegistryURL"`

	// Overwrite specific Opencast API endpoints. These will be used instead of endpoints from the service registry.
	// +optional
	EndpointOverwrites *OpencastEndpointOverwrites `json:"endpointOverwrites,omitempty"`

	// List of additional HTTP headers that should be send with HTTP requests.
	// Note that it is up the the function implementation to honor these headers.
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	Headers []Header `json:"headers,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// List of additional HTTP query arguments that should be send with HTTP requests.
	// Note that it is up the the function implementation to honor these query arguments.
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	QueryArgs []QueryArg `json:"queryArgs,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// Opencast authentication configuration.
	Auth OpencastAuthConfig `json:"auth"`
}

Configuration of an Opencast media location. Opencast version 13.x and newer is required.

func (*OpencastMediaLocation) DeepCopy

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

func (*OpencastMediaLocation) DeepCopyInto

func (in *OpencastMediaLocation) DeepCopyInto(out *OpencastMediaLocation)

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

type QueryArg

type QueryArg struct {
	// Name of the query argument.
	Name string `json:"name"`

	// Value of the query argument. This field is required if valueFrom is not specified. If both are specified, value has
	// precedence.
	// +optional
	Value *string `json:"value,omitempty"`
}

Specifies a URL query argument.

func (*QueryArg) DeepCopy

func (in *QueryArg) DeepCopy() *QueryArg

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

func (*QueryArg) DeepCopyInto

func (in *QueryArg) DeepCopyInto(out *QueryArg)

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

type RISTEncryption

type RISTEncryption struct {
	// Encryption type.
	// +kubebuilder:validation:Enum=aes-128;aes-256
	Type string `json:"type"`

	// Reference to a Secret that contains the key "secret". Only references to Secrets are allowed. A MediaLocation can
	// only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration of RIST encryption

func (*RISTEncryption) DeepCopy

func (in *RISTEncryption) DeepCopy() *RISTEncryption

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

func (*RISTEncryption) DeepCopyInto

func (in *RISTEncryption) DeepCopyInto(out *RISTEncryption)

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

type RISTMediaLocation

type RISTMediaLocation struct {
	// RIST base URL. Media referencing this location are relative to this URL.
	// +kubebuilder:validation:Pattern="^rist://.*$"
	BaseURL string `json:"baseURL"`

	// RIST profile to use. The default is "main".
	// +kubebuilder:validation:Enum=simple;main;advanced
	// +kubebuilder:default="main"
	// +optional
	Profile *string `json:"profile,omitempty"`

	// Sets the buffer size. The maximum duration is 30s.
	// +optional
	BufferSize *metav1.Duration `json:"bufferSize,omitempty"`

	// RIST encryption configuration.
	// +optional
	Encryption *RISTEncryption `json:"encryption,omitempty"`
}

Configuration of a RIST media location.

func (*RISTMediaLocation) DeepCopy

func (in *RISTMediaLocation) DeepCopy() *RISTMediaLocation

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

func (*RISTMediaLocation) DeepCopyInto

func (in *RISTMediaLocation) DeepCopyInto(out *RISTMediaLocation)

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

type RTMPAuthConfig

type RTMPAuthConfig struct {
	// Configures an RTMP basic authentication method.
	// +optional
	Basic *RTMPBasicAuth `json:"basic,omitempty"`

	// Configures an RTMP streaming key authentication method. The streaming key will be used as RTMP playpath.
	// +optional
	StreamingKey *RTMPStreamingKeyAuth `json:"streamingKey,omitempty"`
}

Configuration of an RTMP authentication method. Multiple methods can be set. +kubebuilder:validation:MinProperties=1

func (*RTMPAuthConfig) DeepCopy

func (in *RTMPAuthConfig) DeepCopy() *RTMPAuthConfig

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

func (*RTMPAuthConfig) DeepCopyInto

func (in *RTMPAuthConfig) DeepCopyInto(out *RTMPAuthConfig)

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

type RTMPBasicAuth

type RTMPBasicAuth struct {
	// Reference to a Secret that contains the keys "username" and "password". Only references to Secrets are allowed. A
	// MediaLocation can only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration of an RTMP basic authentication method.

func (*RTMPBasicAuth) DeepCopy

func (in *RTMPBasicAuth) DeepCopy() *RTMPBasicAuth

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

func (*RTMPBasicAuth) DeepCopyInto

func (in *RTMPBasicAuth) DeepCopyInto(out *RTMPBasicAuth)

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

type RTMPMediaLocation

type RTMPMediaLocation struct {
	// RTMP base URL. Media referencing this location are relative to this URL.
	// +kubebuilder:validation:Pattern="^(rtmp|rtmpe|rtmps|rtmpt|rtmpte|rtmpts)://.*$"
	BaseURL string `json:"baseURL"`

	// The RTMP application name. This overwrites application names given through baseURL.
	// +optional
	App *string `json:"app,omitempty"`

	// List of RTMP query arguments that should be send with RTMP requests.
	// Note that it is up the the function implementation to honor these query arguments.
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	QueryArgs []QueryArg `json:"queryArgs,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// RTMP authentication configuration.
	// +optional
	Auth *RTMPAuthConfig `json:"auth,omitempty"`
}

Configuration of an RTMP media location.

func (*RTMPMediaLocation) DeepCopy

func (in *RTMPMediaLocation) DeepCopy() *RTMPMediaLocation

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

func (*RTMPMediaLocation) DeepCopyInto

func (in *RTMPMediaLocation) DeepCopyInto(out *RTMPMediaLocation)

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

type RTMPStreamingKeyAuth

type RTMPStreamingKeyAuth struct {
	// Reference to a Secret that contains the key "streamingKey". Only references to Secrets are allowed. A MediaLocation
	// can only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

func (*RTMPStreamingKeyAuth) DeepCopy

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

func (*RTMPStreamingKeyAuth) DeepCopyInto

func (in *RTMPStreamingKeyAuth) DeepCopyInto(out *RTMPStreamingKeyAuth)

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

type RTSPAuthConfig

type RTSPAuthConfig struct {
	// Configures an RTSP basic authentication method.
	// +optional
	Basic *RTSPBasicAuth `json:"basic,omitempty"`
}

Configuration of an RTSP authentication method. Exactly one of these must be set. +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*RTSPAuthConfig) DeepCopy

func (in *RTSPAuthConfig) DeepCopy() *RTSPAuthConfig

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

func (*RTSPAuthConfig) DeepCopyInto

func (in *RTSPAuthConfig) DeepCopyInto(out *RTSPAuthConfig)

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

type RTSPBasicAuth

type RTSPBasicAuth struct {
	// Reference to a Secret that contains the keys "username" and "password". Only references to Secrets are allowed. A
	// MediaLocation can only reference Secrets from its own Namespace.
	SecretRef meta.ConfigMapOrSecretReference `json:"secretRef"`
}

Configuration of an RTSP basic authentication method.

func (*RTSPBasicAuth) DeepCopy

func (in *RTSPBasicAuth) DeepCopy() *RTSPBasicAuth

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

func (*RTSPBasicAuth) DeepCopyInto

func (in *RTSPBasicAuth) DeepCopyInto(out *RTSPBasicAuth)

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

type RTSPMediaLocation

type RTSPMediaLocation struct {
	// RTSP base URL. Media referencing this location are relative to this URL.
	// +kubebuilder:validation:Pattern="^(rtsp|rtsps|rtspu)://.*$"
	BaseURL string `json:"baseURL"`

	// Forces a specific transport protocol. The default is "auto" which tries detecting the best transport protocol
	// automatically.
	// +kubebuilder:validation:Enum=auto;udp;tcp;udp_multicast;http;https
	// +kubebuilder:default="auto"
	// +optional
	TransportProtocol *string `json:"transportProtocol,omitempty"`

	// List of RTSP query arguments that should be send with RTSP requests.
	// Note that it is up the the function implementation to honor these query arguments.
	// +listType=map
	// +listMapKey=name
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	QueryArgs []QueryArg `json:"queryArgs,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// RTSP authentication configuration.
	// +optional
	Auth *RTSPAuthConfig `json:"auth,omitempty"`
}

Configuration of an RTSP media location.

func (*RTSPMediaLocation) DeepCopy

func (in *RTSPMediaLocation) DeepCopy() *RTSPMediaLocation

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

func (*RTSPMediaLocation) DeepCopyInto

func (in *RTSPMediaLocation) DeepCopyInto(out *RTSPMediaLocation)

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

type RemoteMediaProcessingEntity

type RemoteMediaProcessingEntity struct {
	// Kubeconfig that defines connection configuration.
	Kubeconfig Kubeconfig `json:"kubeconfig"`
}

Configuration of a remote Media Processing Entity (MPE).

func (*RemoteMediaProcessingEntity) DeepCopy

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

func (*RemoteMediaProcessingEntity) DeepCopyInto

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

type S3AuthConfig

type S3AuthConfig struct {
	// Configures an AWS authentication method.
	// +option
	AWS *AWSAuth `json:"aws"`
}

Configuration of an S3 authentication method. Exactly one of these must be set. +kubebuilder:validation:MinProperties=1 +kubebuilder:validation:MaxProperties=1

func (*S3AuthConfig) DeepCopy

func (in *S3AuthConfig) DeepCopy() *S3AuthConfig

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

func (*S3AuthConfig) DeepCopyInto

func (in *S3AuthConfig) DeepCopyInto(out *S3AuthConfig)

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

type S3MediaLocation

type S3MediaLocation struct {
	// Name of the S3 bucket.
	Bucket string `json:"bucket"`

	// Region of the S3 bucket.
	Region string `json:"region"`

	// S3 authentication configuration.
	Auth S3AuthConfig `json:"auth"`

	// Custom endpoint URL to send S3 requests to.
	// +optional
	EndpointURL string `json:"endpointURL,omitempty"`

	// Whether to use path-style URLs to access S3. By default virtual-hosted–style is used.
	// +kubebuilder:default=false
	// +optional
	UsePathStyle bool `json:"usePathStyle"`
}

Configuration of an S3 media location.

func (*S3MediaLocation) DeepCopy

func (in *S3MediaLocation) DeepCopy() *S3MediaLocation

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

func (*S3MediaLocation) DeepCopyInto

func (in *S3MediaLocation) DeepCopyInto(out *S3MediaLocation)

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

type Size

type Size int64

type SubtitleMediaStream

type SubtitleMediaStream struct {
	// +optional
	Language *Language `json:"language,omitempty"`
}

func (*SubtitleMediaStream) DeepCopy

func (in *SubtitleMediaStream) DeepCopy() *SubtitleMediaStream

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

func (*SubtitleMediaStream) DeepCopyInto

func (in *SubtitleMediaStream) DeepCopyInto(out *SubtitleMediaStream)

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.

func (*Task) Default

func (t *Task) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Task) SetupWebhookWithManager

func (t *Task) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Task) ValidateCreate

func (t *Task) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Task) ValidateDelete

func (t *Task) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Task) ValidateUpdate

func (t *Task) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

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 TaskPhase

type TaskPhase string

+kubebuilder:validation:Enum=Initializing;JobPending;Running;Succeeded;Failed

const (
	TaskPhaseInitializing TaskPhase = "Initializing"
	TaskPhaseJobPending   TaskPhase = "JobPending"
	TaskPhaseRunning      TaskPhase = "Running"
	TaskPhaseSucceeded    TaskPhase = "Succeeded"
	TaskPhaseFailed       TaskPhase = "Failed"
)

type TaskServiceAction

type TaskServiceAction struct {
	Name   string                 `json:"name"`
	Action string                 `json:"action"`
	Config *strobj.StringOrObject `json:"config"`
}

func (*TaskServiceAction) DeepCopy

func (in *TaskServiceAction) DeepCopy() *TaskServiceAction

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

func (*TaskServiceAction) DeepCopyInto

func (in *TaskServiceAction) DeepCopyInto(out *TaskServiceAction)

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

type TaskShimConfiguration

type TaskShimConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	TaskShimConfigurationSpec `json:",inline"`
}

TaskShimConfiguration defines the configuration for nagare media engine task-shim.

func (*TaskShimConfiguration) DeepCopy

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

func (*TaskShimConfiguration) DeepCopyInto

func (in *TaskShimConfiguration) DeepCopyInto(out *TaskShimConfiguration)

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

func (*TaskShimConfiguration) DeepCopyObject

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

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

func (*TaskShimConfiguration) Default

func (c *TaskShimConfiguration) Default()

func (*TaskShimConfiguration) Validate

func (c *TaskShimConfiguration) Validate() error

type TaskShimConfigurationSpec

type TaskShimConfigurationSpec struct {
	Webserver   WebserverConfiguration           `json:"webserver"`
	TaskService TaskShimTaskServiceConfiguration `json:"task"`
}

func (*TaskShimConfigurationSpec) DeepCopy

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

func (*TaskShimConfigurationSpec) DeepCopyInto

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

type TaskShimTaskServiceConfiguration

type TaskShimTaskServiceConfiguration struct {
	Actions         []TaskServiceAction `json:"actions"`
	OnCreateActions []TaskServiceAction `json:"onCreate"`
	OnUpdateActions []TaskServiceAction `json:"onUpdate"`
	OnDeleteActions []TaskServiceAction `json:"onDelete"`
}

func (*TaskShimTaskServiceConfiguration) DeepCopy

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

func (*TaskShimTaskServiceConfiguration) DeepCopyInto

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

type TaskSpec

type TaskSpec struct {
	// Reference to a TaskTemplate or ClusterTaskTemplate. Only references to these two kinds are allowed. A Task can only
	// reference TaskTemplates from its own Namespace.
	// +optional
	TaskTemplateRef *meta.LocalObjectReference `json:"taskTemplateRef,omitempty"`

	// Human readable description of this Task.
	// +optional
	HumanReadable *HumanReadableTaskDescription `json:"humanReadable,omitempty"`

	// Reference to a MediaProcessingEntity or ClusterMediaProcessingEntity. Only references to these two kinds are
	// allowed. A Task can only reference MediaProcessingEntities from its own Namespace. This field is required if no
	// mediaProcessingEntitySelector is specified. If both are specified, mediaProcessingEntityRef has precedence. Both
	// fields may be omitted if a TaskTemplate is used that specifies a MediaProcessingEntity.
	// +optional
	MediaProcessingEntityRef *meta.LocalObjectReference `json:"mediaProcessingEntityRef,omitempty"`

	// Label selector for a MediaProcessingEntity or ClusterMediaProcessingEntity. MediaProcessingEntity has precedence
	// over ClusterMediaProcessingEntity. If multiple Media Processing Entities are selected, the newest one is chosen.
	// This field is required if no mediaProcessingEntityRef is specified. If both are specified, mediaProcessingEntityRef
	// has precedence. Both fields may be omitted if a TaskTemplate is used that specifies a MediaProcessingEntity.
	// +optional
	MediaProcessingEntitySelector *metav1.LabelSelector `json:"mediaProcessingEntitySelector,omitempty"`

	// Reference to a Workflow. Only references to Workflow are allowed. A Task can only reference Workflow from its own
	// Namespace.
	WorkflowRef meta.LocalObjectReference `json:"workflowRef"`

	// Reference to a Function or ClusterFunction. Only references to these two kinds are allowed. A Task can only
	// reference Functions from its own Namespace. This field is required if no FunctionSelector is specified. If both are
	// specified, FunctionRef has precedence. Both fields may be omitted if a TaskTemplate is used that specifies a
	// Function.
	// +optional
	FunctionRef *meta.LocalObjectReference `json:"functionRef,omitempty"`

	// Label selector for a Function or ClusterFunction. Function has precedence over ClusterFunction. If multiple
	// Functions are selected, the Function with the newest version is chosen. This field is required if no FunctionRef is
	// specified. If both are specified, FunctionRef has precedence. Both fields may be omitted if a TaskTemplate is used
	// that specifies a Function.
	// +optional
	FunctionSelector *metav1.LabelSelector `json:"functionSelector,omitempty"`

	// Patches applied to the Job template description of the Function.
	//
	// Only these fields may be patched:
	// TODO: update white list
	// TODO: enforce limits
	// TODO: which fields should be patchable?
	// +optional
	TemplatePatches *batchv1.JobTemplateSpec `json:"templatePatches,omitempty"`

	// Policy for dealing with a failed Job resulting from this Task. Conditions for when a Job is considered as failure
	// are defined in the templates `jobFailurePolicy` field.
	// +optional
	JobFailurePolicy *JobFailurePolicy `json:"jobFailurePolicy,omitempty"`

	// Inputs of this task.
	// +optional
	Inputs []Media `json:"inputs"`

	// Outputs of this task.
	// +optional
	Outputs []Media `json:"outputs"`

	// Configuration values.
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

Specification of a 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 {
	// The status of this Task.
	// +optional
	Phase TaskPhase `json:"phase,omitempty"`

	// The latest available observations of an object's current state. When a Task fails, one of the conditions will have
	// type "Failed" and status true. When a Task is completed, one of the conditions will have type "Complete" and status
	// true.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=atomic
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// A human readable message indicating why the Task is in this condition.
	Message string `json:"message,omitempty"`

	// Represents time when the Task controller first started processing a Task. It is represented in RFC3339 form and is in
	// UTC.
	// +optional
	QueuedTime *metav1.Time `json:"queuedTime,omitempty"`

	// Represents time when the Task controller transitioned to the "running" phase. It is represented in RFC3339 form and
	// is in UTC.
	// +optional
	StartTime *metav1.Time `json:"startTime,omitempty"`

	// Represents time when the Task has ended processing (either failed or 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
	EndTime *metav1.Time `json:"endTime,omitempty"`

	// Reference to the selected MediaProcessingEntity.
	// +optional
	MediaProcessingEntityRef *meta.ObjectReference `json:"mediaProcessingEntityRef,omitempty"`

	// Reference to the selected Function.
	// +optional
	FunctionRef *meta.ObjectReference `json:"functionRef,omitempty"`

	// Reference to the Job.
	// +optional
	JobRef *meta.ExactObjectReference `json:"jobRef,omitempty"`
}

Status of a 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.

type TaskTemplate

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

	Spec TaskTemplateSpec `json:"spec,omitempty"`
}

TaskTemplate is the Schema for the tasktemplates API

func (*TaskTemplate) DeepCopy

func (in *TaskTemplate) DeepCopy() *TaskTemplate

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

func (*TaskTemplate) DeepCopyInto

func (in *TaskTemplate) DeepCopyInto(out *TaskTemplate)

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

func (*TaskTemplate) DeepCopyObject

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

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

func (*TaskTemplate) Default

func (tt *TaskTemplate) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*TaskTemplate) SetupWebhookWithManager

func (tt *TaskTemplate) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*TaskTemplate) ValidateCreate

func (tt *TaskTemplate) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*TaskTemplate) ValidateDelete

func (tt *TaskTemplate) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*TaskTemplate) ValidateUpdate

func (tt *TaskTemplate) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type TaskTemplateList

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

TaskTemplateList contains a list of TaskTemplate

func (*TaskTemplateList) DeepCopy

func (in *TaskTemplateList) DeepCopy() *TaskTemplateList

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

func (*TaskTemplateList) DeepCopyInto

func (in *TaskTemplateList) DeepCopyInto(out *TaskTemplateList)

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

func (*TaskTemplateList) DeepCopyObject

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

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

type TaskTemplateSpec

type TaskTemplateSpec struct {
	// Human readable description of this task.
	// +optional
	HumanReadable *HumanReadableTaskDescription `json:"humanReadable,omitempty"`

	// Reference to a MediaProcessingEntity or ClusterMediaProcessingEntity. Only references to these two kinds are
	// allowed. A TaskTemplate can only reference MediaProcessingEntities from its own Namespace.
	// +optional
	MediaProcessingEntityRef *meta.LocalObjectReference `json:"mediaProcessingEntityRef,omitempty"`

	// Label selector for a MediaProcessingEntity or ClusterMediaProcessingEntity. MediaProcessingEntity has precedence
	// over ClusterMediaProcessingEntity. If multiple Media Processing Entities are selected, the newest one is chosen.
	// +optional
	MediaProcessingEntitySelector *metav1.LabelSelector `json:"mediaProcessingEntitySelector,omitempty"`

	// Reference to a Function or ClusterFunction. Only references to these two kinds are allowed. A TaskTemplate can only
	// reference Functions from its own Namespace.
	// +optional
	FunctionRef *meta.LocalObjectReference `json:"functionRef,omitempty"`

	// Label selector for a Function or ClusterFunction. Function has precedence over ClusterFunction. If multiple
	// Functions are selected, the Function with the newest version is chosen.
	// +optional
	FunctionSelector *metav1.LabelSelector `json:"functionSelector,omitempty"`

	// Patches applied to the Job template description of the Function.
	//
	// Only these fields may be patched:
	// TODO: update white list
	// TODO: enforce limits
	// TODO: which fields should be patchable?
	// +optional
	TemplatePatches *batchv1.JobTemplateSpec `json:"templatePatches,omitempty"`

	// Policy for dealing with a failed Job resulting from this Task. Conditions for when a Job is considered as failure
	// are defined in the templates `jobFailurePolicy` field.
	// +optional
	JobFailurePolicy *JobFailurePolicy `json:"jobFailurePolicy,omitempty"`

	// Configuration values.
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

TaskTemplateSpec defines the desired state of TaskTemplate

func (*TaskTemplateSpec) DeepCopy

func (in *TaskTemplateSpec) DeepCopy() *TaskTemplateSpec

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

func (*TaskTemplateSpec) DeepCopyInto

func (in *TaskTemplateSpec) DeepCopyInto(out *TaskTemplateSpec)

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

type VideoColor

type VideoColor struct {
	// +optional
	Model *string `json:"model,omitempty"`

	// +optional
	ChromaSubsampling *ChromaSubsampling `json:"chromaSubsampling,omitempty"`

	// +kubebuilder:default=limited
	// +optional
	Range *ColorRange `json:"range,omitempty"`

	// +optional
	Space *string `json:"space,omitempty"`

	// +optional
	Primaries *string `json:"primaries,omitempty"`

	// +optional
	Transfer *string `json:"transfer,omitempty"`
}

func (*VideoColor) DeepCopy

func (in *VideoColor) DeepCopy() *VideoColor

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

func (*VideoColor) DeepCopyInto

func (in *VideoColor) DeepCopyInto(out *VideoColor)

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

type VideoMediaStream

type VideoMediaStream struct {
	// +optional
	BitDepth *uint8 `json:"bitDepth,omitempty"`

	// +optional
	Resolution *VideoResolution `json:"resolution,omitempty"`

	// +optional
	FrameRate *FrameRate `json:"frameRate,omitempty"`

	// +kubebuilder:default=unknown
	// +optional
	FieldOrder *FieldOrder `json:"fieldOrder,omitempty"`

	// +optional
	Color *VideoColor `json:"color,omitempty"`
}

func (*VideoMediaStream) DeepCopy

func (in *VideoMediaStream) DeepCopy() *VideoMediaStream

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

func (*VideoMediaStream) DeepCopyInto

func (in *VideoMediaStream) DeepCopyInto(out *VideoMediaStream)

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

type VideoResolution

type VideoResolution struct {
	Width int32 `json:"width"`

	Hight int32 `json:"hight"`

	// +kubebuilder:default=1.0
	// +optional
	SAR *float32 `json:"sar,omitempty"`
}

func (*VideoResolution) DeepCopy

func (in *VideoResolution) DeepCopy() *VideoResolution

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

func (*VideoResolution) DeepCopyInto

func (in *VideoResolution) DeepCopyInto(out *VideoResolution)

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

type WebserverConfiguration

type WebserverConfiguration struct {
	// +optional
	BindAddress *string `json:"bindAddress,omitempty"`

	// +optional
	ReadTimeout *metav1.Duration `json:"readTimeout,omitempty"`

	// +optional
	WriteTimeout *metav1.Duration `json:"writeTimeout,omitempty"`

	// +optional
	IdleTimeout *metav1.Duration `json:"idleTimeout,omitempty"`

	// +kubebuilder:validation:Enum=tcp;tcp4;tcp6
	// +optional
	Network *string `json:"network,omitempty"`

	// +optional
	PublicBaseURL *string `json:"publicBaseURL,omitempty"`
}

func (*WebserverConfiguration) DeepCopy

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

func (*WebserverConfiguration) DeepCopyInto

func (in *WebserverConfiguration) DeepCopyInto(out *WebserverConfiguration)

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

type Workflow

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

	Spec   WorkflowSpec   `json:"spec,omitempty"`
	Status WorkflowStatus `json:"status,omitempty"`
}

Workflow is the Schema for the workflows API

func (*Workflow) DeepCopy

func (in *Workflow) DeepCopy() *Workflow

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

func (*Workflow) DeepCopyInto

func (in *Workflow) DeepCopyInto(out *Workflow)

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

func (*Workflow) DeepCopyObject

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

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

func (*Workflow) Default

func (w *Workflow) Default()

Default implements webhook.Defaulter so a webhook will be registered for the type

func (*Workflow) SetupWebhookWithManager

func (w *Workflow) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*Workflow) ValidateCreate

func (w *Workflow) ValidateCreate() (admission.Warnings, error)

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*Workflow) ValidateDelete

func (w *Workflow) ValidateDelete() (admission.Warnings, error)

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*Workflow) ValidateUpdate

func (w *Workflow) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type WorkflowList

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

WorkflowList contains a list of Workflow

func (*WorkflowList) DeepCopy

func (in *WorkflowList) DeepCopy() *WorkflowList

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

func (*WorkflowList) DeepCopyInto

func (in *WorkflowList) DeepCopyInto(out *WorkflowList)

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

func (*WorkflowList) DeepCopyObject

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

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

type WorkflowManagerConfiguration

type WorkflowManagerConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	// WorkflowManagerConfigurationSpec returns the configurations for controllers
	// TODO: migrate to custom struct
	ctrlCfg.ControllerManagerConfigurationSpec `json:",inline"`

	// Duration to wait after all Tasks of a Workflow terminated to mark the Workflow as successful. This helps mitigate
	// race conditions and should not be too low. Defaults to "20s".
	// +optional
	WorkflowTerminationWaitingDuration *metav1.Duration `json:"workflowTerminationWaitingDuration,omitempty"`

	// Duration before marking a remove MediaProcessingEntity as ready. Local MediaProcessingEntities are marked as ready
	// immediately. Defaults to "5s".
	// +optional
	RemoteMediaProcessingEntityStabilizingDuration *metav1.Duration `json:"remoteMediaProcessingEntityStabilizingDuration,omitempty"`

	// NATS connection configuration.
	NATS NATSConfig `json:"nats"`
}

WorkflowManagerConfiguration defines the configuration for nagare media engine controller manager.

func (*WorkflowManagerConfiguration) DeepCopy

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

func (*WorkflowManagerConfiguration) DeepCopyInto

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

func (*WorkflowManagerConfiguration) DeepCopyObject

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

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

func (*WorkflowManagerConfiguration) Default

func (c *WorkflowManagerConfiguration) Default()

func (*WorkflowManagerConfiguration) Validate

func (c *WorkflowManagerConfiguration) Validate() error

type WorkflowManagerHelperConfiguration

type WorkflowManagerHelperConfiguration struct {
	metav1.TypeMeta `json:",inline"`

	WorkflowManagerHelperConfigurationSpec `json:",inline"`
}

WorkflowManagerHelperConfiguration defines the configuration for nagare media engine workflow-manager-helper.

func (*WorkflowManagerHelperConfiguration) DeepCopy

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

func (*WorkflowManagerHelperConfiguration) DeepCopyInto

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

func (*WorkflowManagerHelperConfiguration) DeepCopyObject

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

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

func (*WorkflowManagerHelperConfiguration) Default

func (*WorkflowManagerHelperConfiguration) Validate

type WorkflowManagerHelperConfigurationSpec

type WorkflowManagerHelperConfigurationSpec struct {
	TaskController    WorkflowManagerHelperTaskControllerConfiguration    `json:"task"`
	ReportsController WorkflowManagerHelperReportsControllerConfiguration `json:"reports"`
}

func (*WorkflowManagerHelperConfigurationSpec) DeepCopy

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

func (*WorkflowManagerHelperConfigurationSpec) DeepCopyInto

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

type WorkflowManagerHelperData

type WorkflowManagerHelperData struct {
	metav1.TypeMeta `json:",inline"`

	WorkflowManagerHelperDataSpec `json:",inline"`
}

WorkflowManagerHelperData defines the data input for nagare media engine workflow-manager-helper.

func (*WorkflowManagerHelperData) ConvertToNBMPTask

func (d *WorkflowManagerHelperData) ConvertToNBMPTask(task *nbmpv2.Task) error

func (*WorkflowManagerHelperData) DeepCopy

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

func (*WorkflowManagerHelperData) DeepCopyInto

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

func (*WorkflowManagerHelperData) DeepCopyObject

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

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

type WorkflowManagerHelperDataSpec

type WorkflowManagerHelperDataSpec struct {
	Workflow       WorkflowManagerHelperDataWorkflow `json:"workflow"`
	Task           WorkflowManagerHelperDataTask     `json:"task"`
	MediaLocations map[string]MediaLocationSpec      `json:"mediaLocations"`
	System         WorkflowManagerHelperDataSystem   `json:"system"`
}

func (*WorkflowManagerHelperDataSpec) DeepCopy

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

func (*WorkflowManagerHelperDataSpec) DeepCopyInto

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

type WorkflowManagerHelperDataSystem

type WorkflowManagerHelperDataSystem struct {
	NATS NATSConfig `json:"nats"`
}

func (*WorkflowManagerHelperDataSystem) DeepCopy

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

func (*WorkflowManagerHelperDataSystem) DeepCopyInto

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

type WorkflowManagerHelperDataTask

type WorkflowManagerHelperDataTask struct {
	ID string `json:"id"`

	// +optional
	HumanReadable *HumanReadableTaskDescription `json:"humanReadable,omitempty"`

	// +optional
	Inputs []Media `json:"inputs"`

	// +optional
	Outputs []Media `json:"outputs"`

	// +optional
	Config map[string]string `json:"config,omitempty"`
}

func (*WorkflowManagerHelperDataTask) DeepCopy

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

func (*WorkflowManagerHelperDataTask) DeepCopyInto

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

type WorkflowManagerHelperDataWorkflow

type WorkflowManagerHelperDataWorkflow struct {
	ID string `json:"id"`

	// +optional
	HumanReadable *HumanReadableWorkflowDescription `json:"humanReadable,omitempty"`

	// +optional
	Config map[string]string `json:"config,omitempty"`
}

func (*WorkflowManagerHelperDataWorkflow) DeepCopy

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

func (*WorkflowManagerHelperDataWorkflow) DeepCopyInto

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

type WorkflowManagerHelperReportsControllerConfiguration

type WorkflowManagerHelperReportsControllerConfiguration struct {
	Webserver WebserverConfiguration `json:"webserver"`
}

func (*WorkflowManagerHelperReportsControllerConfiguration) DeepCopy

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

func (*WorkflowManagerHelperReportsControllerConfiguration) DeepCopyInto

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

type WorkflowManagerHelperTaskControllerConfiguration

type WorkflowManagerHelperTaskControllerConfiguration struct {
	TaskAPI         string           `json:"taskAPI"`
	RequestTimeout  *metav1.Duration `json:"requestTimeout"`
	ObservePeriode  *metav1.Duration `json:"observePeriode"`
	MaxFailedProbes *int             `json:"maxFailedProbes"`
}

func (*WorkflowManagerHelperTaskControllerConfiguration) DeepCopy

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

func (*WorkflowManagerHelperTaskControllerConfiguration) DeepCopyInto

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

type WorkflowPhase

type WorkflowPhase string

+kubebuilder:validation:Enum=Initializing;Running;AwaitingCompletion;Succeeded;Failed

const (
	WorkflowPhaseInitializing       WorkflowPhase = "Initializing"
	WorkflowPhaseRunning            WorkflowPhase = "Running"
	WorkflowPhaseAwaitingCompletion WorkflowPhase = "AwaitingCompletion"
	WorkflowPhaseSucceeded          WorkflowPhase = "Succeeded"
	WorkflowPhaseFailed             WorkflowPhase = "Failed"
)

type WorkflowSpec

type WorkflowSpec struct {
	// Human readable description of this Workflow.
	// +optional
	HumanReadable *HumanReadableWorkflowDescription `json:"humanReadable,omitempty"`

	// Named references to MediaLocations.
	// +listMapKey=name
	// +listType=map
	// +patchMergeKey=name
	// +patchStrategy=merge,retainKeys
	// +optional
	MediaLocations []NamedMediaLocationReference `json:"mediaLocations,omitempty" patchStrategy:"merge,retainKeys" patchMergeKey:"name"`

	// Inputs of this workflow.
	// +optional
	Inputs []Media `json:"inputs"`

	// Outputs of this workflow.
	// +optional
	Outputs []Media `json:"outputs"`

	// Workflow configuration values.
	// +optional
	Config map[string]string `json:"config,omitempty"`
}

Specification of a Workflow.

func (*WorkflowSpec) DeepCopy

func (in *WorkflowSpec) DeepCopy() *WorkflowSpec

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

func (*WorkflowSpec) DeepCopyInto

func (in *WorkflowSpec) DeepCopyInto(out *WorkflowSpec)

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

type WorkflowStatus

type WorkflowStatus struct {
	// The status of this Workflow.
	// +optional
	Phase WorkflowPhase `json:"phase,omitempty"`

	// The latest available observations of an object's current state. When a Workflow fails, one of the conditions will
	// have type "Failed" and status true. When a Workflow is completed, one of the conditions will have type "Complete"
	// and status true.
	// +optional
	// +patchMergeKey=type
	// +patchStrategy=merge
	// +listType=atomic
	Conditions []Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`

	// A human readable message indicating why the Workflow is in this condition.
	Message string `json:"message,omitempty"`

	// Represents time when the Workflow controller first started processing a Workflow. It is represented in RFC3339 form
	// and is in UTC.
	// +optional
	QueuedTime *metav1.Time `json:"queuedTime,omitempty"`

	// Represents time when the Workflow controller transitioned to the "running" phase. It is represented in RFC3339 form
	// and is in UTC.
	// +optional
	StartTime *metav1.Time `json:"startTime,omitempty"`

	// Represents time when the Workflow has ended processing (either failed or 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
	EndTime *metav1.Time `json:"endTime,omitempty"`

	// The number of total Tasks.
	// +optional
	Total *int32 `json:"total,omitempty"`

	// The number of Tasks which reached phase "Initializing", "JobPending" or "Running".
	// +optional
	Active *int32 `json:"active,omitempty"`

	// The number of Tasks which reached phase "Succeeded".
	// +optional
	Succeeded *int32 `json:"succeeded,omitempty"`

	// The number of Tasks which reached phase "Failed".
	// +optional
	Failed *int32 `json:"failed,omitempty"`
}

Status of a Workflow.

func (*WorkflowStatus) DeepCopy

func (in *WorkflowStatus) DeepCopy() *WorkflowStatus

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

func (*WorkflowStatus) DeepCopyInto

func (in *WorkflowStatus) DeepCopyInto(out *WorkflowStatus)

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