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.
- package/CHANGELOG.md +277 -0
- package/README.md +17 -29
- package/SERVICE_CHANGELOG.md +272 -75
- package/examples/cvm_role.js +26 -0
- package/package.json +1 -1
- package/products.md +21 -21
- package/src/common/abstract_client.ts +27 -19
- package/src/common/cvm_role_credential.ts +62 -0
- package/src/common/http/fetch.ts +2 -2
- package/src/common/interface.ts +8 -1
- package/src/common/sdk_version.ts +1 -1
- package/src/services/antiddos/v20200309/antiddos_models.ts +23 -1
- package/src/services/billing/v20180709/billing_models.ts +4 -6
- package/src/services/ccc/v20200210/ccc_client.ts +13 -1
- package/src/services/ccc/v20200210/ccc_models.ts +54 -29
- package/src/services/cfs/v20190719/cfs_models.ts +12 -0
- package/src/services/cfw/v20190904/cfw_models.ts +1 -1
- package/src/services/cvm/v20170312/cvm_models.ts +24 -39
- package/src/services/essbasic/v20210526/essbasic_client.ts +1 -1
- package/src/services/gme/v20180711/gme_client.ts +6 -6
- package/src/services/gme/v20180711/gme_models.ts +7 -7
- package/src/services/mps/v20190612/mps_models.ts +15 -6
- package/src/services/nlp/v20190408/nlp_client.ts +28 -4
- package/src/services/nlp/v20190408/nlp_models.ts +118 -38
- package/src/services/ses/v20201002/ses_client.ts +12 -0
- package/src/services/ses/v20201002/ses_models.ts +25 -0
- package/src/services/ssl/v20191205/ssl_client.ts +1 -0
- package/src/services/ssl/v20191205/ssl_models.ts +47 -0
- package/src/services/thpc/v20220401/thpc_models.ts +5 -5
- package/src/services/tione/v20211111/tione_models.ts +29 -2
- package/src/services/trtc/v20190722/trtc_models.ts +4 -4
- package/src/services/tsf/v20180326/tsf_models.ts +3 -2
- package/src/services/vpc/v20170312/vpc_client.ts +1 -1
- package/src/services/vpc/v20170312/vpc_models.ts +14 -8
- package/tencentcloud/common/abstract_client.d.ts +3 -2
- package/tencentcloud/common/abstract_client.js +21 -13
- package/tencentcloud/common/cvm_role_credential.d.ts +17 -0
- package/tencentcloud/common/cvm_role_credential.js +47 -0
- package/tencentcloud/common/http/fetch.d.ts +2 -2
- package/tencentcloud/common/interface.d.ts +7 -1
- package/tencentcloud/common/sdk_version.d.ts +1 -1
- package/tencentcloud/common/sdk_version.js +1 -1
- package/tencentcloud/services/antiddos/v20200309/antiddos_models.d.ts +19 -1
- package/tencentcloud/services/billing/v20180709/billing_models.d.ts +4 -6
- package/tencentcloud/services/ccc/v20200210/ccc_client.d.ts +5 -1
- package/tencentcloud/services/ccc/v20200210/ccc_client.js +6 -0
- package/tencentcloud/services/ccc/v20200210/ccc_models.d.ts +46 -24
- package/tencentcloud/services/cfs/v20190719/cfs_models.d.ts +10 -0
- package/tencentcloud/services/cfw/v20190904/cfw_models.d.ts +1 -1
- package/tencentcloud/services/cvm/v20170312/cvm_models.d.ts +19 -38
- package/tencentcloud/services/essbasic/v20210526/essbasic_client.d.ts +1 -1
- package/tencentcloud/services/essbasic/v20210526/essbasic_client.js +1 -1
- package/tencentcloud/services/gme/v20180711/gme_client.d.ts +6 -6
- package/tencentcloud/services/gme/v20180711/gme_client.js +6 -6
- package/tencentcloud/services/gme/v20180711/gme_models.d.ts +7 -7
- package/tencentcloud/services/mps/v20190612/mps_models.d.ts +12 -4
- package/tencentcloud/services/nlp/v20190408/nlp_client.d.ts +9 -1
- package/tencentcloud/services/nlp/v20190408/nlp_client.js +12 -0
- package/tencentcloud/services/nlp/v20190408/nlp_models.d.ts +103 -35
- package/tencentcloud/services/ses/v20201002/ses_client.d.ts +5 -1
- package/tencentcloud/services/ses/v20201002/ses_client.js +6 -0
- package/tencentcloud/services/ses/v20201002/ses_models.d.ts +22 -0
- package/tencentcloud/services/ssl/v20191205/ssl_models.d.ts +40 -0
- package/tencentcloud/services/thpc/v20220401/thpc_models.d.ts +5 -5
- package/tencentcloud/services/tione/v20211111/tione_models.d.ts +24 -2
- package/tencentcloud/services/trtc/v20190722/trtc_models.d.ts +4 -4
- package/tencentcloud/services/tsf/v20180326/tsf_models.d.ts +1 -0
- package/tencentcloud/services/vpc/v20170312/vpc_client.d.ts +1 -1
- package/tencentcloud/services/vpc/v20170312/vpc_client.js +1 -1
- package/tencentcloud/services/vpc/v20170312/vpc_models.d.ts +11 -6
- package/test/ccc.v20200210.test.js +10 -0
- package/test/nlp.v20190408.test.js +20 -0
- 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
|
|
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
|
|
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
|
|
|
@@ -2810,7 +2810,7 @@ export class Client extends AbstractClient {
|
|
|
2810
2810
|
|
|
2811
2811
|
/**
|
|
2812
2812
|
* 本接口(ReturnNormalAddresses)用于解绑并释放普通公网IP。
|
|
2813
|
-
为完善公网IP的访问管理功能,此接口于2022年12月15日升级优化鉴权功能,升级后子用户调用此接口需向主账号申请CAM策略授权,否则可能调用失败。您可以提前为子账号配置操作授权,详情见
|
|
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
|
-
*
|
|
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 =
|
|
26
|
+
this.credential = credential || {
|
|
27
27
|
secretId: null,
|
|
28
28
|
secretKey: null,
|
|
29
|
-
token: null
|
|
30
|
-
}
|
|
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:
|
|
111
|
-
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:
|
|
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
|
-
|
|
179
|
-
|
|
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 (
|
|
185
|
-
params.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(
|
|
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
|
|
5
|
-
signal
|
|
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.
|
|
1
|
+
export declare const 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
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
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,
|
|
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
|
*/
|