Documentation
¶
Overview ¶
Package v1alpha1 contains API Schema definitions for the reservation v1alpha1 API group +kubebuilder:object:generate=true +groupName=reservation.fluidos.eu
Index ¶
- Variables
- type Contract
- func (in *Contract) DeepCopy() *Contract
- func (in *Contract) DeepCopyInto(out *Contract)
- func (in *Contract) DeepCopyObject() runtime.Object
- func (r *Contract) Default(ctx context.Context, obj runtime.Object) error
- func (r *Contract) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Contract) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *Contract) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *Contract) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type ContractList
- type ContractSpec
- type ContractStatus
- type Reservation
- func (in *Reservation) DeepCopy() *Reservation
- func (in *Reservation) DeepCopyInto(out *Reservation)
- func (in *Reservation) DeepCopyObject() runtime.Object
- func (r *Reservation) Default(ctx context.Context, obj runtime.Object) error
- func (r *Reservation) SetPhase(phase nodecorev1alpha1.Phase, msg string)
- func (r *Reservation) SetPurchaseStatus(status nodecorev1alpha1.Phase)
- func (r *Reservation) SetReserveStatus(status nodecorev1alpha1.Phase)
- func (r *Reservation) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Reservation) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *Reservation) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *Reservation) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type ReservationList
- type ReservationSpec
- type ReservationStatus
- type TelemetryServer
- type Transaction
- func (in *Transaction) DeepCopy() *Transaction
- func (in *Transaction) DeepCopyInto(out *Transaction)
- func (in *Transaction) DeepCopyObject() runtime.Object
- func (r *Transaction) Default(ctx context.Context, obj runtime.Object) error
- func (r *Transaction) SetupWebhookWithManager(mgr ctrl.Manager) error
- func (r *Transaction) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *Transaction) ValidateDelete(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
- func (r *Transaction) ValidateUpdate(ctx context.Context, oldObj, newObj runtime.Object) (admission.Warnings, error)
- type TransactionList
- type TransactionSpec
- type TransactionStatus
Constants ¶
This section is empty.
Variables ¶
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 ¶
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Contract.
func (*Contract) DeepCopyInto ¶
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*Contract) DeepCopyObject ¶
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*Contract) Default ¶ added in v0.1.0
Default implements webhook.Defaulter so a webhook will be registered for the type.
func (*Contract) SetupWebhookWithManager ¶ added in v0.1.0
SetupWebhookWithManager sets up and registers the webhook with the managecontract.
func (*Contract) ValidateCreate ¶ added in v0.1.0
func (r *Contract) ValidateCreate(ctx context.Context, obj runtime.Object) (admission.Warnings, error)
ValidateCreate 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"`
// IngressTelemetryEndpoint is the endpoint where the ingress telemetry is sent by the provider
IngressTelemetryEndpoint *TelemetryServer `json:"ingressTelemetryEndpoint,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
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(ctx context.Context, obj runtime.Object) (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(ctx context.Context, obj runtime.Object) (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(ctx context.Context, oldObj, newObj 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"`
// IngressTelemetryEndpoint is the endpoint where the ingress telemetry is sent by the provider
IngressTelemetryEndpoint *TelemetryServer `json:"ingressTelemetryEndpoint,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 TelemetryServer ¶ added in v0.1.2
type TelemetryServer struct {
// Endpoint is the endpoint where the telemetry is sent by the provider
Endpoint string `json:"endpoint"`
// Intents is the list of intents
Intents []string `json:"intents,omitempty"`
}
TelemetryServer defines the telemetry server configuration.
func (*TelemetryServer) DeepCopy ¶ added in v0.1.2
func (in *TelemetryServer) DeepCopy() *TelemetryServer
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new TelemetryServer.
func (*TelemetryServer) DeepCopyInto ¶ added in v0.1.2
func (in *TelemetryServer) DeepCopyInto(out *TelemetryServer)
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
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 managetransaction.
func (*Transaction) ValidateCreate ¶ added in v0.1.0
func (r *Transaction) ValidateCreate(ctx context.Context, obj runtime.Object) (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(ctx context.Context, obj runtime.Object) (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(ctx context.Context, oldObj, newObj 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.