v1alpha1

package
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Nov 12, 2024 License: Apache-2.0 Imports: 18 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the nodecore v1alpha1 API group +kubebuilder:object:generate=true +groupName=nodecore.fluidos.eu

Index

Constants

This section is empty.

Variables

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

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

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

Functions

func ParseK8SliceSelector added in v0.1.0

func ParseK8SliceSelector(k8SliceSelector *K8SliceSelector) (map[FilterType]interface{}, error)

ParseK8SliceSelector parses the K8SliceSelector into a map of filters.

func ParseServiceSelector added in v0.1.0

func ParseServiceSelector(serviceSelector *ServiceSelector) (map[FilterType]interface{}, error)

ParseServiceSelector parses the K8SliceSelector into a map of filters.

func ValidateAndExtractManifests added in v0.1.0

func ValidateAndExtractManifests(templates []ServiceTemplate) ([]*unstructured.Unstructured, error)

ValidateAndExtractManifests extracts manifests from ServiceTemplateData and validates them.

Types

type Allocation

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

	Spec   AllocationSpec   `json:"spec,omitempty"`
	Status AllocationStatus `json:"status,omitempty"`
}

Allocation is the Schema for the allocations API.

func (*Allocation) DeepCopy

func (in *Allocation) DeepCopy() *Allocation

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

func (*Allocation) DeepCopyInto

func (in *Allocation) DeepCopyInto(out *Allocation)

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

func (*Allocation) DeepCopyObject

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

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

func (*Allocation) SetResourceRef added in v0.1.0

func (allocation *Allocation) SetResourceRef(resourceRef GenericRef)

SetResourceRef sets the resource reference of the allocation.

func (*Allocation) SetStatus added in v0.0.2

func (allocation *Allocation) SetStatus(status Status, msg string)

SetStatus sets the status of the allocation.

type AllocationList

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

AllocationList contains a list of Allocation.

func (*AllocationList) DeepCopy

func (in *AllocationList) DeepCopy() *AllocationList

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

func (*AllocationList) DeepCopyInto

func (in *AllocationList) DeepCopyInto(out *AllocationList)

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

func (*AllocationList) DeepCopyObject

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

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

type AllocationSpec

type AllocationSpec struct {
	// This flag indicates if the allocation is a forwarding allocation
	// if true it represents only a placeholder to undertand that the cluster is just a proxy to another cluster
	Forwarding bool `json:"forwarding,omitempty"`

	// This is the reference to the contract related to the allocation
	Contract GenericRef `json:"contract,omitempty"`
}

AllocationSpec defines the desired state of Allocation.

func (*AllocationSpec) DeepCopy

func (in *AllocationSpec) DeepCopy() *AllocationSpec

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

func (*AllocationSpec) DeepCopyInto

func (in *AllocationSpec) DeepCopyInto(out *AllocationSpec)

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

type AllocationStatus

type AllocationStatus struct {

	// This allow to know the current status of the allocation
	Status Status `json:"status,omitempty"`

	// The last time the allocation was updated
	LastUpdateTime string `json:"lastUpdateTime,omitempty"`

	// Message contains the last message of the allocation
	Message string `json:"message,omitempty"`

	// Related resource of the allocation
	ResourceRef GenericRef `json:"resourceRef,omitempty"`
}

AllocationStatus defines the observed state of Allocation.

func (*AllocationStatus) DeepCopy

func (in *AllocationStatus) DeepCopy() *AllocationStatus

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

func (*AllocationStatus) DeepCopyInto

func (in *AllocationStatus) DeepCopyInto(out *AllocationStatus)

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

type CIDRSelector added in v0.1.0

type CIDRSelector string

CIDRSelector represents the CIDR selector of a SourceDestination.

type CarbonFootprint added in v0.1.0

type CarbonFootprint struct {
	Embodied    int   `json:"embodied"`
	Operational []int `json:"operational"`
}

CarbonFootprint represents the carbon footprint of a Flavor.

func (*CarbonFootprint) DeepCopy added in v0.1.0

func (in *CarbonFootprint) DeepCopy() *CarbonFootprint

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

func (*CarbonFootprint) DeepCopyInto added in v0.1.0

func (in *CarbonFootprint) DeepCopyInto(out *CarbonFootprint)

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

type Configuration added in v0.1.0

type Configuration struct {
	// Identifier is the identifier of the configuration.
	ConfigurationTypeIdentifier FlavorTypeIdentifier `json:"type"`
	// ConfigurationData is the data of the configuration.
	ConfigurationData runtime.RawExtension `json:"data"`
}

Configuration represents the configuration of a FLUIDOS Node.

func (*Configuration) DeepCopy added in v0.1.0

func (in *Configuration) DeepCopy() *Configuration

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

func (*Configuration) DeepCopyInto added in v0.1.0

func (in *Configuration) DeepCopyInto(out *Configuration)

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

type FilterType added in v0.1.0

type FilterType string

FilterType is the type of filter that can be applied to a resource quantity.

const (
	// TypeMatchFilter is the name of the filter that matches a specific value.
	TypeMatchFilter FilterType = "Match"
	// TypeRangeFilter is the name of the filter that selects resources within a range.
	TypeRangeFilter FilterType = "Range"
)

func ParseResourceQuantityFilter added in v0.1.0

func ParseResourceQuantityFilter(rqf *ResourceQuantityFilter) (FilterType, interface{}, error)

ParseResourceQuantityFilter parses a ResourceQuantityFilter into a FilterType and the corresponding filter data. It also provides a set of validation rules for the filter data. Particularly for the ResourceRangeSelector, it checks that at least one of min or max is set and that min is less than max if both are set.

func ParseStringFilter added in v0.1.0

func ParseStringFilter(sf *StringFilter) (FilterType, interface{}, error)

ParseStringFilter parses a StringFilter into a FilterType and the corresponding filter data. It also provides a set of validation rules for the filter data. Particularly for the StringRangeSelector, it checks that regex is set.

type Flavor added in v0.1.0

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

	Spec   FlavorSpec   `json:"spec,omitempty"`
	Status FlavorStatus `json:"status,omitempty"`
}

