This commit is contained in:
stSolo
2023-01-23 15:39:41 +03:00
parent ef0dac9b3a
commit 7ddd8c5fbe
39 changed files with 869 additions and 301 deletions

View File

@@ -25,6 +25,22 @@ type CreateRequest struct {
// Required: true
WorkerGroupName string `url:"workerGroupName"`
// ID of SEP to create boot disks for master nodes. Uses images SEP ID if not set
// Required: false
MasterSEPID uint64 `url:"masterSepId,omitempty"`
// Pool to use if master SEP ID is set, can be also empty if needed to be chosen by system
// Required: false
MasterSEPPool string `url:"masterSepPool,omitempty"`
// ID of SEP to create boot disks for default worker nodes group. Uses images SEP ID if not set
// Required: false
WorkerSEPID uint64 `url:"workerSepId,omitempty"`
// Pool to use if worker SEP ID is set, can be also empty if needed to be chosen by system
// Required: false
WorkerSEPPool string `url:"workerSepPool,omitempty"`
// List of strings with labels for default worker group
// i.e: ["label1=value1", "label2=value2"]
// Required: false

View File

@@ -0,0 +1,46 @@
package k8s
import (
"context"
"errors"
"net/http"
)
// Request struct for get node labels
type GetNodeLabelsRequest struct {
// Kubernetes cluster ID
// Required: true
K8SID uint64 `url:"k8sId"`
// Node ID
// Required: false
NodeID uint64 `url:"nodeId"`
}
func (krq GetNodeLabelsRequest) validate() error {
if krq.K8SID == 0 {
return errors.New("validation-error: field K8SID can not be empty or equal to 0")
}
if krq.NodeID == 0 {
return errors.New("validation-error: field NodeID can not be empty or equal to 0")
}
return nil
}
// GetNodeLabels gets kubernetes cluster worker node labels
func (k8s K8S) GetNodeLabels(ctx context.Context, req GetNodeLabelsRequest) (string, error) {
err := req.validate()
if err != nil {
return "", err
}
url := "/cloudapi/k8s/getNodeLabels"
res, err := k8s.client.DecortApiCall(ctx, http.MethodPost, url, req)
if err != nil {
return "", err
}
return string(res), nil
}

View File

@@ -17,6 +17,14 @@ type WorkersGroupAddRequest struct {
// Required: true
Name string `url:"name"`
// ID of SEP to create boot disks for default worker nodes group. Uses images SEP ID if not set
// Required: false
WorkerSEPID uint64 `url:"workerSepId,omitempty"`
// Pool to use if worker SEP ID is set, can be also empty if needed to be chosen by system
// Required: false
WorkerSEPPool string `url:"workerSepPool,omitempty"`
// List of strings with labels for worker group
// i.e: ["label1=value1", "label2=value2"]
// Required: false