tencentcloud-sdk-nodejs 4.0.504 → 4.0.506

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.
Files changed (73) hide show
  1. package/CHANGELOG.md +277 -0
  2. package/README.md +17 -29
  3. package/SERVICE_CHANGELOG.md +272 -75
  4. package/examples/cvm_role.js +26 -0
  5. package/package.json +1 -1
  6. package/products.md +21 -21
  7. package/src/common/abstract_client.ts +27 -19
  8. package/src/common/cvm_role_credential.ts +62 -0
  9. package/src/common/http/fetch.ts +2 -2
  10. package/src/common/interface.ts +8 -1
  11. package/src/common/sdk_version.ts +1 -1
  12. package/src/services/antiddos/v20200309/antiddos_models.ts +23 -1
  13. package/src/services/billing/v20180709/billing_models.ts +4 -6
  14. package/src/services/ccc/v20200210/ccc_client.ts +13 -1
  15. package/src/services/ccc/v20200210/ccc_models.ts +54 -29
  16. package/src/services/cfs/v20190719/cfs_models.ts +12 -0
  17. package/src/services/cfw/v20190904/cfw_models.ts +1 -1
  18. package/src/services/cvm/v20170312/cvm_models.ts +24 -39
  19. package/src/services/essbasic/v20210526/essbasic_client.ts +1 -1
  20. package/src/services/gme/v20180711/gme_client.ts +6 -6
  21. package/src/services/gme/v20180711/gme_models.ts +7 -7
  22. package/src/services/mps/v20190612/mps_models.ts +15 -6
  23. package/src/services/nlp/v20190408/nlp_client.ts +28 -4
  24. package/src/services/nlp/v20190408/nlp_models.ts +118 -38
  25. package/src/services/ses/v20201002/ses_client.ts +12 -0
  26. package/src/services/ses/v20201002/ses_models.ts +25 -0
  27. package/src/services/ssl/v20191205/ssl_client.ts +1 -0
  28. package/src/services/ssl/v20191205/ssl_models.ts +47 -0
  29. package/src/services/thpc/v20220401/thpc_models.ts +5 -5
  30. package/src/services/tione/v20211111/tione_models.ts +29 -2
  31. package/src/services/trtc/v20190722/trtc_models.ts +4 -4
  32. package/src/services/tsf/v20180326/tsf_models.ts +3 -2
  33. package/src/services/vpc/v20170312/vpc_client.ts +1 -1
  34. package/src/services/vpc/v20170312/vpc_models.ts +14 -8
  35. package/tencentcloud/common/abstract_client.d.ts +3 -2
  36. package/tencentcloud/common/abstract_client.js +21 -13
  37. package/tencentcloud/common/cvm_role_credential.d.ts +17 -0
  38. package/tencentcloud/common/cvm_role_credential.js +47 -0
  39. package/tencentcloud/common/http/fetch.d.ts +2 -2
  40. package/tencentcloud/common/interface.d.ts +7 -1
  41. package/tencentcloud/common/sdk_version.d.ts +1 -1
  42. package/tencentcloud/common/sdk_version.js +1 -1
  43. package/tencentcloud/services/antiddos/v20200309/antiddos_models.d.ts +19 -1
  44. package/tencentcloud/services/billing/v20180709/billing_models.d.ts +4 -6
  45. package/tencentcloud/services/ccc/v20200210/ccc_client.d.ts +5 -1
  46. package/tencentcloud/services/ccc/v20200210/ccc_client.js +6 -0
  47. package/tencentcloud/services/ccc/v20200210/ccc_models.d.ts +46 -24
  48. package/tencentcloud/services/cfs/v20190719/cfs_models.d.ts +10 -0
  49. package/tencentcloud/services/cfw/v20190904/cfw_models.d.ts +1 -1
  50. package/tencentcloud/services/cvm/v20170312/cvm_models.d.ts +19 -38
  51. package/tencentcloud/services/essbasic/v20210526/essbasic_client.d.ts +1 -1
  52. package/tencentcloud/services/essbasic/v20210526/essbasic_client.js +1 -1
  53. package/tencentcloud/services/gme/v20180711/gme_client.d.ts +6 -6
  54. package/tencentcloud/services/gme/v20180711/gme_client.js +6 -6
  55. package/tencentcloud/services/gme/v20180711/gme_models.d.ts +7 -7
  56. package/tencentcloud/services/mps/v20190612/mps_models.d.ts +12 -4
  57. package/tencentcloud/services/nlp/v20190408/nlp_client.d.ts +9 -1
  58. package/tencentcloud/services/nlp/v20190408/nlp_client.js +12 -0
  59. package/tencentcloud/services/nlp/v20190408/nlp_models.d.ts +103 -35
  60. package/tencentcloud/services/ses/v20201002/ses_client.d.ts +5 -1
  61. package/tencentcloud/services/ses/v20201002/ses_client.js +6 -0
  62. package/tencentcloud/services/ses/v20201002/ses_models.d.ts +22 -0
  63. package/tencentcloud/services/ssl/v20191205/ssl_models.d.ts +40 -0
  64. package/tencentcloud/services/thpc/v20220401/thpc_models.d.ts +5 -5
  65. package/tencentcloud/services/tione/v20211111/tione_models.d.ts +24 -2
  66. package/tencentcloud/services/trtc/v20190722/trtc_models.d.ts +4 -4
  67. package/tencentcloud/services/tsf/v20180326/tsf_models.d.ts +1 -0
  68. package/tencentcloud/services/vpc/v20170312/vpc_client.d.ts +1 -1
  69. package/tencentcloud/services/vpc/v20170312/vpc_client.js +1 -1
  70. package/tencentcloud/services/vpc/v20170312/vpc_models.d.ts +11 -6
  71. package/test/ccc.v20200210.test.js +10 -0
  72. package/test/nlp.v20190408.test.js +20 -0
  73. package/test/ses.v20201002.test.js +10 -0