Flavor is the Schema for the flavors API. +kubebuilder:printcolumn:name="Provider ID",type=string,JSONPath=`.spec.providerID` +kubebuilder:printcolumn:name="Type",type=string,JSONPath=`.spec.flavorType.typeIdentifier` +kubebuilder:printcolumn:name="Owner Name",type=string,priority=1,JSONPath=`.spec.owner.nodeID` +kubebuilder:printcolumn:name="Available",type=boolean,JSONPath=`.spec.availability` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:printcolumn:name="Kubernetes Node Owner",type=string,JSONPath=`.metadata.ownerReferences[0].name` +kubebuilder:resource:shortName=fl

func (*Flavor) DeepCopy added in v0.1.0

func (in *Flavor) DeepCopy() *Flavor

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

func (*Flavor) DeepCopyInto added in v0.1.0

func (in *Flavor) DeepCopyInto(out *Flavor)

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

func (*Flavor) DeepCopyObject added in v0.1.0

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

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

func (*Flavor) Default added in v0.1.0

func (r *Flavor) Default()

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

func (*Flavor) SetupWebhookWithManager added in v0.1.0

func (r *Flavor) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager setups the webhooks for the Flavor resource with the manager.

func (*Flavor) ValidateCreate added in v0.1.0

func (r *Flavor) ValidateCreate() (admission.Warnings, error)

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

func (*Flavor) ValidateDelete added in v0.1.0

func (r *Flavor) ValidateDelete() (admission.Warnings, error)

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

func (*Flavor) ValidateUpdate added in v0.1.0

func (r *Flavor) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type FlavorList added in v0.1.0

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

FlavorList contains a list of Flavor.

func (*FlavorList) DeepCopy added in v0.1.0

func (in *FlavorList) DeepCopy() *FlavorList

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

func (*FlavorList) DeepCopyInto added in v0.1.0

func (in *FlavorList) DeepCopyInto(out *FlavorList)

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

func (*FlavorList) DeepCopyObject added in v0.1.0

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

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

type FlavorSpec added in v0.1.0

type FlavorSpec struct {

	// ProviderID is the ID of the FLUIDOS Node ID that provides this Flavor.
	// It can correspond to ID of the owner FLUIDOS Node or to the ID of a FLUIDOS SuperNode that represents the entry point to a FLUIDOS Domain
	ProviderID string `json:"providerID"`

	// FlavorType is the type of the Flavor.
	FlavorType FlavorType `json:"flavorType"`

	// Owner contains the identity info of the owner of the Flavor. It can be unknown if the Flavor is provided by a reseller or a third party.
	Owner NodeIdentity `json:"owner"`

	// Price contains the price model of the Flavor.
	Price Price `json:"price"`

	// Availability is the availability flag of the Flavor.
	Availability bool `json:"availability"`

	// NetworkPropertyType is the network property type of the Flavor.
	NetworkPropertyType string `json:"networkPropertyType,omitempty"`

	// Location is the location of the Flavor.
	Location *Location `json:"location,omitempty"`
}

FlavorSpec defines the desired state of Flavor.

func (*FlavorSpec) DeepCopy added in v0.1.0

func (in *FlavorSpec) DeepCopy() *FlavorSpec

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

func (*FlavorSpec) DeepCopyInto added in v0.1.0

func (in *FlavorSpec) DeepCopyInto(out *FlavorSpec)

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

type FlavorStatus added in v0.1.0

type FlavorStatus struct {

	// This field represents the expiration time of the Flavor. It is used to determine when the Flavor is no longer valid.
	ExpirationTime string `json:"expirationTime"`

	// This field represents the creation time of the Flavor.
	CreationTime string `json:"creationTime"`

	// This field represents the last update time of the Flavor.
	LastUpdateTime string `json:"lastUpdateTime"`
}

FlavorStatus defines the observed state of Flavor.

func (*FlavorStatus) DeepCopy added in v0.1.0

func (in *FlavorStatus) DeepCopy() *FlavorStatus

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

func (*FlavorStatus) DeepCopyInto added in v0.1.0

func (in *FlavorStatus) DeepCopyInto(out *FlavorStatus)

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

type FlavorType added in v0.1.0

type FlavorType struct {
	// Type of the Flavor.
	TypeIdentifier FlavorTypeIdentifier `json:"typeIdentifier"`
	// Raw is the raw value of the Flavor.
	TypeData runtime.RawExtension `json:"typeData"`
}

FlavorType represents the type of a Flavor.

func (*FlavorType) DeepCopy added in v0.1.0

func (in *FlavorType) DeepCopy() *FlavorType

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

func (*FlavorType) DeepCopyInto added in v0.1.0

func (in *FlavorType) DeepCopyInto(out *FlavorType)

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

type FlavorTypeIdentifier added in v0.1.0

type FlavorTypeIdentifier string

FlavorTypeIdentifier is the identifier of a Flavor type.

const (
	// TypeK8Slice is the type of a K8Slice Flavor.
	TypeK8Slice FlavorTypeIdentifier = "K8Slice"
	// TypeVM is the type of a VM Flavor.
	TypeVM FlavorTypeIdentifier = "VM"
	// TypeService is the type of a Service Flavor.
	TypeService FlavorTypeIdentifier = "Service"
	// TypeSensor is the type of a Sensor Flavor.
	TypeSensor FlavorTypeIdentifier = "Sensor"
)

func ParseConfiguration added in v0.1.0

func ParseConfiguration(configuration *Configuration, flavor *Flavor) (FlavorTypeIdentifier, interface{}, error)

ParseConfiguration parses the configuration data into the correct type. Returns the FlavorTypeIdentifier, aka the ConfigurationTypeIdentifier and the configuration data.

func ParseFlavorType added in v0.1.0

func ParseFlavorType(flavor *Flavor) (FlavorTypeIdentifier, interface{}, error)

ParseFlavorType parses a Flavor into a the type and the unmarshalled raw value.

func ParseSolverSelector added in v0.1.0

func ParseSolverSelector(s *Selector) (FlavorTypeIdentifier, interface{}, error)

ParseSolverSelector is a utility function that extracts the SolverTypeIdentifier and the SolverTypeData from the Solver. It provides a set of validation for nested data, so the nested filters, if present, are validated as well. ATTENTION: This function can return a nil interface{} if the SolverTypeData is not present.

type GPU added in v0.1.0

type GPU struct {
	// Model of the GPU
	Model string `json:"model"`
	// Number of GPU cores
	Cores resource.Quantity `json:"cores"`
	// Memory of the GPU
	Memory resource.Quantity `json:"memory"`
}

