v1alpha1

package
v0.0.3 Latest Latest
Warning

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

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

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the reservation v1alpha1 API group +kubebuilder:object:generate=true +groupName=reservation.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: "reservation.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

This section is empty.

Types

type Contract

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

	Spec   ContractSpec   `json:"spec,omitempty"`
	Status ContractStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:name="Flavour ID",type=string,JSONPath=`.spec.flavour.metadata.name` +kubebuilder:printcolumn:name="Buyer Name",type=string,JSONPath=`.spec.buyer.nodeID` +kubebuilder:printcolumn:name="Buyer Domain",type=string,priority=1,JSONPath=`.spec.buyer.domain` +kubebuilder:printcolumn:name="Seller Name",type=string,JSONPath=`.spec.seller.nodeID` +kubebuilder:printcolumn:name="Seller Domain",type=string,priority=1,JSONPath=`.spec.seller.domain` +kubebuilder:printcolumn:name="Transaction ID",type=string,priority=1,JSONPath=`.spec.transactionID` +kubebuilder:printcolumn:name="Buyer Liqo ID",type=string,priority=1,JSONPath=`.spec.buyerClusterID` +kubebuilder:printcolumn:name="Expiration Time",type=string,priority=1,JSONPath=`.spec.expirationTime` Contract is the Schema for the contracts API.

func (*Contract) DeepCopy

func (in *Contract) DeepCopy() *Contract

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

func (*Contract) DeepCopyInto

func (in *Contract) DeepCopyInto(out *Contract)

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

func (*Contract) DeepCopyObject

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

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

type ContractList

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

ContractList contains a list of Contract

func (*ContractList) DeepCopy

func (in *ContractList) DeepCopy() *ContractList

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

func (*ContractList) DeepCopyInto

func (in *ContractList) DeepCopyInto(out *ContractList)

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

func (*ContractList) DeepCopyObject

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

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

type ContractSpec

type ContractSpec struct {
	// This is the flavour on which the contract is based. It is used to lifetime maintain the critical characteristics of the contract.
	Flavour nodecorev1alpha1.Flavour `json:"flavour"`

	// TransactionID is the ID of the transaction that this contract is part of
	TransactionID string `json:"transactionID"`

	// The partition represents the dimension of the resources sold/bought.
	// So it will reflect the dimension of the resources allocated on the remote cluster and reflected on the local virtual node.
	Partition *nodecorev1alpha1.Partition `json:"partition,omitempty"`

	// This is the Node identity of the buyer FLUIDOS Node.
	Buyer nodecorev1alpha1.NodeIdentity `json:"buyer"`

	// BuyerClusterID is the Liqo ClusterID used by the seller to search a contract and the related resources during the peering phase.
	BuyerClusterID string `json:"buyerClusterID"`

	// This is the Node identity of the seller FLUIDOS Node.
	Seller nodecorev1alpha1.NodeIdentity `json:"seller"`

	// This credentials will be used by the customer to connect and enstablish a peering with the seller FLUIDOS Node through Liqo.
	SellerCredentials nodecorev1alpha1.LiqoCredentials `json:"sellerCredentials"`

	// This is the expiration time of the contract. It can be empty if the contract is not time limited.
	ExpirationTime string `json:"expirationTime,omitempty"`

	// This contains additional information about the contract if needed.
	ExtraInformation map[string]string `json:"extraInformation,omitempty"`
}

ContractSpec defines the desired state of Contract.

func (*ContractSpec) DeepCopy

func (in *ContractSpec) DeepCopy() *ContractSpec

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

func (*ContractSpec) DeepCopyInto

func (in *ContractSpec) DeepCopyInto(out *ContractSpec)

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

type ContractStatus

type ContractStatus struct {

	// This is the status of the contract.
	Phase nodecorev1alpha1.PhaseStatus `json:"phase"`
}

ContractStatus defines the observed state of Contract.

func (*ContractStatus) DeepCopy

func (in *ContractStatus) DeepCopy() *ContractStatus

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

func (*ContractStatus) DeepCopyInto

