import { Environment } from '../environment'; import { IResponseInfo, AuthDomain, EnvInfo, LoginConfigItem, ICheckTcbServiceRes, ICreatePostpayRes, EnvBillingInfoItem, PriceResult } from '../interfaces'; import { CalculatePackageCreatePriceParams, CalculatePackageRenewPriceParams, CalculatePackageModifyPriceParams, DescribeHttpServiceRouteParams, DescribeHttpServiceRouteRes, VerifyHttpServiceRouteParams, VerifyHttpServiceRouteRes, CreateHttpServiceRouteParams, CreateHttpServiceRouteRes, ModifyHttpServiceRouteParams, ModifyHttpServiceRouteRes, DeleteHttpServiceRouteParams, DeleteHttpServiceRouteRes, PurgeHttpServiceCacheParams, PurgeHttpServiceCacheRes, DescribeHttpServiceCachePurgeTaskParams, DescribeHttpServiceCachePurgeTaskRes, BindCustomDomainParams, BindCustomDomainRes, DeleteCustomDomainParams, DeleteCustomDomainRes, DescribeCertificatesParams, DescribeCertificatesRes } from './type'; import { CreateBillingDealParams, CreateEnvParams, BaasPackageInfo, DescribeBaasPackageListParams, ModifyEnvPlanParams, RenewEnvParams, DestroyEnvParams, DescribeEnvsParams, DescribeEnvInfoParams, DescribeEnvInfoResponse, DescribeEnvAccountCircleParams, DescribeEnvAccountCircleRes, DescribeCreditsUsageDetailParams, EnvPkgCreditsUsage } from '../interfaces/tcb.interface'; type SOURCE = 'miniapp' | 'qcloud'; interface IDeleteDomainRes { RequestId: string; Deleted: number; } interface IAuthDomainsRes { RequestId: string; Domains: AuthDomain[]; } interface IListEnvRes { RequestId: string; EnvList: EnvInfo[]; } interface IEnvLoginConfigRes { RequestId: string; ConfigList: LoginConfigItem[]; } interface VerificationConfig { Type: string; Name: string; Method: string; } interface MFALoginConfig { On: string; Sms: string; Email: string; RequiredBindPhone: string; Topt: string; } interface PasswordUpdateLoginConfig { FirstLoginUpdate: boolean; PeriodUpdate: boolean; PeriodValue: number; PeriodType: string; } interface ILoginStrategy { Data: { PhoneLogin: boolean; EmailLogin: boolean; AnonymousLogin: boolean; UsernameLogin: boolean; PhoneNumberLogin: boolean; Mfa: boolean; SmsVerificationConfig: VerificationConfig; MfaConfig?: MFALoginConfig; PwdUpdateStrategy?: PasswordUpdateLoginConfig; }; } interface IModifyLoginStrategy { EnvId: string; PhoneNumberLogin: boolean; EmailLogin: boolean; AnonymousLogin: boolean; UserNameLogin: boolean; SmsVerificationConfig?: VerificationConfig; Mfa?: boolean; MfaConfig?: MFALoginConfig; PwdUpdateStrategy?: PasswordUpdateLoginConfig; } interface IInitParam { Channel?: string; Source?: string; } /** * 短信验证码发送配置 */ interface IVerificationConfig { /** 短信发送通道类型,如 'default' */ Type?: string; /** 自定义 APIs 数据源名称 */ Name?: string; /** 调用方法 */ Method?: string; /** 每日发送限额,-1 表示不限制 */ SmsDayLimit?: number; } /** * MFA 多因子认证登录配置 */ interface IMFALoginConfig { /** MFA 因子认证,'TRUE' 或 'FALSE' */ On?: string; /** 短信验证,'TRUE' 或 'FALSE' */ Sms?: string; /** 邮箱验证,'TRUE' 或 'FALSE' */ Email?: string; /** 强制绑定手机号,'TRUE' 或 'FALSE' */ RequiredBindPhone?: string; } /** * 密码修改策略配置 */ interface IPasswordUpdateLoginConfig { /** 首次登录是否强制修改密码 */ FirstLoginUpdate?: boolean; /** 是否开启定期强制修改密码 */ PeriodUpdate?: boolean; /** 定期修改密码的周期值 */ PeriodValue?: number; /** 定期修改密码的周期时间单位,如 'YEAR'、'MONTH'、'WEEK' */ PeriodType?: string; } /** * DescribeLoginConfig 接口返回结果 */ interface IDescribeLoginConfigRes { /** 唯一请求 ID */ RequestId: string; /** 是否开启邮箱登录方式 */ EmailLogin: boolean; /** 是否开启匿名登录方式 */ AnonymousLogin: boolean; /** 是否开启用户名密码登录方式 */ UserNameLogin: boolean; /** 是否开启手机号短信登录方式 */ PhoneNumberLogin: boolean; /** 短信验证码发送配置 */ SmsVerificationConfig: IVerificationConfig; /** MFA 多因子认证登录配置 */ MfaConfig?: IMFALoginConfig; /** 密码修改策略配置 */ PwdUpdateStrategy?: IPasswordUpdateLoginConfig; } /** * ModifyLoginConfig 请求参数 */ interface IModifyLoginConfigParams { /** 手机号短信登录开关 */ PhoneNumberLogin: boolean; /** 邮箱登录开关 */ EmailLogin: boolean; /** 用户名密码登录开关 */ UserNameLogin: boolean; /** 匿名登录开关 */ AnonymousLogin: boolean; /** 短信验证码发送配置,不传则不修改当前配置 */ SmsVerificationConfig?: IVerificationConfig; /** MFA 多因子认证登录配置,不传则不修改当前配置 */ MfaConfig?: IMFALoginConfig; /** 密码更新策略配置,不传则不修改当前配置 */ PwdUpdateStrategy?: IPasswordUpdateLoginConfig; } /** * ModifyLoginConfig 返回结果 */ interface IModifyLoginConfigRes { /** 请求 ID */ RequestId: string; } /** * DescribeClient 接口返回结果 */ interface IDescribeClientRes { /** 唯一请求 ID */ RequestId: string; /** 客户端的唯一标识符(Client ID) */ Id: string; /** 客户端的创建时间,ISO 8601 格式 */ CreatedAt?: string; /** 客户端信息的最后修改时间,ISO 8601 格式 */ UpdatedAt?: string; /** Refresh Token 的有效期,单位为秒 */ RefreshTokenExpiresIn?: number; /** Access Token 的有效期,单位为秒 */ AccessTokenExpiresIn?: number; /** 单个用户允许同时登录的最大会话数量,-1 表示不限制 */ MaxDevice?: number; } /** * ModifyClient 请求参数 */ interface IModifyClientParams { /** 客户端唯一标识符(Client ID) */ Id: string; /** Refresh Token 的有效期,单位为秒,取值范围 1800~2592000,默认 2592000 */ RefreshTokenExpiresIn?: number; /** Access Token 的有效期,单位为秒,最小 1800,默认 7200,应小于 RefreshTokenExpiresIn */ AccessTokenExpiresIn?: number; /** 单个用户允许同时登录的最大会话数量,-1 不限制,0 按 User-Agent 区分,1~50 为精确限制 */ MaxDevice?: number; } /** * ModifyClient 返回结果 */ interface IModifyClientRes { /** 唯一请求 ID */ RequestId: string; } /** * 三方认证入参映射 * 用于非标准 OAuth 协议的参数转换。默认可为空,国内平台(如腾讯、新浪)需配置 */ interface IProviderRequestParametersMap { /** OAuth 标准协议中的 client_id 映射字段名,如微信对应 appid */ ClientId?: string; /** OAuth 标准协议中的 client_secret 映射字段名 */ ClientSecret?: string; /** OAuth 标准协议中的 redirect_uri 映射字段名 */ RedirectUri?: string; /** 身份源注册用户时自动绑定的角色 ID */ RegisterUserRoleId?: string; /** 身份源注册用户时是否自动授予许可证,'TRUE' 或 'FALSE',默认 FALSE */ RegisterUserAutoLicense?: string; /** OAuth 获取 Token 时认证信息的请求位置:URL、Headers、Body */ AuthPosition?: string; /** OAuth 授权模式匹配的参数字段名 */ GrantType?: string; /** OAuth 授权模式类型,如 authorization_code、client_credentials */ ClientCredentials?: string; /** OAuth 返回中 access_token 的映射字段名 */ AccessToken?: string; /** OAuth 返回中 Token 有效期的映射字段名 */ ExpiresIn?: string; /** 身份源注册用户时的用户类型:externalUser(外部用户)、internalUser(内部用户),默认 externalUser */ RegisterUserType?: string; } /** * 三方认证出参映射 * 用于非标准 OAuth 协议的响应参数转换。默认可为空,国内平台(如腾讯、新浪)需配置 */ interface IProviderResponseParametersMap { /** 用户唯一标识(sub)的映射字段名,对应 OIDC 标准 sub */ Sub?: string; /** 用户名称(name)的映射字段名,对应 OIDC 标准 name */ Name?: string; /** 用户头像(picture)的映射字段名,需公网可访问 URL */ Picture?: string; /** 用户登录名(username)的映射字段名,对应 OIDC 标准 preferred_username */ Username?: string; /** 用户邮箱(email)的映射字段名,对应 OIDC 标准 email */ Email?: string; /** 用户手机号(phone_number)的映射字段名,对应 OIDC 标准 phone_number */ PhoneNumber?: string; /** 用户角色/分组(groups)的映射字段名,对应 OIDC 标准 groups,支持字符串数组 */ Groups?: string; } /** * 身份认证源协议连接配置 * 包含 OAuth 2.0 / OIDC 协议端点、客户端凭证、SAML 元数据、请求与响应参数映射等 */ interface IProviderConfig { /** 身份提供方唯一标识符(Issuer URL),仅 OIDC 类型需要,填写后自动发现端点 */ Issuer?: string; /** JWKS 公钥地址,用于验证 ID Token 签名,仅 OIDC 类型,填 Issuer 后自动获取 */ JwksUri?: string; /** 第三方平台注册的应用客户端 ID,OIDC/OAUTH 时必填 */ ClientId?: string; /** 第三方平台注册的应用客户端密钥,OIDC/OAUTH 时必填 */ ClientSecret?: string; /** OAuth 授权回调地址,需与第三方平台注册的回调地址一致 */ RedirectUri?: string; /** 申请的权限范围,多个 scope 空格分隔,OIDC 通常至少含 openid */ Scope?: string; /** 授权端点地址,引导用户跳转至第三方登录页面,填 Issuer 后自动获取 */ AuthorizationEndpoint?: string; /** Token 端点地址,通过授权码换取 Token,填 Issuer 后自动获取 */ TokenEndpoint?: string; /** 用户信息端点地址,通过 Access Token 获取用户信息,填 Issuer 后自动获取 */ UserinfoEndpoint?: string; /** 响应类型:code(授权码)、token(隐式)、id_token,OIDC 默认 id_token,其他默认 code */ ResponseType?: string; /** 单点退出端点地址,退出时跳转使第三方 IDP 登录态失效 */ SignoutEndpoint?: string; /** Token 端点认证方式:CLIENT_SECRET_POST 或 CLIENT_SECRET_BASIC,默认 CLIENT_SECRET_POST */ TokenEndpointAuthMethod?: string; /** SAML Metadata XML 内容,仅 SAML 类型,最大 10KB */ SamlMetadata?: string; /** 请求参数映射配置,用于非标准 OAuth 协议的参数转换 */ RequestParametersMap?: IProviderRequestParametersMap; /** 响应参数映射配置,用于非标准 OAuth 协议的响应参数转换 */ ResponseParametersMap?: IProviderResponseParametersMap; } /** * 本地化语言变体 */ interface IMessageLocalized { /** 该语言的展示文本 */ Message: string; /** 语言标识,如 'zh'、'en'、'ko' */ Locale: string; } /** * 本地化描述 * 可以为每种语言配置一个字符串,比如:name,中文展示为:名字,英文展示为 name,韩文展示为 이름 */ interface ILocalizedMessage { /** 默认展示的文本 */ Message: string; /** 针对每种语言展示的文字 */ Localized?: IMessageLocalized[]; } /** * 邮箱 SMTP 配置 */ interface IEmailSmtpConfig { /** 发件人邮箱地址,须与 SMTP 授权账号一致 */ SenderAddress?: string; /** SMTP 服务器域名或 IP 地址,如 smtp.qq.com */ ServerHost?: string; /** SMTP 服务器端口,465(SSL)、587(STARTTLS)、25(无加密) */ ServerPort?: number; /** SMTP 登录账号,通常为发件人完整邮箱地址 */ AccountUsername?: string; /** SMTP 登录密码或授权码 */ AccountPassword?: string; /** 加密模式:AUTO、SSL、STARTSSL、NO_SSL,推荐 AUTO 或 SSL */ SecurityMode?: string; } /** * 多语言模板 * 模板中必须包含 {{.VerificationCode}} 变量, * 可选变量有 {{.Usage}}、{{.ExpireMinutes}}、{{.Email}} */ interface ILocalizedTemplate { /** 中文模板 */ ZhCN?: string; /** 英文模板 */ EnUS?: string; } /** * 邮件模板配置 * 模板中必须包含 {{.VerificationCode}} 变量, * 可选变量有 {{.Usage}}、{{.ExpireMinutes}}、{{.Email}}, * 禁止包含 script、javascript、onclick、onload、iframe、link 标签及 CSS expression、CSS url() 等 */ interface IEmailTemplateConfig { /** 注册登录模板 */ RegisterSignIn?: ILocalizedTemplate; /** 默认模板 */ DefaultTpl?: ILocalizedTemplate; } /** * 邮箱身份源专项配置(ProviderType 为 EMAIL 时有效) */ interface IEmailProviderConfig { /** 是否采用平台默认代发,'TRUE' 或 'FALSE'。为 TRUE 时无需配置 SmtpConfig */ On?: string; /** SMTP 配置,自有邮件服务器时填写 */ SmtpConfig?: IEmailSmtpConfig; /** 邮件模板配置 */ TemplateConfig?: IEmailTemplateConfig; } /** * 身份认证源 */ interface IProvider { /** 身份源唯一标识,2~32 位小写字母和数字,创建后不可修改 */ Id: string; /** 身份源安全认证配置,包含 ClientId、ClientSecret、授权端点等。不同 ProviderType 对应不同配置项 */ Config: IProviderConfig; /** 身份源名称,支持国际化多语言配置 */ Name?: ILocalizedMessage; /** 身份源图标 URL,建议 64×64 SVG 格式 */ Picture?: string; /** 身份源官方主页地址 */ Homepage?: string; /** 身份源协议类型:OAUTH、OIDC、SAML、CUSTOM、EMAIL */ ProviderType?: string; /** 控制第三方身份源登录时是否自动注册系统用户,'TRUE'、'FALSE'、'UNSPECIFIED' */ AutoSignUpWithProviderUser?: string; /** 身份源启用状态,'TRUE' 或 'FALSE' */ On?: string; /** 身份源描述,支持国际化多语言配置 */ Description?: ILocalizedMessage; /** 是否开启信息透传模式,'TRUE' 或 'FALSE' */ TransparentMode?: string; /** 是否复用第三方身份源用户标识作为平台用户 ID,'TRUE' 或 'FALSE' */ ReuseUserId?: string; /** 邮箱身份源专项配置,仅 ProviderType 为 EMAIL 时有效 */ EmailConfig?: IEmailProviderConfig; /** 是否开启邮箱自动关联登录,'TRUE'、'FALSE'、'UNSPECIFIED' */ AutoSignInWhenEmailMatch?: string; /** 是否开启手机号自动关联登录,'TRUE'、'FALSE'、'UNSPECIFIED',默认为 TRUE */ AutoSignInWhenPhoneNumberMatch?: string; } /** * GetProviders 返回结果 */ interface IGetProvidersRes { /** 唯一请求 ID */ RequestId: string; /** 认证源总数 */ Total?: number; /** 三方认证源列表 */ Data?: IProvider[]; } /** * ModifyProvider 请求参数 */ interface IModifyProviderParams { /** 身份源唯一标识符,2~32 位小写字母和数字 */ Id: string; /** 身份源显示名称,支持国际化 */ Name?: ILocalizedMessage; /** 身份源图标 URL,建议 64×64 SVG */ Picture?: string; /** 身份源官方主页地址 */ Homepage?: string; /** 身份源协议类型:OAUTH、OIDC、SAML、WX_MICRO_APP、WX_QRCODE_MICRO_APP、 * WX_CLOUDBASE_MICRO_APP、WX_MP、WX_OPEN、WX_WORK_INTERNAL、WX_WORK_AGENT、 * WX_WORK_THIRD_PARTY、WX_WORK_THIRD_PARTY_ASSOCIATION、CUSTOM、EMAIL */ ProviderType?: string; /** 身份认证源协议连接配置 */ Config?: IProviderConfig; /** 是否开启透传模式,'TRUE' 或 'FALSE',开启后 ReuseUserId 强制 TRUE,AutoSignUpWithProviderUser 强制 FALSE */ TransparentMode?: string; /** 身份源启用状态,'TRUE'、'FALSE'、'UNSPECIFIED',默认 TRUE */ On?: string; /** 身份源描述,支持国际化 */ Description?: ILocalizedMessage; /** 是否复用第三方用户 ID 作为平台用户 ID,'TRUE'、'FALSE'、'UNSPECIFIED' */ ReuseUserId?: string; /** 控制第三方身份源登录时是否自动注册系统用户,'TRUE'、'FALSE'、'UNSPECIFIED' */ AutoSignUpWithProviderUser?: string; /** 邮箱身份源专项配置,仅 Id 为 email 时有效 */ EmailConfig?: IEmailProviderConfig; /** 是否开启邮箱自动关联登录,'TRUE'、'FALSE'、'UNSPECIFIED',默认 FALSE */ AutoSignInWhenEmailMatch?: string; /** 是否开启手机号自动关联登录,'TRUE'、'FALSE'、'UNSPECIFIED',默认等同 TRUE */ AutoSignInWhenPhoneNumberMatch?: string; } /** * ModifyProvider 返回结果 */ interface IModifyProviderRes { /** 唯一请求 ID */ RequestId: string; } /** * DeleteProvider 返回结果 */ interface IDeleteProviderRes { /** 唯一请求 ID */ RequestId: string; } /** * AddProvider 请求参数 */ interface IAddProviderParams { /** 身份源显示名称,支持国际化,必填 */ Name: ILocalizedMessage; /** 身份源协议类型,必填。可选值:OAUTH、OIDC、SAML、WX_MICRO_APP、WX_QRCODE_MICRO_APP、 * WX_CLOUDBASE_MICRO_APP、WX_MP、WX_OPEN、WX_WORK_INTERNAL、WX_WORK_AGENT、 * WX_WORK_THIRD_PARTY、WX_WORK_THIRD_PARTY_ASSOCIATION、CUSTOM、EMAIL */ ProviderType: string; /** 身份源唯一标识符,2~32 位小写字母和数字,不填则系统自动生成 */ Id?: string; /** 身份源图标 URL,建议 64×64 SVG */ Picture?: string; /** 身份源官方主页地址 */ Homepage?: string; /** 身份认证源协议连接配置 */ Config?: IProviderConfig; /** 是否开启透传模式,'TRUE'、'FALSE'、'UNSPECIFIED',默认 FALSE */ TransparentMode?: string; /** 身份源启用状态,'TRUE'、'FALSE'、'UNSPECIFIED',默认 TRUE */ On?: string; /** 身份源描述,支持国际化 */ Description?: ILocalizedMessage; /** 是否复用第三方用户 ID 作为平台用户 ID,'TRUE'、'FALSE'、'UNSPECIFIED' */ ReuseUserId?: string; /** 是否开启邮箱自动关联登录,'TRUE'、'FALSE'、'UNSPECIFIED',默认 FALSE */ AutoSignInWhenEmailMatch?: string; /** 是否开启手机号自动关联登录,'TRUE'、'FALSE'、'UNSPECIFIED',默认等同 TRUE */ AutoSignInWhenPhoneNumberMatch?: string; } /** * AddProvider 返回结果 */ interface IAddProviderRes { /** 唯一请求 ID */ RequestId: string; } /** * CreateApiKey 请求参数 */ interface ICreateApiKeyParams { /** 密钥类型:api_key、publish_key */ KeyType: 'api_key' | 'publish_key'; /** 密钥自定义名称,建议填写描述性名称,如 server-prod */ KeyName?: string; /** 密钥有效期,单位秒,最短 7200 秒。0 或不设置表示永不过期 */ ExpireIn?: number; } /** * CreateApiKey 返回结果 */ interface ICreateApiKeyRes { /** 唯一请求 ID */ RequestId: string; /** API Key 唯一标识符,用于后续查询、修改、删除操作 */ KeyId: string; /** API Key 名称 */ Name: string; /** API Key 令牌值(JWT 格式),仅在创建时返回完整明文,请妥善保存 */ ApiKey?: string; /** 过期时间,ISO 8601 格式。api_key 未设有效期则不返回,publish_key 固定 2099 年 */ ExpireAt?: string; /** 创建时间,ISO 8601 格式 */ CreateAt?: string; } /** * DeleteApiKey 返回结果 */ interface IDeleteApiKeyRes { /** 唯一请求 ID */ RequestId: string; } /** * API Key 访问凭证信息 * 描述云开发环境下 API Key 的完整信息,包括标识符、名称、令牌值、创建时间和过期时间。 * 支持两种类型:api_key(服务端管理员访问凭证,可设置有效期,单个环境最多 5 个) * 和 publish_key(前端匿名访问凭证,固定有效期,每个环境仅保留一个)。 * 注意:令牌值(ApiKey 字段)仅在创建时返回完整明文,列表查询时将进行脱敏处理。 */ interface IApiKeyToken { /** API Key 的唯一标识符,由系统基于 UUID 自动生成的 Base64 URL 编码字符串 */ KeyId?: string; /** API Key 的名称,创建时传入的 KeyName 参数值。publish_key 类型固定为 publish_key */ Name?: string; /** API Key 的令牌值(JWT 格式),仅在创建时返回完整明文,列表查询时脱敏处理 */ ApiKey?: string | null; /** API Key 的过期时间,ISO 8601 格式。api_key 未设有效期则不返回,publish_key 固定约 2099 年 */ ExpireAt?: string | null; /** API Key 的创建时间,ISO 8601 格式。publish_key 返回首次创建时间 */ CreateAt?: string | null; } /** * DescribeApiKeyList 请求参数 */ interface IDescribeApiKeyListParams { /** 密钥类型过滤:api_key 或 publish_key,默认 api_key */ KeyType?: 'api_key' | 'publish_key'; /** 分页页码,从 1 开始,默认 1 */ PageNumber?: number; /** 每页条数,默认系统值 */ PageSize?: number; } /** * DescribeApiKeyList 返回结果 */ interface IDescribeApiKeyListRes { /** 唯一请求 ID */ RequestId: string; /** API Key 列表 */ Data?: IApiKeyToken[]; /** 总数 */ Total?: number; } export declare class EnvService { private environment; private envId; private cloudService; private tcbService; private envType?; private commonService; private billingService; private certificateCloudService; private tokenCache; constructor(environment: Environment); /** * 列出所有环境 * @returns {Promise} */ listEnvs(): Promise; /** * 拉取安全域名列表 * @returns {Promise} */ getEnvAuthDomains(): Promise; /** * 添加环境安全域名 * @param {string[]} domains 域名字符串数组 * @returns {Promise} */ createEnvDomain(domains: string[]): Promise; /** * 删除环境安全域名 * @param {string[]} domainIds 域名字符串数组 * @returns {Promise} */ deleteEnvDomain(domains: string[]): Promise; /** * 检查tcb服务是否开通 * @returns {Promise} * @memberof CamService */ checkTcbService(): Promise; /** * 初始化TCB * @returns {Promise} * @memberof EnvService */ initTcb(param: IInitParam): Promise; /** * 开通后付费套餐 * @param {string} envId * @param {SOURCE} [source] * @returns {Promise} * @memberof EnvService */ CreatePostpayPackage(envId: string, source?: SOURCE): Promise; /** * 销毁环境 * @param {string} envId * @returns {Promise} * @memberof EnvService */ destroyEnv(envId: string): Promise; /** * 销毁环境(完整传参) */ destroyEnvWithParams(params: DestroyEnvParams): Promise; /** * 获取环境信息 * @returns {Promise} */ getEnvInfo(): Promise<{ EnvInfo: EnvInfo; RequestId: string; }>; /** * 获取环境列表 */ describeEnvs(params: DescribeEnvsParams): Promise<{ RequestId: string; EnvList: EnvInfo[]; Total: number; }>; /** * 查询单个环境信息 * * 用于单个环境查询时,规避 DescribeEnvs 的 backend issues。 * 当 EnvId 参数存在时,应优先使用本方法而非 describeEnvs。 * * @param params 查询参数,必须包含 EnvId * @returns 环境信息响应 */ describeEnvInfo(params: DescribeEnvInfoParams): Promise; /** * 判断当前环境是否为 PostgreSQL 环境 * PostgreSQL 字段为数组且长度 > 0 时视为 PG 环境 * * @returns 是否为 PG 环境 */ isPostgresqlEnv(): Promise; /** * 修改环境名称 * @param {string} alias 环境名称 * @returns {Promise} */ updateEnvInfo(alias: string): Promise; /** * 拉取登录配置列表 * @deprecated 请使用 getLoginConfig 代替 * @returns {Promise} */ getLoginConfigList(): Promise; /** * 拉取登录配置列表 * @deprecated 该方法已废弃,请使用 getLoginConfig 代替 */ getLoginConfigListV2(): Promise; /** * 获取登录策略配置 * 查询指定云开发环境的登录策略配置,包括手机号短信登录、邮箱登录、 * 用户名密码登录和匿名登录方式的开启状态,同时包含短信验证码发送通道、 * MFA 多因子认证和密码的更新策略。 * @returns {Promise} */ getLoginConfig(): Promise; /** * 创建登录方式 * @deprecated 该方法已废弃 * 'WECHAT-OPEN':微信开放平台 * 'WECHAT-PUBLIC':微信公众平台 * @param {('WECHAT-OPEN' | 'WECHAT-PUBLIC')} platform 'WECHAT-OPEN' | 'WECHAT-PUBLIC' * @param {string} appId 微信 appId * @param {string} appSecret 微信 appSecret * @returns {Promise} */ createLoginConfig(platform: 'WECHAT-OPEN' | 'WECHAT-PUBLIC' | 'QQ' | 'ANONYMOUS' | 'USERNAME', appId: string, appSecret?: string): Promise; /** * 更新登录方式配置 * @deprecated 该方法已废弃,请使用 modifyLoginConfig 代替 * @param {string} configId 配置 Id,从配置列表中获取 * @param {string} [status='ENABLE'] 是否启用 'ENABLE', 'DISABLE' ,可选 * @param {string} [appId=''] 微信 appId,可选 * @param {string} [appSecret=''] 微信 appSecret,可选 * @returns {Promise} * @deprecated 请使用 updateLoginConfigV2 代替 */ updateLoginConfig(configId: string, status?: string, appId?: string, appSecret?: string): Promise; /** * 更新登录方式配置 * @deprecated 该方法已废弃,请使用 modifyLoginConfig 代替 * @param {IModifyLoginStrategy} options * @returns {Promise} */ updateLoginConfigV2(options: IModifyLoginStrategy): Promise; /** * 修改登录策略配置 * 修改指定云开发环境的登录策略配置。支持开启或关闭手机号短信登录、邮箱登录、 * 用户名密码登录和匿名登录,同时可配置短信验证码发送通道、MFA 多因子认证和密码更新策略。 * 修改后立即生效,影响该环境下所有终端用户的登录行为。 * @param {IModifyLoginConfigParams} options 修改参数 * @returns {Promise} */ modifyLoginConfig(options: IModifyLoginConfigParams): Promise; /** * 查询应用客户端详情 * 获取指定云开发环境下某个客户端的配置信息,包括 OAuth 凭证、Token 有效期、会话控制策略等。 * 当客户端 ID 等于环境 ID 时,返回该环境的默认客户端配置。 * @param {string} Id 客户端唯一标识符(Client ID),一般使用环境 ID * @returns {Promise} */ describeClient(Id: string): Promise; /** * 修改应用客户端配置 * 采用增量更新策略,仅更新请求中传入的非空字段,未传入的字段保持原值不变。 * 支持修改 Token 有效期、会话控制策略等配置。 * 当客户端 ID 等于环境 ID 且客户端尚未创建时,将自动创建默认客户端配置。 * @param {IModifyClientParams} options 修改参数 * @returns {Promise} */ modifyClient(options: IModifyClientParams): Promise; /** * 获取三方认证源列表 * 查询指定云开发环境下的身份认证源列表,包括第三方登录(OAuth、OIDC、SAML)、 * 微信小程序登录、自定义登录和邮箱登录等。 * 若自定义登录或邮箱登录的身份源尚未创建,接口会自动追加一个默认关闭状态的记录。 * @returns {Promise} */ getProviders(): Promise; /** * 修改身份认证源 * 更新已有身份认证源的配置信息,支持修改基本信息、协议连接配置、登录行为控制及启用状态。 * 采用增量更新策略,仅更新传入的字段,未传入的字段保持原值。 * OIDC 类型修改 Issuer 后将自动通过 Discovery 重新获取端点配置。 * 若 CUSTOM 或 EMAIL 身份源尚不存在,调用时将自动创建。 * @param {IModifyProviderParams} options 修改参数 * @returns {Promise} */ modifyProvider(options: IModifyProviderParams): Promise; /** * 删除第三方认证源 * @param {string} Id 认证源 ID,2~32 位小写英文字母或数字,如 'github' * @returns {Promise} */ deleteProvider(Id: string): Promise; /** * 添加身份认证源 * 在指定云开发环境下创建新的身份认证源,支持 OAuth 2.0、OIDC、SAML 2.0 等标准协议, * 以及自定义登录和邮箱登录等多种认证方式。若身份源 ID 已存在将返回错误。 * 限制:一个环境最大可允许加入 20 个认证源。 * @param {IAddProviderParams} options 添加参数 * @returns {Promise} */ addProvider(options: IAddProviderParams): Promise; /** * 创建 API Key * 在指定云开发环境下创建 API Key 访问凭证。支持两种类型: * - api_key:服务端管理员访问凭证,可设置有效期 * - publish_key:前端匿名访问凭证,固定有效期 * 创建成功后返回 API Key 明文 Token,该值仅在创建时返回一次,请妥善保存。 * @param {ICreateApiKeyParams} options 创建参数 * @returns {Promise} */ createApiKey(options: ICreateApiKeyParams): Promise; /** * 删除 API Key * 删除指定云开发环境下的某个 API Key 服务端访问凭证。 * 删除后该 Key 对应的 Token 将被吊销,已使用该 Key 发起的请求将失败。 * 该操作具有幂等性,若指定的 API Key 不存在则直接返回成功。 * @param {string} KeyId 密钥唯一标识符,可通过查询密钥列表接口获取 * @returns {Promise} */ deleteApiKey(KeyId: string): Promise; /** * 查询 API Key 列表 * 分页查询指定云开发环境下的 API Key 访问凭证列表,支持按类型过滤。 * api_key 类型的令牌值脱敏处理,publish_key 类型返回完整明文。 * @param {IDescribeApiKeyListParams} options 查询参数 * @returns {Promise} */ describeApiKeyList(options?: IDescribeApiKeyListParams): Promise; /** * 根据密钥信息获取管理员访问令牌 * 使用 secretId、secretKey 和 sessionToken 签发访问令牌 * 默认从初始化时的 cloudBaseContext 中读取密钥,也可显式传入 credentials 覆盖 * @param {Object} [credentials] 密钥信息,不传则使用初始化时的密钥 * @param {string} credentials.secretId 密钥ID * @param {string} credentials.secretKey 密钥Key * @param {string} [credentials.token] sessionToken * @returns {Promise} 访问令牌 */ getAdminAccessToken(credentials?: { secretId: string; secretKey: string; token?: string; }): Promise; createCustomLoginKeys(): Promise<{ PrivateKey: string; KeyID: string; RequestId: string; }>; /** * 创建环境订单 */ createBillingDeal(params: CreateBillingDealParams): Promise<{ EnvId: string; TranId: string; RequestId: string; }>; /** * 取消未支付的订单 */ cancelDeal(params: { TranId: string; UserClientIp: string; WxAppId?: string; }): Promise<{ RequestId: string; }>; /** * 删除已取消的订单 */ /** * 创建环境 */ createEnv(params: CreateEnvParams): Promise<{ EnvId: string; RequestId: string; }>; /** * 获取新套餐 */ describeBaasPackageList(params: DescribeBaasPackageListParams): Promise<{ PackageList: BaasPackageInfo[]; RequestId: string; }>; /** * 新购套餐询价 */ calculatePackageCreatePrice(params: CalculatePackageCreatePriceParams): Promise; /** * 续费套餐询价 */ calculatePackageRenewPrice(params: CalculatePackageRenewPriceParams): Promise; /** * 变配套餐询价 */ calculatePackageModifyPrice(params: CalculatePackageModifyPriceParams): Promise; /** * 更新云开发环境套餐 */ modifyEnvPlan(params: ModifyEnvPlanParams): Promise; /** * 获取计费相关信息 */ describeBillingInfo(params: { EnvId?: string; /** 分页条数 */ Limit?: number; /** 分页偏移 */ Offset?: number; }): Promise<{ EnvBillingInfoList: EnvBillingInfoItem[]; /** 环境总数(实测与实际可翻页的条数不一致,不宜直接作为总数展示) */ Total?: number; RequestId: string; }>; /** * 续费云开发环境 */ renewEnv(params: RenewEnvParams): Promise; /** * 查询环境计费周期 */ describeEnvAccountCircle(params: DescribeEnvAccountCircleParams): Promise; /** * 获取资源点用量明细 */ describeCreditsUsageDetail(params: DescribeCreditsUsageDetailParams): Promise<{ Usages: EnvPkgCreditsUsage[]; RequestId: string; }>; /** * 获取当前凭证有权限访问的 SSL 证书列表。 * * 证书用于自定义域名 HTTPS 配置,本接口不依赖 CloudBase 环境信息。 * @param {DescribeCertificatesParams} params 查询参数 * @returns {Promise} */ describeCertificates(params?: DescribeCertificatesParams): Promise; /** * 查询HTTP访问服务域名路由信息 * @param {DescribeHttpServiceRouteParams} params 查询参数 * @returns {Promise} */ describeHttpServiceRoute(params: DescribeHttpServiceRouteParams): Promise; /** * 校验HTTP访问服务域名路由 * 此操作为只读预检,不会创建任何资源。 * @param {VerifyHttpServiceRouteParams} params 校验参数 * @returns {Promise} */ verifyHttpServiceRoute(params: VerifyHttpServiceRouteParams): Promise; /** * 创建HTTP访问服务域名路由 * @param {CreateHttpServiceRouteParams} params 创建参数 * @returns {Promise} */ createHttpServiceRoute(params: CreateHttpServiceRouteParams): Promise; /** * 修改HTTP访问服务域名路由 * @param {ModifyHttpServiceRouteParams} params 修改参数 * @returns {Promise} */ modifyHttpServiceRoute(params: ModifyHttpServiceRouteParams): Promise; /** * 删除HTTP访问服务域名路由 * @param {DeleteHttpServiceRouteParams} params 删除参数 * @returns {Promise} */ deleteHttpServiceRoute(params: DeleteHttpServiceRouteParams): Promise; /** * 清除HTTP访问服务域名缓存 * 支持 CDN 和 EO 两种缓存类型。CDN 仅支持 PURGE_URL 刷新方式;PURGE_PREFIX / PURGE_HOST 仅 EO 支持 * 清除缓存后会生成任务ID,可通过 DescribeHTTPServiceCachePurgeTask 查询任务进度和详细信息 * @param {PurgeHttpServiceCacheParams} params 清除缓存参数 * @returns {Promise} */ purgeHttpServiceCache(params: PurgeHttpServiceCacheParams): Promise; /** * 查询HTTP访问服务域名缓存清除任务详情 * 通过 purgeHttpServiceCache 清除域名缓存后,可传入任务ID查询清除任务状态、时间、缓存类型等信息;也可不传任务ID查询历史任务记录 * @param {DescribeHttpServiceCachePurgeTaskParams} params 查询参数 * @returns {Promise} */ describeHttpServiceCachePurgeTask(params: DescribeHttpServiceCachePurgeTaskParams): Promise; /** * 绑定自定义域名到HTTP访问服务 * 底层调用 CreateHTTPServiceRoute API,专用于域名绑定场景 * @param {BindCustomDomainParams} params 绑定参数 * @returns {Promise} */ bindCustomDomain(params: BindCustomDomainParams): Promise; /** * 删除自定义域名 * 仅当域名下无路由绑定时可删除,否则抛出错误 * @param {DeleteCustomDomainParams} params 删除参数 * @returns {Promise} */ deleteCustomDomain(params: DeleteCustomDomainParams): Promise; private getCOSDomains; private modifyCosCorsDomain; private getCos; private getStorageConfig; private parseBillTags; } export {};