GPU represents the GPU characteristics of a K8Slice Flavor.

func (*GPU) DeepCopy added in v0.1.0

func (in *GPU) DeepCopy() *GPU

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

func (*GPU) DeepCopyInto added in v0.1.0

func (in *GPU) DeepCopyInto(out *GPU)

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

type GenericRef

type GenericRef struct {
	// The name of the resource to be referenced.
	Name string `json:"name,omitempty"`

	// The namespace containing the resource to be referenced. It should be left
	// empty in case of cluster-wide resources.
	Namespace string `json:"namespace,omitempty"`

	// The API version of the resource to be referenced.
	APIVersion string `json:"apiVersion,omitempty"`

	// The kind of the resource to be referenced.
	Kind string `json:"kind,omitempty"`
}

GenericRef represents a reference to a generic Kubernetes resource, and it is composed of the resource name and (optionally) its namespace.

func (*GenericRef) DeepCopy

func (in *GenericRef) DeepCopy() *GenericRef

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

func (*GenericRef) DeepCopyInto

func (in *GenericRef) DeepCopyInto(out *GenericRef)

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

func (*GenericRef) String added in v0.1.0

func (g *GenericRef) String() string

type HostingPolicy added in v0.1.0

type HostingPolicy string

HostingPolicy represents the hosting policy chosen for the service.

const (
	// HostingPolicyProvider represents the hosting policy where the service will be hosted by a provider.
	HostingPolicyProvider HostingPolicy = "Provider"
	// HostingPolicyConsumer represents the hosting policy where the service will be hosted by a consumer.
	HostingPolicyConsumer HostingPolicy = "Consumer"
	// HostingPolicyShared represents the hosting policy where the service can be hosted by both provider and consumer
	// and the exact hosting policy is not defined.
	HostingPolicyShared HostingPolicy = "Shared"
)

type K8Slice added in v0.1.0

type K8Slice struct {
	// Characteristics of the K8Slice Flavor
	Characteristics K8SliceCharacteristics `json:"characteristics"`
	// Properties of the K8Slice Flavor
	Properties Properties `json:"properties"`
	// Policies of the K8Slice Flavor
	Policies Policies `json:"policies"`
}

K8Slice represents a K8Slice Flavor.

func ParseK8SliceFlavor added in v0.1.0

func ParseK8SliceFlavor(flavorType FlavorType) (*K8Slice, error)

ParseK8SliceFlavor parses the K8Slice Flavor.

func (*K8Slice) DeepCopy added in v0.1.0

func (in *K8Slice) DeepCopy() *K8Slice

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

func (*K8Slice) DeepCopyInto added in v0.1.0

func (in *K8Slice) DeepCopyInto(out *K8Slice)

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

func (*K8Slice) GetFlavorType added in v0.1.0

func (k8s *K8Slice) GetFlavorType() FlavorTypeIdentifier

GetFlavorType returns the type of the Flavor.

type K8SliceCharacteristics added in v0.1.0

type K8SliceCharacteristics struct {
	// Architecture is the architecture of the K8Slice Flavor.
	Architecture string `json:"architecture"`
	// CPU is the number of CPU cores of the K8Slice Flavor.
	CPU resource.Quantity `json:"cpu"`
	// Memory is the amount of RAM of the K8Slice Flavor.
	Memory resource.Quantity `json:"memory"`
	// Pods is the maximum number of pods schedulable on this K8Slice Flavor.
	Pods resource.Quantity `json:"pods"`
	// GPU is the number of GPU cores of the K8Slice Flavor.
	Gpu *GPU `json:"gpu,omitempty"`
	// Storage is the amount of storage offered by this K8Slice Flavor.
	Storage *resource.Quantity `json:"storage,omitempty"`
}

K8SliceCharacteristics represents the characteristics of a K8Slice Flavor, such as the CPU, RAM, and storage.

func (*K8SliceCharacteristics) DeepCopy added in v0.1.0

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

func (*K8SliceCharacteristics) DeepCopyInto added in v0.1.0

func (in *K8SliceCharacteristics) DeepCopyInto(out *K8SliceCharacteristics)

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

type K8SliceConfiguration added in v0.1.0

type K8SliceConfiguration struct {
	// CPU is the CPU of the K8Slice partition.
	CPU resource.Quantity `json:"cpu"`
	// Memory is the Memory of the K8Slice partition.
	Memory resource.Quantity `json:"memory"`
	// Pods is the Pods of the K8Slice partition.
	Pods resource.Quantity `json:"pods"`
	// Gpu is the GPU of the K8Slice partition.
	Gpu *GPU `json:"gpu,omitempty"`
	// Storage is the Storage of the K8Slice partition.
	Storage *resource.Quantity `json:"storage,omitempty"`
}

K8SliceConfiguration is the partition of the flavor K8Slice.

func (*K8SliceConfiguration) DeepCopy added in v0.1.0

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

func (*K8SliceConfiguration) DeepCopyInto added in v0.1.0

func (in *K8SliceConfiguration) DeepCopyInto(out *K8SliceConfiguration)

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

type K8SliceSelector added in v0.1.0

type K8SliceSelector struct {
	// ArchitectureFilter is the Architecture filter of the K8SliceSelector.
	ArchitectureFilter *StringFilter `json:"architectureFilter,omitempty"`

	// CPUFilter is the CPU filter of the K8SliceSelector.
	CPUFilter *ResourceQuantityFilter `json:"cpuFilter,omitempty"`

	// MemoryFilter is the Memory filter of the K8SliceSelector.
	MemoryFilter *ResourceQuantityFilter `json:"memoryFilter,omitempty"`

	// PodsFilter is the Pods filter of the K8SliceSelector.
	PodsFilter *ResourceQuantityFilter `json:"podsFilter,omitempty"`

	// StorageFilter is the Storage filter of the K8SliceSelector.
	StorageFilter *ResourceQuantityFilter `json:"storageFilter,omitempty"`
}

K8SliceSelector is the selector for a K8Slice.

func (*K8SliceSelector) DeepCopy added in v0.1.0

func (in *K8SliceSelector) DeepCopy() *K8SliceSelector

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

func (*K8SliceSelector) DeepCopyInto added in v0.1.0

func (in *K8SliceSelector) DeepCopyInto(out *K8SliceSelector)

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

