v9.0.0
This commit is contained in:
326
pkg/cloudapi/k8s/models.go
Normal file
326
pkg/cloudapi/k8s/models.go
Normal file
@@ -0,0 +1,326 @@
|
||||
package k8s
|
||||
|
||||
// Main information about kubernetes cluster
|
||||
type ItemK8SGroup struct {
|
||||
// List of Annotations
|
||||
Annotations []string `json:"annotations"`
|
||||
|
||||
// Number of CPU
|
||||
CPU uint64 `json:"cpu"`
|
||||
|
||||
// List detailed information
|
||||
DetailedInfo ListDetailedInfo `json:"detailedInfo"`
|
||||
|
||||
// Disk ID
|
||||
Disk uint64 `json:"disk"`
|
||||
|
||||
// GUID
|
||||
GUID string `json:"guid"`
|
||||
|
||||
// ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// List of Labels
|
||||
Labels []string `json:"labels"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// Num
|
||||
Num uint64 `json:"num"`
|
||||
|
||||
// Number of RAM
|
||||
RAM uint64 `json:"ram"`
|
||||
|
||||
// List of taints
|
||||
Taints []string `json:"taints"`
|
||||
}
|
||||
|
||||
// List kubernetes cluster groups
|
||||
type ListK8SGroups []ItemK8SGroup
|
||||
|
||||
// Detailed information
|
||||
type ItemDetailedInfo struct {
|
||||
// Externalip
|
||||
Externalip string `json:"externalip"`
|
||||
|
||||
// ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Tech status
|
||||
TechStatus string `json:"techStatus"`
|
||||
}
|
||||
|
||||
// List detailed information
|
||||
type ListDetailedInfo []ItemDetailedInfo
|
||||
|
||||
// Deteal information about kubernetes cluster
|
||||
type RecordK8S struct {
|
||||
// Access Control List
|
||||
ACL RecordACL `json:"ACL"`
|
||||
|
||||
// Account ID
|
||||
AccountID uint64 `json:"accountId"`
|
||||
|
||||
// Account name
|
||||
AccountName string `json:"accountName"`
|
||||
|
||||
// Basic Service ID
|
||||
BServiceID uint64 `json:"bserviceId"`
|
||||
|
||||
// CIID
|
||||
CIID uint64 `json:"ciId"`
|
||||
|
||||
// Created by
|
||||
CreatedBy string `json:"createdBy"`
|
||||
|
||||
// Created time
|
||||
CreatedTime uint64 `json:"createdTime"`
|
||||
|
||||
// Deleted by
|
||||
DeletedBy string `json:"deletedBy"`
|
||||
|
||||
// Deleted time
|
||||
DeletedTime uint64 `json:"deletedTime"`
|
||||
|
||||
// Only external network
|
||||
ExtnetOnly bool `json:"extnetOnly"`
|
||||
|
||||
// Highly available LB
|
||||
HighlyAvailableLB bool `json:"highlyAvailableLB"`
|
||||
|
||||
// Address Virtual Internet Protocol
|
||||
AddressVIP K8SAddressVIP `json:"addressVip"`
|
||||
|
||||
// ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// K8CI name
|
||||
K8CIName string `json:"k8ciName"`
|
||||
|
||||
// Kubernetes cluster groups information
|
||||
K8SGroups RecordK8SGroups `json:"k8sGroups"`
|
||||
|
||||
// Load balancer ID
|
||||
LBID uint64 `json:"lbId"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// Network plugin
|
||||
NetworkPlugin string `json:"networkPlugin"`
|
||||
|
||||
// Resource group ID
|
||||
RGID uint64 `json:"rgId"`
|
||||
|
||||
// Resource group name
|
||||
RGName string `json:"rgName"`
|
||||
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Tech status
|
||||
TechStatus string `json:"techStatus"`
|
||||
|
||||
// Updated by
|
||||
UpdatedBy string `json:"updatedBy"`
|
||||
|
||||
// Updated time
|
||||
UpdatedTime uint64 `json:"updatedTime"`
|
||||
|
||||
// With LB
|
||||
WithLB bool `json:"withLB"`
|
||||
}
|
||||
|
||||
// Detailed information about address of the Virtual Internet Protocol
|
||||
type K8SAddressVIP struct {
|
||||
// Backend IP
|
||||
BackendIP string `json:"backendIp"`
|
||||
|
||||
// Frontend IP
|
||||
FrontendIP string `json:"frontendIp"`
|
||||
}
|
||||
|
||||
// Detailed information about kubernetes cluster groups
|
||||
type RecordK8SGroups struct {
|
||||
|
||||
// Master information
|
||||
Masters MasterGroup `json:"masters"`
|
||||
|
||||
// Worker information
|
||||
Workers ListK8SGroups `json:"workers"`
|
||||
}
|
||||
|
||||
// Master group information
|
||||
type MasterGroup struct {
|
||||
// Number of CPU
|
||||
CPU uint64 `json:"cpu"`
|
||||
|
||||
// Detailed information
|
||||
DetailedInfo ListDetailedInfo `json:"detailedInfo"`
|
||||
|
||||
// Disk ID
|
||||
Disk uint64 `json:"disk"`
|
||||
|
||||
// ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// Num
|
||||
Num uint64 `json:"num"`
|
||||
|
||||
// Number of RAM
|
||||
RAM uint64 `json:"ram"`
|
||||
}
|
||||
|
||||
// Access Control List
|
||||
type RecordACL struct {
|
||||
// Account ACL
|
||||
AccountACL ListACL `json:"accountAcl"`
|
||||
|
||||
// K8S ACL
|
||||
K8SACL ListACL `json:"k8sAcl"`
|
||||
|
||||
// RG ACL
|
||||
RGACL ListACL `json:"rgAcl"`
|
||||
}
|
||||
|
||||
// Main information of Access Control List
|
||||
type ItemACL struct {
|
||||
// Explicit
|
||||
Explicit bool `json:"explicit"`
|
||||
|
||||
// GUID
|
||||
GUID string `json:"guid"`
|
||||
|
||||
// Right
|
||||
Right string `json:"right"`
|
||||
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Type
|
||||
Type string `json:"type"`
|
||||
|
||||
// User group ID
|
||||
UserGroupID string `json:"userGroupId"`
|
||||
}
|
||||
|
||||
// List of ACL
|
||||
type ListACL []ItemACL
|
||||
|
||||
// Main information about kubernetes cluster
|
||||
type ItemK8SCluster struct {
|
||||
// Account ID
|
||||
AccountID uint64 `json:"accountId"`
|
||||
|
||||
// Account name
|
||||
AccountName string `json:"accountName"`
|
||||
|
||||
// Access Control List
|
||||
ACL []interface{} `json:"acl"`
|
||||
|
||||
// Basic Service ID
|
||||
BServiceID uint64 `json:"bserviceId"`
|
||||
|
||||
// CIID
|
||||
CIID uint64 `json:"ciId"`
|
||||
|
||||
// Config
|
||||
Config interface{} `json:"config"`
|
||||
|
||||
// Create by
|
||||
CreatedBy string `json:"createdBy"`
|
||||
|
||||
// Created time
|
||||
CreatedTime uint64 `json:"createdTime"`
|
||||
|
||||
// Deleted by
|
||||
DeletedBy string `json:"deletedBy"`
|
||||
|
||||
// Deleted time
|
||||
DeletedTime uint64 `json:"deletedTime"`
|
||||
|
||||
// Description
|
||||
Description string `json:"desc"`
|
||||
|
||||
// External network ID
|
||||
ExtNetID uint64 `json:"extnetId"`
|
||||
|
||||
// Grid ID
|
||||
GID uint64 `json:"gid"`
|
||||
|
||||
// GUID
|
||||
GUID uint64 `json:"guid"`
|
||||
|
||||
// ID
|
||||
ID uint64 `json:"id"`
|
||||
|
||||
// Load balancer ID
|
||||
LBID uint64 `json:"lbId"`
|
||||
|
||||
// Milestones
|
||||
Milestones uint64 `json:"milestones"`
|
||||
|
||||
// Name
|
||||
Name string `json:"name"`
|
||||
|
||||
// Network plugin
|
||||
NetworkPlugin string `json:"networkPlugin"`
|
||||
|
||||
// Resource group ID
|
||||
RGID uint64 `json:"rgId"`
|
||||
|
||||
// Resource group name
|
||||
RGName string `json:"rgName"`
|
||||
|
||||
// Information about service account
|
||||
ServiceAccount RecordServiceAccount `json:"serviceAccount"`
|
||||
|
||||
// Status
|
||||
Status string `json:"status"`
|
||||
|
||||
// Tech status
|
||||
TechStatus string `json:"techStatus"`
|
||||
|
||||
// Updated by
|
||||
UpdatedBy string `json:"updatedBy"`
|
||||
|
||||
// Updated time
|
||||
UpdatedTime uint64 `json:"updatedTime"`
|
||||
|
||||
// VINS ID
|
||||
VINSID uint64 `json:"vinsId"`
|
||||
|
||||
// List workers group
|
||||
WorkersGroup ListK8SGroups `json:"workersGroups"`
|
||||
}
|
||||
|
||||
// Information about service account
|
||||
type RecordServiceAccount struct {
|
||||
// GUID
|
||||
GUID string `json:"guid"`
|
||||
|
||||
// Password
|
||||
Password string `json:"password"`
|
||||
|
||||
// Username
|
||||
Username string `json:"username"`
|
||||
}
|
||||
|
||||
// List of kubernetes clusters
|
||||
type ListK8SClusters struct {
|
||||
// Data
|
||||
Data []ItemK8SCluster `json:"data"`
|
||||
|
||||
// Entry count
|
||||
EntryCount uint64 `json:"entryCount"`
|
||||
}
|
||||
Reference in New Issue
Block a user