@cloudbase/manager-node 5.8.7 → 5.8.8
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 +7 -0
- package/lib/env/index.js +11 -9
- package/lib/environment.js +8 -0
- package/lib/error.js +2 -1
- package/lib/hosting/index.js +56 -34
- package/lib/index.js +7 -0
- package/lib/platform/index.js +177 -0
- package/lib/platform/type.js +2 -0
- package/lib/storage/index.js +159 -104
- package/lib/utils/storage-config.js +79 -0
- package/package.json +1 -1
- package/types/env/index.d.ts +6 -0
- package/types/env/type.d.ts +56 -4
- package/types/environment.d.ts +6 -0
- package/types/error.d.ts +2 -0
- package/types/hosting/index.d.ts +8 -1
- package/types/index.d.ts +6 -0
- package/types/interfaces/tcb.interface.d.ts +1 -0
- package/types/platform/index.d.ts +133 -0
- package/types/platform/type.d.ts +525 -0
- package/types/storage/index.d.ts +36 -2
- package/types/storage/type.d.ts +2 -0
- package/types/utils/storage-config.d.ts +41 -0
|
@@ -0,0 +1,525 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 平台版套餐相关接口类型定义
|
|
3
|
+
*/
|
|
4
|
+
import { CircleTime, MetricUsage } from '../interfaces/tcb.interface';
|
|
5
|
+
import { HTTPServiceDomain, HTTPServiceDomainParam, HTTPServiceRouteFilter, OwnershipVerificationInfo, VerifyHttpServiceRouteCheckItem } from '../env/type';
|
|
6
|
+
/**
|
|
7
|
+
* 平台版环境配置(资源状态变更)
|
|
8
|
+
* 用于云存储(Storage)、FlexDB(文档型数据库)等资源的状态更新
|
|
9
|
+
*/
|
|
10
|
+
export interface PlatformEnvResource {
|
|
11
|
+
/** 资源状态(为空或不传则不更新)。ENABLE:正常 / DISABLE:彻底禁用 / READONLY:只读 */
|
|
12
|
+
Status?: 'ENABLE' | 'DISABLE' | 'READONLY';
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* ModifyPlatformEnv 请求参数
|
|
16
|
+
*/
|
|
17
|
+
export interface ModifyPlatformEnvParams {
|
|
18
|
+
/** 环境ID(可选,不传则自动使用当前环境 ID) */
|
|
19
|
+
EnvId?: string;
|
|
20
|
+
/** 环境状态。ENABLE:启用环境 / DISABLE:禁用环境 */
|
|
21
|
+
Status?: 'ENABLE' | 'DISABLE';
|
|
22
|
+
/** 云存储信息变更(不传或为空则不更新) */
|
|
23
|
+
Storage?: PlatformEnvResource;
|
|
24
|
+
/** FlexDB(文档型数据库)状态更新(为空或不传则不更新) */
|
|
25
|
+
FlexDB?: PlatformEnvResource;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* ModifyPlatformEnv 返回结果
|
|
29
|
+
*/
|
|
30
|
+
export interface ModifyPlatformEnvRes {
|
|
31
|
+
/** 最终状态,如 manualLimited */
|
|
32
|
+
Status?: string;
|
|
33
|
+
/** 唯一请求 ID */
|
|
34
|
+
RequestId: string;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* 平台版套餐信息
|
|
38
|
+
*/
|
|
39
|
+
export interface PlatformPackageInfo {
|
|
40
|
+
/** 套餐id */
|
|
41
|
+
PackageId?: string;
|
|
42
|
+
/** 套餐名称 */
|
|
43
|
+
Name?: string;
|
|
44
|
+
/** 计费下单参数(JSON 字符串) */
|
|
45
|
+
BillTags?: string;
|
|
46
|
+
/** 套餐规格信息(JSON 字符串) */
|
|
47
|
+
Spec?: string;
|
|
48
|
+
/** 套餐描述信息 */
|
|
49
|
+
Description?: string;
|
|
50
|
+
/** 套餐数字id */
|
|
51
|
+
Id?: number;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* DescribePlatformPackageList 请求参数
|
|
55
|
+
*/
|
|
56
|
+
export interface DescribePlatformPackageListParams {
|
|
57
|
+
/** 平台版套餐id */
|
|
58
|
+
PackageId?: string;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* DescribePlatformPackageList 返回结果
|
|
62
|
+
*/
|
|
63
|
+
export interface DescribePlatformPackageListRes {
|
|
64
|
+
/** 平台版套餐列表 */
|
|
65
|
+
PackageList: PlatformPackageInfo[];
|
|
66
|
+
/** 唯一请求 ID */
|
|
67
|
+
RequestId: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* 平台版资源项信息(平台版套餐下的具体资源,如日志、云存储、静态托管)
|
|
71
|
+
*/
|
|
72
|
+
export interface PlatFormResourceInfo {
|
|
73
|
+
/** 资源类型。log:日志 / storage:云存储 / hosting:静态托管 */
|
|
74
|
+
ResType?: string;
|
|
75
|
+
/** 资源唯一标识 */
|
|
76
|
+
ResName?: string;
|
|
77
|
+
/** 资源详细信息(JSON 字符串) */
|
|
78
|
+
Detail?: string;
|
|
79
|
+
/** 资源状态。0:正常 / 5:初始化中 */
|
|
80
|
+
Status?: number;
|
|
81
|
+
/** 资源id */
|
|
82
|
+
PlatformId?: number;
|
|
83
|
+
/** 对应平台资源id */
|
|
84
|
+
Id?: number;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* 平台版资源信息
|
|
88
|
+
*/
|
|
89
|
+
export interface PlatformInfo {
|
|
90
|
+
/** 平台版套餐id */
|
|
91
|
+
PlatformId?: string;
|
|
92
|
+
/** 套餐别名 */
|
|
93
|
+
Alias?: string;
|
|
94
|
+
/** 套餐id */
|
|
95
|
+
PackageId?: string;
|
|
96
|
+
/** 计费状态。normal:正常 / isolated:已隔离 / destroyed:已销毁 */
|
|
97
|
+
BillStatus?: string;
|
|
98
|
+
/** 套餐资源状态。0:可用 / 5:发货中 */
|
|
99
|
+
Status?: number;
|
|
100
|
+
/** 资源配置(JSON 字符串) */
|
|
101
|
+
Spec?: string;
|
|
102
|
+
/** 购买时间,格式 'YYYY-MM-DD HH:mm:ss' */
|
|
103
|
+
BillTime?: string;
|
|
104
|
+
/** 套餐过期时间,格式 'YYYY-MM-DD HH:mm:ss' */
|
|
105
|
+
ExpireTime?: string;
|
|
106
|
+
/** 是否自动续费。0:未设置 / 1:自动续费 / 2:设置为到期不续费 */
|
|
107
|
+
IsAutoRenew?: number;
|
|
108
|
+
/** 资源信息列表 */
|
|
109
|
+
Resources?: PlatFormResourceInfo[];
|
|
110
|
+
/** 所属地域。ap-shanghai:上海 / ap-singapore:新加坡 */
|
|
111
|
+
Region?: string;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* DescribePlatforms 请求参数
|
|
115
|
+
*/
|
|
116
|
+
export interface DescribePlatformsParams {
|
|
117
|
+
/** 平台版套餐id列表(不指定则分页返回当前账号下所有平台版资源) */
|
|
118
|
+
PlatformIds?: string[];
|
|
119
|
+
/** 分页限制,取值范围 [10, 100],默认 10 */
|
|
120
|
+
Limit?: number;
|
|
121
|
+
/** 分页偏移量,默认 0 */
|
|
122
|
+
Offset?: number;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* DescribePlatforms 返回结果
|
|
126
|
+
*/
|
|
127
|
+
export interface DescribePlatformsRes {
|
|
128
|
+
/** 平台版资源列表 */
|
|
129
|
+
PlatformList: PlatformInfo[];
|
|
130
|
+
/** 总数 */
|
|
131
|
+
Total?: number;
|
|
132
|
+
/** 唯一请求 ID */
|
|
133
|
+
RequestId: string;
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* DescribePlatformAccountCircle 请求参数
|
|
137
|
+
*/
|
|
138
|
+
export interface DescribePlatformAccountCircleParams {
|
|
139
|
+
/** 平台版资源id */
|
|
140
|
+
PlatformId: string;
|
|
141
|
+
/** false 仅返回当前套餐周期,true 返回当前周期以及上个、上上个周期 */
|
|
142
|
+
WithHistoryCircle?: boolean;
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* DescribePlatformAccountCircle 返回结果
|
|
146
|
+
*/
|
|
147
|
+
export interface DescribePlatformAccountCircleRes {
|
|
148
|
+
/** 套餐计费周期开始时间 */
|
|
149
|
+
StartTime: string;
|
|
150
|
+
/** 套餐计费周期结束时间 */
|
|
151
|
+
EndTime: string;
|
|
152
|
+
/** 依次为当前套餐的上个、上上个历史周期(开始时间不早于下单时间,可能不足两个周期) */
|
|
153
|
+
HistoryTime?: CircleTime[];
|
|
154
|
+
/** 套餐当前是否过期 */
|
|
155
|
+
Expired?: boolean;
|
|
156
|
+
/** 唯一请求 ID */
|
|
157
|
+
RequestId: string;
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* 平台版每日资源点消耗数据
|
|
161
|
+
*/
|
|
162
|
+
export interface PlatformCreditsUsageDaily {
|
|
163
|
+
/** 日期 */
|
|
164
|
+
Date?: string;
|
|
165
|
+
/** 资源点套餐内用量 */
|
|
166
|
+
DeductValue?: number;
|
|
167
|
+
/** 资源点资源包用量 */
|
|
168
|
+
PackageDeductValue?: number;
|
|
169
|
+
/** 资源点按量用量 */
|
|
170
|
+
ReportValue?: number;
|
|
171
|
+
/** 资源点原价消耗 */
|
|
172
|
+
OriginCredits?: number;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* DescribePlatformCreditsUsage 请求参数
|
|
176
|
+
*/
|
|
177
|
+
export interface DescribePlatformCreditsUsageParams {
|
|
178
|
+
/** 开始日期,格式 'YYYY-MM-DD' */
|
|
179
|
+
StartDate: string;
|
|
180
|
+
/** 结束日期,格式 'YYYY-MM-DD' */
|
|
181
|
+
EndDate: string;
|
|
182
|
+
/** 平台版资源id */
|
|
183
|
+
PlatformId: string;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* DescribePlatformCreditsUsage 返回结果
|
|
187
|
+
*/
|
|
188
|
+
export interface DescribePlatformCreditsUsageRes {
|
|
189
|
+
/** 资源点套餐内抵扣总量 */
|
|
190
|
+
DeductValueCount?: number;
|
|
191
|
+
/** 资源点资源包抵扣总量 */
|
|
192
|
+
PackageDeductValueCount?: number;
|
|
193
|
+
/** 资源点按量上报总量 */
|
|
194
|
+
ReportValueCount?: number;
|
|
195
|
+
/** 资源点原价消耗总量 */
|
|
196
|
+
OriginCreditsCount?: number;
|
|
197
|
+
/** 每日资源点用量列表 */
|
|
198
|
+
DailyList?: PlatformCreditsUsageDaily[];
|
|
199
|
+
/** 唯一请求 ID */
|
|
200
|
+
RequestId: string;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* 模块内平台版资源点用量及原始用量数据
|
|
204
|
+
*/
|
|
205
|
+
export interface PlatformPkgCreditsUsage {
|
|
206
|
+
/** 平台版资源id */
|
|
207
|
+
PlatformId?: string;
|
|
208
|
+
/** 模块 */
|
|
209
|
+
Module?: string;
|
|
210
|
+
/** module 总资源点用量 */
|
|
211
|
+
CreditsValue?: number;
|
|
212
|
+
/** 指标用量明细 */
|
|
213
|
+
MetricUsageDetail?: MetricUsage[];
|
|
214
|
+
/** 资源点套餐内用量 */
|
|
215
|
+
DeductValue?: number;
|
|
216
|
+
/** 资源点资源包用量 */
|
|
217
|
+
PackageDeductValue?: number;
|
|
218
|
+
/** 资源点按量用量 */
|
|
219
|
+
ReportValue?: number;
|
|
220
|
+
/** 资源点原价消耗 */
|
|
221
|
+
OriginCredits?: number;
|
|
222
|
+
}
|
|
223
|
+
/**
|
|
224
|
+
* DescribePlatformCreditsUsageDetail 请求参数
|
|
225
|
+
*/
|
|
226
|
+
export interface DescribePlatformCreditsUsageDetailParams {
|
|
227
|
+
/** 模块列表。枚举值:
|
|
228
|
+
* FLEXDB 文档数据库 / TDSQL MYSQL数据库 / SCF 云函数 / AI 大模型 / EKS 云托管 /
|
|
229
|
+
* COS 云存储 / HOSTING 静态托管 / Auth 用户权限 / APIInvocation API调用 /
|
|
230
|
+
* HTTPInvocation HTTP调用 / VM 主机 / Workflow 工作流 / Other 其他 /
|
|
231
|
+
* PostgreSQL PostgreSQL / Token Token */
|
|
232
|
+
Modules: string[];
|
|
233
|
+
/** 开始日期,格式 'YYYY-MM-DD' */
|
|
234
|
+
StartDate: string;
|
|
235
|
+
/** 结束日期,格式 'YYYY-MM-DD' */
|
|
236
|
+
EndDate: string;
|
|
237
|
+
/** 是否需要每日用量明细 */
|
|
238
|
+
NeedUsageDetails: boolean;
|
|
239
|
+
/** 平台版资源id */
|
|
240
|
+
PlatformId: string;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* DescribePlatformCreditsUsageDetail 返回结果
|
|
244
|
+
*/
|
|
245
|
+
export interface DescribePlatformCreditsUsageDetailRes {
|
|
246
|
+
/** 用量数据 */
|
|
247
|
+
Usages: PlatformPkgCreditsUsage[];
|
|
248
|
+
/** 唯一请求 ID */
|
|
249
|
+
RequestId: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* 每日用量详情
|
|
253
|
+
*/
|
|
254
|
+
export interface DailyUsageList {
|
|
255
|
+
/** 资源点用量 */
|
|
256
|
+
Credits?: number;
|
|
257
|
+
/** 资源点用量日期,格式 'YYYY-MM-DD' */
|
|
258
|
+
Date?: string;
|
|
259
|
+
/** 原始资源用量 */
|
|
260
|
+
UsageValue?: number;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* 平台版指标用量信息
|
|
264
|
+
*/
|
|
265
|
+
export interface PlatformMetricUsageItem {
|
|
266
|
+
/** 指标名称 */
|
|
267
|
+
MetricName?: string;
|
|
268
|
+
/** 原始资源类型。如 COS:对象存储 */
|
|
269
|
+
OriginalResourceType?: string;
|
|
270
|
+
/** 原始指标名 */
|
|
271
|
+
OriginalMetricName?: string;
|
|
272
|
+
/** 资源用量 */
|
|
273
|
+
UsageValue?: number;
|
|
274
|
+
/** 资源用量单位,如 MB、Count */
|
|
275
|
+
UsageUnit?: string;
|
|
276
|
+
/** 资源点 */
|
|
277
|
+
Credits?: number;
|
|
278
|
+
/** 用量按日明细列表 */
|
|
279
|
+
DailyUsageList?: DailyUsageList[];
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* 平台版资源用量信息
|
|
283
|
+
*/
|
|
284
|
+
export interface PlatformResUsageItem {
|
|
285
|
+
/** 资源类型。Storage:云存储 / Function:云函数 / Database:数据库 / HOSTING:静态托管 /
|
|
286
|
+
* Log:日志 / Gateway:网关 / Cloudrun:云托管 / Token:Token / EO:EdgeOne */
|
|
287
|
+
ResourceType?: string;
|
|
288
|
+
/** 该资源类型的资源点总量 */
|
|
289
|
+
TotalCredits?: number;
|
|
290
|
+
/** 指标用量信息 */
|
|
291
|
+
Metrics?: PlatformMetricUsageItem[];
|
|
292
|
+
}
|
|
293
|
+
/**
|
|
294
|
+
* DescribePlatformEnvUsage 请求参数
|
|
295
|
+
*/
|
|
296
|
+
export interface DescribePlatformEnvUsageParams {
|
|
297
|
+
/** 环境ID(可选,不传则自动使用当前环境 ID) */
|
|
298
|
+
EnvId?: string;
|
|
299
|
+
/** 查询用量起始时间,格式 'YYYY-MM-DD' */
|
|
300
|
+
StartDate?: string;
|
|
301
|
+
/** 查询用量结束时间,格式 'YYYY-MM-DD' */
|
|
302
|
+
EndDate?: string;
|
|
303
|
+
/** 资源类型。Storage:云存储 / Function:云函数 / Database:数据库 / HOSTING:静态托管 /
|
|
304
|
+
* Log:日志 / Gateway:网关 / Cloudrun:云托管 / Token:Token / EO:EdgeOne */
|
|
305
|
+
ResourceTypes?: string[];
|
|
306
|
+
/** 是否展示用量明细 */
|
|
307
|
+
NeedUsageDetails?: boolean;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* DescribePlatformEnvUsage 返回结果
|
|
311
|
+
*/
|
|
312
|
+
export interface DescribePlatformEnvUsageRes {
|
|
313
|
+
/** 资源用量信息 */
|
|
314
|
+
Resources?: PlatformResUsageItem[];
|
|
315
|
+
/** 资源点总量 */
|
|
316
|
+
TotalCredits?: number;
|
|
317
|
+
/** 资源点取整倍数 */
|
|
318
|
+
CreditsScale?: number;
|
|
319
|
+
/** 唯一请求 ID */
|
|
320
|
+
RequestId: string;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* 环境资源点排行项
|
|
324
|
+
*/
|
|
325
|
+
export interface EnvCreditsRank {
|
|
326
|
+
/** 环境id */
|
|
327
|
+
EnvId?: string;
|
|
328
|
+
/** 总资源点用量 */
|
|
329
|
+
TotalCredits?: number;
|
|
330
|
+
/** 资源点从上往下排行序号 */
|
|
331
|
+
Rank?: number;
|
|
332
|
+
}
|
|
333
|
+
/**
|
|
334
|
+
* DescribePlatformEnvCreditsRanking 请求参数
|
|
335
|
+
*/
|
|
336
|
+
export interface DescribePlatformEnvCreditsRankingParams {
|
|
337
|
+
/** 平台版资源id */
|
|
338
|
+
PlatformId?: string;
|
|
339
|
+
/** 查询时间范围。Today:近1天 / Recent7Days:近7天 / CurrentCycle:当前计费周期 /
|
|
340
|
+
* PreviousCycle:上一个计费周期 / Previous2Cycle:上两个计费周期。默认 Today */
|
|
341
|
+
TimeRange?: string;
|
|
342
|
+
/** 每页条数,默认 50 */
|
|
343
|
+
PageSize?: number;
|
|
344
|
+
/** 分页 offset */
|
|
345
|
+
AfterRank?: number;
|
|
346
|
+
}
|
|
347
|
+
/**
|
|
348
|
+
* DescribePlatformEnvCreditsRanking 返回结果
|
|
349
|
+
*/
|
|
350
|
+
export interface DescribePlatformEnvCreditsRankingRes {
|
|
351
|
+
/** 查询时间范围。Recent7Days:近7天 / Recent30Days:近30天 / CurrentCycle:当前计费周期 /
|
|
352
|
+
* PreviousCycle:上一个计费周期 / Previous2Cycle:上两个计费周期 */
|
|
353
|
+
TimeRange?: string;
|
|
354
|
+
/** 起始时间,格式 'YYYY-MM-DD HH:mm:ss' */
|
|
355
|
+
StartTime?: string;
|
|
356
|
+
/** 结束时间,格式 'YYYY-MM-DD HH:mm:ss' */
|
|
357
|
+
EndTime?: string;
|
|
358
|
+
/** 统计的截止时间,格式 'YYYY-MM-DD HH:mm:ss' */
|
|
359
|
+
DataAsOfTime?: string;
|
|
360
|
+
/** 是否还有下一页数据 */
|
|
361
|
+
HasMore?: boolean;
|
|
362
|
+
/** 下一条数据的 offset 值 */
|
|
363
|
+
NextAfterRank?: number;
|
|
364
|
+
/** 总数量 */
|
|
365
|
+
TotalCount?: number;
|
|
366
|
+
/** 资源点精度 */
|
|
367
|
+
CreditsScale?: number;
|
|
368
|
+
/** 排行快照版本 */
|
|
369
|
+
SnapshotId?: string;
|
|
370
|
+
/** 环境排行列表 */
|
|
371
|
+
Items?: EnvCreditsRank[];
|
|
372
|
+
/** 唯一请求 ID */
|
|
373
|
+
RequestId: string;
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* DestroyPlatformEnv 请求参数
|
|
377
|
+
*/
|
|
378
|
+
export interface DestroyPlatformEnvParams {
|
|
379
|
+
/** 环境id */
|
|
380
|
+
EnvId: string;
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* DestroyPlatformEnv 返回结果
|
|
384
|
+
*/
|
|
385
|
+
export interface DestroyPlatformEnvRes {
|
|
386
|
+
/** 唯一请求 ID */
|
|
387
|
+
RequestId: string;
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* CreatePlatformEnv 请求参数
|
|
391
|
+
*/
|
|
392
|
+
export interface CreatePlatformEnvParams {
|
|
393
|
+
/** 环境别名 */
|
|
394
|
+
Alias: string;
|
|
395
|
+
/** 套餐池标识 */
|
|
396
|
+
PlatformId: string;
|
|
397
|
+
/** 幂等键 */
|
|
398
|
+
ReqKey: string;
|
|
399
|
+
}
|
|
400
|
+
/**
|
|
401
|
+
* CreatePlatformEnv 返回结果
|
|
402
|
+
*/
|
|
403
|
+
export interface CreatePlatformEnvRes {
|
|
404
|
+
/** 环境id */
|
|
405
|
+
EnvId?: string;
|
|
406
|
+
/** 唯一请求 ID */
|
|
407
|
+
RequestId: string;
|
|
408
|
+
}
|
|
409
|
+
/**
|
|
410
|
+
* ModifyPlatformHTTPServiceRoute 请求参数
|
|
411
|
+
*/
|
|
412
|
+
export interface ModifyPlatformHTTPServiceRouteParams {
|
|
413
|
+
/** 平台id */
|
|
414
|
+
PlatformId: string;
|
|
415
|
+
/** 域名路由信息(增量修改,对应字段不传则不修改) */
|
|
416
|
+
Domain: HTTPServiceDomainParam;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* ModifyPlatformHTTPServiceRoute 返回结果
|
|
420
|
+
*/
|
|
421
|
+
export interface ModifyPlatformHTTPServiceRouteRes {
|
|
422
|
+
/** 唯一请求 ID */
|
|
423
|
+
RequestId: string;
|
|
424
|
+
}
|
|
425
|
+
/**
|
|
426
|
+
* CreatePlatformHTTPServiceRoute 请求参数
|
|
427
|
+
*/
|
|
428
|
+
export interface CreatePlatformHTTPServiceRouteParams {
|
|
429
|
+
/** 平台id */
|
|
430
|
+
PlatformId: string;
|
|
431
|
+
/** 域名路由信息。不传 Domain.Routes 时仅创建域名信息 */
|
|
432
|
+
Domain: HTTPServiceDomainParam;
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* CreatePlatformHTTPServiceRoute 返回结果
|
|
436
|
+
*/
|
|
437
|
+
export interface CreatePlatformHTTPServiceRouteRes {
|
|
438
|
+
/** 归属权校验不通过时返回的验证指引,按指引配置 DNS 或文件验证后,
|
|
439
|
+
* 可调用 verifyPlatformHttpServiceRoute 验证归属权是否通过 */
|
|
440
|
+
OwnershipVerification?: OwnershipVerificationInfo;
|
|
441
|
+
/** 唯一请求 ID */
|
|
442
|
+
RequestId: string;
|
|
443
|
+
}
|
|
444
|
+
/**
|
|
445
|
+
* VerifyPlatformHTTPServiceRoute 请求参数
|
|
446
|
+
*/
|
|
447
|
+
export interface VerifyPlatformHTTPServiceRouteParams {
|
|
448
|
+
/** 平台id */
|
|
449
|
+
PlatformId: string;
|
|
450
|
+
/** 域名路由信息 */
|
|
451
|
+
Domain: HTTPServiceDomainParam;
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* VerifyPlatformHTTPServiceRoute 返回结果
|
|
455
|
+
*/
|
|
456
|
+
export interface VerifyPlatformHTTPServiceRouteRes {
|
|
457
|
+
/** 前置校验总开关。所有启用的检查项均为 PASS 或 SKIPPED 时为 true,
|
|
458
|
+
* 任一检查项为 FAIL 时为 false */
|
|
459
|
+
Passed?: boolean;
|
|
460
|
+
/** 域名归属权校验结果 */
|
|
461
|
+
Ownership?: VerifyHttpServiceRouteCheckItem;
|
|
462
|
+
/** 证书校验结果;CertId 为空时 Status=SKIPPED */
|
|
463
|
+
Cert?: VerifyHttpServiceRouteCheckItem;
|
|
464
|
+
/** 域名/路径数量配额校验结果 */
|
|
465
|
+
Quota?: VerifyHttpServiceRouteCheckItem;
|
|
466
|
+
/** 同域名下路由路径冲突校验结果 */
|
|
467
|
+
RouteConflict?: VerifyHttpServiceRouteCheckItem;
|
|
468
|
+
/** 域名被其他环境占用校验结果 */
|
|
469
|
+
DomainConflict?: VerifyHttpServiceRouteCheckItem;
|
|
470
|
+
/** 内部域名且非内部账号校验结果 */
|
|
471
|
+
InternalAccount?: VerifyHttpServiceRouteCheckItem;
|
|
472
|
+
/** 域名黑名单校验结果 */
|
|
473
|
+
Blacklist?: VerifyHttpServiceRouteCheckItem;
|
|
474
|
+
/** AccessType=CDN 时 CDN 资源存在性/状态校验结果(含 ICP 未备案提示) */
|
|
475
|
+
CDNResource?: VerifyHttpServiceRouteCheckItem;
|
|
476
|
+
/** AccessType=EO 时的 EdgeOne 预检结果(域名冲突/备案/归属权) */
|
|
477
|
+
EO?: VerifyHttpServiceRouteCheckItem;
|
|
478
|
+
/** 唯一请求 ID */
|
|
479
|
+
RequestId: string;
|
|
480
|
+
}
|
|
481
|
+
/**
|
|
482
|
+
* DeletePlatformHTTPServiceRoute 请求参数
|
|
483
|
+
*/
|
|
484
|
+
export interface DeletePlatformHTTPServiceRouteParams {
|
|
485
|
+
/** 平台id */
|
|
486
|
+
PlatformId: string;
|
|
487
|
+
/** 域名 */
|
|
488
|
+
Domain: string;
|
|
489
|
+
/** 路径列表。为空则表示删除此域名及所有路由;不为空则仅删除对应的 path 路由 */
|
|
490
|
+
Paths?: string[];
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* DeletePlatformHTTPServiceRoute 返回结果
|
|
494
|
+
*/
|
|
495
|
+
export interface DeletePlatformHTTPServiceRouteRes {
|
|
496
|
+
/** 唯一请求 ID */
|
|
497
|
+
RequestId: string;
|
|
498
|
+
}
|
|
499
|
+
/**
|
|
500
|
+
* DescribePlatformHTTPServiceRoute 请求参数
|
|
501
|
+
*/
|
|
502
|
+
export interface DescribePlatformHTTPServiceRouteParams {
|
|
503
|
+
/** 平台id */
|
|
504
|
+
PlatformId: string;
|
|
505
|
+
/** 过滤条件。可过滤: Domain、Path、DomainType、UpstreamResourceType。
|
|
506
|
+
* 过滤条件数量限制为 10,Values 单条不超过 100 */
|
|
507
|
+
Filters?: HTTPServiceRouteFilter[];
|
|
508
|
+
/** 分页偏移量,默认 0 */
|
|
509
|
+
Offset?: number;
|
|
510
|
+
/** 分页限制,默认 20,最大值 1000 */
|
|
511
|
+
Limit?: number;
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* DescribePlatformHTTPServiceRoute 返回结果
|
|
515
|
+
*/
|
|
516
|
+
export interface DescribePlatformHTTPServiceRouteRes {
|
|
517
|
+
/** 域名路由信息列表 */
|
|
518
|
+
Domains?: HTTPServiceDomain[];
|
|
519
|
+
/** 自定义接入的源站域名(HTTPService接入层域名) */
|
|
520
|
+
OriginDomain: string;
|
|
521
|
+
/** 域名总数,分页查询使用总数判断是否已经拉取到所有数据 */
|
|
522
|
+
TotalCount: number;
|
|
523
|
+
/** 唯一请求 ID */
|
|
524
|
+
RequestId: string;
|
|
525
|
+
}
|
package/types/storage/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Environment } from '../environment';
|
|
2
2
|
import { IUploadMetadata, IListFileInfo, IFileInfo, ITempUrlInfo, IResponseInfo } from '../interfaces';
|
|
3
|
+
import { IStorageConfig } from '../utils/storage-config';
|
|
3
4
|
import { IUploadObjectHttpOptions, IUploadObjectHttpResult, IDeleteObjectHttpOptions, IDeleteObjectHttpResult, IDeleteObjectsHttpOptions, IDeletedObjectInfo, ICopyObjectHttpOptions, ICopyObjectHttpResult, IMoveObjectHttpOptions, IMoveObjectHttpResult, IListObjectsHttpOptions, IListObjectsHttpResult, ISignObjectHttpOptions, ISignObjectHttpResult, ISignObjectsHttpOptions, ISignObjectsHttpResult, ISignUploadObjectHttpOptions, ISignUploadObjectHttpResult, IUploadObjectBySignHttpOptions, IUploadObjectBySignHttpResult, IDownloadAuthenticatedObjectHttpOptions, IDownloadObjectHttpOptions, IDownloadPublicObjectHttpOptions, IDownloadObjectBySignHttpOptions, IDownloadObjectHttpResult, IGetObjectInfoAuthenticatedHttpOptions, IGetObjectInfoPublicHttpOptions, IGetObjectInfoHttpResult, IConsistentUploadOptions, IConsistentUploadResult, ILocalManifestItem, IManifestDiffResult, IManifestVerifyResult, IPruneResult, IRemoteManifestItem } from './type';
|
|
4
5
|
export interface IProgressData {
|
|
5
6
|
loaded: number;
|
|
@@ -34,12 +35,19 @@ export interface IFilesOptions extends IOptions {
|
|
|
34
35
|
export interface ICustomOptions {
|
|
35
36
|
bucket: string;
|
|
36
37
|
region: string;
|
|
38
|
+
/**
|
|
39
|
+
* 共享桶(ExternalStorage)内的目录前缀。*Custom 方法不会自动读取环境的 BasePath,
|
|
40
|
+
* 未传时按 COS 原始 Key 处理;传入后入参按逻辑路径处理,返回的 Key 映射回逻辑路径
|
|
41
|
+
*/
|
|
42
|
+
basePath?: string;
|
|
37
43
|
}
|
|
38
44
|
export interface IWalkCloudDirOptions {
|
|
39
45
|
prefix: string;
|
|
40
46
|
bucket: string;
|
|
41
47
|
region: string;
|
|
42
48
|
marker?: string;
|
|
49
|
+
/** 同 ICustomOptions.basePath */
|
|
50
|
+
basePath?: string;
|
|
43
51
|
}
|
|
44
52
|
export interface IGetRemoteManifestOptions extends ICustomOptions {
|
|
45
53
|
/** 云端前缀,无前导斜杠(如 'dist');空串表示整桶 */
|
|
@@ -104,6 +112,8 @@ export interface IGetBucketOpions {
|
|
|
104
112
|
prefix?: string;
|
|
105
113
|
marker?: string;
|
|
106
114
|
maxKeys?: number;
|
|
115
|
+
/** 同 ICustomOptions.basePath:传入后 prefix / marker 按逻辑路径处理,返回的 Contents.Key、NextMarker 映射回逻辑路径 */
|
|
116
|
+
basePath?: string;
|
|
107
117
|
}
|
|
108
118
|
export type AclType = 'READONLY' | 'PRIVATE' | 'ADMINWRITE' | 'ADMINONLY' | 'CUSTOM';
|
|
109
119
|
export interface IStorageAclRule {
|
|
@@ -191,6 +201,22 @@ export interface ISearchResult {
|
|
|
191
201
|
type OnProgress = (progressData: IProgressData) => void;
|
|
192
202
|
type OnFileFinish = (error: Error, res: any, fileData: any) => void;
|
|
193
203
|
export { md5File } from './helper';
|
|
204
|
+
export interface IBatchDeleteFailure {
|
|
205
|
+
fileId: string;
|
|
206
|
+
cloudPath: string | undefined;
|
|
207
|
+
code: string;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* 整理 storage.batchDeleteFile 的逐文件删除结果,取出失败项并回填对应的 cloudPath
|
|
211
|
+
*
|
|
212
|
+
* 该接口逐文件返回 code,未失败的文件已经删除成功。把结果汇总成一条错误消息会丢掉逐项信息,
|
|
213
|
+
* 调用方无法区分「删掉了哪些」和「哪些本来就不存在」,因此保留结构化失败列表。
|
|
214
|
+
* 接口未保证 delete_list 与入参同序,这里按 fileID 反查。
|
|
215
|
+
*/
|
|
216
|
+
export declare function collectBatchDeleteFailures(deleteList: {
|
|
217
|
+
fileID: string;
|
|
218
|
+
code: string;
|
|
219
|
+
}[], fileIdList: string[], cloudPathList: string[]): IBatchDeleteFailure[];
|
|
194
220
|
export declare class StorageService {
|
|
195
221
|
private environment;
|
|
196
222
|
private tcbService;
|
|
@@ -202,6 +228,7 @@ export declare class StorageService {
|
|
|
202
228
|
getRemoteManifest(prefix: string): Promise<IRemoteManifestItem[]>;
|
|
203
229
|
/**
|
|
204
230
|
* 获取远端 manifest,支持自定义 Bucket 和 Region。prefix 规则同 getRemoteManifest。
|
|
231
|
+
* 不会自动拼接环境的共享桶 BasePath,需要时显式传入 basePath
|
|
205
232
|
*/
|
|
206
233
|
getRemoteManifestCustom(options: IGetRemoteManifestOptions): Promise<IRemoteManifestItem[]>;
|
|
207
234
|
/**
|
|
@@ -291,6 +318,7 @@ export declare class StorageService {
|
|
|
291
318
|
uploadFiles(options: IFilesOptions): Promise<void>;
|
|
292
319
|
/**
|
|
293
320
|
* 上传文件,支持自定义 Bucket 和 Region
|
|
321
|
+
* 不会自动拼接环境的共享桶 BasePath,需要时显式传入 basePath;fileId 始终按逻辑路径 cloudPath 获取
|
|
294
322
|
* @param {string} localPath
|
|
295
323
|
* @param {string} cloudPath
|
|
296
324
|
* @param {string} bucket
|
|
@@ -311,6 +339,7 @@ export declare class StorageService {
|
|
|
311
339
|
uploadDirectory(options: IFileOptions): Promise<void>;
|
|
312
340
|
/**
|
|
313
341
|
* 上传文件夹,支持自定义 Region 和 Bucket
|
|
342
|
+
* 不会自动拼接环境的共享桶 BasePath,需要时显式传入 basePath
|
|
314
343
|
* @param {string} localPath
|
|
315
344
|
* @param {string} cloudPath
|
|
316
345
|
* @param {number} parallel
|
|
@@ -348,6 +377,7 @@ export declare class StorageService {
|
|
|
348
377
|
createCloudDirectroy(cloudPath: string): Promise<void>;
|
|
349
378
|
/**
|
|
350
379
|
* 创建一个空的文件夹,支持自定义 Region 和 Bucket
|
|
380
|
+
* 不会自动拼接环境的共享桶 BasePath,需要时显式传入 basePath
|
|
351
381
|
* @param {string} cloudPath
|
|
352
382
|
* @param {string} bucket
|
|
353
383
|
* @param {string} region
|
|
@@ -400,6 +430,7 @@ export declare class StorageService {
|
|
|
400
430
|
deleteFile(cloudPathList: string[]): Promise<void>;
|
|
401
431
|
/**
|
|
402
432
|
* 删除文件,可以指定 Bucket 和 Region
|
|
433
|
+
* 不会自动拼接环境的共享桶 BasePath,cloudPathList 按 COS 原始 Key 处理
|
|
403
434
|
* @param {string[]} cloudPathList
|
|
404
435
|
* @param {string} bucket
|
|
405
436
|
* @param {string} region
|
|
@@ -425,6 +456,7 @@ export declare class StorageService {
|
|
|
425
456
|
}>;
|
|
426
457
|
/**
|
|
427
458
|
* 删除文件,可以指定 bucket 和 region
|
|
459
|
+
* 不会自动拼接环境的共享桶 BasePath,需要时显式传入 basePath;返回的 Key 为逻辑路径
|
|
428
460
|
* @param {string} cloudPath
|
|
429
461
|
* @param {string} bucket
|
|
430
462
|
* @param {string} region
|
|
@@ -497,6 +529,7 @@ export declare class StorageService {
|
|
|
497
529
|
walkCloudDir(prefix: string, marker?: string): Promise<IListFileInfo[]>;
|
|
498
530
|
/**
|
|
499
531
|
* 遍历云端文件夹,支持自定义 Bucket 和 Region
|
|
532
|
+
* 不会自动拼接环境的共享桶 BasePath,需要时显式传入 basePath;传入后返回的 Key 为逻辑路径
|
|
500
533
|
* @param {string} prefix
|
|
501
534
|
* @param {string} [marker]
|
|
502
535
|
* @param {string} bucket
|
|
@@ -686,9 +719,10 @@ export declare class StorageService {
|
|
|
686
719
|
*/
|
|
687
720
|
private cloudPathToFileId;
|
|
688
721
|
/**
|
|
689
|
-
*
|
|
722
|
+
* 获取存储桶配置,兼容共享桶(ExternalStorage)环境
|
|
723
|
+
* basePath 为共享桶内的目录前缀,普通环境为空串
|
|
690
724
|
*/
|
|
691
|
-
|
|
725
|
+
getStorageConfig(): IStorageConfig;
|
|
692
726
|
/**
|
|
693
727
|
* 带重试功能的上传多文件函数
|
|
694
728
|
* @param uploadFiles sdk上传函数
|
package/types/storage/type.d.ts
CHANGED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { EnvInfo, ExternalStorage } from '../interfaces';
|
|
2
|
+
export interface IStorageConfig {
|
|
3
|
+
env: string;
|
|
4
|
+
region: string;
|
|
5
|
+
bucket: string;
|
|
6
|
+
basePath: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* 逻辑路径 → COS 物理 Key:共享桶环境拼上 basePath 前缀,basePath 为空时原样返回
|
|
10
|
+
* cloudPath 为空或为 '/' 时返回 `${basePath}/`,即共享桶内本环境的根目录
|
|
11
|
+
*/
|
|
12
|
+
export declare function toPhysicalKey(basePath: string, cloudPath?: string): string;
|
|
13
|
+
/**
|
|
14
|
+
* COS 物理 Key → 逻辑路径:去掉 basePath 前缀,basePath 为空或 Key 不在前缀下时原样返回
|
|
15
|
+
*/
|
|
16
|
+
export declare function toLogicalPath(basePath: string, key: string): string;
|
|
17
|
+
/**
|
|
18
|
+
* 解析环境的有效云存储配置
|
|
19
|
+
* 共享桶环境(Storages[0].ExternalStorage.Enabled 为 true)下,BasePath 从 ExternalStorage 读取,桶名、地域在顶层为空时回退到 ExternalStorage;
|
|
20
|
+
* 普通环境保持读取 Storages[0].Bucket / Region,basePath 为空串
|
|
21
|
+
*/
|
|
22
|
+
export declare function resolveStorageConfig(envConfig: EnvInfo): IStorageConfig;
|
|
23
|
+
/**
|
|
24
|
+
* 按共享桶规则解析有效桶,云存储(Storages)与静态托管(DescribeStaticStore)共用
|
|
25
|
+
*
|
|
26
|
+
* 是否共享桶只看 ExternalStorage.Enabled,不看顶层 Bucket 是否为空:
|
|
27
|
+
* 目前线上共享桶环境的顶层 Bucket 均返回空串,但接口定义并未保证这一点,
|
|
28
|
+
* 若后端回填桶名而 basePath 仍按「Bucket 为空」判定,文件会静默写到桶根目录,
|
|
29
|
+
* 造成同一共享桶内跨环境污染。因此 basePath 只由 Enabled + BasePath 决定,
|
|
30
|
+
* 桶名则优先用顶层 Bucket,为空时回退到 ExternalStorage.BucketName。
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveBucketConfig(options: {
|
|
33
|
+
envId: string;
|
|
34
|
+
bucket: string;
|
|
35
|
+
region: string;
|
|
36
|
+
externalStorage?: ExternalStorage;
|
|
37
|
+
}): {
|
|
38
|
+
bucket: string;
|
|
39
|
+
region: string;
|
|
40
|
+
basePath: string;
|
|
41
|
+
};
|