func (*K8SliceSelector) GetFlavorTypeSelector added in v0.1.0

func (*K8SliceSelector) GetFlavorTypeSelector() FlavorTypeIdentifier

GetFlavorTypeSelector returns the type of the Flavor.

type LiqoCredentials added in v0.0.2

type LiqoCredentials struct {
	ClusterID   string `json:"clusterID"`
	ClusterName string `json:"clusterName"`
	Token       string `json:"token"`
	Endpoint    string `json:"endpoint"`
}

LiqoCredentials contains the credentials of a Liqo cluster to enstablish a peering.

func (*LiqoCredentials) DeepCopy added in v0.0.2

func (in *LiqoCredentials) DeepCopy() *LiqoCredentials

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

func (*LiqoCredentials) DeepCopyInto added in v0.0.2

func (in *LiqoCredentials) DeepCopyInto(out *LiqoCredentials)

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

type Location added in v0.1.0

type Location struct {
	// Latitude is the latitude of the location.
	Latitude string `json:"latitude,omitempty"`

	// Longitude is the longitude of the location.
	Longitude string `json:"longitude,omitempty"`

	// Country is the country of the location.
	Country string `json:"country,omitempty"`

	// City is the city of the location.
	City string `json:"city,omitempty"`

	// AdditionalNotes are additional notes of the location.
	AdditionalNotes string `json:"additionalNotes,omitempty"`
}

Location represents the location of a Flavor.

func (*Location) DeepCopy added in v0.1.0

func (in *Location) DeepCopy() *Location

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

func (*Location) DeepCopyInto added in v0.1.0

func (in *Location) DeepCopyInto(out *Location)

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

type NetworkAuthorizations added in v0.1.0

type NetworkAuthorizations struct {
	// DeniedCommunications represents the network communications that are denied by the K8Slice Flavor.
	DeniedCommunications []NetworkIntent `json:"deniedCommunications"`
	// MandatoryCommunications represents the network communications that are mandatory by the K8Slice Flavor.
	MandatoryCommunications []NetworkIntent `json:"mandatoryCommunications"`
}

NetworkAuthorizations represents the network authorization of a Flavor.

func (*NetworkAuthorizations) DeepCopy added in v0.1.0

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

func (*NetworkAuthorizations) DeepCopyInto added in v0.1.0

func (in *NetworkAuthorizations) DeepCopyInto(out *NetworkAuthorizations)

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

type NetworkIntent added in v0.1.0

type NetworkIntent struct {
	// Name of the network intent
	Name string `json:"name"`
	// Source of the network intent
	Source SourceDestination `json:"source"`
	// Destination of the network intent
	Destination SourceDestination `json:"destination"`
	// DestinationPort of the network intent
	DestinationPort string `json:"destinationPort"`
	// ProtocolType of the network intent
	ProtocolType string `json:"protocolType"`
}

NetworkIntent represents the network intent of a Flavor.

func (*NetworkIntent) DeepCopy added in v0.1.0

func (in *NetworkIntent) DeepCopy() *NetworkIntent

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

func (*NetworkIntent) DeepCopyInto added in v0.1.0

func (in *NetworkIntent) DeepCopyInto(out *NetworkIntent)

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

type NodeIdentity

type NodeIdentity struct {
	Domain                string                      `json:"domain"`
	NodeID                string                      `json:"nodeID"`
	IP                    string                      `json:"ip"`
	AdditionalInformation *NodeIdentityAdditionalInfo `json:"additionalInformation,omitempty"`
}

NodeIdentity is the identity of a FLUIDOS Node.

func (*NodeIdentity) DeepCopy

func (in *NodeIdentity) DeepCopy() *NodeIdentity

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

func (*NodeIdentity) DeepCopyInto

func (in *NodeIdentity) DeepCopyInto(out *NodeIdentity)

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

type NodeIdentityAdditionalInfo added in v0.1.0

type NodeIdentityAdditionalInfo struct {
	LiqoID string `json:"liqoID,omitempty"`
}

NodeIdentityAdditionalInfo contains additional information about the node.

func (*NodeIdentityAdditionalInfo) DeepCopy added in v0.1.0

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

func (*NodeIdentityAdditionalInfo) DeepCopyInto added in v0.1.0

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

type Partitionability added in v0.1.0

type Partitionability struct {
	// CPUMin is the minimum number of CPU cores in which the K8Slice Flavor can be partitioned.
	CPUMin resource.Quantity `json:"cpuMin"`
	// MemoryMin is the minimum amount of RAM in which the K8Slice Flavor can be partitioned.
	MemoryMin resource.Quantity `json:"memoryMin"`
	// PodsMin is the minimum number of pods in which the K8Slice Flavor can be partitioned.
	PodsMin resource.Quantity `json:"podsMin"`
	// GpuMin is the minimum number of GPU cores in which the K8Slice Flavor can be partitioned.
	GpuMin resource.Quantity `json:"gpuMin,omitempty"`
	// CPUStep is the incremental value of CPU cores in which the K8Slice Flavor can be partitioned.
	CPUStep resource.Quantity `json:"cpuStep"`
	// MemoryStep is the incremental value of RAM in which the K8Slice Flavor can be partitioned.
	MemoryStep resource.Quantity `json:"memoryStep"`
	// PodsStep is the incremental value of pods in which the K8Slice Flavor can be partitioned.
	PodsStep resource.Quantity `json:"podsStep"`
	// GpuStep is the incremental value of GPU cores in which the K8Slice Flavor can be partitioned.
	GpuStep resource.Quantity `json:"gpuStep,omitempty"`
}

Partitionability represents the partitioning properties of a K8Slice Flavor, such as the minimum and incremental values of CPU and RAM.

func (*Partitionability) DeepCopy added in v0.1.0

func (in *Partitionability) DeepCopy() *Partitionability

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

func (*Partitionability) DeepCopyInto added in v0.1.0

func (in *Partitionability) DeepCopyInto(out *Partitionability)

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

type Phase

type Phase string

Phase represents the phase of the solver.

const (
	PhaseSolved     Phase = "Solved"
	PhaseFailed     Phase = "Failed"
	PhaseRunning    Phase = "Running"
	PhaseAllocating Phase = "Allocating"
	PhaseIdle       Phase = "Idle"
	PhaseTimeout    Phase = "Timed Out"
	PhaseActive     Phase = "Active"
	PhasePending    Phase = "Pending"
	PhaseInactive   Phase = "Inactive"
)

