tencentcloud-sdk-nodejs-tke 4.1.264 → 4.1.269

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
- import { v20220501 } from "./v20220501";
2
1
  import { v20180525 } from "./v20180525";
2
+ import { v20220501 } from "./v20220501";
3
3
  export const tke = {
4
- v20220501: v20220501,
5
4
  v20180525: v20180525,
5
+ v20220501: v20220501,
6
6
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tencentcloud-sdk-nodejs-tke",
3
- "version": "4.1.264",
3
+ "version": "4.1.269",
4
4
  "description": "腾讯云 API NODEJS SDK",
5
5
  "main": "./tencentcloud/index.js",
6
6
  "module": "./es/index.js",
@@ -1,10 +1,10 @@
1
1
  export declare const tke: {
2
- v20220501: {
3
- Client: typeof import("./v20220501/tke_client").Client;
4
- Models: typeof import("./v20220501/tke_models");
5
- };
6
2
  v20180525: {
7
3
  Client: typeof import("./v20180525/tke_client").Client;
8
4
  Models: typeof import("./v20180525/tke_models");
9
5
  };
6
+ v20220501: {
7
+ Client: typeof import("./v20220501/tke_client").Client;
8
+ Models: typeof import("./v20220501/tke_models");
9
+ };
10
10
  };
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.tke = void 0;
4
- const v20220501_1 = require("./v20220501");
5
4
  const v20180525_1 = require("./v20180525");
5
+ const v20220501_1 = require("./v20220501");
6
6
  exports.tke = {
7
- v20220501: v20220501_1.v20220501,
8
7
  v20180525: v20180525_1.v20180525,
8
+ v20220501: v20220501_1.v20220501,
9
9
  };
@@ -28,8 +28,97 @@ export declare class Client extends TencentCloudCommon.AbstractClient {
28
28
  */
29
29
  StartMachines(req: StartMachinesRequest, cb?: (error: string, rep: StartMachinesResponse) => void): Promise<StartMachinesResponse>;
30
30
  /**
31
- * 创建 TKE 节点池
32
- */
31
+ * **通过 CAM 策略强制节点池安全配置**
32
+
33
+ 创建原生节点池(`CreateNodePool`)接口已接入 CAM 条件鉴权,会根据请求参数计算出一组**条件键(Condition Key)**并传入 CAM 鉴权。您可以在 CAM/SCP 策略中基于这些条件键配置 `deny` 规则,从而强制约束节点池的安全配置(如必须开启磁盘加密、安全加固等)。
34
+
35
+ **支持的条件键**
36
+
37
+ | 条件键 | 含义 | 取值 | 取值判定说明 |
38
+ |--------|------|------|-------------|
39
+ | `tke:NodePoolType` | 节点池类型 | `Native` / `External` | 取请求的节点池类型,未指定时默认为 `Native` |
40
+ | `tke:SystemDiskEncrypted` | 系统盘是否加密 | `true` / `false` | 系统盘加密属性为 `ENCRYPT`(大小写不敏感)时为 `true`,否则为 `false` |
41
+ | `tke:AllDataDisksEncrypted` | 所有数据盘是否都已加密 | `true` / `false` | 全部数据盘加密属性均为 `ENCRYPT` 时为 `true`;未配置数据盘时也为 `true`;只要有任一数据盘未加密即为 `false` |
42
+ | `tke:SecurityAgentEnabled` | 是否开启安全加固(Security Agent) | `true` / `false` | 开启安全加固时为 `true`,否则为 `false` |
43
+
44
+ > 说明:所有条件键的取值均为字符串 `"true"` / `"false"`,请在策略中使用字符串形式匹配。
45
+
46
+ **使用方式**
47
+
48
+ 在 CAM 策略中使用 `bool_equal` 匹配条件键值为 `"false"`,配合 `effect: deny`,即可实现"未满足安全配置则拒绝创建节点池"的强制约束。
49
+
50
+ **示例一:强制开启安全加固**
51
+
52
+ 创建节点池时若未开启安全加固(`tke:SecurityAgentEnabled = "false"`),则拒绝。
53
+
54
+ ```json
55
+ {
56
+ "version": "2.0",
57
+ "statement": [
58
+ {
59
+ "effect": "deny",
60
+ "action": ["tke:CreateNodePool"],
61
+ "resource": ["*"],
62
+ "condition": {
63
+ "bool_equal": {
64
+ "tke:SecurityAgentEnabled": "false"
65
+ }
66
+ }
67
+ }
68
+ ]
69
+ }
70
+ ```
71
+
72
+ **示例二:强制数据盘加密**
73
+
74
+ 创建节点池时若存在未加密的数据盘(`tke:AllDataDisksEncrypted = "false"`),则拒绝。
75
+
76
+ ```json
77
+ {
78
+ "version": "2.0",
79
+ "statement": [
80
+ {
81
+ "effect": "deny",
82
+ "action": ["tke:CreateNodePool"],
83
+ "resource": ["*"],
84
+ "condition": {
85
+ "bool_equal": {
86
+ "tke:AllDataDisksEncrypted": "false"
87
+ }
88
+ }
89
+ }
90
+ ]
91
+ }
92
+ ```
93
+
94
+ **示例三:强制系统盘加密**
95
+
96
+ 创建节点池时若系统盘未加密(`tke:SystemDiskEncrypted = "false"`),则拒绝。
97
+
98
+ ```json
99
+ {
100
+ "version": "2.0",
101
+ "statement": [
102
+ {
103
+ "effect": "deny",
104
+ "action": ["tke:CreateNodePool"],
105
+ "resource": ["*"],
106
+ "condition": {
107
+ "bool_equal": {
108
+ "tke:SystemDiskEncrypted": "false"
109
+ }
110
+ }
111
+ }
112
+ ]
113
+ }
114
+ ```
115
+
116
+ **注意事项**
117
+
118
+ - 上述条件键在**未配置任何 CAM 策略**时不会影响节点池创建,仅在您显式配置了对应 `deny` 策略时才生效。
119
+ - 如需同时强制多项安全配置,必须在同一策略的 `statement` 中配置多条 `deny` 规则,不能将多个条件键写入同一条 `condition`。
120
+ - `tke:AllDataDisksEncrypted` 在**无数据盘**场景下取值为 `true`(不存在未加密的数据盘),因此仅约束"已配置的数据盘必须加密",不会强制要求必须挂载数据盘。
121
+ */
33
122
  CreateNodePool(req: CreateNodePoolRequest, cb?: (error: string, rep: CreateNodePoolResponse) => void): Promise<CreateNodePoolResponse>;
34
123
  /**
35
124
  * 查询健康检测策略绑定关系
@@ -58,8 +58,97 @@ class Client extends TencentCloudCommon.AbstractClient {
58
58
  return this.request("StartMachines", req, cb);
59
59
  }
60
60
  /**
61
- * 创建 TKE 节点池
62
- */
61
+ * **通过 CAM 策略强制节点池安全配置**
62
+
63
+ 创建原生节点池(`CreateNodePool`)接口已接入 CAM 条件鉴权,会根据请求参数计算出一组**条件键(Condition Key)**并传入 CAM 鉴权。您可以在 CAM/SCP 策略中基于这些条件键配置 `deny` 规则,从而强制约束节点池的安全配置(如必须开启磁盘加密、安全加固等)。
64
+
65
+ **支持的条件键**
66
+
67
+ | 条件键 | 含义 | 取值 | 取值判定说明 |
68
+ |--------|------|------|-------------|
69
+ | `tke:NodePoolType` | 节点池类型 | `Native` / `External` | 取请求的节点池类型,未指定时默认为 `Native` |
70
+ | `tke:SystemDiskEncrypted` | 系统盘是否加密 | `true` / `false` | 系统盘加密属性为 `ENCRYPT`(大小写不敏感)时为 `true`,否则为 `false` |
71
+ | `tke:AllDataDisksEncrypted` | 所有数据盘是否都已加密 | `true` / `false` | 全部数据盘加密属性均为 `ENCRYPT` 时为 `true`;未配置数据盘时也为 `true`;只要有任一数据盘未加密即为 `false` |
72
+ | `tke:SecurityAgentEnabled` | 是否开启安全加固(Security Agent) | `true` / `false` | 开启安全加固时为 `true`,否则为 `false` |
73
+
74
+ > 说明:所有条件键的取值均为字符串 `"true"` / `"false"`,请在策略中使用字符串形式匹配。
75
+
76
+ **使用方式**
77
+
78
+ 在 CAM 策略中使用 `bool_equal` 匹配条件键值为 `"false"`,配合 `effect: deny`,即可实现"未满足安全配置则拒绝创建节点池"的强制约束。
79
+
80
+ **示例一:强制开启安全加固**
81
+
82
+ 创建节点池时若未开启安全加固(`tke:SecurityAgentEnabled = "false"`),则拒绝。
83
+
84
+ ```json
85
+ {
86
+ "version": "2.0",
87
+ "statement": [
88
+ {
89
+ "effect": "deny",
90
+ "action": ["tke:CreateNodePool"],
91
+ "resource": ["*"],
92
+ "condition": {
93
+ "bool_equal": {
94
+ "tke:SecurityAgentEnabled": "false"
95
+ }
96
+ }
97
+ }
98
+ ]
99
+ }
100
+ ```
101
+
102
+ **示例二:强制数据盘加密**
103
+
104
+ 创建节点池时若存在未加密的数据盘(`tke:AllDataDisksEncrypted = "false"`),则拒绝。
105
+
106
+ ```json
107
+ {
108
+ "version": "2.0",
109
+ "statement": [
110
+ {
111
+ "effect": "deny",
112
+ "action": ["tke:CreateNodePool"],
113
+ "resource": ["*"],
114
+ "condition": {
115
+ "bool_equal": {
116
+ "tke:AllDataDisksEncrypted": "false"
117
+ }
118
+ }
119
+ }
120
+ ]
121
+ }
122
+ ```
123
+
124
+ **示例三:强制系统盘加密**
125
+
126
+ 创建节点池时若系统盘未加密(`tke:SystemDiskEncrypted = "false"`),则拒绝。
127
+
128
+ ```json
129
+ {
130
+ "version": "2.0",
131
+ "statement": [
132
+ {
133
+ "effect": "deny",
134
+ "action": ["tke:CreateNodePool"],
135
+ "resource": ["*"],
136
+ "condition": {
137
+ "bool_equal": {
138
+ "tke:SystemDiskEncrypted": "false"
139
+ }
140
+ }
141
+ }
142
+ ]
143
+ }
144
+ ```
145
+
146
+ **注意事项**
147
+
148
+ - 上述条件键在**未配置任何 CAM 策略**时不会影响节点池创建,仅在您显式配置了对应 `deny` 策略时才生效。
149
+ - 如需同时强制多项安全配置,必须在同一策略的 `statement` 中配置多条 `deny` 规则,不能将多个条件键写入同一条 `condition`。
150
+ - `tke:AllDataDisksEncrypted` 在**无数据盘**场景下取值为 `true`(不存在未加密的数据盘),因此仅约束"已配置的数据盘必须加密",不会强制要求必须挂载数据盘。
151
+ */
63
152
  async CreateNodePool(req, cb) {
64
153
  return this.request("CreateNodePool", req, cb);
65
154
  }
@@ -382,43 +382,43 @@ export interface IntOrString {
382
382
  */
383
383
  export interface CreateNodePoolRequest {
384
384
  /**
385
- * 集群 ID
385
+ * <p>集群 ID</p>
386
386
  */
387
387
  ClusterId: string;
388
388
  /**
389
- * 节点池名称
389
+ * <p>节点池名称</p>
390
390
  */
391
391
  Name: string;
392
392
  /**
393
- * 节点池类型
393
+ * <p>节点池类型</p>
394
394
  */
395
395
  Type: string;
396
396
  /**
397
- * 节点 Labels
397
+ * <p>节点 Labels</p>
398
398
  */
399
399
  Labels?: Array<Label>;
400
400
  /**
401
- * 节点污点
401
+ * <p>节点污点</p>
402
402
  */
403
403
  Taints?: Array<Taint>;
404
404
  /**
405
- * 节点标签
405
+ * <p>节点标签</p>
406
406
  */
407
407
  Tags?: Array<TagSpecification>;
408
408
  /**
409
- * 是否开启删除保护
409
+ * <p>是否开启删除保护</p>
410
410
  */
411
411
  DeletionProtection?: boolean;
412
412
  /**
413
- * 节点是否默认不可调度
413
+ * <p>节点是否默认不可调度</p>
414
414
  */
415
415
  Unschedulable?: boolean;
416
416
  /**
417
- * 原生节点池创建参数(Type字段设置为Native时需填写)
417
+ * <p>原生节点池创建参数(Type字段设置为Native时需填写)</p>
418
418
  */
419
419
  Native?: CreateNativeNodePoolParam;
420
420
  /**
421
- * 节点 Annotation 列表
421
+ * <p>节点 Annotation 列表</p>
422
422
  */
423
423
  Annotations?: Array<Annotation>;
424
424
  }
@@ -1045,6 +1045,10 @@ export interface ModifyNodePoolResponse {
1045
1045
  * kubernetes Taint
1046
1046
  */
1047
1047
  export interface Taint {
1048
+ /**
1049
+ * Taint的Effect
1050
+ */
1051
+ Effect?: string;
1048
1052
  /**
1049
1053
  * Taint的Key
1050
1054
  */
@@ -1053,10 +1057,6 @@ export interface Taint {
1053
1057
  * Taint的Value
1054
1058
  */
1055
1059
  Value?: string;
1056
- /**
1057
- * Taint的Effect
1058
- */
1059
- Effect?: string;
1060
1060
  }
1061
1061
  /**
1062
1062
  * 普通节点信息
@@ -1383,7 +1383,7 @@ export interface HealthCheckTemplateRule {
1383
1383
  */
1384
1384
  export interface CreateNodePoolResponse {
1385
1385
  /**
1386
- * 节点池 ID
1386
+ * <p>节点池 ID</p>
1387
1387
  */
1388
1388
  NodePoolId?: string;
1389
1389
  /**