@@ -593,6 +593,30 @@ export interface Certificates {
593
593
  注意:此字段可能返回 null,表示取不到有效值。
594
594
  */
595
595
  EncryptAlgorithm: string
596
+
597
+ /**
598
+ * 上传CA证书的加密算法
599
+ 注意:此字段可能返回 null,表示取不到有效值。
600
+ */
601
+ CAEncryptAlgorithms: Array<string>
602
+
603
+ /**
604
+ * 上传CA证书的过期时间
605
+ 注意:此字段可能返回 null,表示取不到有效值。
606
+ */
607
+ CAEndTimes: Array<string>
608
+
609
+ /**
610
+ * 上传CA证书的通用名称
611
+ 注意:此字段可能返回 null,表示取不到有效值。
612
+ */
613
+ CACommonNames: Array<string>
614
+
615
+ /**
616
+ * 证书预审核信息
617
+ 注意:此字段可能返回 null,表示取不到有效值。
618
+ */
619
+ PreAuditInfo: PreAuditInfo
596
620
  }
597
621
 
598
622
  /**
@@ -2517,6 +2541,29 @@ export interface RevokeCertificateRequest {
2517
2541
  Reason?: string
2518
2542
  }
2519
2543
 
2544
+ /**
2545
+ * 预审核信息列表
2546
+ */
2547
+ export interface PreAuditInfo {
2548
+ /**
2549
+ * 证书总年限
2550
+ 注意:此字段可能返回 null,表示取不到有效值。
2551
+ */
2552
+ TotalPeriod: number
2553
+
2554
+ /**
2555
+ * 证书当前年限
2556
+ 注意:此字段可能返回 null,表示取不到有效值。
2557
+ */
2558
+ NowPeriod: number
2559
+
2560
+ /**
2561
+ * 证书预审核管理人ID
2562
+ 注意:此字段可能返回 null,表示取不到有效值。
2563
+ */
2564
+ ManagerId: string
2565
+ }
2566
+
2520
2567
  /**
2521
2568
  * 获取证书列表(DescribeCertificate)返回参数键为 SubmittedData 的内容。
2522
2569
  */