Set of constants for the phases of the FLUIDOS Node modules.

type PhaseStatus

type PhaseStatus struct {
	Phase          Phase  `json:"phase"`
	Message        string `json:"message,omitempty"`
	StartTime      string `json:"startTime,omitempty"`
	LastChangeTime string `json:"lastChangeTime,omitempty"`
	EndTime        string `json:"endTime,omitempty"`
}

PhaseStatus represents the status of a phase of the solver. I.e. the status of the REAR phases.

func (*PhaseStatus) DeepCopy

func (in *PhaseStatus) DeepCopy() *PhaseStatus

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

func (*PhaseStatus) DeepCopyInto

func (in *PhaseStatus) DeepCopyInto(out *PhaseStatus)

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

type PodNamespaceSelector added in v0.1.0

type PodNamespaceSelector struct {
	// Pod is the pod selector of the SourceDestination.
	Pod map[string]string `json:"pod"`
	// Namespace is the namespace selector of the SourceDestination.
	Namespace map[string]string `json:"namespace"`
}

PodNamespaceSelector represents the pod namespace selector of a SourceDestination.

func (*PodNamespaceSelector) DeepCopy added in v0.1.0

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

func (*PodNamespaceSelector) DeepCopyInto added in v0.1.0

func (in *PodNamespaceSelector) DeepCopyInto(out *PodNamespaceSelector)

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

type Policies added in v0.1.0

type Policies struct {
	// Partitionability of the K8Slice Flavor
	Partitionability Partitionability `json:"partitionability,omitempty"`
}

Policies represents the policies of a K8Slice Flavor, such as the partitionability of the K8Slice Flavor.

func (*Policies) DeepCopy added in v0.1.0

func (in *Policies) DeepCopy() *Policies

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

func (*Policies) DeepCopyInto added in v0.1.0

func (in *Policies) DeepCopyInto(out *Policies)

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

type Price

type Price struct {
	// Amount is the amount of the price.
	Amount string `json:"amount"`

	// Currency is the currency of the price.
	Currency string `json:"currency"`

	// Period is the period of the price.
	Period string `json:"period"`
}

Price represents the price of a Flavor.

func (*Price) DeepCopy

func (in *Price) DeepCopy() *Price

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

func (*Price) DeepCopyInto

func (in *Price) DeepCopyInto(out *Price)

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

type Properties added in v0.1.0

type Properties struct {
	// Latency to reach the K8Slice Flavor
	Latency int `json:"latency,omitempty"`
	// Security standards complied by the K8Slice Flavor
	SecurityStandards []string `json:"securityStandards,omitempty"`
	// Carbon footprint of the K8Slice Flavor
	CarbonFootprint *CarbonFootprint `json:"carbon-footprint,omitempty"`
	// Network authorization policies of the K8Slice Flavor
	NetworkAuthorizations *NetworkAuthorizations `json:"networkAuthorizations,omitempty"`
	// AdditionalProperties represents the additional properties of the K8Slice Flavor.
	AdditionalProperties map[string]runtime.RawExtension `json:"additionalProperties,omitempty"`
}

Properties represents the properties of a Flavor.

func (*Properties) DeepCopy added in v0.1.0

func (in *Properties) DeepCopy() *Properties

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

func (*Properties) DeepCopyInto added in v0.1.0

func (in *Properties) DeepCopyInto(out *Properties)

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

type ResourceMatchSelector added in v0.1.0

type ResourceMatchSelector struct {
	// Value is the value to match
	Value resource.Quantity `json:"value"`
}

ResourceMatchSelector is a filter that selects resources that match a specific value.

func (*ResourceMatchSelector) DeepCopy added in v0.1.0

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

func (*ResourceMatchSelector) DeepCopyInto added in v0.1.0

func (in *ResourceMatchSelector) DeepCopyInto(out *ResourceMatchSelector)

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

type ResourceQuantityFilter added in v0.1.0

type ResourceQuantityFilter struct {
	// Name indicates the type of the filter
	Name FilterType `json:"name"`
	// Filter data
	Data runtime.RawExtension `json:"data"`
}

ResourceQuantityFilter is a filter that can be applied to a resource quantity.

func (*ResourceQuantityFilter) DeepCopy added in v0.1.0

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

func (*ResourceQuantityFilter) DeepCopyInto added in v0.1.0

func (in *ResourceQuantityFilter) DeepCopyInto(out *ResourceQuantityFilter)

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

type ResourceRangeSelector added in v0.1.0

type ResourceRangeSelector struct {
	// Min is the minimum value of the range
	Min *resource.Quantity `json:"min,omitempty"`
	// Max is the maximum value of the range
	Max *resource.Quantity `json:"max,omitempty"`
}

ResourceRangeSelector is a filter that selects resources within a range.

func (*ResourceRangeSelector) DeepCopy added in v0.1.0

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

func (*ResourceRangeSelector) DeepCopyInto added in v0.1.0

func (in *ResourceRangeSelector) DeepCopyInto(out *ResourceRangeSelector)

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

type ResourceSelector added in v0.1.0

type ResourceSelector struct {
	// TypeIdentifier is the type of the resource selector.
	TypeIdentifier ResourceSelectorIdentifier `json:"typeIdentifier"`
	// Selector is the selector of the resource selector.
	Selector runtime.RawExtension `json:"selector"`
}

ResourceSelector represents the resource selector of a SourceDestination.

func (*ResourceSelector) DeepCopy added in v0.1.0

func (in *ResourceSelector) DeepCopy() *ResourceSelector

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

func (*ResourceSelector) DeepCopyInto added in v0.1.0

func (in *ResourceSelector) DeepCopyInto(out *ResourceSelector)

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

type ResourceSelectorIdentifier added in v0.1.0

type ResourceSelectorIdentifier string

ResourceSelectorIdentifier represents the type of a ResourceSelector.

const (
	// PodNamespaceSelectorType is the type of a PodNamespaceSelector.
	PodNamespaceSelectorType ResourceSelectorIdentifier = "PodNamespaceSelector"
	// CIDRSelectorType is the type of a CIDRSelector.
	CIDRSelectorType ResourceSelectorIdentifier = "CIDRSelector"
)

func ParseResourceSelector added in v0.1.0

