You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
297 lines
5.0 KiB
297 lines
5.0 KiB
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 {
|
|
// 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"`
|
|
|
|
// 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"`
|
|
}
|
|
|
|
// 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 []ItemK8SCluster
|