@@ -362,12 +362,12 @@ export interface LoginNodeOverview {
362
362
  */
363
363
  export interface CFSOption {
364
364
  /**
365
- * 文件系统本地挂载路径
365
+ * 文件系统本地挂载路径。
366
366
  */
367
367
  LocalPath: string
368
368
 
369
369
  /**
370
- * 文件系统远程挂载ip及路径
370
+ * 文件系统远程挂载ip及路径。
371
371
  */
372
372
  RemotePath: string
373
373
 
@@ -1021,17 +1021,17 @@ export interface DescribeClustersResponse {
1021
1021
  */
1022
1022
  export interface GooseFSOption {
1023
1023
  /**
1024
- * 文件系统本地挂载路径
1024
+ * 文件系统本地挂载路径。
1025
1025
  */
1026
1026
  LocalPath: string
1027
1027
 
1028
1028
  /**
1029
- * 文件系统远程挂载路径
1029
+ * 文件系统远程挂载路径。
1030
1030
  */
1031
1031
  RemotePath: string
1032
1032
 
1033
1033
  /**
1034
- * 文件系统master的ip和端口
1034
+ * 文件系统master的ip和端口。
1035
1035
  */
1036
1036
  Masters: Array<string>
1037
1037
  }
@@ -171,6 +171,11 @@ HYBRID_PAID:
171
171
  * 服务限速限流相关配置
172
172
  */
173
173
  ServiceLimit?: ServiceLimit
174
+
175
+ /**
176
+ * 回调地址,用于回调创建服务状态信息,回调格式&内容详情见:[TI-ONE 接口回调说明](https://cloud.tencent.com/document/product/851/84292)
177
+ */
178
+ CallbackUrl?: string
174
179
  }
175
180
 
176
181
  /**
@@ -1385,6 +1390,11 @@ export interface CreateBatchTaskRequest {
1385
1390
  * 备注
1386
1391
  */
1387
1392
  Remark?: string
1393
+
1394
+ /**
1395
+ * 任务执行结果回调URL,仅支持http和https。回调格式&内容详见: [TI-ONE 接口回调说明](https://cloud.tencent.com/document/product/851/84292)
1396
+ */
1397
+ CallbackUrl?: string
1388
1398
  }
1389
1399
 
1390
1400
  /**
@@ -3281,7 +3291,7 @@ export interface CreateTrainingTaskResponse {
3281
3291
  /**
3282
3292
  * 训练任务ID
3283
3293
  */
3284
- Id: string
3294
+ Id?: string
3285
3295
 
3286
3296
  /**
3287
3297
  * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@@ -3417,6 +3427,11 @@ export interface CreateTrainingTaskRequest {
3417
3427
  * 数据来源,eg:DATASET、COS、CFS、HDFS
3418
3428
  */
3419
3429
  DataSource?: string
3430
+
3431
+ /**
3432
+ * 回调地址,用于创建/启动/停止训练任务的异步回调。回调格式&内容详见:[[TI-ONE接口回调说明]](https://cloud.tencent.com/document/product/851/84292)
3433
+ */
3434
+ CallbackUrl?: string
3420
3435
  }
3421
3436
 
3422
3437
  /**
@@ -4370,7 +4385,7 @@ export interface CreateModelServiceResponse {
4370
4385
  * 生成的模型服务
4371
4386
  注意:此字段可能返回 null,表示取不到有效值。
4372
4387
  */
4373
- Service: Service
4388
+ Service?: Service
4374
4389
 
4375
4390
  /**
4376
4391
  * 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。
@@ -5119,6 +5134,12 @@ export interface TrainingTaskDetail {
5119
5134
  * 任务状态,eg:STARTING启动中、RUNNING运行中、STOPPING停止中、STOPPED已停止、FAILED异常、SUCCEED已完成
5120
5135
  */
5121
5136
  Status: string
5137
+
5138
+ /**
5139
+ * 回调地址
5140
+ 注意:此字段可能返回 null,表示取不到有效值。
5141
+ */
5142
+ CallbackUrl: string
5122
5143
  }
5123
5144
 
5124
5145
  /**
@@ -5537,6 +5558,12 @@ export interface TrainingTaskSetItem {
5537
5558
  注意:此字段可能返回 null,表示取不到有效值。
5538
5559
  */
5539
5560
  Tags: Array<Tag>
5561
+
5562
+ /**
5563
+ * 回调地址
5564
+ 注意:此字段可能返回 null,表示取不到有效值。
5565
+ */
5566
+ CallbackUrl: string
5540
5567
  }
5541
5568
 
5542
5569
  /**
@@ -890,17 +890,17 @@ export interface SdkAppIdNewTrtcTimeUsage {
890
890
  */
