mirror of
https://github.com/GlueOps/autoglue.git
synced 2026-02-13 12:50:05 +01:00
feat: complete node pool api, sdk and ui
Signed-off-by: allanice001 <allanice001@gmail.com>
This commit is contained in:
46
internal/handlers/dto/node_pools.go
Normal file
46
internal/handlers/dto/node_pools.go
Normal file
@@ -0,0 +1,46 @@
|
||||
package dto
|
||||
|
||||
import "github.com/glueops/autoglue/internal/common"
|
||||
|
||||
type NodeRole string
|
||||
|
||||
const (
|
||||
NodeRoleMaster NodeRole = "master"
|
||||
NodeRoleWorker NodeRole = "worker"
|
||||
)
|
||||
|
||||
type CreateNodePoolRequest struct {
|
||||
Name string `json:"name"`
|
||||
Role NodeRole `json:"role" enums:"master,worker" swaggertype:"string"`
|
||||
}
|
||||
|
||||
type UpdateNodePoolRequest struct {
|
||||
Name *string `json:"name"`
|
||||
Role *NodeRole `json:"role" enums:"master,worker" swaggertype:"string"`
|
||||
}
|
||||
|
||||
type NodePoolResponse struct {
|
||||
common.AuditFields
|
||||
Name string `json:"name"`
|
||||
Role NodeRole `json:"role" enums:"master,worker" swaggertype:"string"`
|
||||
Servers []ServerResponse `json:"servers"`
|
||||
Annotations []AnnotationResponse `json:"annotations"`
|
||||
Labels []LabelResponse `json:"labels"`
|
||||
Taints []TaintResponse `json:"taints"`
|
||||
}
|
||||
|
||||
type AttachServersRequest struct {
|
||||
ServerIDs []string `json:"server_ids"`
|
||||
}
|
||||
|
||||
type AttachTaintsRequest struct {
|
||||
TaintIDs []string `json:"taint_ids"`
|
||||
}
|
||||
|
||||
type AttachLabelsRequest struct {
|
||||
LabelIDs []string `json:"label_ids"`
|
||||
}
|
||||
|
||||
type AttachAnnotationsRequest struct {
|
||||
AnnotationIDs []string `json:"annotation_ids"`
|
||||
}
|
||||
@@ -8,8 +8,8 @@ type CreateServerRequest struct {
|
||||
PrivateIPAddress string `json:"private_ip_address"`
|
||||
SSHUser string `json:"ssh_user"`
|
||||
SshKeyID string `json:"ssh_key_id"`
|
||||
Role string `json:"role" example:"master|worker|bastion"`
|
||||
Status string `json:"status,omitempty" example:"pending|provisioning|ready|failed"`
|
||||
Role string `json:"role" example:"master|worker|bastion" enums:"master,worker,bastion"`
|
||||
Status string `json:"status,omitempty" example:"pending|provisioning|ready|failed" enums:"pending,provisioning,ready,failed"`
|
||||
}
|
||||
|
||||
type UpdateServerRequest struct {
|
||||
@@ -18,8 +18,8 @@ type UpdateServerRequest struct {
|
||||
PrivateIPAddress *string `json:"private_ip_address,omitempty"`
|
||||
SSHUser *string `json:"ssh_user,omitempty"`
|
||||
SshKeyID *string `json:"ssh_key_id,omitempty"`
|
||||
Role *string `json:"role,omitempty" example:"master|worker|bastion"`
|
||||
Status *string `json:"status,omitempty" example:"pending|provisioning|ready|failed"`
|
||||
Role *string `json:"role" example:"master|worker|bastion" enums:"master,worker,bastion"`
|
||||
Status *string `json:"status,omitempty" example:"pending|provisioning|ready|failed" enums:"pending,provisioning,ready,failed"`
|
||||
}
|
||||
|
||||
type ServerResponse struct {
|
||||
@@ -30,8 +30,8 @@ type ServerResponse struct {
|
||||
PrivateIPAddress string `json:"private_ip_address"`
|
||||
SSHUser string `json:"ssh_user"`
|
||||
SshKeyID uuid.UUID `json:"ssh_key_id"`
|
||||
Role string `json:"role"`
|
||||
Status string `json:"status"`
|
||||
Role string `json:"role" example:"master|worker|bastion" enums:"master,worker,bastion"`
|
||||
Status string `json:"status,omitempty" example:"pending|provisioning|ready|failed" enums:"pending,provisioning,ready,failed"`
|
||||
CreatedAt string `json:"created_at,omitempty"`
|
||||
UpdatedAt string `json:"updated_at,omitempty"`
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user