-
Notifications
You must be signed in to change notification settings - Fork 44
/
model_node_spec_update.go
33 lines (23 loc) · 2.93 KB
/
model_node_spec_update.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package model
import (
"github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils"
"strings"
)
type NodeSpecUpdate struct {
// 支持给创建出来的节点加Taints来设置反亲和性,taints配置不超过20条。默认值为空。每条Taints包含以下3个参数: - Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀。 - Value:必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。 - Effect:只可选NoSchedule,PreferNoSchedule或NoExecute。 示例: ``` \"taints\": [{ \"key\": \"status\", \"value\": \"unavailable\", \"effect\": \"NoSchedule\" }, { \"key\": \"looks\", \"value\": \"bad\", \"effect\": \"NoSchedule\" }] ``` > 参数未指定或者为空数组时将删除节点池的自定义Taints
Taints []Taint `json:"taints"`
// 格式为key/value键值对。键值对个数不超过20条。默认值为空。 - Key:必须以字母或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符;另外可以使用DNS子域作为前缀,例如example.com/my-key,DNS子域最长253个字符。 - Value:可以为空或者非空字符串,非空字符串必须以字符或数字开头,可以包含字母、数字、连字符、下划线和点,最长63个字符。 示例: ``` \"k8sTags\": { \"key\": \"value\" } ``` > 参数未指定或者为空对象时将删除节点池的自定义K8s标签
K8sTags map[string]string `json:"k8sTags"`
// 云服务器标签,键必须唯一,CCE支持的最大用户自定义标签数量依region而定,自定义标签数上限为8个。默认值为空。 > 参数未指定或者为空数组时将删除节点池的自定义云服务器标签
UserTags []UserTag `json:"userTags"`
// 自定义初始化标记。 CCE节点在初始化完成之前,会打上初始化未完成污点(node.cloudprovider.kubernetes.io/uninitialized)防止pod调度到节点上。 cce支持自定义初始化标记,在接收到initializedConditions参数后,会将参数值转换成节点标签,随节点下发,例如:cloudprovider.openvessel.io/inject-initialized-conditions=CCEInitial_CustomedInitial。 当节点上设置了此标签,会轮询节点的status.Conditions,查看conditions的type是否存在标记名,如CCEInitial、CustomedInitial标记,如果存在所有传入的标记,且状态为True,认为节点初始化完成,则移除初始化污点。 默认值为空。 - 必须以字母、数字组成,长度范围1-20位。 - 标记数量不超过2个
InitializedConditions *[]string `json:"initializedConditions,omitempty"`
Login *Login `json:"login,omitempty"`
}
func (o NodeSpecUpdate) String() string {
data, err := utils.Marshal(o)
if err != nil {
return "NodeSpecUpdate struct{}"
}
return strings.Join([]string{"NodeSpecUpdate", string(data)}, " ")
}