func (in *ContractStatus) DeepCopyInto(out *ContractStatus)

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

type Reservation

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

	Spec   ReservationSpec   `json:"spec,omitempty"`
	Status ReservationStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:name="Solver ID",type=string,JSONPath=`.spec.solverID` +kubebuilder:printcolumn:name="Reserve",type=boolean,JSONPath=`.spec.reserve` +kubebuilder:printcolumn:name="Purchase",type=boolean,JSONPath=`.spec.purchase` +kubebuilder:printcolumn:name="Seller Name",type=string,JSONPath=`.spec.seller.nodeID` +kubebuilder:printcolumn:name="Seller Domain",type=string,priority=1,JSONPath=`.spec.buyer.domain` +kubebuilder:printcolumn:name="Peering Candidate",type=string,priority=1,JSONPath=`.spec.peeringCandidate.name` +kubebuilder:printcolumn:name="Transaction ID",type=string,JSONPath=`.status.transactionID` +kubebuilder:printcolumn:name="Reserve Phase",type=string,priority=1,JSONPath=`.status.reservePhase` +kubebuilder:printcolumn:name="Purchase Phase",type=string,priority=1,JSONPath=`.status.purchasePhase` +kubebuilder:printcolumn:name="Contract Name",type=string,JSONPath=`.status.contract.name` +kubebuilder:printcolumn:name="Status",type=string,JSONPath=`.status.phase.phase` +kubebuilder:printcolumn:name="Message",type=string,priority=1,JSONPath=`.status.phase.message` Reservation is the Schema for the reservations API

func (*Reservation) DeepCopy

func (in *Reservation) DeepCopy() *Reservation

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

func (*Reservation) DeepCopyInto

func (in *Reservation) DeepCopyInto(out *Reservation)

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

func (*Reservation) DeepCopyObject

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

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

func (*Reservation) SetPhase

func (r *Reservation) SetPhase(phase nodecorev1alpha1.Phase, msg string)

SetPhase sets the phase of the discovery

func (*Reservation) SetPurchaseStatus

func (r *Reservation) SetPurchaseStatus(status nodecorev1alpha1.Phase)

SetPurchaseStatus sets the status of the purchase (if it is a purchase)

func (*Reservation) SetReserveStatus

func (r *Reservation) SetReserveStatus(status nodecorev1alpha1.Phase)

SetReserveStatus sets the status of the reserve (if it is a reserve)

type ReservationList

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

ReservationList contains a list of Reservation

func (*ReservationList) DeepCopy

func (in *ReservationList) DeepCopy() *ReservationList

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

func (*ReservationList) DeepCopyInto

func (in *ReservationList) DeepCopyInto(out *ReservationList)

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

func (*ReservationList) DeepCopyObject

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

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

type ReservationSpec

type ReservationSpec struct {

	// SolverID is the ID of the solver that asks for the reservation
	SolverID string `json:"solverID"`

	// This is the Node identity of the buyer FLUIDOS Node.
	Buyer nodecorev1alpha1.NodeIdentity `json:"buyer"`

	// This is the Node identity of the seller FLUIDOS Node.
	Seller nodecorev1alpha1.NodeIdentity `json:"seller"`

	// Parition is the partition of the flavour that is being reserved
	Partition *nodecorev1alpha1.Partition `json:"partition,omitempty"`

	// Reserve indicates if the reservation is a reserve or not
	Reserve bool `json:"reserve,omitempty"`

	// Purchase indicates if the reservation is an purchase or not
	Purchase bool `json:"purchase,omitempty"`

	// PeeringCandidate is the reference to the PeeringCandidate of the Reservation
	PeeringCandidate nodecorev1alpha1.GenericRef `json:"peeringCandidate,omitempty"`
}

ReservationSpec defines the desired state of Reservation

func (*ReservationSpec) DeepCopy

func (in *ReservationSpec) DeepCopy() *ReservationSpec

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

func (*ReservationSpec) DeepCopyInto

func (in *ReservationSpec) DeepCopyInto(out *ReservationSpec)

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