func ParseResourceSelector(selector ResourceSelector) (ResourceSelectorIdentifier, interface{}, error)

ParseResourceSelector parses a ResourceSelector into a ResourceSelectorIdentifier and a selector.

type Selector added in v0.1.0

type Selector struct {
	// FlavorType is the type of the Flavor that the solver is looking for.
	FlavorType FlavorTypeIdentifier `json:"flavorType"`

	// Filters contains the filters that the solver is using to refining the research.
	Filters *runtime.RawExtension `json:"filters,omitempty"`
}

Selector defines the constraints of the flavor that the solver is looking for. The FlavorType is compulsory, while the Filters are optional.

func (*Selector) DeepCopy added in v0.1.0

func (in *Selector) DeepCopy() *Selector

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

func (*Selector) DeepCopyInto added in v0.1.0

func (in *Selector) DeepCopyInto(out *Selector)

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

type SensorFlavor added in v0.1.0

type SensorFlavor struct {
}

SensorFlavor represents a Sensor Flavor description.

func (*SensorFlavor) DeepCopy added in v0.1.0

func (in *SensorFlavor) DeepCopy() *SensorFlavor

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

func (*SensorFlavor) DeepCopyInto added in v0.1.0

func (in *SensorFlavor) DeepCopyInto(out *SensorFlavor)

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

type ServiceBlueprint added in v0.1.0

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

	Spec   ServiceBlueprintSpec   `json:"spec,omitempty"`
	Status ServiceBlueprintStatus `json:"status,omitempty"`
}

ServiceBlueprint is the Schema for the serviceblueprints API +kubebuilder:printcolumn:name="Name",type=string,JSONPath=`.spec.name` +kubebuilder:printcolumn:name="Description",type=string,JSONPath=`.spec.description` +kubebuilder:printcolumn:name="Category",type=string,JSONPath=`.spec.category` +kubebuilder:printcolumn:name="Tags",type=string,JSONPath=`.spec.tags` +kubebuilder:printcolumn:name="ServiceFlavors",type=string,JSONPath=`.status.serviceFlavors` +kubebuilder:printcolumn:name="Age",type="date",JSONPath=".metadata.creationTimestamp" +kubebuilder:resource:shortName=sbp

func (*ServiceBlueprint) DeepCopy added in v0.1.0

func (in *ServiceBlueprint) DeepCopy() *ServiceBlueprint

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

func (*ServiceBlueprint) DeepCopyInto added in v0.1.0

func (in *ServiceBlueprint) DeepCopyInto(out *ServiceBlueprint)

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

func (*ServiceBlueprint) DeepCopyObject added in v0.1.0

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

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

func (*ServiceBlueprint) Default added in v0.1.0

func (r *ServiceBlueprint) Default()

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

func (*ServiceBlueprint) SetupWebhookWithManager added in v0.1.0

func (r *ServiceBlueprint) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager setups the webhooks for the ServiceBlueprint resource with the manager.

func (*ServiceBlueprint) ValidateCreate added in v0.1.0

func (r *ServiceBlueprint) ValidateCreate() (admission.Warnings, error)

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

func (*ServiceBlueprint) ValidateDelete added in v0.1.0

func (r *ServiceBlueprint) ValidateDelete() (admission.Warnings, error)

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

func (*ServiceBlueprint) ValidateUpdate added in v0.1.0

func (r *ServiceBlueprint) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type ServiceBlueprintList added in v0.1.0

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

ServiceBlueprintList contains a list of ServiceBlueprint.

func (*ServiceBlueprintList) DeepCopy added in v0.1.0

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

func (*ServiceBlueprintList) DeepCopyInto added in v0.1.0

func (in *ServiceBlueprintList) DeepCopyInto(out *ServiceBlueprintList)

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

func (*ServiceBlueprintList) DeepCopyObject added in v0.1.0

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

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

type ServiceBlueprintSpec added in v0.1.0

type ServiceBlueprintSpec struct {
	// Name of the Service Blueprint.
	Name string `json:"name"`

	// Description of the Service Blueprint.
	Description string `json:"description"`

	// Category of the Service Blueprint.
	Category string `json:"category"`

	// Tags of the Service Blueprint.
	Tags []string `json:"tags"`

	// HostingPolicies of the Service Blueprint.
	// If empty, the default behavior is to host on the provider cluster.
	// If multiple policies are specified, the first one is the default.
	HostingPolicies []HostingPolicy `json:"hostingPolicies"`

	// Templates of the Service Blueprint.
	Templates []ServiceTemplate `json:"templates"`
}

ServiceBlueprintSpec defines the desired state of ServiceBlueprint.

func (*ServiceBlueprintSpec) DeepCopy added in v0.1.0

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

func (*ServiceBlueprintSpec) DeepCopyInto added in v0.1.0

func (in *ServiceBlueprintSpec) DeepCopyInto(out *ServiceBlueprintSpec)

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

type ServiceBlueprintStatus added in v0.1.0

type ServiceBlueprintStatus struct {
	// ServiceFlavor linked to the Service Blueprint.
	ServiceFlavors []ServiceFlavor `json:"serviceFlavors,omitempty"`
}

ServiceBlueprintStatus defines the observed state of ServiceBlueprint.

func (*ServiceBlueprintStatus) DeepCopy added in v0.1.0

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

func (*ServiceBlueprintStatus) DeepCopyInto added in v0.1.0

func (in *ServiceBlueprintStatus) DeepCopyInto(out *ServiceBlueprintStatus)

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

type ServiceConfiguration added in v0.1.0

type ServiceConfiguration struct {
	// HostingPolicy is the hosting policy chosen for the service, where the service will be hosted.
	HostingPolicy *HostingPolicy `json:"hostingPolicy,omitempty"`
	// ConfigurationData is the data of the specific service configuration, compliant with the ConfigurationTemplate defined in the Service Flavor.
	ConfigurationData runtime.RawExtension `json:"configurationData"`
}

ServiceConfiguration represents the configuration of a Service.

func (*ServiceConfiguration) DeepCopy added in v0.1.0

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

func (*ServiceConfiguration) DeepCopyInto added in v0.1.0

func (in *ServiceConfiguration) DeepCopyInto(out *ServiceConfiguration)

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

func (*ServiceConfiguration) Validate added in v0.1.0

