@cloudbase/manager-node 5.8.0-beta.1 → 5.8.0
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 +6 -0
- package/lib/deploy/DeployOrchestrator.js +8 -4
- package/lib/deploy/StateStore.js +1 -0
- package/lib/deploy/function/artifact.js +26 -8
- package/lib/deploy/function/config-guard.js +138 -70
- package/lib/env/index.js +27 -0
- package/lib/function/index.js +103 -92
- package/lib/projectValidator/index.js +4 -2
- package/package.json +2 -2
- package/types/deploy/StateStore.d.ts +4 -0
- package/types/deploy/types.d.ts +34 -5
- package/types/env/index.d.ts +17 -1
- package/types/env/type.d.ts +257 -3
- package/types/function/index.d.ts +37 -36
package/types/env/type.d.ts
CHANGED
|
@@ -14,6 +14,169 @@ export interface CalculatePackageModifyPriceParams {
|
|
|
14
14
|
envId: string;
|
|
15
15
|
currency?: 'CNY' | 'USD';
|
|
16
16
|
}
|
|
17
|
+
/** 获取 SSL 证书列表请求参数。 */
|
|
18
|
+
export interface DescribeCertificatesParams {
|
|
19
|
+
/** 分页偏移量,从 0 开始。 */
|
|
20
|
+
Offset?: number;
|
|
21
|
+
/** 每页数量,范围为 1 至 1000。 */
|
|
22
|
+
Limit?: number;
|
|
23
|
+
/** 模糊匹配证书 ID、备注名称或证书域名。 */
|
|
24
|
+
SearchKey?: string;
|
|
25
|
+
/** 证书类型:CA 为客户端证书,SVR 为服务器证书。 */
|
|
26
|
+
CertificateType?: 'CA' | 'SVR';
|
|
27
|
+
/** 项目 ID。 */
|
|
28
|
+
ProjectId?: number;
|
|
29
|
+
/** 按证书到期时间排序。 */
|
|
30
|
+
ExpirationSort?: 'ASC' | 'DESC';
|
|
31
|
+
/** 证书状态筛选。 */
|
|
32
|
+
CertificateStatus?: number[];
|
|
33
|
+
/** 是否仅返回可部署证书:1 是,0 否。 */
|
|
34
|
+
Deployable?: 0 | 1;
|
|
35
|
+
/** 是否仅返回上传托管证书:1 是,0 否。 */
|
|
36
|
+
Upload?: 0 | 1;
|
|
37
|
+
/** 是否仅返回可续期证书:1 是,0 否。 */
|
|
38
|
+
Renew?: 0 | 1;
|
|
39
|
+
/** 来源筛选。 */
|
|
40
|
+
FilterSource?: 'upload' | 'buy';
|
|
41
|
+
/** 是否仅返回国密证书:1 是,0 否。 */
|
|
42
|
+
IsSM?: 0 | 1;
|
|
43
|
+
/** 是否仅返回即将过期证书:1 是,0 否。 */
|
|
44
|
+
FilterExpiring?: 0 | 1;
|
|
45
|
+
/** 是否仅返回可托管证书:1 是,0 否。 */
|
|
46
|
+
Hostable?: 0 | 1;
|
|
47
|
+
/** 标签筛选条件。 */
|
|
48
|
+
Tags?: Array<{
|
|
49
|
+
TagKey: string;
|
|
50
|
+
TagValue?: string;
|
|
51
|
+
}>;
|
|
52
|
+
/** 是否仅返回等待签发证书:1 是,0 否。 */
|
|
53
|
+
IsPendingIssue?: 0 | 1;
|
|
54
|
+
/** 指定证书 ID 列表。 */
|
|
55
|
+
CertIds?: string[];
|
|
56
|
+
/** 订阅服务 ID。 */
|
|
57
|
+
ServiceId?: string;
|
|
58
|
+
}
|
|
59
|
+
/** Certificates.CertificateExtra:证书扩展信息。 */
|
|
60
|
+
export interface CertificateExtra {
|
|
61
|
+
DomainNumber: string;
|
|
62
|
+
OriginCertificateId: string | null;
|
|
63
|
+
ReplacedBy: string | null;
|
|
64
|
+
ReplacedFor: string | null;
|
|
65
|
+
RenewOrder: string | null;
|
|
66
|
+
SMCert: number;
|
|
67
|
+
CompanyType: number;
|
|
68
|
+
ServiceRenewCertificateId: string;
|
|
69
|
+
ServiceOriginCertificateId: string;
|
|
70
|
+
}
|
|
71
|
+
/** Certificates.ProjectInfo:项目信息。 */
|
|
72
|
+
export interface ProjectInfo {
|
|
73
|
+
ProjectName: string;
|
|
74
|
+
ProjectCreatorUin: number;
|
|
75
|
+
ProjectCreateTime: string;
|
|
76
|
+
ProjectResume: string;
|
|
77
|
+
OwnerUin: number;
|
|
78
|
+
ProjectId: string;
|
|
79
|
+
}
|
|
80
|
+
/** Certificates.PreAuditInfo:证书预审核信息。 */
|
|
81
|
+
export interface PreAuditInfo {
|
|
82
|
+
TotalPeriod: number;
|
|
83
|
+
NowPeriod: number;
|
|
84
|
+
ManagerId: string;
|
|
85
|
+
}
|
|
86
|
+
/** Certificates.HostingConfig:托管配置。 */
|
|
87
|
+
export interface HostingConfig {
|
|
88
|
+
ReplaceTime?: number;
|
|
89
|
+
MessageTypes?: number[];
|
|
90
|
+
ReplaceStartTime?: string;
|
|
91
|
+
ReplaceEndTime?: string;
|
|
92
|
+
}
|
|
93
|
+
/** Certificates.SupportDownloadType:支持下载的服务器格式。 */
|
|
94
|
+
export interface SupportDownloadType {
|
|
95
|
+
NGINX: boolean;
|
|
96
|
+
APACHE: boolean;
|
|
97
|
+
TOMCAT: boolean;
|
|
98
|
+
IIS: boolean;
|
|
99
|
+
JKS: boolean;
|
|
100
|
+
OTHER: boolean;
|
|
101
|
+
ROOT: boolean;
|
|
102
|
+
}
|
|
103
|
+
/** Certificates.Tags:标签信息。 */
|
|
104
|
+
export interface CertificateTag {
|
|
105
|
+
TagKey: string;
|
|
106
|
+
TagValue: string;
|
|
107
|
+
}
|
|
108
|
+
/** SSL 证书列表项,对应 DescribeCertificates 响应中的 Certificates 元素。 */
|
|
109
|
+
export interface Certificates {
|
|
110
|
+
OwnerUin: string;
|
|
111
|
+
ProjectId: string;
|
|
112
|
+
From: string;
|
|
113
|
+
PackageType: string;
|
|
114
|
+
CertificateType: 'CA' | 'SVR';
|
|
115
|
+
ProductZhName: string;
|
|
116
|
+
Domain: string;
|
|
117
|
+
Alias: string;
|
|
118
|
+
Status: number;
|
|
119
|
+
CertificateExtra: CertificateExtra;
|
|
120
|
+
VulnerabilityStatus: 'INACTIVE' | 'ACTIVE';
|
|
121
|
+
StatusMsg: string;
|
|
122
|
+
VerifyType: 'DNS_AUTO' | 'DNS' | 'FILE' | 'DNS_PROXY' | 'FILE_PROXY';
|
|
123
|
+
CertBeginTime: string;
|
|
124
|
+
CertEndTime: string;
|
|
125
|
+
ValidityPeriod: string;
|
|
126
|
+
InsertTime: string;
|
|
127
|
+
CertificateId: string;
|
|
128
|
+
SubjectAltName: string[];
|
|
129
|
+
PackageTypeName: string;
|
|
130
|
+
StatusName: string;
|
|
131
|
+
IsVip: boolean;
|
|
132
|
+
IsDv: boolean;
|
|
133
|
+
IsWildcard: boolean;
|
|
134
|
+
IsVulnerability: boolean;
|
|
135
|
+
RenewAble: boolean;
|
|
136
|
+
ProjectInfo: ProjectInfo;
|
|
137
|
+
BoundResource: string[];
|
|
138
|
+
Deployable: boolean;
|
|
139
|
+
Tags: CertificateTag[];
|
|
140
|
+
IsIgnore: boolean;
|
|
141
|
+
IsSM: boolean;
|
|
142
|
+
EncryptAlgorithm: string;
|
|
143
|
+
CAEncryptAlgorithms: string[];
|
|
144
|
+
CAEndTimes: string[];
|
|
145
|
+
CACommonNames: string[];
|
|
146
|
+
PreAuditInfo: PreAuditInfo;
|
|
147
|
+
AutoRenewFlag: number;
|
|
148
|
+
HostingStatus: number;
|
|
149
|
+
HostingCompleteTime: string;
|
|
150
|
+
HostingRenewCertId: string;
|
|
151
|
+
HasRenewOrder: string;
|
|
152
|
+
ReplaceOriCertIsDelete: boolean;
|
|
153
|
+
IsExpiring: boolean;
|
|
154
|
+
DVAuthDeadline: string;
|
|
155
|
+
ValidationPassedTime: string;
|
|
156
|
+
CertSANs: string[];
|
|
157
|
+
AwaitingValidationMsg: string;
|
|
158
|
+
AllowDownload: boolean;
|
|
159
|
+
IsDNSPODResolve: boolean;
|
|
160
|
+
IsPackage: boolean;
|
|
161
|
+
KeyPasswordCustomFlag: boolean;
|
|
162
|
+
SupportDownloadType: SupportDownloadType;
|
|
163
|
+
CertRevokedTime: string;
|
|
164
|
+
HostingResourceTypes: string[];
|
|
165
|
+
HostingConfig: HostingConfig | null;
|
|
166
|
+
IsHostingUploadRenewCert: boolean;
|
|
167
|
+
ServiceId: string;
|
|
168
|
+
ServiceStatus: 'initing' | 'running' | 'expired' | 'refunded' | 'nearExpire';
|
|
169
|
+
CertServiceBeginTime: string;
|
|
170
|
+
CertServiceEndTime: string;
|
|
171
|
+
CertServiceShareEnabled: boolean;
|
|
172
|
+
CertServiceValidCertificateCount: number;
|
|
173
|
+
}
|
|
174
|
+
/** 获取 SSL 证书列表响应。 */
|
|
175
|
+
export interface DescribeCertificatesRes {
|
|
176
|
+
TotalCount: number;
|
|
177
|
+
Certificates: Certificates[];
|
|
178
|
+
RequestId: string;
|
|
179
|
+
}
|
|
17
180
|
/**
|
|
18
181
|
* 客户端限频配置
|
|
19
182
|
*/
|
|
@@ -35,18 +198,43 @@ export interface HTTPServicePathRewrite {
|
|
|
35
198
|
StaticStorePrefix?: string;
|
|
36
199
|
Prefix?: string;
|
|
37
200
|
}
|
|
201
|
+
/**
|
|
202
|
+
* HTTP 访问服务路由添加 header 配置
|
|
203
|
+
*/
|
|
204
|
+
export interface HTTPServiceHeaderToAdd {
|
|
205
|
+
Key?: string;
|
|
206
|
+
Value?: string;
|
|
207
|
+
Action?: 'APPEND_IF_EXISTS_OR_ADD' | 'ADD_IF_ABSENT' | 'OVERWRITE_IF_EXISTS_OR_ADD' | 'OVERWRITE_IF_EXISTS';
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* HTTP 访问服务路由 headers 处理配置
|
|
211
|
+
*/
|
|
212
|
+
export interface HTTPServiceHeadersHandler {
|
|
213
|
+
RequestHeadersToAdd?: HTTPServiceHeaderToAdd[];
|
|
214
|
+
RequestHeadersToRemove?: string[];
|
|
215
|
+
ResponseHeadersToAdd?: HTTPServiceHeaderToAdd[];
|
|
216
|
+
ResponseHeadersToRemove?: string[];
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* HTTP访问服务路由扩展字段
|
|
220
|
+
*/
|
|
221
|
+
export interface HTTPServiceExtension {
|
|
222
|
+
HeadersHandler?: HTTPServiceHeadersHandler;
|
|
223
|
+
[key: string]: unknown;
|
|
224
|
+
}
|
|
38
225
|
/**
|
|
39
226
|
* HTTP访问服务路由信息
|
|
40
227
|
*/
|
|
41
228
|
export interface HTTPServiceRoute {
|
|
42
229
|
Path: string;
|
|
43
230
|
PathRewrite?: HTTPServicePathRewrite;
|
|
44
|
-
UpstreamResourceType: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH';
|
|
231
|
+
UpstreamResourceType: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH' | 'STORAGE';
|
|
45
232
|
UpstreamResourceName: string;
|
|
46
233
|
EnableSafeDomain: boolean;
|
|
47
234
|
EnableAuth: boolean;
|
|
48
235
|
EnablePathTransmission: boolean;
|
|
49
236
|
QPSPolicy?: HTTPServiceRouteQPSPolicy;
|
|
237
|
+
Extension?: HTTPServiceExtension;
|
|
50
238
|
Enable: boolean;
|
|
51
239
|
CreateTime: string;
|
|
52
240
|
UpdateTime: string;
|
|
@@ -57,7 +245,7 @@ export interface HTTPServiceRoute {
|
|
|
57
245
|
export interface HTTPServiceDomain {
|
|
58
246
|
Domain: string;
|
|
59
247
|
DomainType: 'HTTPSERVICE' | 'CBR' | 'ANYSERVICE' | 'AI_AGENT' | 'VM' | 'INTEGRATION_CALLBACK';
|
|
60
|
-
AccessType: 'DIRECT' | 'CDN' | 'CUSTOM';
|
|
248
|
+
AccessType: 'DIRECT' | 'CDN' | 'CUSTOM' | 'EO';
|
|
61
249
|
CertId: string;
|
|
62
250
|
Protocol: 'HTTP_AND_HTTPS' | 'HTTP_TO_HTTPS' | 'HTTPS_TO_HTTP';
|
|
63
251
|
Cname: string;
|
|
@@ -66,6 +254,7 @@ export interface HTTPServiceDomain {
|
|
|
66
254
|
Status: 'PROCESSING' | 'FAIL' | 'SUCCESS';
|
|
67
255
|
DNSStatus: 'OK' | 'INVALID';
|
|
68
256
|
Routes?: HTTPServiceRoute[];
|
|
257
|
+
Extension?: HTTPServiceExtension;
|
|
69
258
|
CreateTime: string;
|
|
70
259
|
UpdateTime: string;
|
|
71
260
|
}
|
|
@@ -99,13 +288,14 @@ export interface DescribeHttpServiceRouteRes {
|
|
|
99
288
|
*/
|
|
100
289
|
export interface HTTPServiceRouteParam {
|
|
101
290
|
Path: string;
|
|
102
|
-
UpstreamResourceType?: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH';
|
|
291
|
+
UpstreamResourceType?: 'SCF' | 'CBR' | 'STATIC_STORE' | 'WEB_SCF' | 'LH' | 'STORAGE';
|
|
103
292
|
UpstreamResourceName?: string;
|
|
104
293
|
PathRewrite?: HTTPServicePathRewrite;
|
|
105
294
|
EnableSafeDomain?: boolean;
|
|
106
295
|
EnableAuth?: boolean;
|
|
107
296
|
EnablePathTransmission?: boolean;
|
|
108
297
|
QPSPolicy?: HTTPServiceRouteQPSPolicy;
|
|
298
|
+
Extension?: HTTPServiceExtension;
|
|
109
299
|
Enable?: boolean;
|
|
110
300
|
}
|
|
111
301
|
/**
|
|
@@ -119,6 +309,70 @@ export interface HTTPServiceDomainParam {
|
|
|
119
309
|
CustomCname?: string;
|
|
120
310
|
Enable?: boolean;
|
|
121
311
|
Routes?: HTTPServiceRouteParam[];
|
|
312
|
+
Extension?: HTTPServiceExtension;
|
|
313
|
+
}
|
|
314
|
+
/**
|
|
315
|
+
* 前置校验检查状态
|
|
316
|
+
*/
|
|
317
|
+
export type VerifyHttpServiceRouteCheckStatus = 'PASS' | 'SKIPPED' | 'FAIL';
|
|
318
|
+
/**
|
|
319
|
+
* 前置校验失败原因
|
|
320
|
+
*/
|
|
321
|
+
export type VerifyHttpServiceRouteCheckCode = 'INTERNAL_CHECK_ERROR' | 'OWNERSHIP_DNS_LOOKUP_FAILED' | 'OWNERSHIP_VERIFY_FAILED' | 'CERT_VERIFY_FAILED' | 'QUOTA_EXCEEDED' | 'ROUTE_CONFLICT' | 'DOMAIN_IN_USE' | 'NON_INTERNAL_ACCOUNT' | 'DOMAIN_IN_BLACKLIST' | 'CDN_RESOURCE_PROCESSING' | 'CDN_RESOURCE_OFFLINE' | 'EO_OWNERSHIP_VERIFY_FAILED' | 'EO_DOMAIN_NOT_ICP' | 'EO_DOMAIN_IN_USE';
|
|
322
|
+
/**
|
|
323
|
+
* 域名归属权 DNS 验证指引
|
|
324
|
+
*/
|
|
325
|
+
export interface OwnershipVerificationDnsInfo {
|
|
326
|
+
Subdomain?: string;
|
|
327
|
+
RecordType?: string;
|
|
328
|
+
RecordValue?: string;
|
|
329
|
+
}
|
|
330
|
+
/**
|
|
331
|
+
* 域名归属权文件验证指引
|
|
332
|
+
*/
|
|
333
|
+
export interface OwnershipVerificationFileInfo {
|
|
334
|
+
Path?: string;
|
|
335
|
+
Content?: string;
|
|
336
|
+
}
|
|
337
|
+
/**
|
|
338
|
+
* 域名归属权验证指引
|
|
339
|
+
*/
|
|
340
|
+
export interface OwnershipVerificationInfo {
|
|
341
|
+
Domain?: string;
|
|
342
|
+
DnsVerification?: OwnershipVerificationDnsInfo[];
|
|
343
|
+
FileVerification?: OwnershipVerificationFileInfo[];
|
|
344
|
+
}
|
|
345
|
+
/**
|
|
346
|
+
* VerifyHTTPServiceRoute 单项前置校验结果
|
|
347
|
+
*/
|
|
348
|
+
export interface VerifyHttpServiceRouteCheckItem {
|
|
349
|
+
Status: VerifyHttpServiceRouteCheckStatus;
|
|
350
|
+
Code?: VerifyHttpServiceRouteCheckCode;
|
|
351
|
+
Message?: string;
|
|
352
|
+
OwnershipVerification?: OwnershipVerificationInfo;
|
|
353
|
+
}
|
|
354
|
+
/**
|
|
355
|
+
* VerifyHTTPServiceRoute 请求参数
|
|
356
|
+
*/
|
|
357
|
+
export interface VerifyHttpServiceRouteParams {
|
|
358
|
+
EnvId: string;
|
|
359
|
+
Domain: HTTPServiceDomainParam;
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* VerifyHTTPServiceRoute 返回结果
|
|
363
|
+
*/
|
|
364
|
+
export interface VerifyHttpServiceRouteRes {
|
|
365
|
+
Passed: boolean;
|
|
366
|
+
Ownership: VerifyHttpServiceRouteCheckItem;
|
|
367
|
+
Cert: VerifyHttpServiceRouteCheckItem;
|
|
368
|
+
Quota: VerifyHttpServiceRouteCheckItem;
|
|
369
|
+
RouteConflict: VerifyHttpServiceRouteCheckItem;
|
|
370
|
+
DomainConflict: VerifyHttpServiceRouteCheckItem;
|
|
371
|
+
InternalAccount: VerifyHttpServiceRouteCheckItem;
|
|
372
|
+
Blacklist: VerifyHttpServiceRouteCheckItem;
|
|
373
|
+
CDNResource: VerifyHttpServiceRouteCheckItem;
|
|
374
|
+
EO: VerifyHttpServiceRouteCheckItem;
|
|
375
|
+
RequestId: string;
|
|
122
376
|
}
|
|
123
377
|
/**
|
|
124
378
|
* CreateHTTPServiceRoute 请求参数
|
|
@@ -202,6 +202,7 @@ export interface IFunctionCodeOptions {
|
|
|
202
202
|
destPath: string;
|
|
203
203
|
functionName: string;
|
|
204
204
|
codeSecret?: string;
|
|
205
|
+
qualifier?: string;
|
|
205
206
|
}
|
|
206
207
|
export interface ILayerDownloadOptions {
|
|
207
208
|
name: string;
|
|
@@ -316,46 +317,46 @@ export declare class FunctionService {
|
|
|
316
317
|
codeSecret: any;
|
|
317
318
|
}): Promise<IFunctionInfo[]>;
|
|
318
319
|
/**
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
320
|
+
* 获取函数日志
|
|
321
|
+
* @deprecated 底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
322
|
+
* @param {{
|
|
323
|
+
* name: string
|
|
324
|
+
* offset: number
|
|
325
|
+
* limit: number
|
|
326
|
+
* order: string
|
|
327
|
+
* orderBy: string
|
|
328
|
+
* startTime: string
|
|
329
|
+
* endTime: string
|
|
330
|
+
* requestId: string
|
|
331
|
+
* }} options
|
|
332
|
+
* @returns {Promise<IFunctionLogRes>}
|
|
333
|
+
*/
|
|
333
334
|
getFunctionLogs(_options: IFunctionLogOptions): Promise<IFunctionLogRes>;
|
|
334
335
|
/**
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
336
|
+
* 获取函数日志 ID 列表
|
|
337
|
+
* @deprecated 底层 GetFunctionLogs 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
338
|
+
* @param {{
|
|
339
|
+
* name: string
|
|
340
|
+
* offset: number
|
|
341
|
+
* limit: number
|
|
342
|
+
* startTime: string
|
|
343
|
+
* endTime: string
|
|
344
|
+
* requestId: string
|
|
345
|
+
* qualifier: string
|
|
346
|
+
* }} options
|
|
347
|
+
* @returns {Promise<IFunctionLogResV2>}
|
|
348
|
+
*/
|
|
348
349
|
getFunctionLogsV2(_options: IFunctionLogOptionsV2): Promise<IFunctionLogResV2>;
|
|
349
350
|
/**
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
351
|
+
* 根据函数日志 ID 查询日志详情
|
|
352
|
+
* @deprecated 底层 GetFunctionLogDetail 接口已下线,请使用 env.getLogService().searchClsLog() 查询云函数日志
|
|
353
|
+
* @param {{
|
|
354
|
+
* startTime: string
|
|
355
|
+
* endTime: string
|
|
356
|
+
* logRequestId: string
|
|
357
|
+
* }} options
|
|
358
|
+
* @returns {Promise<IFunctionLogDetailRes>}
|
|
359
|
+
*/
|
|
359
360
|
getFunctionLogDetail(_options: IFunctionLogDetailOptions): Promise<IFunctionLogDetailRes>;
|
|
360
361
|
/**
|
|
361
362
|
* 获取函数的完整调用日志
|