891
891
  export interface EncodeParams {
892
892
  /**
893
- * 混流-输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz
893
+ * 混流-输出流音频采样率。取值为[48000, 44100, 32000, 24000, 16000, 8000],单位是Hz。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。
894
894
  */
895
895
  AudioSampleRate: number
896
896
 
897
897
  /**
898
- * 混流-输出流音频码率。取值范围[8,500],单位为kbps
898
+ * 混流-输出流音频码率。取值范围[8,500],单位为kbps。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。
899
899
  */
900
900
  AudioBitrate: number
901
901
 
902
902
  /**
903
- * 混流-输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。
903
+ * 混流-输出流音频声道数,取值范围[1,2],1表示混流输出音频为单声道,2表示混流输出音频为双声道。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。
904
904
  */
905
905
  AudioChannels: number
906
906
 
@@ -947,7 +947,7 @@ export interface EncodeParams {
947
947
  BackgroundImageId?: number
948
948
 
949
949
  /**
950
- * 混流-输出流音频编码类型,取值范围[0,1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]
950
+ * 混流-输出流音频编码类型,取值范围[0,1, 2],0为LC-AAC,1为HE-AAC,2为HE-AACv2。默认值为0。当音频编码设置为HE-AACv2时,只支持输出流音频声道数为双声道。HE-AAC和HE-AACv2支持的输出流音频采样率范围为[48000, 44100, 32000, 24000, 16000]。混流任务发起过程中,为了保持CDN链接的稳定,不要修改音频参数(codec、采样率、码率、声道数)。
951
951
  */
952
952
  AudioCodec?: number
953
953
 
@@ -2078,8 +2078,9 @@ export interface EnableUnitRuleRequest {
2078
2078
  */
2079
2079
  export interface CreateClusterResponse {
2080
2080
  /**
2081
- * 集群ID
2082
- */
2081
+ * 集群ID
2082
+ 注意:此字段可能返回 null,表示取不到有效值。
2083
+ */
2083
2084
  Result: string
2084
2085
 
2085
2086
  /**
@@ -2810,7 +2810,7 @@ export class Client extends AbstractClient {
2810
2810
 
2811
2811
  /**
2812
2812
  * 本接口(ReturnNormalAddresses)用于解绑并释放普通公网IP。
2813
- 为完善公网IP的访问管理功能,此接口于2022年12月15日升级优化鉴权功能,升级后子用户调用此接口需向主账号申请CAM策略授权,否则可能调用失败。您可以提前为子账号配置操作授权,详情见 授权指南(https://cloud.tencent.com/document/product/598/34545)。
2813
+ 为完善公网IP的访问管理功能,此接口于2022年12月15日升级优化鉴权功能,升级后子用户调用此接口需向主账号申请CAM策略授权,否则可能调用失败。您可以提前为子账号配置操作授权,详情见[授权指南](https://cloud.tencent.com/document/product/598/34545)。
2814
2814
  */
2815
2815
  async ReturnNormalAddresses(
2816
2816
  req: ReturnNormalAddressesRequest,
@@ -1630,14 +1630,10 @@ export interface ModifyBandwidthPackageAttributeRequest {
1630
1630
  BandwidthPackageName: string
1631
1631
 
1632
1632
  /**
1633
- * 带宽包计费模式
1634
- */
1633
+ * 带宽包计费模式,示例 :
1634
+ 'TOP5_POSTPAID_BY_MONTH'(后付费-TOP5计费)
1635
+ */
1635
1636
  ChargeType?: string
1636
-
1637
- /**
1638
- * 退款时迁移为后付费带宽包。默认值:否
1639
- */
1640
- MigrateOnRefund?: boolean
1641
1637
  }
1642
1638
 
1643
1639
  /**
@@ -7974,9 +7970,14 @@ export interface CreateVpcEndPointServiceRequest {
7974
7970
  ServiceInstanceId: string
7975
7971
 
7976
7972
  /**
7977
- * 是否是PassService类型。
7973
+ * ~~是否是PassService类型。该字段已废弃,请不要使用该字段。~~
7978
7974
  */
7979
7975
  IsPassService?: boolean
7976
+
7977
+ /**
7978
+ * 挂载的PAAS服务类型,CLB,CDB,CRS,不填默认挂载为CLB。
7979
+ */
7980
+ ServiceType?: string
7980
7981
  }
7981
7982
 
7982
7983
  /**
@@ -8871,6 +8872,11 @@ AnycastEIP是否用于绑定负载均衡。
8871
8872
  * EIP名称,用于申请EIP时用户自定义该EIP的个性化名称,默认值:未命名
8872
8873
  */
8873
8874
  AddressName?: string
8875
+
8876
+ /**
8877
+ * 网络出口,默认是:center_egress1
8878
+ */
8879
+ Egress?: string
8874
8880
  }
8875
8881
 
8876
8882
  /**
@@ -1,4 +1,4 @@
1
- import { ClientProfile, Credential, ClientConfig, HttpProfile } from "./interface";
1
+ import { ClientProfile, Credential, ClientConfig, HttpProfile, DynamicCredential } from "./interface";
2
2
  export declare type ResponseCallback<TReuslt = any> = (error: string, rep: TReuslt) => void;
3
3
  export interface RequestOptions extends Partial<Pick<HttpProfile, "headers">> {
4
4
  multipart?: boolean;
@@ -14,7 +14,7 @@ declare type ResponseData = any;
14
14
  export declare class AbstractClient {
15
15
  sdkVersion: string;
16
16
  path: string;
17
- credential: Credential;
17
+ credential: Credential | DynamicCredential;
18
18
  region: string;
19
19
  apiVersion: string;
20
20
  endpoint: string;
@@ -28,6 +28,7 @@ export declare class AbstractClient {
28
28
  * @param {ClientProfile} profile 可选配置实例
29
29
  */
30
30
  constructor(endpoint: string, version: string, { credential, region, profile }: ClientConfig);
31
+ getCredential(): Promise<Credential>;
31
32
  /**
32
33
  * @inner
33
34
  */
@@ -23,11 +23,11 @@ class AbstractClient {
23
23
  /**
24
24
  * 认证信息实例
25
25
  */
26
- this.credential = Object.assign({
26
+ this.credential = credential || {
27
27
  secretId: null,
28
28
  secretKey: null,
29
- token: null,
30
- }, credential);
29
+ token: null
30
+ };
31
31
  /**
32
32
  * 产品地域
33
33
  */
@@ -53,6 +53,12 @@ class AbstractClient {
53
53
  throw new tencent_cloud_sdk_exception_1.default(`Language invalid, choices: ${interface_1.SUPPORT_LANGUAGE_LIST.join("|")}`);
54
54
  }
55
55
  }
56
+ async getCredential() {
57
+ if ('getCredential' in this.credential) {
58
+ return await this.credential.getCredential();
59
+ }
60
+ return this.credential;
61
+ }
56
62
  /**
57
63
  * @inner
58
64
  */
@@ -79,7 +85,7 @@ class AbstractClient {
79
85
  return this.doRequestWithSign3(action, req, options);
80
86
  }
81
87
  let params = this.mergeData(req);
82
- params = this.formatRequestData(action, params);
88
+ params = await this.formatRequestData(action, params);
83
89
  let res;
84
90
  try {
85
91
  res = await http_connection_1.HttpConnection.doRequest({
@@ -104,11 +110,12 @@ class AbstractClient {
104
110
  async doRequestWithSign3(action, params, options = {}) {
105
111
  let res;
106
112
  try {
113
+ const credential = await this.getCredential();
107
114
  res = await http_connection_1.HttpConnection.doRequestWithSign3({
108
115
  method: this.profile.httpProfile.reqMethod,
109
116
  url: this.profile.httpProfile.protocol + this.endpoint + this.path,
110
- secretId: this.credential.secretId,
111
- secretKey: this.credential.secretKey,
117
+ secretId: credential.secretId,
118
+ secretKey: credential.secretKey,
112
119
  region: this.region,
113
120
  data: params || "",
114
121
  service: this.endpoint.split(".")[0],
@@ -116,7 +123,7 @@ class AbstractClient {
116
123
  version: this.apiVersion,
117
124
  multipart: options && options.multipart,
118
125
  timeout: this.profile.httpProfile.reqTimeout * 1000,
119
- token: this.credential.token,
126
+ token: credential.token,
120
127
  requestClient: this.sdkVersion,
121
128
  language: this.profile.language,
122
129
  headers: Object.assign({}, this.profile.httpProfile.headers, options.headers),
@@ -169,20 +176,21 @@ class AbstractClient {
169
176
  /**
170
177
  * @inner
171
178
  */
172
- formatRequestData(action, params) {
179
+ async formatRequestData(action, params) {
173
180
  params.Action = action;
174
181
  params.RequestClient = this.sdkVersion;
175
182
  params.Nonce = Math.round(Math.random() * 65535);
176
183
  params.Timestamp = Math.round(Date.now() / 1000);
177
184
  params.Version = this.apiVersion;
178
- if (this.credential.secretId) {
179
- params.SecretId = this.credential.secretId;
185
+ const credential = await this.getCredential();
186
+ if (credential.secretId) {
187
+ params.SecretId = credential.secretId;
180
188
  }
181
189
  if (this.region) {
182
190
  params.Region = this.region;
183
191
  }
184
- if (this.credential.token) {
185
- params.Token = this.credential.token;
192
+ if (credential.token) {
193
+ params.Token = credential.token;
186
194
  }
187
195
  if (this.profile.language) {
188
196
  params.Language = this.profile.language;
@@ -191,7 +199,7 @@ class AbstractClient {
191
199
  params.SignatureMethod = this.profile.signMethod;
192
200
  }
193
201
  const signStr = this.formatSignString(params);
194
- params.Signature = sign_1.default.sign(this.credential.secretKey, signStr, this.profile.signMethod);
202
+ params.Signature = sign_1.default.sign(credential.secretKey, signStr, this.profile.signMethod);
195
203
  return params;
196
204
  }
197
205
  /**
@@ -0,0 +1,17 @@
1
+ import { Credential, DynamicCredential } from "./interface";
2
+ interface CvmRoleCredentialResult {
3
+ "TmpSecretId": string;
4
+ "TmpSecretKey": string;
5
+ "ExpiredTime": 1671330188;
6
+ "Expiration": string;
7
+ "Token": string;
8
+ "Code": string;
9
+ }
10
+ export default class CvmRoleCredential implements DynamicCredential {
11
+ protected roleNameTask: Promise<string>;
12
+ protected credentialTask: Promise<CvmRoleCredentialResult>;
13
+ protected getRoleName(): Promise<string>;
14
+ protected getRoleCredential(roleName: string): Promise<CvmRoleCredentialResult>;
15
+ getCredential(): Promise<Credential>;
16
+ }
17
+ export {};
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const fetch_1 = require("./http/fetch");
4
+ const META_URL = "http://metadata.tencentyun.com/latest/meta-data/";
5
+ const ROLE_URL = META_URL + "cam/security-credentials/";
6
+ const EXPIRE_BUFFER = 30 * 1000;
7
+ class CvmRoleCredential {
8
+ async getRoleName() {
9
+ const response = await fetch_1.default(ROLE_URL, {});
10
+ if (!response.ok) {
11
+ throw new Error('Get cvm role name failed, Please confirm whether the role is bound');
12
+ }
13
+ return await response.text();
14
+ }
15
+ async getRoleCredential(roleName) {
16
+ const response = await fetch_1.default(ROLE_URL + roleName, {});
17
+ if (!response.ok) {
18
+ throw new Error(`Get credential from metadata server by role name ${roleName} failed, http code: ${response.status}`);
19
+ }
20
+ const json = await response.json();
21
+ if (json.Code !== 'Success') {
22
+ throw new Error(`Get credential from metadata server by role name ${roleName} failed, Code: ${json.Code}`);
23
+ }
24
+ return json;
25
+ }
26
+ async getCredential() {
27
+ if (!this.roleNameTask) {
28
+ this.roleNameTask = this.getRoleName();
29
+ }
30
+ const roleName = await this.roleNameTask;
31
+ if (!this.credentialTask) {
32
+ this.credentialTask = this.getRoleCredential(roleName);
33
+ }
34
+ const credential = await this.credentialTask;
35
+ // expired
36
+ if (credential.ExpiredTime * 1000 - EXPIRE_BUFFER <= Date.now()) {
37
+ this.credentialTask = null;
38
+ return this.getCredential();
39
+ }
40
+ return {
41
+ secretId: credential.TmpSecretId,
42
+ secretKey: credential.TmpSecretKey,
43
+ token: credential.Token
44
+ };
45
+ }
46
+ }
47
+ exports.default = CvmRoleCredential;
@@ -1,7 +1,7 @@
1
1
  import { RequestInit, Response } from "node-fetch";
2
2
  export interface FetchOptions extends Omit<RequestInit, "signal"> {
3
3
  proxy?: string;
4
- headers: Record<string, string>;
5
- signal: AbortSignal;
4
+ headers?: Record<string, string>;
5
+ signal?: AbortSignal;
6
6
  }
7
7
  export default function (url: string, options: FetchOptions): Promise<Response>;
@@ -8,7 +8,7 @@ export interface ClientConfig {
8
8
  * @param {Credential} credential 认证信息
9
9
  * 必选
10
10
  */
11
- credential: Credential;
11
+ credential: Credential | DynamicCredential;
12
12
  /**
13
13
  * @param {string} region 产品地域
14
14
  * 对于要求区分地域的产品,此参数必选(如 cvm);对于不区分地域的产品(如 sms),无需传入。
@@ -109,3 +109,9 @@ export interface Credential {
109
109
  */
110
110
  token?: string;
111
111
  }
112
+ /**
113
+ * 动态认证信息
114
+ */
115
+ export interface DynamicCredential {
116
+ getCredential(): Promise<Credential>;
117
+ }
@@ -1 +1 @@
1
- export declare const sdkVersion = "4.0.504";
1
+ export declare const sdkVersion = "4.0.506";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sdkVersion = void 0;
4
- exports.sdkVersion = "4.0.504";
4
+ exports.sdkVersion = "4.0.506";
@@ -4223,6 +4223,10 @@ export interface SwitchWaterPrintConfigRequest {
4223
4223
  * 水印开启/关闭状态,1表示开启;0表示关闭
4224
4224
  */
4225
4225
  OpenStatus: number;
4226
+ /**
4227
+ * 是否开启代理,1开启则忽略IP+端口校验;0关闭则需要IP+端口校验
4228
+ */
4229
+ CloudSdkProxy?: number;
4226
4230
  }
4227
4231
  /**
4228
4232
  * AssociateDDoSEipLoadBalancer请求参数结构体
@@ -4342,6 +4346,11 @@ shortfpcheckall(精简模式)
4342
4346
  ]
4343
4347
  */
4344
4348
  Verify?: string;
4349
+ /**
4350
+ * 是否开启代理,1开启则忽略IP+端口校验;0关闭则需要IP+端口校验
4351
+ 注意:此字段可能返回 null,表示取不到有效值。
4352
+ */
4353
+ CloudSdkProxy?: number;
4345
4354
  }
4346
4355
  /**
4347
4356
  * ModifyDomainUsrName返回参数结构体
@@ -4696,6 +4705,15 @@ export interface BGPInstance {
4696
4705
  * 攻击封堵套餐标记
4697
4706
  */
4698
4707
  VitalityVersion: number;
4708
+ /**
4709
+ * 网络线路
4710
+ 注意:此字段可能返回 null,表示取不到有效值。
4711
+ */
4712
+ Line: number;
4713
+ /**
4714
+ * 弹性业务带宽开关
4715
+ */
4716
+ ElasticServiceBandwidth: number;
4699
4717
  }
4700
4718
  /**
4701
4719
  * DescribeListPortAclList返回参数结构体
@@ -4765,7 +4783,7 @@ export interface DescribeBizTrendRequest {
4765
4783
  */
4766
4784
  Business: string;
4767
4785
  /**
4768
- * 统计周期,可取值300,1800,3600,21600,86400,单位秒
4786
+ * 统计周期,可取值60,300,1800,3600,21600,86400,单位秒
4769
4787
  */
4770
4788
  Period: number;
4771
4789
  /**
@@ -183,12 +183,10 @@ export interface DescribeDosageDetailByDateRequest {
183
183
  10195 互动直播-边缘机房
184
184
 
185
185
  cdn业务:
186
- 10180:CDN静态加速流量(国内)
187
- 10181:CDN静态加速带宽(国内)
188
- 10182:CDN静态加速普通流量
189
- 10183:CDN静态加速普通带宽
190
- 10231:CDN静态加速流量(海外)
191
- 10232:CDN静态加速带宽(海外)
186
+ 102383:CDN静态加速流量(国内)
187
+ 102384:CDN静态加速带宽(国内)
188
+ 102385:CDN静态加速流量(海外)
189
+ 102386:CDN静态加速带宽(海外)
192
190
 
193
191
  100967:弹性公网IP-按流量计费
194
192
  101065:公网负载均衡-按流量计费
@@ -1,6 +1,6 @@
1
1
  import { AbstractClient } from "../../../common/abstract_client";
2
2
  import { ClientConfig } from "../../../common/interface";
3
- import { DescribeExtensionRequest, StopAutoCalloutTaskRequest, CreateSDKLoginTokenResponse, ModifyStaffRequest, DeleteStaffResponse, DisableCCCPhoneNumberResponse, DescribeProtectedTelCdrResponse, DescribeAutoCalloutTaskRequest, CreateUserSigResponse, DescribeIMCdrsResponse, CreateCallOutSessionResponse, DescribeCarrierPrivilegeNumberApplicantsRequest, DisableCCCPhoneNumberRequest, DescribeExtensionsResponse, DeleteExtensionRequest, DescribeTelCallInfoResponse, DescribeTelCdrRequest, DescribeAutoCalloutTasksResponse, ModifyExtensionResponse, CreateStaffResponse, DescribeSkillGroupInfoListResponse, UnbindStaffSkillGroupListResponse, DescribeStaffInfoListResponse, CreateCarrierPrivilegeNumberApplicantRequest, CreateExtensionResponse, CreateUserSigRequest, CreateCCCSkillGroupRequest, DescribeAutoCalloutTaskResponse, CreateCCCSkillGroupResponse, DescribeTelSessionRequest, DescribeIMCdrsRequest, DescribeSkillGroupInfoListRequest, CreateCarrierPrivilegeNumberApplicantResponse, DescribeStaffInfoListRequest, ResetExtensionPasswordResponse, ModifyExtensionRequest, CreateAutoCalloutTaskResponse, DeleteStaffRequest, DescribeCCCBuyInfoListRequest, DescribeTelCallInfoRequest, CreateExtensionRequest, CreateAutoCalloutTaskRequest, UnbindStaffSkillGroupListRequest, StopAutoCalloutTaskResponse, DescribeCCCBuyInfoListResponse, DeleteExtensionResponse, BindStaffSkillGroupListRequest, DescribePSTNActiveSessionListRequest, DescribeCallInMetricsResponse, DescribeActiveCarrierPrivilegeNumberResponse, DescribeTelCdrResponse, DescribeStaffStatusMetricsRequest, ResetExtensionPasswordRequest, CreateStaffRequest, DescribeChatMessagesResponse, DescribePSTNActiveSessionListResponse, DescribeAutoCalloutTasksRequest, DescribeChatMessagesRequest, DescribeTelSessionResponse, ModifyStaffResponse, DescribeStaffStatusMetricsResponse, DescribeCarrierPrivilegeNumberApplicantsResponse, CreateCallOutSessionRequest, BindStaffSkillGroupListResponse, DescribeExtensionsRequest, DescribeProtectedTelCdrRequest, CreateSDKLoginTokenRequest, DescribeActiveCarrierPrivilegeNumberRequest, DescribeCallInMetricsRequest, DescribeExtensionResponse } from "./ccc_models";
3
+ import { DescribeExtensionRequest, StopAutoCalloutTaskRequest, HangUpCallRequest, CreateSDKLoginTokenResponse, ModifyStaffRequest, DeleteStaffResponse, DisableCCCPhoneNumberResponse, DescribeProtectedTelCdrResponse, DescribeAutoCalloutTaskRequest, CreateUserSigResponse, DescribeIMCdrsResponse, CreateCallOutSessionResponse, DescribeCarrierPrivilegeNumberApplicantsRequest, DisableCCCPhoneNumberRequest, DescribeExtensionsResponse, DeleteExtensionRequest, DescribeTelCallInfoResponse, DescribeTelCdrRequest, DescribeAutoCalloutTasksResponse, ModifyExtensionResponse, CreateStaffResponse, DescribeSkillGroupInfoListResponse, UnbindStaffSkillGroupListResponse, DescribeStaffInfoListResponse, CreateCarrierPrivilegeNumberApplicantRequest, CreateExtensionResponse, CreateUserSigRequest, CreateCCCSkillGroupRequest, DescribeAutoCalloutTaskResponse, CreateCCCSkillGroupResponse, DescribeTelSessionRequest, DescribeIMCdrsRequest, DescribeSkillGroupInfoListRequest, CreateCarrierPrivilegeNumberApplicantResponse, DescribeStaffInfoListRequest, ResetExtensionPasswordResponse, ModifyExtensionRequest, CreateAutoCalloutTaskResponse, DeleteStaffRequest, DescribeCCCBuyInfoListRequest, DescribeTelCallInfoRequest, CreateExtensionRequest, CreateAutoCalloutTaskRequest, UnbindStaffSkillGroupListRequest, CreateCallOutSessionRequest, StopAutoCalloutTaskResponse, DescribeCCCBuyInfoListResponse, DeleteExtensionResponse, BindStaffSkillGroupListRequest, DescribePSTNActiveSessionListRequest, DescribeCallInMetricsResponse, DescribeActiveCarrierPrivilegeNumberResponse, DescribeTelCdrResponse, DescribeStaffStatusMetricsRequest, ResetExtensionPasswordRequest, CreateStaffRequest, DescribeChatMessagesResponse, DescribePSTNActiveSessionListResponse, DescribeAutoCalloutTasksRequest, DescribeChatMessagesRequest, DescribeTelSessionResponse, ModifyStaffResponse, DescribeStaffStatusMetricsResponse, DescribeCarrierPrivilegeNumberApplicantsResponse, HangUpCallResponse, BindStaffSkillGroupListResponse, DescribeExtensionsRequest, DescribeProtectedTelCdrRequest, CreateSDKLoginTokenRequest, DescribeActiveCarrierPrivilegeNumberRequest, DescribeCallInMetricsRequest, DescribeExtensionResponse } from "./ccc_models";
4
4
  /**
5
5
  * ccc client
6
6
  * @class
@@ -19,6 +19,10 @@ export declare class Client extends AbstractClient {
19
19
  * 获取坐席信息列表
20
20
  */
21
21
  DescribeStaffInfoList(req: DescribeStaffInfoListRequest, cb?: (error: string, rep: DescribeStaffInfoListResponse) => void): Promise<DescribeStaffInfoListResponse>;
22
+ /**
23
+ * 挂断电话
24
+ */
25
+ HangUpCall(req: HangUpCallRequest, cb?: (error: string, rep: HangUpCallResponse) => void): Promise<HangUpCallResponse>;
22
26
  /**
23
27
  * 获取当前正在通话的会话列表
24
28
  */
@@ -45,6 +45,12 @@ class Client extends abstract_client_1.AbstractClient {
45
45
  async DescribeStaffInfoList(req, cb) {
46
46
  return this.request("DescribeStaffInfoList", req, cb);
47
47
  }
48
+ /**
49
+ * 挂断电话
50
+ */
51
+ async HangUpCall(req, cb) {
52
+ return this.request("HangUpCall", req, cb);
53
+ }
48
54
  /**
49
55
  * 获取当前正在通话的会话列表
50
56
  */