v1.8.0
This commit is contained in:
@@ -8,8 +8,6 @@ import (
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
|
||||
)
|
||||
|
||||
// type Params []string
|
||||
|
||||
// CreateRequest struct to create kubernetes cluster
|
||||
type CreateRequest struct {
|
||||
// Name of Kubernetes cluster
|
||||
@@ -74,7 +72,7 @@ type CreateRequest struct {
|
||||
|
||||
// Master node RAM volume in MB
|
||||
// Required: false
|
||||
MasterRAM uint `url:"masterRam,omitempty" json:"masterRam,omitempty"`
|
||||
MasterRAM uint64 `url:"masterRam,omitempty" json:"masterRam,omitempty"`
|
||||
|
||||
// Master node boot disk size in GB If 0 is specified, size is defined by the OS image size
|
||||
// Required: false
|
||||
@@ -90,7 +88,7 @@ type CreateRequest struct {
|
||||
|
||||
// Worker node RAM volume in MB
|
||||
// Required: false
|
||||
WorkerRAM uint `url:"workerRam,omitempty" json:"workerRam,omitempty"`
|
||||
WorkerRAM uint64 `url:"workerRam,omitempty" json:"workerRam,omitempty"`
|
||||
|
||||
// Worker node boot disk size in GB. If 0 is specified, size is defined by the OS image size
|
||||
// Required: false
|
||||
@@ -111,7 +109,7 @@ type CreateRequest struct {
|
||||
|
||||
// Custom sysctl values for Load Balancer instance. Applied on boot
|
||||
// Required: false
|
||||
LbSysctlParams string `url:"lbSysctlParams,omitempty" json:"lbSysctlParams,omitempty"`
|
||||
LbSysctlParams []map[string]interface{} `url:"lbSysctlParams,omitempty" json:"lbSysctlParams,omitempty"`
|
||||
|
||||
// Use Highly Available schema for LB deploy
|
||||
// Required: false
|
||||
@@ -166,10 +164,16 @@ type CreateRequest struct {
|
||||
OidcCertificate string `url:"oidcCertificate,omitempty" json:"oidcCertificate,omitempty"`
|
||||
}
|
||||
|
||||
// type wrapperCreateRequest struct {
|
||||
// CreateRequest
|
||||
// Params []string `url:"lbSysctlParams,omitempty"`
|
||||
// }
|
||||
// GetRAM returns RAM field values
|
||||
func (r CreateRequest) GetRAM() map[string]uint64 {
|
||||
|
||||
res := make(map[string]uint64, 2)
|
||||
|
||||
res["MasterRAM"] = r.MasterRAM
|
||||
res["WorkerRAM"] = r.WorkerRAM
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
// Create creates a new Kubernetes cluster in the specified Resource Group
|
||||
func (k8s K8S) Create(ctx context.Context, req CreateRequest) (string, error) {
|
||||
@@ -178,28 +182,6 @@ func (k8s K8S) Create(ctx context.Context, req CreateRequest) (string, error) {
|
||||
return "", validators.ValidationErrors(validators.GetErrors(err))
|
||||
}
|
||||
|
||||
// var params []string
|
||||
|
||||
// if len(req.LbSysctlParams) != 0 {
|
||||
// params = make([]string, 0, len(req.LbSysctlParams))
|
||||
|
||||
// for r := range req.LbSysctlParams {
|
||||
// b, err := json.Marshal(req.LbSysctlParams[r])
|
||||
// if err != nil {
|
||||
// return "", err
|
||||
// }
|
||||
|
||||
// params = append(params, string(b))
|
||||
// }
|
||||
// } else {
|
||||
// params = []string{"[]"}
|
||||
// }
|
||||
|
||||
// reqWrapped := wrapperCreateRequest{
|
||||
// CreateRequest: req,
|
||||
// Params: params,
|
||||
// }
|
||||
|
||||
url := "/cloudapi/k8s/create"
|
||||
|
||||
res, err := k8s.client.DecortApiCallMP(ctx, http.MethodPost, url, req)
|
||||
|
||||
@@ -4,6 +4,8 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
|
||||
)
|
||||
|
||||
// ListRequest struct to get list information K8S
|
||||
@@ -44,6 +46,10 @@ type ListRequest struct {
|
||||
// Required: false
|
||||
IncludeDeleted bool `url:"includedeleted,omitempty" json:"includedeleted,omitempty"`
|
||||
|
||||
// Sort by one of supported fields, format +|-(field)
|
||||
// Required: false
|
||||
SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`
|
||||
|
||||
// Page number
|
||||
// Required: false
|
||||
Page uint64 `url:"page,omitempty" json:"page,omitempty"`
|
||||
@@ -55,6 +61,7 @@ type ListRequest struct {
|
||||
|
||||
// List gets list of all kubernetes clusters the user has access to as a ListK8SClusters
|
||||
func (k8s K8S) List(ctx context.Context, req ListRequest) (*ListK8SClusters, error) {
|
||||
|
||||
res, err := k8s.ListRaw(ctx, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@@ -72,6 +79,11 @@ func (k8s K8S) List(ctx context.Context, req ListRequest) (*ListK8SClusters, err
|
||||
|
||||
// ListRaw gets list of all kubernetes clusters the user has access to as an array of bytes
|
||||
func (k8s K8S) ListRaw(ctx context.Context, req ListRequest) ([]byte, error) {
|
||||
|
||||
if err := validators.ValidateRequest(req); err != nil {
|
||||
return nil, validators.ValidationErrors(validators.GetErrors(err))
|
||||
}
|
||||
|
||||
url := "/cloudapi/k8s/list"
|
||||
|
||||
res, err := k8s.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
||||
|
||||
@@ -4,6 +4,8 @@ import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
|
||||
)
|
||||
|
||||
// ListDeletedRequest struct to get list of deleted kubernetes cluster
|
||||
@@ -36,6 +38,10 @@ type ListDeletedRequest struct {
|
||||
// Required: false
|
||||
TechStatus string `url:"techStatus,omitempty" json:"techStatus,omitempty"`
|
||||
|
||||
// Sort by one of supported fields, format +|-(field)
|
||||
// Required: false
|
||||
SortBy string `url:"sortBy,omitempty" json:"sortBy,omitempty" validate:"omitempty,sortBy"`
|
||||
|
||||
// Page number
|
||||
// Required: false
|
||||
Page uint64 `url:"page,omitempty" json:"page,omitempty"`
|
||||
@@ -47,6 +53,11 @@ type ListDeletedRequest struct {
|
||||
|
||||
// ListDeleted gets all deleted kubernetes clusters the user has access to
|
||||
func (k8s K8S) ListDeleted(ctx context.Context, req ListDeletedRequest) (*ListK8SClusters, error) {
|
||||
|
||||
if err := validators.ValidateRequest(req); err != nil {
|
||||
return nil, validators.ValidationErrors(validators.GetErrors(err))
|
||||
}
|
||||
|
||||
url := "/cloudapi/k8s/listDeleted"
|
||||
|
||||
res, err := k8s.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
||||
|
||||
@@ -62,6 +62,16 @@ type WorkersGroupAddRequest struct {
|
||||
UserData string `url:"userData,omitempty" json:"userData,omitempty"`
|
||||
}
|
||||
|
||||
// GetRAM returns RAM field values
|
||||
func (r WorkersGroupAddRequest) GetRAM() map[string]uint64 {
|
||||
|
||||
res := make(map[string]uint64, 1)
|
||||
|
||||
res["WorkerRAM"] = r.WorkerRAM
|
||||
|
||||
return res
|
||||
}
|
||||
|
||||
// WorkersGroupAdd adds workers group to Kubernetes cluster
|
||||
func (k8s K8S) WorkersGroupAdd(ctx context.Context, req WorkersGroupAddRequest) (uint64, error) {
|
||||
err := validators.ValidateRequest(req)
|
||||
|
||||
Reference in New Issue
Block a user