v1.14.0
This commit is contained in:
@@ -215,6 +215,9 @@ type InfoAccount struct {
|
||||
// UniqPools
|
||||
UniqPools []string `json:"uniqPools"`
|
||||
|
||||
// Updated By
|
||||
UpdatedBy string `json:"updatedBy"`
|
||||
|
||||
// UpdatedTime
|
||||
UpdatedTime uint64 `json:"updatedTime"`
|
||||
|
||||
|
||||
47
pkg/cloudbroker/compute/check_compute_placement.go
Normal file
47
pkg/cloudbroker/compute/check_compute_placement.go
Normal file
@@ -0,0 +1,47 @@
|
||||
package compute
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"repository.basistech.ru/BASIS/decort-golang-sdk/internal/validators"
|
||||
)
|
||||
|
||||
// CheckComputePlacementRequest struct for check compute placement
|
||||
type CheckComputePlacementRequest struct {
|
||||
// IDs of compute instances to check
|
||||
// Required: true
|
||||
ComputeIDs []uint64 `url:"compute_ids" json:"compute_ids" validate:"required"`
|
||||
|
||||
// Filter by CPU and RAM when checking placement
|
||||
// Required: false
|
||||
// Default: true
|
||||
FilterByCPURAM interface{} `url:"filter_by_cpu_ram,omitempty" json:"filter_by_cpu_ram,omitempty" validate:"omitempty,isBool"`
|
||||
}
|
||||
|
||||
// CheckComputePlacement checks compute placement and returns structured result
|
||||
func (c Compute) CheckComputePlacement(ctx context.Context, req CheckComputePlacementRequest) (CheckComputePlacementResult, error) {
|
||||
err := validators.ValidateRequest(req)
|
||||
if err != nil {
|
||||
return nil, validators.ValidationErrors(validators.GetErrors(err))
|
||||
}
|
||||
|
||||
url := "/cloudbroker/compute/check_compute_placement"
|
||||
|
||||
if req.FilterByCPURAM == nil {
|
||||
req.FilterByCPURAM = true
|
||||
}
|
||||
|
||||
res, err := c.client.DecortApiCall(ctx, http.MethodPost, url, req)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result := make(CheckComputePlacementResult)
|
||||
if err := json.Unmarshal(res, &result); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
@@ -394,6 +394,9 @@ type ItemDisk struct {
|
||||
// BLK Discard
|
||||
BLKDiscard bool `json:"blkdiscard"`
|
||||
|
||||
// Block Size
|
||||
BlockSize string `json:"block_size"`
|
||||
|
||||
// Boot partition
|
||||
BootPartition uint64 `json:"bootPartition"`
|
||||
|
||||
@@ -1493,3 +1496,20 @@ type CloneStatus struct {
|
||||
// Progress percent
|
||||
ProgressPercent int `json:"progress_percent"`
|
||||
}
|
||||
|
||||
type CheckComputePlacementError struct {
|
||||
// Code
|
||||
Code int64 `json:"code"`
|
||||
|
||||
// Message
|
||||
Message string `json:"message"`
|
||||
}
|
||||
|
||||
type CheckComputePlacementItem struct {
|
||||
// Nide IDs
|
||||
NodeIDs []uint64 `json:"node_ids"`
|
||||
// error
|
||||
Error CheckComputePlacementError `json:"error,omitempty"`
|
||||
}
|
||||
|
||||
type CheckComputePlacementResult map[string]CheckComputePlacementItem
|
||||
|
||||
@@ -56,6 +56,9 @@ type InfoDisk struct {
|
||||
// BLK Discard
|
||||
BLKDiscard bool `json:"blkdiscard"`
|
||||
|
||||
// Block size of disk
|
||||
BlockSize string `json:"block_size"`
|
||||
|
||||
// Boot partition
|
||||
BootPartition uint64 `json:"bootPartition"`
|
||||
|
||||
@@ -218,6 +221,9 @@ type ItemReplication struct {
|
||||
// Detailed indormation about disk
|
||||
type RecordDisk struct {
|
||||
|
||||
// Block size of disk
|
||||
BlockSize string `json:"block_size"`
|
||||
|
||||
//Created by
|
||||
CreatedBy string `json:"createdBy"`
|
||||
|
||||
|
||||
@@ -21,6 +21,10 @@ type UpdateRequest struct {
|
||||
// BLK Discard
|
||||
// Required: false
|
||||
BLKDiscard interface{} `url:"blkdiscard,omitempty" json:"blkdiscard,omitempty" validate:"omitempty,isBool"`
|
||||
|
||||
// Block size of disk
|
||||
// Required: false
|
||||
BlockSize string `url:"block_size,omitempty" json:"block_size,omitempty"`
|
||||
}
|
||||
|
||||
// Update updates disk
|
||||
|
||||
@@ -193,14 +193,6 @@ type CreateRequest struct {
|
||||
// Required: false
|
||||
NodeID uint64 `url:"node_id,omitempty" json:"node_id,omitempty"`
|
||||
|
||||
// System name
|
||||
// Required: false
|
||||
IS string `url:"IS,omitempty" json:"IS,omitempty"`
|
||||
|
||||
// Compute purpose
|
||||
// Required: false
|
||||
IPAType string `url:"ipaType,omitempty" json:"ipaType,omitempty"`
|
||||
|
||||
// Custom fields for Compute. Must be dict
|
||||
// Required: false
|
||||
CustomField string `url:"customFields,omitempty" json:"customFields,omitempty"`
|
||||
|
||||
@@ -49,6 +49,10 @@ type ListRequest struct {
|
||||
// Page size
|
||||
// Required: false
|
||||
Size uint64 `url:"size,omitempty" json:"size,omitempty"`
|
||||
|
||||
// Find by zone ID
|
||||
// Required: false
|
||||
ZoneID uint64 `url:"zone_id,omitempty" json:"zone_id,omitempty"`
|
||||
}
|
||||
|
||||
// List gets list of all nodes as a ListNodes struct
|
||||
|
||||
Reference in New Issue
Block a user