Documentation ¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the nodecore v1alpha1 API group +kubebuilder:object:generate=true +groupName=nodecore.fluidos.eu
Index ¶
- Variables
- func ParseK8SliceSelector(k8SliceSelector *K8SliceSelector) (map[FilterType]interface{}, error)
- func ParseServiceSelector(serviceSelector *ServiceSelector) (map[FilterType]interface{}, error)
- func ValidateAndExtractManifests(templates []ServiceTemplate) ([]*unstructured.Unstructured, error)
- type Allocation
- type AllocationList
- type AllocationSpec
- type AllocationStatus
- type CIDRSelector
- type CarbonFootprint
- type Configuration
- type FilterType
- type Flavor
- func (in *Flavor) DeepCopy() *Flavor
- func (in *Flavor) DeepCopyInto(out *Flavor)
- func (in *Flavor) DeepCopyObject() runtime.Object
- func (r *Flavor) Default()
- func (r *Flavor) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Flavor) ValidateCreate() (admission.Warnings, error)
- func (r *Flavor) ValidateDelete() (admission.Warnings, error)
- func (r *Flavor) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type FlavorList
- type FlavorSpec
- type FlavorStatus
- type FlavorType
- type FlavorTypeIdentifier
- type GPU
- type GenericRef
- type HostingPolicy
- type K8Slice
- type K8SliceCharacteristics
- type K8SliceConfiguration
- type K8SliceSelector
- type LiqoCredentials
- type Location
- type NetworkAuthorizations
- type NetworkIntent
- type NodeIdentity
- type NodeIdentityAdditionalInfo
- type Partitionability
- type Phase
- type PhaseStatus
- type PodNamespaceSelector
- type Policies
- type Price
- type Properties
- type ResourceMatchSelector
- type ResourceQuantityFilter
- type ResourceRangeSelector
- type ResourceSelector
- type ResourceSelectorIdentifier
- type Selector
- type SensorFlavor
- type ServiceBlueprint
- func (in *ServiceBlueprint) DeepCopy() *ServiceBlueprint
- func (in *ServiceBlueprint) DeepCopyInto(out *ServiceBlueprint)
- func (in *ServiceBlueprint) DeepCopyObject() runtime.Object
- func (r *ServiceBlueprint) Default()
- func (r *ServiceBlueprint) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *ServiceBlueprint) ValidateCreate() (admission.Warnings, error)
- func (r *ServiceBlueprint) ValidateDelete() (admission.Warnings, error)
- func (r *ServiceBlueprint) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type ServiceBlueprintList
- type ServiceBlueprintSpec
- type ServiceBlueprintStatus
- type ServiceConfiguration
- type ServiceFlavor
- type ServiceIdentifier
- type ServiceSelector
- type ServiceTemplate
- type Solver
- func (in *Solver) DeepCopy() *Solver
- func (in *Solver) DeepCopyInto(out *Solver)
- func (in *Solver) DeepCopyObject() runtime.Object
- func (r *Solver) Default()
- func (r *Solver) SetDiscoveryStatus(phase Phase)
- func (r *Solver) SetFindCandidateStatus(phase Phase)
- func (r *Solver) SetPeeringStatus(phase Phase)
- func (r *Solver) SetPhase(phase Phase, msg string)
- func (r *Solver) SetReservationStatus(phase Phase)
- func (r *Solver) SetReserveAndBuyStatus(phase Phase)
- func (r *Solver) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Solver) ValidateCreate() (admission.Warnings, error)
- func (r *Solver) ValidateDelete() (admission.Warnings, error)
- func (r *Solver) ValidateUpdate(old runtime.Object) (admission.Warnings, error)
- type SolverList
- type SolverSpec
- type SolverStatus
- type SourceDestination
- type Status
- type StringFilter
- type StringMatchSelector
- type StringRangeSelector
- type VMFlavor
Constants ¶
This section is empty.
Variables ¶
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Flavor.
func (*Flavor) DeepCopyInto ¶ added in v0.1.0
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
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
SetupWebhookWithManager setups the webhooks for the Flavor resource with the manager.
func (*Flavor) ValidateCreate ¶ added in v0.1.0
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*Flavor) ValidateDelete ¶ added in v0.1.0
ValidateDelete 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GPU.
func (*GPU) DeepCopyInto ¶ added in v0.1.0
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" // 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new K8Slice.
func (*K8Slice) DeepCopyInto ¶ added in v0.1.0
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
func (in *K8SliceCharacteristics) DeepCopy() *K8SliceCharacteristics
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
func (in *K8SliceConfiguration) DeepCopy() *K8SliceConfiguration
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Location.
func (*Location) DeepCopyInto ¶ added in v0.1.0
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
func (in *NetworkAuthorizations) DeepCopy() *NetworkAuthorizations
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
func (in *NodeIdentityAdditionalInfo) DeepCopy() *NodeIdentityAdditionalInfo
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NodeIdentityAdditionalInfo.
func (*NodeIdentityAdditionalInfo) DeepCopyInto ¶ added in v0.1.0
func (in *NodeIdentityAdditionalInfo) DeepCopyInto(out *NodeIdentityAdditionalInfo)
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
func (in *PodNamespaceSelector) DeepCopy() *PodNamespaceSelector
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Policies.
func (*Policies) DeepCopyInto ¶ added in v0.1.0
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Price.
func (*Price) DeepCopyInto ¶
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
func (in *ResourceMatchSelector) DeepCopy() *ResourceMatchSelector
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
func (in *ResourceQuantityFilter) DeepCopy() *ResourceQuantityFilter
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
func (in *ResourceRangeSelector) DeepCopy() *ResourceRangeSelector
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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Selector.
func (*Selector) DeepCopyInto ¶ added in v0.1.0
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
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
func (in *ServiceBlueprintList) DeepCopy() *ServiceBlueprintList
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
func (in *ServiceBlueprintSpec) DeepCopy() *ServiceBlueprintSpec
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
func (in *ServiceBlueprintStatus) DeepCopy() *ServiceBlueprintStatus
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
func (in *ServiceConfiguration) DeepCopy() *ServiceConfiguration
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Solver.
func (*Solver) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Solver) DeepCopyObject ¶
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 ¶
SetDiscoveryStatus sets the discovery phase of the solver.
func (*Solver) SetFindCandidateStatus ¶
SetFindCandidateStatus sets the FindCandidate phase of the solver.
func (*Solver) SetPeeringStatus ¶ added in v0.0.2
SetPeeringStatus sets the Peering phase of the solver.
func (*Solver) SetReservationStatus ¶
SetReservationStatus sets the reservation phase of the solver.
func (*Solver) SetReserveAndBuyStatus ¶
SetReserveAndBuyStatus sets the ReserveAndBuy phase of the solver.
func (*Solver) SetupWebhookWithManager ¶ added in v0.1.0
SetupWebhookWithManager sets up and registers the webhook with the manager.
func (*Solver) ValidateCreate ¶ added in v0.1.0
ValidateCreate implements webhook.Validator so a webhook will be registered for the type.
func (*Solver) ValidateDelete ¶ added in v0.1.0
ValidateDelete 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 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
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VMFlavor.
func (*VMFlavor) DeepCopyInto ¶ added in v0.1.0
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
Source Files ¶
- allocation_status.go
- allocation_types.go
- common.go
- flavor_types.go
- flavor_types_common.go
- flavor_webhook.go
- groupversion_info.go
- k8slice_configuration.go
- k8slice_flavor.go
- k8slice_selector.go
- network_intent.go
- selector.go
- sensor_flavor.go
- service_blueprint.go
- service_blueprint_webhook.go
- service_configuration.go
- service_flavor.go
- service_selector.go
- solver_status.go
- solver_types.go
- solver_webhook.go
- vm_flavor.go
- zz_generated.deepcopy.go