type ReservationStatus

type ReservationStatus struct {
	// This is the current phase of the reservation
	Phase nodecorev1alpha1.PhaseStatus `json:"phase"`

	// ReservePhase is the current phase of the reservation
	ReservePhase nodecorev1alpha1.Phase `json:"reservePhase,omitempty"`

	// PurchasePhase is the current phase of the reservation
	PurchasePhase nodecorev1alpha1.Phase `json:"purchasePhase,omitempty"`

	// TransactionID is the ID of the transaction that this reservation is part of
	TransactionID string `json:"transactionID,omitempty"`

	// Contract is the reference to the Contract of the Reservation
	Contract nodecorev1alpha1.GenericRef `json:"contract,omitempty"`
}

ReservationStatus defines the observed state of Reservation

func (*ReservationStatus) DeepCopy

func (in *ReservationStatus) DeepCopy() *ReservationStatus

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

func (*ReservationStatus) DeepCopyInto

func (in *ReservationStatus) DeepCopyInto(out *ReservationStatus)

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

type Transaction

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

	Spec   TransactionSpec   `json:"spec,omitempty"`
	Status TransactionStatus `json:"status,omitempty"`
}

+kubebuilder:printcolumn:name="Flavour ID",type="string",JSONPath=".spec.flavourID" +kubebuilder:printcolumn:name="Buyer Name",type="string",JSONPath=".spec.buyer.nodeID" +kubebuilder:printcolumn:name="Buyer IP",type="string",priority=1,JSONPath=".spec.buyer.ip" +kubebuilder:printcolumn:name="Buyer Domain",type="string",priority=1,JSONPath=".spec.buyer.domain" +kubebuilder:printcolumn:name="Cluster ID",type="string",JSONPath=".spec.clusterID" +kubebuilder:printcolumn:name="Start Time",type="string",JSONPath=".spec.startTime" Transaction is the Schema for the transactions API

func (*Transaction) DeepCopy

func (in *Transaction) DeepCopy() *Transaction

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

func (*Transaction) DeepCopyInto

func (in *Transaction) DeepCopyInto(out *Transaction)

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

func (*Transaction) DeepCopyObject

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

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

type TransactionList

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

TransactionList contains a list of Transaction

func (*TransactionList) DeepCopy

func (in *TransactionList) DeepCopy() *TransactionList

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

func (*TransactionList) DeepCopyInto

func (in *TransactionList) DeepCopyInto(out *TransactionList)

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

func (*TransactionList) DeepCopyObject

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

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

type TransactionSpec

type TransactionSpec struct {
	// FlavourID is the ID of the flavour that is being reserved
	FlavourID string `json:"flavourID"`

	// Buyer is the buyer Identity of the Fluidos Node that is reserving the Flavour
	Buyer nodecorev1alpha1.NodeIdentity `json:"buyer"`

	// ClusterID is the Liqo ClusterID of the Fluidos Node that is reserving the Flavour
	ClusterID string `json:"clusterID"`

	// Partition is the partition of the flavour that is being reserved
	Partition *nodecorev1alpha1.Partition `json:"partition,omitempty"`

	// StartTime is the time at which the reservation should start
	StartTime string `json:"startTime,omitempty"`
}

TransactionSpec defines the desired state of Transaction

func (*TransactionSpec) DeepCopy

func (in *TransactionSpec) DeepCopy() *TransactionSpec

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

func (*TransactionSpec) DeepCopyInto

func (in *TransactionSpec) DeepCopyInto(out *TransactionSpec)

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

type TransactionStatus

type TransactionStatus struct {
	// This is the current phase of the reservation
	Phase nodecorev1alpha1.PhaseStatus `json:"phase"`
}

TransactionStatus defines the observed state of Transaction

func (*TransactionStatus) DeepCopy

func (in *TransactionStatus) DeepCopy() *TransactionStatus

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

func (*TransactionStatus) DeepCopyInto

func (in *TransactionStatus) DeepCopyInto(out *TransactionStatus)

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