func (sc *ServiceConfiguration) Validate(serviceFlavor *ServiceFlavor) error

Validate validates the ServiceConfiguration over the given ServiceFlavor, in particular checking that the ConfigurationData is compliant with the ConfigurationTemplate defined in the Service Flavor.

type ServiceFlavor added in v0.1.0

type ServiceFlavor struct {
	// Name of the Service Flavor.
	Name string `json:"name"`
	// Description of the Service Flavor.
	Description string `json:"description"`
	// Category of the Service Flavor.
	Category string `json:"category"`
	// Tags of the Service Flavor.
	Tags []string `json:"tags"`
	// HostingPolicies of the Service Flavor.
	HostingPolicies []HostingPolicy `json:"hostingPolicies"`
	// ConfigurationTemplate of the Service Flavor. JSON Schema with the parameters that can be configured.
	ConfigurationTemplate runtime.RawExtension `json:"configurationTemplate"`
}

ServiceFlavor represents a Service Flavor description.

func ParseServiceFlavor added in v0.1.0

func ParseServiceFlavor(flavorType FlavorType) (*ServiceFlavor, *gojsonschema.Schema, error)

ParseServiceFlavor parses the ServiceFlavor from a string.

func (*ServiceFlavor) DeepCopy added in v0.1.0

func (in *ServiceFlavor) DeepCopy() *ServiceFlavor

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

func (*ServiceFlavor) DeepCopyInto added in v0.1.0

func (in *ServiceFlavor) DeepCopyInto(out *ServiceFlavor)

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

func (*ServiceFlavor) GetFlavorType added in v0.1.0

func (sf *ServiceFlavor) GetFlavorType() FlavorTypeIdentifier

GetFlavorType returns the type of the Flavor.

type ServiceIdentifier added in v0.1.0

type ServiceIdentifier string

ServiceIdentifier represents the identifier of a Service.

type ServiceSelector added in v0.1.0

type ServiceSelector struct {
	// CategoryFilter is the Category filter of the ServiceSelector.
	CategoryFilter *StringFilter `json:"categoryFilter,omitempty"`
	// TagsFilter is the Tags filter of the ServiceSelector.
	TagsFilter *StringFilter `json:"tagsFilter,omitempty"`
}

ServiceSelector is the selector for a Service.

func (*ServiceSelector) DeepCopy added in v0.1.0

func (in *ServiceSelector) DeepCopy() *ServiceSelector

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

func (*ServiceSelector) DeepCopyInto added in v0.1.0

func (in *ServiceSelector) DeepCopyInto(out *ServiceSelector)

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

func (*ServiceSelector) GetFlavorTypeSelector added in v0.1.0

func (*ServiceSelector) GetFlavorTypeSelector() FlavorTypeIdentifier

GetFlavorTypeSelector returns the type of the Flavor.

type ServiceTemplate added in v0.1.0

type ServiceTemplate struct {
	// Name of the Service Template.
	Name string `json:"name"`
	// Description of the Service Template.
	Description string `json:"description,omitempty"`
	// YAML template of the Service.
	ServiceTemplateData runtime.RawExtension `json:"serviceData"`
}

ServiceTemplate defines the template of a Service.

func (*ServiceTemplate) DeepCopy added in v0.1.0

func (in *ServiceTemplate) DeepCopy() *ServiceTemplate

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

func (*ServiceTemplate) DeepCopyInto added in v0.1.0

func (in *ServiceTemplate) DeepCopyInto(out *ServiceTemplate)

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

type Solver

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

	Spec   SolverSpec   `json:"spec,omitempty"`
	Status SolverStatus `json:"status,omitempty"`
}

