* Copyright (c) 2024 Huawei Technologies Co., Ltd.
* openFuyao is licensed under Mulan PSL v2.
* You can use this software according to the terms and conditions of the Mulan PSL v2.
* You may obtain a copy of Mulan PSL v2 at:
* http://license.coscl.org.cn/MulanPSL2
* THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND,
* EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT,
* MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE.
* See the Mulan PSL v2 for more details.
*/
package v1beta1
import (
v1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
)
type ClusterSpec struct {
UID string `json:"uid,omitempty"`
APIEndpoint string `json:"apiEndpoint,omitempty"`
Kubeconfigpath string `json:"kubeconfigpath,omitempty"`
KubeConfig runtime.RawExtension `json:"kubeconfig,omitempty"`
OutClusterConfig runtime.RawExtension `json:"outclusterconfig,omitempty"`
}
type ClusterStatus struct {
Condition []v1.Condition `json:"conditions,omitempty"`
ResourceList ResourcesCondition `json:"resourceList,omitempty"`
}
type ResourcesCondition struct {
AllocatableCPU string `json:"allocatablecpu,omitempty"`
AllocatableMemory string `json:"allocatablemem,omitempty"`
AllocatedCPU string `json:"allocatedcpu,omitempty"`
AllocatedMemory string `json:"allocatedmem,omitempty"`
}
type Cluster struct {
v1.TypeMeta `json:",inline"`
v1.ObjectMeta `json:"metadata,omitempty"`
Spec ClusterSpec `json:"spec,omitempty"`
Status ClusterStatus `json:"status,omitempty"`
}
type ClusterList struct {
v1.TypeMeta `json:",inline"`
v1.ListMeta `json:"metadata,omitempty"`
Items []Cluster `json:"items"`
}
func init() {
SchemeBuilder.Register(&Cluster{}, &ClusterList{})
}