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: 13 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"`
}

Contract is the Schema for the contracts API. +kubebuilder:printcolumn:name="Flavor ID",type=string,JSONPath=`.spec.flavor.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` +kubebuilder:resource:shortName=contr

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.

func (*Contract) Default added in v0.1.0

func (r *Contract) Default()

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

func (*Contract) SetupWebhookWithManager added in v0.1.0

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

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*Contract) ValidateCreate added in v0.1.0

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

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

func (*Contract) ValidateDelete added in v0.1.0

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

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

func (*Contract) ValidateUpdate added in v0.1.0

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

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

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 flavor on which the contract is based. It is used to lifetime maintain the critical characteristics of the contract.
	Flavor nodecorev1alpha1.Flavor `json:"flavor"`

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

	// The configuration 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.
	Configuration *nodecorev1alpha1.Configuration `json:"configuration,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.
	PeeringTargetCredentials nodecorev1alpha1.LiqoCredentials `json:"peeringTargetCredentials"`

	// 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"`

	// NetworkRequests contains the reference to the resource containing the network requests.
	NetworkRequests string `json:"networkRequests,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"`
}

Reservation is the Schema for the reservations API. +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` +kubebuilder:resource:shortName=res

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) Default added in v0.1.0

func (r *Reservation) Default()

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

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).

func (*Reservation) SetupWebhookWithManager added in v0.1.0

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

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*Reservation) ValidateCreate added in v0.1.0

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

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

func (*Reservation) ValidateDelete added in v0.1.0

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

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

func (*Reservation) ValidateUpdate added in v0.1.0

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

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

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"`

	// Configuration is the configuration of the flavour that is being reserved
	Configuration *nodecorev1alpha1.Configuration `json:"configuration,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"`
}

Transaction is the Schema for the transactions API. +kubebuilder:printcolumn:name="Flavor ID",type="string",JSONPath=".spec.flavorID" +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" +kubebuilder:resource:shortName=tr

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.

func (*Transaction) Default added in v0.1.0

func (r *Transaction) Default()

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

func (*Transaction) SetupWebhookWithManager added in v0.1.0

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

SetupWebhookWithManager sets up and registers the webhook with the manager.

func (*Transaction) ValidateCreate added in v0.1.0

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

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

func (*Transaction) ValidateDelete added in v0.1.0

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

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

func (*Transaction) ValidateUpdate added in v0.1.0

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

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

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 {
	// FlavorID is the ID of the flavor that is being reserved
	FlavorID string `json:"flavorID"`

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

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

	// Configuration is the configuration of the flavor that is being reserved
	Configuration *nodecorev1alpha1.Configuration `json:"configuration,omitempty"`

	// ExpirationTime is the time when the reservation will expire
	ExpirationTime string `json:"expirationTime,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