Solver is the Schema for the solvers API +kubebuilder:printcolumn:name="Intent ID",type=string,JSONPath=`.spec.intentID` +kubebuilder:printcolumn:name="Find Candidate",type=boolean,JSONPath=`.spec.findCandidate` +kubebuilder:printcolumn:name="Reserve and Buy",type=boolean,JSONPath=`.spec.reserveAndBuy` +kubebuilder:printcolumn:name="Peering",type=boolean,JSONPath=`.spec.establishPeering` +kubebuilder:printcolumn:name="Candidate Phase",type=string,priority=1,JSONPath=`.status.findCandidate` +kubebuilder:printcolumn:name="Reserving Phase",type=string,priority=1,JSONPath=`.status.reserveAndBuy` +kubebuilder:printcolumn:name="Peering Phase",type=string,priority=1,JSONPath=`.status.peering` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.solverPhase.phase` +kubebuilder:printcolumn:name="Message",type=string,JSONPath=`.status.solverPhase.message` +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:resource:shortName=sol Solver is the Schema for the solvers API.

func (*Solver) DeepCopy

func (in *Solver) DeepCopy() *Solver

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

func (*Solver) DeepCopyInto

func (in *Solver) DeepCopyInto(out *Solver)

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

func (*Solver) DeepCopyObject

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

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

func (*Solver) Default added in v0.1.0

func (r *Solver) Default()

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

func (*Solver) SetDiscoveryStatus

func (r *Solver) SetDiscoveryStatus(phase Phase)

SetDiscoveryStatus sets the discovery phase of the solver.

func (*Solver) SetFindCandidateStatus

func (r *Solver) SetFindCandidateStatus(phase Phase)

SetFindCandidateStatus sets the FindCandidate phase of the solver.

func (*Solver) SetPeeringStatus added in v0.0.2

func (r *Solver) SetPeeringStatus(phase Phase)

SetPeeringStatus sets the Peering phase of the solver.

func (*Solver) SetPhase

func (r *Solver) SetPhase(phase Phase, msg string)

SetPhase sets the phase of the solver.

func (*Solver) SetReservationStatus

func (r *Solver) SetReservationStatus(phase Phase)

SetReservationStatus sets the reservation phase of the solver.

func (*Solver) SetReserveAndBuyStatus

func (r *Solver) SetReserveAndBuyStatus(phase Phase)

SetReserveAndBuyStatus sets the ReserveAndBuy phase of the solver.

func (*Solver) SetupWebhookWithManager added in v0.1.0

func (r *Solver) SetupWebhookWithManager(mgr ctrl.Manager) error

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*Solver) ValidateCreate added in v0.1.0

func (r *Solver) ValidateCreate() (admission.Warnings, error)

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

func (*Solver) ValidateDelete added in v0.1.0

func (r *Solver) ValidateDelete() (admission.Warnings, error)

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

func (*Solver) ValidateUpdate added in v0.1.0

func (r *Solver) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

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

type SolverList

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

SolverList contains a list of Solver.

func (*SolverList) DeepCopy

func (in *SolverList) DeepCopy() *SolverList

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

func (*SolverList) DeepCopyInto

func (in *SolverList) DeepCopyInto(out *SolverList)

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

func (*SolverList) DeepCopyObject

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

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

type SolverSpec

type SolverSpec struct {

	// Selector contains the flavor requirements for the solver.
	Selector *Selector `json:"selector,omitempty"`

	// IntentID is the ID of the intent that the Node Orchestrator is trying to solve.
	// It is used to link the solver with the intent.
	IntentID string `json:"intentID"`

	// FindCandidate is a flag that indicates if the solver should find a candidate to solve the intent.
	FindCandidate bool `json:"findCandidate,omitempty"`

	// ReserveAndBuy is a flag that indicates if the solver should reserve and buy the resources on the candidate.
	ReserveAndBuy bool `json:"reserveAndBuy,omitempty"`

	// EstablishPeering is a flag that indicates if the solver should enstablish a peering with the candidate.
	EstablishPeering bool `json:"establishPeering,omitempty"`
}

SolverSpec defines the desired state of Solver.

func (*SolverSpec) DeepCopy

func (in *SolverSpec) DeepCopy() *SolverSpec

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

func (*SolverSpec) DeepCopyInto

func (in *SolverSpec) DeepCopyInto(out *SolverSpec)

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

type SolverStatus

type SolverStatus struct {

	// FindCandidate describes the status of research of the candidate.
	// Rear Manager is looking for the best candidate Flavor to solve the Node Orchestrator request.
	FindCandidate Phase `json:"findCandidate,omitempty"`

	// ReserveAndBuy describes the status of the reservation and purchase of selected Flavor.
	// Rear Manager is trying to reserve and purchase the resources on the candidate FLUIDOS Node.
	ReserveAndBuy Phase `json:"reserveAndBuy,omitempty"`

	// Peering describes the status of the peering with the candidate.
	// Rear Manager is trying to establish a peering with the candidate FLUIDOS Node.
	Peering Phase `json:"peering,omitempty"`

	// DiscoveryPhase describes the status of the Discovery where the Discovery Manager
	// is looking for matching flavors outside the FLUIDOS Node
	DiscoveryPhase Phase `json:"discoveryPhase,omitempty"`

	// ReservationPhase describes the status of the Reservation where the Contract Manager
	// is reserving and purchasing the resources on the candidate node.
	ReservationPhase Phase `json:"reservationPhase,omitempty"`

	// ConsumePhase describes the status of the Consume phase where the VFM (Liqo) is enstablishing
	// a peering with the candidate node.
	ConsumePhase Phase `json:"consumePhase,omitempty"`

	// SolverPhase describes the status of the Solver generated by the Node Orchestrator.
	// It is useful to understand if the solver is still running or if it has finished or failed.
	SolverPhase PhaseStatus `json:"solverPhase,omitempty"`
}

SolverStatus defines the observed state of Solver.

func (*SolverStatus) DeepCopy

func (in *SolverStatus) DeepCopy() *SolverStatus

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

func (*SolverStatus) DeepCopyInto

func (in *SolverStatus) DeepCopyInto(out *SolverStatus)

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

type SourceDestination added in v0.1.0

type SourceDestination struct {
	// IsHotCluster is true if the source/destination is a hot cluster.
	IsHotCluster bool `json:"isHotCluster"`
	// ResourceSelector is the resource selector of the source/destination.
	ResourceSelector ResourceSelector `json:"resourceSelector"`
}

SourceDestination can represent either the source or destination of a network intent.

func (*SourceDestination) DeepCopy added in v0.1.0

func (in *SourceDestination) DeepCopy() *SourceDestination

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

func (*SourceDestination) DeepCopyInto added in v0.1.0

func (in *SourceDestination) DeepCopyInto(out *SourceDestination)

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

type Status

type Status string
const (
	Active           Status = "Active"
	Provisioning     Status = "Provisioning"
	ResourceCreation Status = "ResourceCreation"
	Peering          Status = "Peering"
	Released         Status = "Released"
	Inactive         Status = "Inactive"
	Error            Status = "Error"
)

Status is the status of the allocation.

type StringFilter added in v0.1.0

type StringFilter struct {
	// Name indicates the type of the filter
	Name FilterType `json:"name"`
	// Filter data
	Data runtime.RawExtension `json:"data"`
}

StringFilter is a filter that can be applied to a string.

func (*StringFilter) DeepCopy added in v0.1.0

func (in *StringFilter) DeepCopy() *StringFilter

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

func (*StringFilter) DeepCopyInto added in v0.1.0

func (in *StringFilter) DeepCopyInto(out *StringFilter)

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

type StringMatchSelector added in v0.1.0

type StringMatchSelector struct {
	// Value is the value to match
	Value string `json:"value"`
}

StringMatchSelector is a filter that selects strings that match a specific value.

func (*StringMatchSelector) DeepCopy added in v0.1.0

func (in *StringMatchSelector) DeepCopy() *StringMatchSelector

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

func (*StringMatchSelector) DeepCopyInto added in v0.1.0

func (in *StringMatchSelector) DeepCopyInto(out *StringMatchSelector)

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

type StringRangeSelector added in v0.1.0

type StringRangeSelector struct {
	// Regex is the regular expression to match
	Regex string `json:"regex"`
}

StringRangeSelector is a filter that selects strings within a range.

func (*StringRangeSelector) DeepCopy added in v0.1.0

func (in *StringRangeSelector) DeepCopy() *StringRangeSelector

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

func (*StringRangeSelector) DeepCopyInto added in v0.1.0

func (in *StringRangeSelector) DeepCopyInto(out *StringRangeSelector)

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

type VMFlavor added in v0.1.0

type VMFlavor struct {
}

VMFlavor represents a VM Flavor object.

func (*VMFlavor) DeepCopy added in v0.1.0

func (in *VMFlavor) DeepCopy() *VMFlavor

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

func (*VMFlavor) DeepCopyInto added in v0.1.0

func (in *VMFlavor) DeepCopyInto(out *VMFlavor)

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