diff options
| author | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
|---|---|---|
| committer | Zhineng Li <im@zhineng.li> | 2026-07-12 17:11:17 +0800 |
| commit | 1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634 (patch) | |
| tree | 5f0857666365b7e40cdaa3733ebe1f3ba9e13c67 /data/zh_cn/apig/2024-03-27 | |
| parent | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (diff) | |
| download | afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.tar.gz afterglow-metadata-full-1c7f908ce09f98fdcbf79ed2a8ae21be60eaa634.zip | |
update APIs 20260712
Diffstat (limited to 'data/zh_cn/apig/2024-03-27')
| -rw-r--r-- | data/zh_cn/apig/2024-03-27/api-docs.php | 31028 |
1 files changed, 13309 insertions, 17719 deletions
diff --git a/data/zh_cn/apig/2024-03-27/api-docs.php b/data/zh_cn/apig/2024-03-27/api-docs.php index 74d53d4..54ec25c 100644 --- a/data/zh_cn/apig/2024-03-27/api-docs.php +++ b/data/zh_cn/apig/2024-03-27/api-docs.php @@ -1,221 +1,103 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'APIG', - 'version' => '2024-03-27', - ], + 'info' => ['style' => 'ROA', 'product' => 'APIG', 'version' => '2024-03-27'], 'directories' => [ [ - 'id' => 194304, - 'title' => 'API管理', + 'children' => ['ExportHttpApi', 'ImportHttpApi', 'DeployHttpApi', 'CreateHttpApi', 'UpdateHttpApi', 'GetHttpApi', 'ListHttpApis', 'UndeployHttpApi', 'DeleteHttpApi'], 'type' => 'directory', - 'children' => [ - 'ExportHttpApi', - 'ImportHttpApi', - 'DeployHttpApi', - 'CreateHttpApi', - 'UpdateHttpApi', - 'GetHttpApi', - 'ListHttpApis', - 'UndeployHttpApi', - 'DeleteHttpApi', - ], + 'title' => 'API管理', + 'id' => 432506, ], [ - 'id' => 197650, - 'title' => '接口管理', + 'children' => ['CreateHttpApiOperation', 'GetHttpApiOperation', 'UpdateHttpApiOperation', 'ListHttpApiOperations', 'DeleteHttpApiOperation'], 'type' => 'directory', - 'children' => [ - 'CreateHttpApiOperation', - 'GetHttpApiOperation', - 'UpdateHttpApiOperation', - 'ListHttpApiOperations', - 'DeleteHttpApiOperation', - ], + 'title' => '接口管理', + 'id' => 432516, ], [ - 'id' => 278728, - 'title' => 'MCP管理', + 'children' => ['CreateMcpServer', 'UpdateMcpServer', 'GetMcpServer', 'ListMcpServers', 'DeleteMcpServer', 'DeployMcpServer', 'UnDeployMcpServer', 'SyncMCPServers'], 'type' => 'directory', - 'children' => [ - 'CreateMcpServer', - 'UpdateMcpServer', - 'GetMcpServer', - 'ListMcpServers', - 'DeleteMcpServer', - 'DeployMcpServer', - 'UnDeployMcpServer', - 'SyncMCPServers', - ], + 'title' => 'MCP管理', + 'id' => 432595, ], [ - 'id' => 199795, - 'title' => '路由管理', + 'children' => ['CreateHttpApiRoute', 'UpdateHttpApiRoute', 'GetHttpApiRoute', 'DeleteHttpApiRoute', 'ListHttpApiRoutes'], 'type' => 'directory', - 'children' => [ - 'CreateHttpApiRoute', - 'UpdateHttpApiRoute', - 'GetHttpApiRoute', - 'DeleteHttpApiRoute', - 'ListHttpApiRoutes', - ], + 'title' => '路由管理', + 'id' => 432529, ], [ - 'id' => 203189, - 'title' => '服务管理', + 'children' => ['CreateServiceVersion', 'UpdateServiceVersion', 'DeleteServiceVersion'], 'type' => 'directory', - 'children' => [ - 'GetService', - 'CreateService', - 'ListServices', - 'UpdateService', - 'DeleteService', - 'CreateServiceVersion', - 'UpdateServiceVersion', - 'DeleteServiceVersion', - 'CreateSource', - 'GetSource', - 'DeleteSource', - ], + 'title' => '服务管理', + 'id' => 432554, ], [ - 'id' => 194166, - 'title' => '网关管理', + 'children' => ['CreateGateway', 'UpdateGatewayName', 'UpdateGatewayFeature', 'UpgradeGateway', 'GetGateway', 'ListGateways', 'AddGatewaySecurityGroupRule', 'DeleteGateway', 'DeleteGatewaySecurityGroupRule', 'ListZones', 'RestartGateway', 'ListGatewayFeatures'], 'type' => 'directory', - 'children' => [ - 'CreateGateway', - 'UpdateGatewayName', - 'UpdateGatewayFeature', - 'UpgradeGateway', - 'GetGateway', - 'ListGateways', - 'AddGatewaySecurityGroupRule', - 'DeleteGateway', - 'DeleteGatewaySecurityGroupRule', - 'ListZones', - 'RestartGateway', - 'ListGatewayFeatures', - ], + 'title' => '网关管理', + 'id' => 432493, ], [ - 'id' => 249179, - 'title' => '消费者管理', + 'children' => ['RemoveConsumerAuthorizationRule', 'QueryConsumerAuthorizationRules', 'CreateConsumerAuthorizationRules', 'BatchDeleteConsumerAuthorizationRule', 'DeleteConsumer', 'ListConsumers', 'DeleteConsumerAuthorizationRule', 'CreateConsumer', 'UpdateConsumer', 'GetConsumer', 'CreateConsumerAuthorizationRule', 'UpdateConsumerAuthorizationRule', 'GetConsumerAuthorizationRule'], 'type' => 'directory', - 'children' => [ - 'RemoveConsumerAuthorizationRule', - 'QueryConsumerAuthorizationRules', - 'CreateConsumerAuthorizationRules', - 'BatchDeleteConsumerAuthorizationRule', - 'DeleteConsumer', - 'ListConsumers', - 'DeleteConsumerAuthorizationRule', - 'CreateConsumer', - 'UpdateConsumer', - 'GetConsumer', - 'CreateConsumerAuthorizationRule', - 'UpdateConsumerAuthorizationRule', - 'GetConsumerAuthorizationRule', - ], + 'title' => '消费者管理', + 'id' => 432581, ], [ - 'id' => 202847, - 'title' => '策略管理', + 'children' => ['ListPolicyClasses', 'UpdatePolicy', 'CreatePolicyAttachment', 'GetPolicyAttachment', 'DeletePolicyAttachment'], 'type' => 'directory', - 'children' => [ - 'ListPolicies', - 'ListPolicyClasses', - 'CreatePolicy', - 'GetPolicy', - 'UpdatePolicy', - 'DeletePolicy', - 'CreatePolicyAttachment', - 'GetPolicyAttachment', - 'DeletePolicyAttachment', - ], + 'title' => '策略管理', + 'id' => 432544, ], [ - 'id' => 206755, - 'title' => '插件管理', + 'children' => ['ListPlugins', 'CreatePluginAttachment', 'GetPluginAttachment', 'ListPluginAttachments', 'UpdatePluginAttachment', 'DeletePluginAttachment', 'InstallPlugin', 'UninstallPlugin'], 'type' => 'directory', - 'children' => [ - 'ListPlugins', - 'CreatePluginAttachment', - 'GetPluginAttachment', - 'ListPluginAttachments', - 'UpdatePluginAttachment', - 'DeletePluginAttachment', - 'InstallPlugin', - 'UninstallPlugin', - ], + 'title' => '插件管理', + 'id' => 432572, ], [ - 'id' => 199044, - 'title' => '域名管理', + 'children' => ['ListSslCerts', 'GetDomain', 'CreateDomain', 'ListDomains', 'DeleteDomain', 'UpdateDomain'], 'type' => 'directory', - 'children' => [ - 'ListSslCerts', - 'GetDomain', - 'CreateDomain', - 'ListDomains', - 'DeleteDomain', - 'UpdateDomain', - ], + 'title' => '域名管理', + 'id' => 432522, ], [ - 'id' => 204225, - 'title' => '监控管理', + 'children' => ['GetTraceConfig', 'GetDashboard'], 'type' => 'directory', - 'children' => [ - 'GetTraceConfig', - 'GetDashboard', - ], + 'title' => '监控管理', + 'id' => 432566, ], [ - 'id' => 204226, - 'title' => '资源管理', + 'children' => ['GetResourceOverview'], 'type' => 'directory', - 'children' => [ - 'ChangeResourceGroup', - 'GetResourceOverview', - ], + 'title' => '资源管理', + 'id' => 432569, ], [ - 'id' => 201876, - 'title' => '历史接口', - 'type' => 'directory', 'children' => [ 'CreateAndAttachPolicy', 'UpdateAndAttachPolicy', [ - 'id' => 199043, - 'title' => '环境管理', + 'children' => ['GetEnvironment'], 'type' => 'directory', - 'children' => [ - 'CreateEnvironment', - 'GetEnvironment', - 'UpdateEnvironment', - 'DeleteEnvironment', - 'ListEnvironments', - ], + 'title' => '环境管理', + 'id' => 432536, ], ], + 'type' => 'directory', + 'title' => '历史接口', + 'id' => 432535, ], [ - 'id' => 372396, - 'title' => '其他', - 'type' => 'directory', 'children' => [ - 'ListPluginClasses', - 'ListConsumerAuthorizationRules', - 'GetSecretValue', - 'DeleteSecret', - 'ListSecretReferences', - 'UpdateSecret', - 'GetSecret', - 'CreateSecret', - 'ListSecrets', + 'ListPluginClasses', 'ListConsumerAuthorizationRules', 'ListSecretReferences', 'UpdateSecret', 'GetSecret', 'AddGatewayQuotaRule', 'ChangeResourceGroup', 'CreateAiModelProvider', 'CreateEnvironment', 'CreatePluginClass', 'CreatePolicy', 'CreateSecret', 'CreateService', 'CreateSource', 'DeleteEnvironment', 'DeleteGatewayQuotaRule', 'DeletePluginClass', 'DeletePolicy', 'DeleteSecret', 'DeleteService', + 'DeleteSource', 'DescribeRegions', 'GetGatewayQuotaRule', 'GetGatewayQuotaRuleSubjectUsage', 'GetPluginClass', 'GetPolicy', 'GetSecretValue', 'GetService', 'GetSource', 'ListConsumerQuotaRules', 'ListEnvironments', 'ListExternalServices', 'ListGatewayQuotaRules', 'ListPolicies', 'ListSecrets', 'ListServices', 'ListTagResources', 'ResetGatewayQuotaRule', 'TagResources', 'UntagResources', + 'UpdateEnvironment', 'UpdateGatewayQuotaRule', 'UpdateGatewayQuotaRuleStatus', 'UpdateService', ], + 'type' => 'directory', + 'title' => '其他', + 'id' => 432604, ], ], 'components' => [ @@ -225,13 +107,7 @@ 'description' => 'Agent服务配置', 'type' => 'object', 'properties' => [ - 'address' => [ - 'title' => '地址', - 'description' => '地址', - 'type' => 'string', - 'required' => true, - 'example' => 'https://dashscope.aliyuncs.com/api/v1', - ], + 'address' => ['title' => '地址', 'description' => '地址', 'type' => 'string', 'required' => true, 'example' => 'https://dashscope.aliyuncs.com/api/v1'], 'dashScopeConfig' => [ 'title' => '百炼服务配置', 'description' => '百炼服务配置', @@ -245,18 +121,8 @@ 'description' => '参数', 'type' => 'object', 'properties' => [ - 'apiKey' => [ - 'title' => 'apiKey', - 'description' => 'apiKey', - 'type' => 'string', - 'example' => 'sk-xxx', - ], - 'appId' => [ - 'title' => '应用ID', - 'description' => '应用ID', - 'type' => 'string', - 'example' => 'app-xxx', - ], + 'apiKey' => ['title' => 'apiKey', 'description' => 'apiKey', 'type' => 'string', 'example' => 'sk-xxx'], + 'appId' => ['title' => '应用ID', 'description' => '应用ID', 'type' => 'string', 'example' => 'app-xxx'], ], ], ], @@ -266,63 +132,34 @@ 'title' => '启用健康检查', 'description' => '启用健康检查', 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'example' => 'true', ], - 'provider' => [ - 'title' => '服务供应商', - 'description' => '服务供应商', - 'type' => 'string', - 'required' => true, - 'example' => 'qwen', - ], + 'provider' => ['title' => '服务供应商', 'description' => '服务供应商', 'type' => 'string', 'required' => true, 'example' => 'qwen'], 'difyConfig' => [ 'title' => 'Dify服务配置', 'description' => 'Dify服务配置', 'type' => 'object', 'properties' => [ - 'botType' => [ - 'title' => '交互类型', - 'description' => '交互类型', - 'type' => 'string', - 'example' => 'chatbot', - ], - 'apiKey' => [ - 'title' => 'apiKey', - 'description' => 'API Key', - 'type' => 'string', - 'example' => 'app-xxx', - ], + 'botType' => ['title' => '交互类型', 'description' => '交互类型', 'type' => 'string', 'example' => 'chatbot'], + 'apiKey' => ['title' => 'apiKey', 'description' => 'API Key', 'type' => 'string', 'example' => 'app-xxx'], ], ], 'enableOutlierDetection' => [ 'description' => '是否启用异常检测', 'type' => 'boolean', - 'enumValueTitles' => [ - 'true' => 'true', - 'false' => 'false', - ], + 'enumValueTitles' => ['true' => 'true', 'false' => 'false'], 'example' => 'true', ], 'customConfig' => [ 'description' => '自定义配置', 'type' => 'object', 'properties' => [ - 'apiKey' => [ - 'description' => 'API密钥', - 'type' => 'string', - 'example' => 'app-xxx'."\n", - ], + 'apiKey' => ['description' => 'API密钥', 'type' => 'string', 'example' => 'app-xxx'."\n"], 'apiKeyGenerateMode' => [ 'description' => '密钥生成模式', 'type' => 'string', - 'enumValueTitles' => [ - 'Reference' => 'Reference', - 'Custom' => 'Custom', - ], + 'enumValueTitles' => ['Reference' => 'Reference', 'Custom' => 'Custom'], 'example' => 'Reference', ], ], @@ -331,181 +168,458 @@ 'title' => '协议', 'description' => '通信协议列表', 'type' => 'array', - 'items' => [ - 'description' => '协议', - 'type' => 'string', - 'example' => 'DashScope', - ], + 'items' => ['description' => '协议', 'type' => 'string', 'example' => 'DashScope'], 'required' => false, ], ], ], - 'AiServiceConfig' => [ - 'title' => 'A short description of struct', - 'description' => '结构体描述', + 'AiCacheConfig' => [ + 'description' => 'object', 'type' => 'object', 'properties' => [ - 'provider' => [ - 'title' => '大模型提供商', - 'description' => '大模型提供商', - 'type' => 'string', - 'example' => 'qwen', + 'cacheTTL' => ['description' => '缓存过期时间(秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '3600'], + 'redisConfig' => ['description' => 'Redis 配置(精确缓存计数存储)。', '$ref' => '#/components/schemas/AiPolicyRedisConfig'], + 'vectorConfig' => [ + 'description' => '向量数据库配置', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => '向量数据库类型', 'type' => 'string', 'example' => 'dashvector'], + 'serviceHost' => ['description' => '向量数据库服务地址', 'type' => 'string', 'example' => 'vdb-xxx.dashvector.aliyuncs.com'], + 'apiKey' => ['description' => '向量数据库 API Key', 'type' => 'string', 'example' => 'sk-xxx'], + 'timeout' => ['description' => '请求超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + 'collectionId' => ['description' => '向量集合 ID', 'type' => 'string', 'example' => 'col-xxx'], + 'threshold' => ['description' => '相似度阈值', 'type' => 'number', 'format' => 'float', 'example' => '0.95'], + ], ], - 'address' => [ - 'title' => '服务地址', - 'description' => '服务地址', - 'type' => 'string', - 'example' => 'https://dashscope.aliyun.com', + 'embeddingConfig' => [ + 'description' => 'Embedding 服务配置', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'Embedding 服务类型', 'type' => 'string', 'example' => 'dashscope'], + 'serviceId' => ['description' => 'Embedding 服务 ID', 'type' => 'string', 'example' => 'svc-xxx'], + 'timeout' => ['description' => '请求超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + 'modelName' => ['description' => 'Embedding 模型名称', 'type' => 'string', 'example' => 'text-embedding-v2'], + ], ], - 'enableHealthCheck' => [ - 'title' => '是否启用健康检查', - 'description' => '是否启用健康检查', - 'type' => 'boolean', - 'example' => 'true', + 'cacheKeyStrategy' => ['description' => '缓存键生成策略', 'type' => 'string', 'example' => '-'], + 'cacheMode' => ['description' => '缓存模式', 'type' => 'string', 'example' => 'exact'], + 'pluginStatus' => ['description' => '插件运行状态', '$ref' => '#/components/schemas/AiPluginStatus'], + ], + ], + 'AiFallbackConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'onlyRedirectUpstreamCode' => ['description' => '为 true 时仅当后端返回 4xx/5xx 才触发 fallback;网关自身产生的状态码(如 503 连接失败)不触发。需要引擎版本 2.1.11+,版本不足时静默忽略', 'type' => 'boolean', 'example' => 'true'], + 'serviceConfigs' => [ + 'description' => 'Fallback 目标服务列表,不包含主路由服务。', + 'type' => 'array', + 'items' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'serviceId' => ['description' => 'Fallback 目标服务 ID', 'type' => 'string', 'example' => 'svc-bbb'], + 'name' => ['description' => '服务名称。', 'type' => 'string', 'example' => '—'], + 'targetModelName' => ['description' => 'Fallback 目标模型名称。', 'type' => 'string', 'example' => 'qwen-max'], + 'passThroughModelName' => ['description' => '是否透传原始请求中的模型名称。', 'type' => 'boolean', 'example' => 'false'], + ], + ], ], - 'paiEASServiceConfig' => [ - 'title' => 'PAI-EAS服务专属配置', - 'description' => 'PAI-EAS服务专属配置', + ], + ], + 'AiNetworkConfigSearchEngine' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => '搜索引擎类型', 'type' => 'string', 'example' => 'aliyunQuark'], + 'apiKey' => ['description' => '搜索引擎 API Key', 'type' => 'string', 'example' => 'sk-xxx'], + 'count' => ['description' => '单次搜索返回结果数量', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'start' => ['description' => '搜索结果偏移量', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'timeoutMillisecond' => ['description' => 'API 调用超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + 'optionArgs' => [ + 'description' => '搜索引擎特定参数(键值对格式)', + 'type' => 'object', + 'additionalProperties' => ['description' => '搜索引擎特定参数(键值对格式)', 'type' => 'string', 'example' => '{"market":"zh-CN"}'], + ], + 'endpoint' => ['description' => '搜索引擎接入点地址', 'type' => 'string', 'example' => 'https://cloud-iqs.aliyuncs.com'], + 'contentMode' => ['description' => 'Quark 专用:内容模式。', 'type' => 'string', 'example' => 'summary'], + 'industry' => ['description' => 'Quark 专用:行业筛选', 'type' => 'string', 'example' => '互联网'], + 'timeRange' => ['description' => 'Quark 专用:时间范围筛选', 'type' => 'string', 'example' => '7d'], + ], + ], + 'AiNetworkSearchConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'needReference' => ['description' => '是否在回答中添加引用来源', 'type' => 'boolean', 'example' => 'true'], + 'referenceFormat' => ['description' => '引用内容格式模板,必须包含至少一个 %s 占位符', 'type' => 'string', 'example' => '参考来源:\\n%s'], + 'referenceLocation' => ['description' => '引用位置', 'type' => 'string', 'example' => 'head'], + 'defaultLang' => ['description' => '默认搜索语言代码', 'type' => 'string', 'example' => 'zh-CN'], + 'defaultEnable' => ['description' => '插件功能默认是否开启', 'type' => 'boolean', 'example' => 'true'], + 'searchFrom' => [ + 'description' => '搜索引擎列表(多引擎配置)', + 'type' => 'array', + 'items' => ['description' => '搜索引擎列表', '$ref' => '#/components/schemas/AiNetworkConfigSearchEngine'], + ], + 'searchEngineConfig' => ['description' => '搜索引擎配置', '$ref' => '#/components/schemas/AiNetworkConfigSearchEngine'], + 'searchRewrite' => [ + 'description' => '搜索词改写配置', 'type' => 'object', 'properties' => [ - 'workspaceId' => [ - 'title' => '工作空间ID', - 'description' => '工作空间ID', - 'type' => 'string', - 'example' => 'cb89d4de30042df4459442589664e00d', + 'enable' => ['description' => '是否启用搜索词改写', 'type' => 'boolean', 'example' => 'true'], + 'serviceId' => ['description' => '改写服务 ID', 'type' => 'string', 'example' => 'svc-xxx'], + 'modelName' => ['description' => '改写使用的模型名称', 'type' => 'string', 'example' => 'qwen-max'], + 'timeoutMillisecond' => ['description' => '改写请求超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + 'maxCount' => ['description' => '改写后的最大搜索词数量', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + ], + ], + 'pluginStatus' => ['description' => '插件运行状态', '$ref' => '#/components/schemas/AiPluginStatus'], + ], + ], + 'AiPluginStatus' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'serviceHealthy' => ['description' => '插件依赖的后端服务是否健康', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件实例 ID', 'type' => 'string', 'example' => 'pi-xxx'], + 'errorLogs' => [ + 'description' => '插件运行错误日志列表,每项为 map[string]any 键值对', + 'type' => 'array', + 'items' => [ + 'description' => 'map', + 'type' => 'object', + 'additionalProperties' => ['description' => 'value', 'type' => 'any', 'example' => '[{"timestamp":"2026-06-29T10:00:00Z","message":"redis connection timeout"}]'], + ], + ], + ], + ], + 'AiPolicyRedisConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'host' => ['description' => 'Redis 主机地址', 'type' => 'string', 'example' => 'r-xxx.redis.rds.aliyuncs.com'], + 'port' => ['description' => 'Redis 端口', 'type' => 'integer', 'format' => 'int32', 'example' => '6379'], + 'username' => ['description' => 'Redis 用户名', 'type' => 'string', 'example' => 'user'], + 'password' => ['description' => 'Redis 密码', 'type' => 'string', 'example' => 'pass'], + 'timeout' => ['description' => '超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + 'databaseNumber' => ['description' => 'Redis 数据库编号', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + ], + ], + 'AiSecurityGuardConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'serviceAddress' => ['description' => '安全护栏服务地址(green-cip endpoint)。网关与安全护栏同 region 时使用 VPC 内网地址', 'type' => 'string', 'example' => 'https://green-cip-vpc.cn-shanghai.aliyuncs.com'], + 'checkRequest' => ['description' => '是否检查请求内容', 'type' => 'boolean', 'example' => 'true'], + 'checkResponse' => ['description' => '是否检查响应内容', 'type' => 'boolean', 'example' => 'true'], + 'checkRequestImage' => ['description' => '是否检查请求图片', 'type' => 'boolean', 'example' => 'false'], + 'checkResponseImage' => ['description' => '是否检查响应图片', 'type' => 'boolean', 'example' => 'false'], + 'requestCheckService' => ['description' => '请求文本检测服务 ServiceCode(系统注入默认值)', 'type' => 'string', 'example' => 'query_security_check'], + 'responseCheckService' => ['description' => '响应文本检测服务 ServiceCode(系统注入默认值)', 'type' => 'string', 'example' => 'response_security_check'], + 'requestImageCheckService' => ['description' => '请求图片检测服务 ServiceCode(系统注入默认值)', 'type' => 'string', 'example' => 'img_query_guard'], + 'responseImageCheckService' => ['description' => '响应图片检测服务 ServiceCode(系统注入默认值)', 'type' => 'string', 'example' => 'img_response_guard'], + 'riskAlertLevel' => ['description' => '全局风险告警等级', 'type' => 'string', 'example' => 'high'], + 'bufferLimit' => ['description' => '响应缓冲区大小(KB),默认 1000,范围 [1, 1500]', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + 'pluginStatus' => ['description' => '插件运行状态', '$ref' => '#/components/schemas/AiPluginStatus'], + 'consumerRiskLevel' => [ + 'description' => '消费者级风险等级配置', + 'type' => 'array', + 'items' => [ + 'description' => '消费者级风险等级配置', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '消费者名称', 'type' => 'string', 'example' => 'consumer-a'], + 'matchType' => ['description' => '消费者匹配方式', 'type' => 'string', 'example' => 'exact'], + 'type' => ['description' => '风险维度类型', 'type' => 'string', 'example' => 'ContentModeration'], + 'level' => ['description' => '风险等级', 'type' => 'string', 'example' => 'high'], ], - 'serviceId' => [ - 'title' => '服务ID', - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'svc-cvaeb0um1hkqp79k72v0', + ], + ], + 'consumerRequestCheckService' => [ + 'description' => '消费者级请求检测服务配置', + 'type' => 'array', + 'items' => [ + 'description' => '消费者级请求检测服务配置', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '消费者名称', 'type' => 'string', 'example' => 'consumer-a'], + 'requestCheckService' => ['description' => '检测服务', 'type' => 'string', 'example' => 'query_security_check'], + 'requestImageCheckService' => ['description' => '图片检测服务', 'type' => 'string', 'example' => 'img_query_guard'], + 'matchType' => ['description' => '消费者匹配方式', 'type' => 'string', 'example' => 'exact'], + 'modalityType' => ['description' => '模态类型', 'type' => 'string', 'example' => 'Text'], ], - 'serviceName' => [ - 'title' => '服务名称', - 'description' => '服务名称', - 'type' => 'string', - 'example' => 'auto-ai-service', + ], + ], + 'consumerResponseCheckService' => [ + 'description' => '消费者级响应检测服务配置', + 'type' => 'array', + 'items' => [ + 'description' => '消费者级响应检测服务配置', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '消费者名称', 'type' => 'string', 'example' => 'consumer-a'."\n"], + 'responseCheckService' => ['description' => '检测服务', 'type' => 'string', 'example' => 'query_security_check'], + 'responseImageCheckService' => ['description' => '图片检测服务', 'type' => 'string', 'example' => 'img_query_guard'."\n"], + 'matchType' => ['description' => '消费者匹配方式', 'type' => 'string', 'example' => 'exact'], + 'modalityType' => ['description' => '模态类型', 'type' => 'string', 'example' => 'Text'], ], - 'endpointType' => [ - 'title' => '连接类型:私网(vpc)/公网(public)', - 'description' => '连接类型:私网(vpc)/公网(public)', - 'type' => 'string', - 'example' => '"public","private"', + ], + ], + 'riskConfig' => [ + 'description' => '风险维度配置列表(系统注入,由 ConsumerRiskLevel 归一化生成)', + 'type' => 'array', + 'items' => [ + 'description' => '风险维度配置列表(系统注入,由 ConsumerRiskLevel 归一化生成)', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => '风险维度类型', 'type' => 'string', 'example' => 'ContentModeration'], + 'level' => ['description' => '风险等级', 'type' => 'string', 'example' => 'high'], + 'consumerRules' => [ + 'description' => '消费者级匹配规则', + 'type' => 'object', + 'properties' => [ + 'pattern' => ['description' => '消费者匹配模式值', 'type' => 'string', 'example' => 'consumer-a'], + 'matchType' => ['description' => '匹配方式', 'type' => 'string', 'example' => 'Exact'], + ], + ], ], ], ], + ], + ], + 'AiServiceConfig' => [ + 'title' => 'A short description of struct', + 'description' => '结构体描述', + 'type' => 'object', + 'properties' => [ + 'provider' => ['title' => '大模型提供商', 'description' => '大模型提供商', 'type' => 'string', 'example' => 'qwen'."\n" + .'moonshot'."\n" + .'baichuan'."\n" + .'yi'."\n" + .'zhipuai'."\n" + .'360ai'."\n" + .'hunyuan'."\n" + .'stepfun'."\n" + .'spark'."\n" + .'openai'."\n" + .'claude'."\n" + .'anthropic'."\n" + .'doubao'."\n" + .'minimax'."\n" + .'gemini'."\n" + .'azure'."\n" + .'deepseek'."\n" + .'custom'."\n" + .'pai-eas'."\n" + .'bedrock'."\n" + .'vertex'], + 'address' => ['title' => '服务地址', 'description' => '服务地址', 'type' => 'string', 'example' => 'https://dashscope.aliyun.com'], + 'enableHealthCheck' => ['title' => '是否启用健康检查', 'description' => '是否启用健康检查', 'type' => 'boolean', 'example' => 'true'], + 'paiEASServiceConfig' => [ + 'title' => 'PAI-EAS服务专属配置', + 'description' => 'PAI-EAS服务专属配置', + 'type' => 'object', + 'properties' => [ + 'workspaceId' => ['title' => '工作空间ID', 'description' => '工作空间ID', 'type' => 'string', 'example' => 'cb89d4de30042df4459442589664e00d'], + 'serviceId' => ['title' => '服务ID', 'description' => '服务ID', 'type' => 'string', 'example' => 'svc-cvaeb0um1hkqp79k72v0'], + 'serviceName' => ['title' => '服务名称', 'description' => '服务名称', 'type' => 'string', 'example' => 'auto-ai-service'], + 'endpointType' => ['title' => '连接类型:私网(vpc)/公网(public)', 'description' => '连接类型:私网(vpc)/公网(public)', 'type' => 'string', 'example' => '"public","private"'], + ], + ], 'bedrockServiceConfig' => [ 'title' => 'Bedrock服务专属配置', 'description' => 'Bedrock服务专属配置', 'type' => 'object', 'properties' => [ - 'awsRegion' => [ - 'title' => 'AWS-Region', - 'description' => 'AWS区域', - 'type' => 'string', - 'example' => 'us-east-1', - ], - 'awsAccessKey' => [ - 'title' => 'AWS-AccessKey', - 'description' => 'AWS访问密钥', - 'type' => 'string', - 'example' => 'AKIAIOSFODNN7EXAMPLE', - ], - 'awsSecretKey' => [ - 'title' => 'AWS-SecretKey', - 'description' => 'AWS密钥', - 'type' => 'string', - 'example' => 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY', - ], + 'awsRegion' => ['title' => 'AWS-Region', 'description' => 'AWS区域', 'type' => 'string', 'example' => 'us-east-1'], + 'awsAccessKey' => ['title' => 'AWS-AccessKey', 'description' => 'AWS访问密钥', 'type' => 'string', 'example' => 'AKIAIOSFODNN7EXAMPLE'], + 'awsSecretKey' => ['title' => 'AWS-SecretKey', 'description' => 'AWS密钥', 'type' => 'string', 'example' => 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY'], ], ], - 'ApiKeyGenerateMode' => [ - 'description' => 'API 密钥的生成模式', - 'type' => 'string', - 'example' => 'Custom', - ], - 'defaultModelName' => [ - 'description' => '默认使用的模型名称', - 'type' => 'string', - 'example' => 'gpt-4', - ], - 'enableOutlierDetection' => [ - 'description' => '是否启用异常值检测功能', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ApiKeyGenerateMode' => ['description' => 'API 密钥的生成模式', 'type' => 'string', 'example' => 'Custom'], + 'defaultModelName' => ['description' => '默认使用的模型名称', 'type' => 'string', 'example' => 'gpt-4'], + 'enableOutlierDetection' => ['description' => '是否启用异常值检测功能', 'type' => 'boolean', 'example' => 'true'], 'vertexServiceConfig' => [ 'description' => 'Vertex AI 服务的配置信息', 'type' => 'object', 'properties' => [ - 'vertexAuthKey' => [ - 'description' => 'Vertex AI 的认证密钥', - 'type' => 'string', - 'example' => '{\\"type\\":\\"service_account\\",\\"project_id\\":\\"my-project\\",\\"private_key\\":\\"-----BEGIN PRIVATE KEY-----...\\",\\"client_email\\":\\"xxx@xxx.iam.gserviceaccount.com\\",\\"token_uri\\":\\"https://oauth2.googleapis.com/token\\"}', - ], - 'vertexRegion' => [ - 'description' => 'Vertex AI 服务所在的 Google Cloud 区域', - 'type' => 'string', - 'example' => 'us-central1', - ], - 'vertexProjectId' => [ - 'description' => 'Google Cloud 项目 ID', - 'type' => 'string', - 'example' => 'my-project', - ], - 'vertexAuthServiceName' => [ - 'description' => 'Vertex AI 使用的认证服务名称', - 'type' => 'string', - 'example' => 'google-oauth2', - ], + 'vertexAuthKey' => ['description' => 'Vertex AI 的认证密钥', 'type' => 'string', 'example' => '{\\"type\\":\\"service_account\\",\\"project_id\\":\\"my-project\\",\\"private_key\\":\\"-----BEGIN PRIVATE KEY-----...\\",\\"client_email\\":\\"xxx@xxx.iam.gserviceaccount.com\\",\\"token_uri\\":\\"https://oauth2.googleapis.com/token\\"}'], + 'vertexRegion' => ['description' => 'Vertex AI 服务所在的 Google Cloud 区域', 'type' => 'string', 'example' => 'us-central1'], + 'vertexProjectId' => ['description' => 'Google Cloud 项目 ID', 'type' => 'string', 'example' => 'my-project'], + 'vertexAuthServiceName' => ['description' => 'Vertex AI 使用的认证服务名称', 'type' => 'string', 'example' => 'google-oauth2'], 'geminiSafetySetting' => [ 'description' => 'Gemini 模型的安全过滤级别设置', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '{"BLOCK_NONE": "true"}', - ], - ], - 'vertexTokenRefreshAhead' => [ - 'description' => '在访问令牌过期前多少秒提前刷新', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', + 'additionalProperties' => ['description' => '参数', 'type' => 'string', 'example' => '{"BLOCK_NONE": "true"}'], ], + 'vertexTokenRefreshAhead' => ['description' => '在访问令牌过期前多少秒提前刷新', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], ], ], 'protocols' => [ 'title' => '模型协议列表', 'description' => '模型协议列表', 'type' => 'array', - 'items' => [ - 'description' => '协议。', - 'type' => 'string', - 'example' => 'OpenAI/v1', - ], + 'items' => ['description' => '协议。', 'type' => 'string', 'example' => 'OpenAI/v1'], ], 'apiKeys' => [ 'title' => 'apiKey列表', 'description' => 'apiKey列表', 'type' => 'array', - 'items' => [ - 'description' => 'apiKey', - 'type' => 'string', - 'example' => 'sk-xxx', - ], + 'items' => ['description' => 'apiKey', 'type' => 'string', 'example' => 'sk-xxx'], ], 'compatibleProtocols' => [ 'description' => '服务支持的兼容协议列表', 'type' => 'array', + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '"openai", "anthropic"'], + ], + ], + ], + 'AiStatisticsConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'logRequestContent' => ['description' => '是否记录请求内容(控制 question 相关 attributes 是否生成)', 'type' => 'boolean', 'example' => 'true'], + 'logResponseContent' => ['description' => '是否记录响应内容(控制 answer 相关 attributes 是否生成)', 'type' => 'boolean', 'example' => 'true'], + 'pathFieldConfigs' => [ + 'description' => '自定义字段采集配置列表,按 API 路径维度配置', + 'type' => 'array', 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '"openai", "anthropic"', + 'description' => '自定义字段', + 'type' => 'object', + 'properties' => [ + 'path' => ['description' => 'API 路径', 'type' => 'string', 'example' => '/v1/chat/completions'], + 'fieldPaths' => [ + 'description' => '字段采集配置', + 'type' => 'object', + 'additionalProperties' => ['description' => '字段采集配置', '$ref' => '#/components/schemas/AiStatisticsPathField'], + ], + ], ], ], ], ], + 'AiStatisticsPathField' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'fieldKey' => ['title' => '日志key', 'description' => '日志key', 'type' => 'string', 'example' => 'question'], + 'jsonPath' => ['title' => '对应jsonPath(gjson语法)', 'description' => '对应jsonPath(gjson语法)', 'type' => 'string', 'example' => 'messages.#.content'], + 'rule' => ['title' => '用于流式响应提取。append/first/replace三种,append代表追加内容,first代表取第一个,replace代表取最后一个', 'description' => '用于流式响应提取。append/first/replace三种,append代表追加内容,first代表取第一个,replace代表取最后一个', 'type' => 'string', 'example' => 'append'], + 'name' => ['description' => '字段显示名称', 'type' => 'string', 'example' => '问题内容'], + 'description' => ['description' => '字段描述', 'type' => 'string', 'example' => '用户输入的问题内容'], + 'source' => ['description' => '数据来源', 'type' => 'string', 'example' => 'request_body'], + 'category' => ['description' => '二级分类', 'type' => 'string', 'example' => 'conversation'], + 'io' => ['description' => '请求/响应方向', 'type' => 'string', 'example' => 'request'], + 'sensitive' => ['description' => '是否敏感字段', 'type' => 'boolean', 'example' => 'false'], + 'recordEnabled' => ['description' => '是否启用采集', 'type' => 'boolean', 'example' => 'true'], + ], + ], + 'AiTokenRateLimitConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'redisConfig' => ['description' => 'Redis 配置', '$ref' => '#/components/schemas/AiPolicyRedisConfig'], + 'pluginStatus' => ['description' => '插件运行状态', '$ref' => '#/components/schemas/AiPluginStatus'], + 'rules' => [ + 'description' => '限流规则列表', + 'type' => 'array', + 'items' => ['description' => '限流规则列表', '$ref' => '#/components/schemas/AiTokenRateLimitConfigRule'], + ], + 'globalRules' => [ + 'description' => '全局限流规则列表,仅允许 LimitByGlobal 类型。', + 'type' => 'array', + 'items' => ['description' => '全局限流规则列表,仅允许 LimitByGlobal 类型。', '$ref' => '#/components/schemas/AiTokenRateLimitConfigRule'], + ], + 'enableGlobalRules' => ['description' => '是否开启全局(API 级)限流规则,默认 false', 'type' => 'boolean', 'example' => 'true'], + ], + ], + 'AiTokenRateLimitConfigRule' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'limitType' => ['description' => '限流类型', 'type' => 'string', 'example' => 'Consumer'], + 'matchKey' => ['description' => '匹配键名', 'type' => 'string', 'example' => 'X-API-Key'], + 'matchType' => ['description' => '匹配方式', 'type' => 'string', 'example' => 'Exact'], + 'matchValue' => ['description' => '匹配值', 'type' => 'string', 'example' => 'consumer-a'], + 'limitMode' => ['description' => '限流模式', 'type' => 'string', 'example' => 'TokenPerMinute'], + 'limitValue' => ['description' => '限流值', 'type' => 'integer', 'format' => 'int32', 'example' => '1000'], + ], + ], + 'AiToolSelectionConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'enableConditions' => [ + 'description' => '启用条件配置,控制整体功能何时触发', + 'type' => 'object', + 'properties' => [ + 'toolCountThreshold' => ['description' => '工具数量阈值', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + ], + ], + 'toolReranking' => [ + 'description' => '工具精排配置,使用模型对候选工具排序筛选', + 'type' => 'object', + 'properties' => [ + 'modelService' => [ + 'description' => '精排模型服务配置', + 'type' => 'object', + 'properties' => [ + 'serviceId' => ['description' => '模型服务 ID', 'type' => 'string', 'example' => 'svc-xxx'."\n"], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'gte-rerank-v2'], + 'timeoutMillisecond' => ['description' => '请求超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + ], + ], + 'filteringMethod' => ['description' => '过滤方法', 'type' => 'string', 'example' => 'topN'], + 'topKPercent' => ['description' => '保留百分比', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'topNCount' => ['description' => '保留数量', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'scoreThreshold' => ['description' => '分数阈值', 'type' => 'number', 'format' => 'float', 'example' => '0.5'], + 'fallbackStrategy' => ['description' => '失败回退策略', 'type' => 'string', 'example' => 'skip'], + ], + ], + 'queryRewriting' => [ + 'description' => '查询改写配置,在工具精排前改写用户查询以提升匹配精度', + 'type' => 'object', + 'properties' => [ + 'enabled' => ['description' => '是否启用查询改写', 'type' => 'boolean', 'example' => 'true'], + 'modelService' => [ + 'description' => '改写模型服务配置', + 'type' => 'object', + 'properties' => [ + 'serviceId' => ['description' => '模型服务 ID', 'type' => 'string', 'example' => 'svc-xxx'], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'gte-rerank-v2'], + 'timeoutMillisecond' => ['description' => '请求超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], + ], + ], + 'promptConfig' => [ + 'description' => '提示词配置', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => '提示词类型', 'type' => 'string', 'example' => 'builtIn'], + 'customPrompt' => ['description' => '自定义提示词内容', 'type' => 'string', 'example' => '请将以下用户问题改写为...'], + ], + ], + 'maxOutputTokens' => ['description' => '改写输出最大 Token 数', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'triggerConditions' => [ + 'description' => '触发条件配置', + 'type' => 'object', + 'properties' => [ + 'messageCountThreshold' => ['description' => '对话轮次超过此值时触发改写', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + ], + ], + 'contextSelection' => [ + 'description' => '上下文选择配置', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => '上下文选择方式', 'type' => 'string', 'example' => 'allMessages'], + 'value' => ['description' => '保留的消息条数或字符数', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + ], + ], + 'fallbackStrategy' => ['description' => '回退策略', 'type' => 'string', 'example' => 'skip'], + ], + ], + 'pluginStatus' => ['description' => '插件运行状态', '$ref' => '#/components/schemas/AiPluginStatus'], + ], + ], 'AkSkIdentityConfig' => [ 'title' => 'A short description of struct', 'description' => 'AkSk身份认证配置。', @@ -515,35 +629,18 @@ 'title' => 'type', 'description' => '类型。', 'type' => 'string', - 'enumValueTitles' => [ - 'Apikey' => 'APIKEY鉴权方式', - 'Jwt' => 'JWT鉴权方式', - 'AkSk' => 'AKSK鉴权方式', - ], + 'enumValueTitles' => ['Apikey' => 'APIKEY鉴权方式', 'Jwt' => 'JWT鉴权方式', 'AkSk' => 'AKSK鉴权方式'], 'example' => 'Jwt', ], 'generateMode' => [ 'title' => 'generateMode', 'description' => '生成模式。', 'type' => 'string', - 'enumValueTitles' => [ - 'Custom' => '自定义', - 'System' => '系统', - ], + 'enumValueTitles' => ['Custom' => '自定义', 'System' => '系统'], 'example' => 'System', ], - 'ak' => [ - 'title' => 'ak', - 'description' => 'ak配置。', - 'type' => 'string', - 'example' => 'xxxx', - ], - 'sk' => [ - 'title' => 'sk', - 'description' => 'sk配置。', - 'type' => 'string', - 'example' => 'xxxx', - ], + 'ak' => ['title' => 'ak', 'description' => 'ak配置。', 'type' => 'string', 'example' => 'xxxx'], + 'sk' => ['title' => 'sk', 'description' => 'sk配置。', 'type' => 'string', 'example' => 'xxxx'], ], ], 'ApiKeyIdentityConfig' => [ @@ -551,12 +648,7 @@ 'description' => 'APIKEY身份认证配置。', 'type' => 'object', 'properties' => [ - 'type' => [ - 'title' => 'type', - 'description' => '类型。', - 'type' => 'string', - 'example' => 'Apikey', - ], + 'type' => ['title' => 'type', 'description' => '类型。', 'type' => 'string', 'example' => 'Apikey'], 'apikeySource' => [ 'title' => 'apikey', 'description' => 'APIKEY来源配置。', @@ -566,19 +658,10 @@ 'title' => 'source', 'description' => 'APIKEY来源。', 'type' => 'string', - 'enumValueTitles' => [ - 'Header' => 'Header参数', - 'QueryString' => 'Query参数', - 'Default' => '默认', - ], + 'enumValueTitles' => ['Header' => 'Header参数', 'QueryString' => 'Query参数', 'Default' => '默认'], 'example' => 'Default', ], - 'value' => [ - 'title' => 'value', - 'description' => 'APIKEY值。', - 'type' => 'string', - 'example' => 'xxxx', - ], + 'value' => ['title' => 'value', 'description' => 'APIKEY值。', 'type' => 'string', 'example' => 'xxxx'], ], ], 'credentials' => [ @@ -589,18 +672,8 @@ 'description' => '证书。', 'type' => 'object', 'properties' => [ - 'generateMode' => [ - 'title' => 'generateMode', - 'description' => '生成模式。', - 'type' => 'string', - 'example' => 'System', - ], - 'apikey' => [ - 'title' => 'apikey', - 'description' => 'apikey配置。', - 'type' => 'string', - 'example' => 'xxxxx', - ], + 'generateMode' => ['title' => 'generateMode', 'description' => '生成模式。', 'type' => 'string', 'example' => 'System'], + 'apikey' => ['title' => 'apikey', 'description' => 'apikey配置。', 'type' => 'string', 'example' => 'xxxxx'], ], ], ], @@ -616,18 +689,8 @@ 'description' => '冲突的域名信息。', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => '域名ID', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-cqookcllhtgvof7e***', - ], - 'name' => [ - 'title' => '域名名称', - 'description' => '域名名称。', - 'type' => 'string', - 'example' => 'httpbin', - ], + 'domainId' => ['title' => '域名ID', 'description' => '域名ID。', 'type' => 'string', 'example' => 'd-cqookcllhtgvof7e***'], + 'name' => ['title' => '域名名称', 'description' => '域名名称。', 'type' => 'string', 'example' => 'httpbin'], ], ], 'conflicts' => [ @@ -645,41 +708,18 @@ .'- RestApi'."\n" .'- HttpApiRoute', 'type' => 'string', - 'enumValueTitles' => [ - 'RestApi' => 'Rest API', - 'HttpApiRoute' => '路由', - ], + 'enumValueTitles' => ['RestApi' => 'Rest API', 'HttpApiRoute' => '路由'], 'example' => 'HttpApiRoute', ], - 'resourceId' => [ - 'title' => '冲突资源ID, API ID', - 'description' => '冲突资源ID,API ID。', - 'type' => 'string', - 'example' => 'api-crdclqllhtggm***', - ], - 'resourceName' => [ - 'title' => '冲突资源名称, API名称', - 'description' => '冲突资源名称,API名称。', - 'type' => 'string', - 'example' => 'item-stock', - ], + 'resourceId' => ['title' => '冲突资源ID, API ID', 'description' => '冲突资源ID,API ID。', 'type' => 'string', 'example' => 'api-crdclqllhtggm***'], + 'resourceName' => ['title' => '冲突资源名称, API名称', 'description' => '冲突资源名称,API名称。', 'type' => 'string', 'example' => 'item-stock'], 'environmentInfo' => [ 'title' => '对于API来讲, 是在具体环境里存在冲突. 若冲突对象为路由, 则忽略', 'description' => '对于API来讲,是在具体环境里存在冲突。若冲突对象为路由,则忽略。', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-cquqsollhtgidd***', - ], - 'name' => [ - 'title' => '环境名', - 'description' => '环境名。', - 'type' => 'string', - 'example' => 'itemcenter-dev', - ], + 'environmentId' => ['title' => '环境ID', 'description' => '环境ID。', 'type' => 'string', 'example' => 'env-cquqsollhtgidd***'], + 'name' => ['title' => '环境名', 'description' => '环境名。', 'type' => 'string', 'example' => 'itemcenter-dev'], ], ], 'details' => [ @@ -700,11 +740,7 @@ ."\n" .'- Informational', 'type' => 'string', - 'enumValueTitles' => [ - 'Warning' => 'Warning', - 'Critical' => 'Critical', - 'Informational' => 'Informational', - ], + 'enumValueTitles' => ['Warning' => 'Warning', 'Critical' => 'Critical', 'Informational' => 'Informational'], 'example' => 'Critical', ], 'conflictingMatch' => [ @@ -717,25 +753,11 @@ 'description' => '冲突目标为API时候, 表示对应的接口信息。', 'type' => 'object', 'properties' => [ - 'operationId' => [ - 'title' => '接口ID', - 'description' => '接口ID。', - 'type' => 'string', - 'example' => 'op-cq35jadlhtgrv07***', - ], - 'name' => [ - 'title' => '接口名称', - 'description' => '接口名称。', - 'type' => 'string', - 'example' => 'GetItem', - ], + 'operationId' => ['title' => '接口ID', 'description' => '接口ID。', 'type' => 'string', 'example' => 'op-cq35jadlhtgrv07***'], + 'name' => ['title' => '接口名称', 'description' => '接口名称。', 'type' => 'string', 'example' => 'GetItem'], ], ], - 'match' => [ - 'title' => '匹配规则', - 'description' => '匹配规则。', - '$ref' => '#/components/schemas/HttpRouteMatch', - ], + 'match' => ['title' => '匹配规则', 'description' => '匹配规则。', '$ref' => '#/components/schemas/HttpRouteMatch'], ], ], 'detectedMatch' => [ @@ -748,25 +770,11 @@ 'description' => '被检测目标为API的,需要返回冲突的接口信息。', 'type' => 'object', 'properties' => [ - 'operationId' => [ - 'title' => '接口ID', - 'description' => '接口ID。', - 'type' => 'string', - 'example' => 'op-cqf17dllhtgng1m**', - ], - 'name' => [ - 'title' => '接口名', - 'description' => '接口名。', - 'type' => 'string', - 'example' => 'GetItemV2', - ], + 'operationId' => ['title' => '接口ID', 'description' => '接口ID。', 'type' => 'string', 'example' => 'op-cqf17dllhtgng1m**'], + 'name' => ['title' => '接口名', 'description' => '接口名。', 'type' => 'string', 'example' => 'GetItemV2'], ], ], - 'match' => [ - 'title' => '被检测目标的匹配规则信息', - 'description' => '被检测目标的匹配规则信息。', - '$ref' => '#/components/schemas/HttpRouteMatch', - ], + 'match' => ['title' => '被检测目标的匹配规则信息', 'description' => '被检测目标的匹配规则信息。', '$ref' => '#/components/schemas/HttpRouteMatch'], ], ], ], @@ -777,18 +785,8 @@ 'description' => '路由信息。', 'type' => 'object', 'properties' => [ - 'routeId' => [ - 'title' => '路由ID', - 'description' => '路由ID。', - 'type' => 'string', - 'example' => 'hr-cr82undlhtgrlej***', - ], - 'name' => [ - 'title' => '路由名称', - 'description' => '路由名称。', - 'type' => 'string', - 'example' => 'itemcenter-route', - ], + 'routeId' => ['title' => '路由ID', 'description' => '路由ID。', 'type' => 'string', 'example' => 'hr-cr82undlhtgrlej***'], + 'name' => ['title' => '路由名称', 'description' => '路由名称。', 'type' => 'string', 'example' => 'itemcenter-route'], ], ], ], @@ -801,47 +799,30 @@ 'description' => '挂载信息。', 'type' => 'object', 'properties' => [ - 'policyAttachmentId' => [ - 'title' => 'policyAttachmentId', - 'description' => '策略挂载id。', - 'type' => 'string', - 'example' => 'pr-cq7l5s5lhtgi6qasrdc0', - ], + 'policyAttachmentId' => ['title' => 'policyAttachmentId', 'description' => '策略挂载id。', 'type' => 'string', 'example' => 'pr-cq7l5s5lhtgi6qasrdc0'], + 'attachResourceId' => ['title' => 'attachResourceId', 'description' => 'attachResourceId', 'type' => 'string', 'example' => 'gw-xxx'], + 'attachResourceType' => ['title' => 'attachResourceType', 'description' => '策略支持挂载点类型。'."\n" + ."\n" + .'- HttpApi:HttpApi。'."\n" + .'- Operation:HttpApi的Operation。'."\n" + .'- GatewayRoute:网关路由。'."\n" + .'- GatewayService:网关服务。'."\n" + .'- GatewayServicePort:网关服务端口。'."\n" + .'- Domain:网关域名。'."\n" + .'- Gateway:网关。', 'type' => 'string', 'example' => 'HttpApi'], + 'environmentId' => ['title' => 'environmentId', 'description' => '挂载资源所属环境。环境id返回为*时,表明该策略的挂载资源与环境无关。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + 'gatewayId' => ['title' => 'gatewayId', 'description' => '挂载资源所属网关。', 'type' => 'string', 'example' => 'gw-cpr4f9dlhtgq5ksfgmb0'], 'attachResourceIds' => [ 'title' => 'attachResourceIds', 'description' => '挂载资源id列表。', 'type' => 'array', - 'items' => [ - 'description' => '挂载点id。', - 'type' => 'string', - 'example' => 'api-cq7l5s5lhtgi6qasrdc0', - ], - ], - 'attachResourceType' => [ - 'title' => 'attachResourceType', - 'description' => '策略支持挂载点类型。'."\n" - ."\n" - .'- HttpApi:HttpApi。'."\n" - .'- Operation:HttpApi的Operation。'."\n" - .'- GatewayRoute:网关路由。'."\n" - .'- GatewayService:网关服务。'."\n" - .'- GatewayServicePort:网关服务端口。'."\n" - .'- Domain:网关域名。'."\n" - .'- Gateway:网关。', - 'type' => 'string', - 'example' => 'HttpApi', + 'items' => ['description' => '挂载点id。', 'type' => 'string', 'example' => 'api-cq7l5s5lhtgi6qasrdc0'], ], - 'environmentId' => [ - 'title' => 'environmentId', - 'description' => '挂载资源所属环境。环境id返回为*时,表明该策略的挂载资源与环境无关。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], - 'gatewayId' => [ - 'title' => 'gatewayId', - 'description' => '挂载资源所属网关。', - 'type' => 'string', - 'example' => 'gw-cpr4f9dlhtgq5ksfgmb0', + 'attachResourceParentIds' => [ + 'title' => 'attachResourceParentIds', + 'description' => '挂载资源父级 ID 列表', + 'type' => 'array', + 'items' => ['description' => '父级 ID 列表', 'type' => 'string', 'example' => '["api-xxx"]'], ], ], ], @@ -850,18 +831,8 @@ 'description' => '认证配置', 'type' => 'object', 'properties' => [ - 'authType' => [ - 'title' => '认证类型', - 'description' => '认证类型', - 'type' => 'string', - 'example' => 'Jwt', - ], - 'authMode' => [ - 'title' => '认证模式', - 'description' => '认证模式', - 'type' => 'string', - 'example' => 'NoAuth', - ], + 'authType' => ['title' => '认证类型', 'description' => '认证类型', 'type' => 'string', 'example' => 'Jwt'], + 'authMode' => ['title' => '认证模式', 'description' => '认证模式', 'type' => 'string', 'example' => 'NoAuth'], ], ], 'AuthorizationResourceInfo' => [ @@ -869,24 +840,9 @@ 'description' => '授权资源信息', 'type' => 'object', 'properties' => [ - 'resourceId' => [ - 'title' => 'resourceId', - 'description' => '资源ID。', - 'type' => 'string', - 'example' => 'hr-d0mnu16m1hkgujnkgrcg', - ], - 'parentResourceId' => [ - 'title' => 'parentResourceId', - 'description' => '父资源ID。', - 'type' => 'string', - 'example' => 'api-cujbijem1hkr4voden8g', - ], - 'environmentId' => [ - 'title' => 'environmentId', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], + 'resourceId' => ['title' => 'resourceId', 'description' => '资源ID。', 'type' => 'string', 'example' => 'hr-d0mnu16m1hkgujnkgrcg'], + 'parentResourceId' => ['title' => 'parentResourceId', 'description' => '父资源ID。', 'type' => 'string', 'example' => 'api-cujbijem1hkr4voden8g'], + 'environmentId' => ['title' => 'environmentId', 'description' => '环境ID。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], ], ], 'Backend' => [ @@ -898,6 +854,7 @@ 'title' => '后端服务场景:取值范围[Single, MultiServiceByRatio, MultiServiceByTag, Mock, Redirect]', 'description' => '后端服务场景:取值范围[Single, MultiServiceByRatio, MultiServiceByTag, Mock, Redirect]', 'type' => 'string', + 'enumValueTitles' => ['Single' => '单一后端服务', 'MultiServiceByRatio' => '多服务按流量比例分流', 'Redirect' => '重定向', 'MultiServiceByTag' => '多服务按标签分流', 'Mock' => 'Mock后端,返回模拟数据'], 'example' => 'Single', ], 'services' => [ @@ -905,73 +862,34 @@ 'description' => '后端服务', 'type' => 'array', 'items' => [ + 'description' => '后端服务', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'title' => '服务ID', - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'service-cq2bmmdlhtgj***', - ], - 'name' => [ - 'title' => '服务名称', - 'description' => '服务名称', - 'type' => 'string', - 'example' => 'item-service', - ], + 'serviceId' => ['title' => '服务ID', 'description' => '服务ID', 'type' => 'string', 'example' => 'service-cq2bmmdlhtgj***'], + 'name' => ['title' => '服务名称', 'description' => '服务名称', 'type' => 'string', 'example' => 'item-service'], 'protocol' => [ 'title' => '服务协议,取值范围:[HTTP, TCP, DUBBO]', 'description' => '服务协议,取值范围:[HTTP, TCP, DUBBO]', 'type' => 'string', + 'enumValueTitles' => ['TCP' => 'TCP协议', 'HTTP' => 'HTTP协议', 'DUBBO' => 'Dubbo协议'], 'example' => 'HTTP', ], - 'port' => [ - 'title' => '服务端口, 动态端口不传入', - 'description' => '服务端口, 动态端口不传入', - 'type' => 'integer', - 'format' => 'int32', - 'example' => 'port', - ], - 'weight' => [ - 'title' => '流量比例的百分比值', - 'description' => '流量比例的百分比值', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '49', - ], - 'version' => [ - 'title' => '服务版本', - 'description' => '服务版本', - 'type' => 'string', - 'example' => 'v1', - ], + 'port' => ['title' => '服务端口, 动态端口不传入', 'description' => '服务端口, 动态端口不传入', 'type' => 'integer', 'format' => 'int32', 'example' => 'port'], + 'weight' => ['title' => '流量比例的百分比值', 'description' => '流量比例的百分比值', 'type' => 'integer', 'format' => 'int32', 'example' => '49'], + 'version' => ['title' => '服务版本', 'description' => '服务版本', 'type' => 'string', 'example' => 'v1'], ], ], ], ], ], - 'CheckServiceLinkedRoleResult' => [ - 'title' => '服务关联角色检查结果', - 'type' => 'object', - 'properties' => [ - 'existed' => [ - 'title' => '服务关联角色是否存在', - 'type' => 'boolean', - ], - ], - ], - 'ConsumerConfig' => [ + 'ConsumerGroupInfo' => [ 'title' => 'A short description of struct', + 'description' => '消费者组信息', 'type' => 'object', 'properties' => [ - 'consumerId' => [ - 'title' => 'consumerId', - 'type' => 'string', - ], - 'name' => [ - 'title' => 'name', - 'type' => 'string', - ], + 'consumerGroupId' => ['title' => '消费者组ID。', 'type' => 'string', 'example' => 'csg-8c13d2b4f8a1'], + 'name' => ['title' => '消费者组名称。', 'type' => 'string', 'example' => 'api-consumer-group'], + 'gatewayType' => ['title' => '网关类型,取值为 API 或 AI。', 'type' => 'string', 'example' => 'API'], ], ], 'ConsumerInfo' => [ @@ -979,36 +897,9 @@ 'description' => '消费者信息', 'type' => 'object', 'properties' => [ - 'consumerId' => [ - 'title' => 'consumerId', - 'description' => 'consumerId', - 'type' => 'string', - 'example' => 'cs-ctd4l1um1hkph7ki1k80', - ], - 'name' => [ - 'title' => 'name', - 'description' => 'name', - 'type' => 'string', - 'example' => 'test', - ], - 'enable' => [ - 'title' => 'enable', - 'description' => 'enable', - 'type' => 'boolean', - 'example' => 'false', - ], - ], - ], - 'DashboardFilter' => [ - 'title' => 'A short description of struct', - 'description' => '网关大盘过滤器', - 'type' => 'object', - 'properties' => [ - 'routeName' => [ - 'title' => '路由名称', - 'type' => 'string', - 'example' => 'test', - ], + 'consumerId' => ['title' => 'consumerId', 'description' => 'consumerId', 'type' => 'string', 'example' => 'cs-ctd4l1um1hkph7ki1k80'], + 'name' => ['title' => 'name', 'description' => 'name', 'type' => 'string', 'example' => 'test'], + 'enable' => ['title' => 'enable', 'description' => 'enable', 'type' => 'boolean', 'example' => 'false'], ], ], 'DomainInfo' => [ @@ -1016,38 +907,22 @@ 'description' => '域名信息。', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => 'domainId', - 'description' => '域名id。', - 'type' => 'string', - 'example' => 'd-cq1lthllhtgja4dk54eg', - ], + 'domainId' => ['title' => 'domainId', 'description' => '域名id。', 'type' => 'string', 'example' => 'd-cq1lthllhtgja4dk54eg'], 'status' => [ 'title' => 'status', 'description' => '域名状态。', 'type' => 'string', - 'enumValueTitles' => [ - 'UnPublished' => 'UnPublished', - 'Published' => 'Published', - ], + 'enumValueTitles' => ['UnPublished' => 'UnPublished', 'Published' => 'Published'], 'example' => 'Published', ], 'createFrom' => [ 'title' => 'createFrom', 'description' => '从哪里创建。', 'type' => 'string', - 'enumValueTitles' => [ - 'Console' => 'Console', - 'Ingress' => 'Ingress', - ], + 'enumValueTitles' => ['Console' => 'Console', 'Ingress' => 'Ingress'], 'example' => 'Console', ], - 'name' => [ - 'title' => 'name', - 'description' => '域名。', - 'type' => 'string', - 'example' => 'abc.com', - ], + 'name' => ['title' => 'name', 'description' => '域名。', 'type' => 'string', 'example' => 'abc.com'], 'protocol' => [ 'title' => 'protocol', 'description' => '域名支持的协议类型。'."\n" @@ -1055,60 +930,23 @@ .'- HTTP:仅支持HTTP协议。'."\n" .'- HTTP:仅支持HTTPS协议。', 'type' => 'string', - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], 'example' => 'HTTP', ], - 'forceHttps' => [ - 'title' => 'forceHttps', - 'description' => '设置HTTPS协议类型时,是否开启强制HTTPS跳转', - 'type' => 'boolean', - 'example' => 'false', - ], - 'updateTimestamp' => [ - 'title' => 'updateTimestamp', - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'createTimestamp' => [ - 'title' => 'createTimestamp', - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'certIdentifier' => [ - 'title' => 'certIdentifier', - 'description' => '云盾证书身份。', - 'type' => 'string', - 'example' => '235556-cn-hangzhou', - ], - 'resourceGroupId' => [ - 'title' => '资源组ID', - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-xxxx', - ], - 'mTLSEnabled' => [ - 'title' => '是否开启MTLS双向认证', - 'description' => '是否开启MTLS双向认证', - 'type' => 'boolean', - 'example' => 'true', - ], - 'clientCACert' => [ - 'title' => '客户端CA证书', - 'description' => '客户端CA证书', - 'type' => 'string', - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'MIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL'."\n" - .'BQAwE************************************************2VwVOJ2gqX3'."\n" - .'YuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4='."\n" - .'-----END CERTIFICATE-----', - ], + 'domainScope' => ['title' => 'domainScope', 'description' => 'domainScope', 'type' => 'string', 'example' => 'Dedicated'], + 'forceHttps' => ['title' => 'forceHttps', 'description' => '设置HTTPS协议类型时,是否开启强制HTTPS跳转', 'type' => 'boolean', 'example' => 'false'], + 'updateTimestamp' => ['title' => 'updateTimestamp', 'description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'createTimestamp' => ['title' => 'createTimestamp', 'description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'certIdentifier' => ['title' => 'certIdentifier', 'description' => '云盾证书身份。', 'type' => 'string', 'example' => '235556-cn-hangzhou'], + 'tlsMax' => ['title' => 'TLS协议最大版本,最大支持TLS 1.3。', 'type' => 'string'], + 'tlsMin' => ['title' => 'TLS协议最小版本,最小支持TLS 1.0', 'type' => 'string'], + 'resourceGroupId' => ['title' => '资源组ID', 'description' => '资源组ID', 'type' => 'string', 'example' => 'rg-xxxx'], + 'mTLSEnabled' => ['title' => '是否开启MTLS双向认证', 'description' => '是否开启MTLS双向认证', 'type' => 'boolean', 'example' => 'true'], + 'clientCACert' => ['title' => '客户端CA证书', 'description' => '客户端CA证书', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL'."\n" + .'BQAwE************************************************2VwVOJ2gqX3'."\n" + .'YuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4='."\n" + .'-----END CERTIFICATE-----'], ], ], 'EnvironmentInfo' => [ @@ -1116,69 +954,21 @@ 'description' => '环境信息。', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'title' => 'environmentId', - 'description' => '环境id。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], - 'name' => [ - 'title' => 'name', - 'description' => '环境名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'alias' => [ - 'title' => 'alias', - 'description' => '环境别名。', - 'type' => 'string', - 'example' => '测试环境', - ], - 'description' => [ - 'title' => 'description', - 'description' => '环境描述。', - 'type' => 'string', - 'example' => '这是xxx的xx项目测试环境', - ], - 'gatewayInfo' => [ - 'description' => '网关信息。', - '$ref' => '#/components/schemas/GatewayInfo', - ], + 'environmentId' => ['title' => 'environmentId', 'description' => '环境id。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + 'name' => ['title' => 'name', 'description' => '环境名称。', 'type' => 'string', 'example' => 'test'], + 'alias' => ['title' => 'alias', 'description' => '环境别名。', 'type' => 'string', 'example' => '测试环境'], + 'description' => ['title' => 'description', 'description' => '环境描述。', 'type' => 'string', 'example' => '这是xxx的xx项目测试环境'], + 'gatewayInfo' => ['description' => '网关信息。', '$ref' => '#/components/schemas/GatewayInfo'], 'subDomainInfos' => [ 'title' => 'subDomainInfos', 'description' => '子域名列表。', 'type' => 'array', - 'items' => [ - 'description' => '子域名信息。', - '$ref' => '#/components/schemas/SubDomainInfo', - ], - ], - 'default' => [ - 'title' => 'default', - 'description' => '是否默认环境。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'createTimestamp' => [ - 'title' => 'createTimestamp', - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1721116090326'."\n", - ], - 'updateTimestamp' => [ - 'title' => 'updateTimestamp', - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1721116090326', - ], - 'resourceGroupId' => [ - 'title' => '资源组ID', - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-xxxx', + 'items' => ['description' => '子域名信息。', '$ref' => '#/components/schemas/SubDomainInfo'], ], + 'default' => ['title' => 'default', 'description' => '是否默认环境。', 'type' => 'boolean', 'example' => 'false'], + 'createTimestamp' => ['title' => 'createTimestamp', 'description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1721116090326'."\n"], + 'updateTimestamp' => ['title' => 'updateTimestamp', 'description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1721116090326'], + 'resourceGroupId' => ['title' => '资源组ID', 'description' => '资源组ID', 'type' => 'string', 'example' => 'rg-xxxx'], ], ], 'GatewayInfo' => [ @@ -1186,43 +976,35 @@ 'description' => '网关信息。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'title' => 'gatewayId', - 'description' => '网关id。', - 'type' => 'string', - 'example' => 'gw-cq7og15lhtgi6qasrj60', - ], - 'name' => [ - 'title' => 'name', - 'description' => '网关名称。', - 'type' => 'string', - 'example' => 'apitest-gw', - ], + 'gatewayId' => ['title' => 'gatewayId', 'description' => '网关id。', 'type' => 'string', 'example' => 'gw-cq7og15lhtgi6qasrj60'], + 'name' => ['title' => 'name', 'description' => '网关名称。', 'type' => 'string', 'example' => 'apitest-gw'], 'vpcInfo' => [ 'title' => 'vpc信息', 'description' => 'vpc信息。', 'type' => 'object', 'properties' => [ - 'vpcId' => [ - 'title' => '专有网络ID', - 'description' => '专有网络ID。', - 'type' => 'string', - 'example' => 'vpc-uf664nyle5kh***', - ], - 'name' => [ - 'title' => '专有网络名称', - 'description' => '专有网络名称。', - 'type' => 'string', - 'example' => '商品中心预发环境专有网络', - ], - ], - ], - 'engineVersion' => [ - 'title' => '网关引擎版本', - 'description' => '网关引擎版本。', - 'type' => 'string', - 'example' => '2.0.7', - ], + 'vpcId' => ['title' => '专有网络ID', 'description' => '专有网络ID。', 'type' => 'string', 'example' => 'vpc-uf664nyle5kh***'], + 'name' => ['title' => '专有网络名称', 'description' => '专有网络名称。', 'type' => 'string', 'example' => '商品中心预发环境专有网络'], + ], + ], + 'engineVersion' => ['title' => '网关引擎版本', 'description' => '网关引擎版本。', 'type' => 'string', 'example' => '2.0.7'], + 'gatewayEdition' => ['title' => '网关实例版本:'."\n" + ."\n" + .'- 普通实例:Professional'."\n" + ."\n" + .'- Serverless:Serverless'."\n" + ."\n" + .'- 多租户 Serverless:MultiTenantServerless'."\n" + ."\n" + .'- 未知:Unknown', 'description' => '网关实例版本:'."\n" + ."\n" + .'- 普通实例:Professional'."\n" + ."\n" + .'- Serverless:Serverless'."\n" + ."\n" + .'- 多租户 Serverless:MultiTenantServerless'."\n" + ."\n" + .'- 未知:Unknown', 'type' => 'string', 'example' => 'MultiTenantServerless'], ], ], 'GatewayLogConfig' => [ @@ -1235,416 +1017,536 @@ 'description' => 'SLS日志配置。', 'type' => 'object', 'properties' => [ - 'enable' => [ - 'title' => '开启SLS', - 'description' => '是否开启SLS日志。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'enable' => ['title' => '开启SLS', 'description' => '是否开启SLS日志。', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'HttpApiApiInfo' => [ - 'title' => 'ApiInfo', - 'description' => 'API信息。', + 'HiMarketAgentConfig' => [ + 'description' => 'object', 'type' => 'object', 'properties' => [ - 'httpApiId' => [ - 'title' => 'HTTP API ID。', - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-xxx', - ], - 'name' => [ - 'title' => 'API名称。', - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'basePath' => [ - 'title' => 'API基础路径。', - 'description' => 'API基础路径。', - 'type' => 'string', - 'example' => '/v1', + 'agentAPIConfig' => [ + 'description' => 'Agent API配置列表', + 'type' => 'object', + 'properties' => [ + 'agentProtocols' => [ + 'description' => 'Agent 协议列表', + 'type' => 'array', + 'items' => ['description' => '列表', 'type' => 'string', 'example' => '["DashScope"]'], + ], + 'routes' => [ + 'description' => 'Agent API 路由配置列表', + 'type' => 'array', + 'items' => ['description' => '列表', '$ref' => '#/components/schemas/HiMarketHttpRoute'], + ], + ], ], - 'description' => [ - 'title' => 'API描述。', - 'description' => 'API描述。', - 'type' => 'string', - 'example' => '测试专用API', + ], + ], + 'HiMarketApiKeyConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => 'API Key 提取位置名称', 'type' => 'string', 'example' => 'Apikey'], + 'source' => ['description' => 'API Key 来源类型', 'type' => 'string', 'example' => 'Header'], + 'credentials' => [ + 'description' => '凭证列表', + 'type' => 'array', + 'items' => [ + 'description' => '凭证列表', + 'type' => 'object', + 'properties' => [ + 'apiKey' => ['description' => 'API Key 值', 'type' => 'string', 'example' => 'my-api-key-123'], + 'mode' => ['description' => '生成模式', 'type' => 'string', 'example' => 'Custom'], + ], + ], ], - 'versionInfo' => [ - 'title' => 'API版本控制信息。', - 'description' => 'API版本控制信息。', - '$ref' => '#/components/schemas/HttpApiVersionInfo', + ], + ], + 'HiMarketAuthCodeConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'clientId' => ['description' => 'OAuth2 客户端 ID', 'type' => 'string', 'example' => 'my-client-id'], + 'clientSecret' => ['description' => 'OAuth2 客户端密钥(存储时 AES 加密)', 'type' => 'string', 'example' => 'my-client-secret'], + 'scopes' => ['description' => 'OAuth2 授权范围(空格分隔)', 'type' => 'string', 'example' => 'openid profile email'], + 'issuer' => ['description' => 'OIDC 签发者 URL', 'type' => 'string', 'example' => 'https://idp.example.com'], + 'authorizationEndpoint' => ['description' => 'OAuth2 授权端点 URL', 'type' => 'string', 'example' => 'https://idp.example.com/oauth2/authorize'], + 'tokenEndpoint' => ['description' => 'OAuth2 Token 端点 URL', 'type' => 'string', 'example' => 'https://idp.example.com/oauth2/token'], + 'userInfoEndpoint' => ['description' => 'OIDC UserInfo 端点 URL', 'type' => 'string', 'example' => 'https://idp.example.com/userinfo'], + 'jwkSetUri' => ['description' => 'JWKS 公钥集 URI(用于 Token 验签)', 'type' => 'string', 'example' => 'https://idp.example.com/.well-known/jwks.json'], + 'redirectUri' => ['description' => 'OAuth2 回调地址', 'type' => 'string', 'example' => 'https://gateway.example.com/callback'], + ], + ], + 'HiMarketDomain' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'domain' => ['description' => '域名地址', 'type' => 'string', 'example' => 'api.example.com'], + 'port' => ['description' => '端口', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], + 'protocol' => ['description' => '访问协议', 'type' => 'string', 'example' => 'HTTPS'], + 'networkType' => ['description' => '网络类型', 'type' => 'string', 'example' => 'Internet'], + ], + ], + 'HiMarketHmacConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'credentials' => [ + 'description' => '凭证列表', + 'type' => 'array', + 'items' => [ + 'description' => '凭证列表', + 'type' => 'object', + 'properties' => [ + 'ak' => ['description' => 'Access Key ID', 'type' => 'string', 'example' => 'my-access-key-123'], + 'sk' => ['description' => 'Access Key Secret', 'type' => 'string', 'example' => 'my-secret-key-456'], + 'mode' => ['description' => '生成模式', 'type' => 'string', 'example' => 'Custom'], + ], + ], ], - 'ingressInfo' => [ - 'title' => 'Http Ingress Api的信息', - 'description' => 'Http Ingress Api的信息。', + ], + ], + 'HiMarketHttpRoute' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'description' => ['description' => '路由描述', 'type' => 'string', 'example' => 'Agent route'], + 'match' => [ + 'description' => '路由匹配规则', 'type' => 'object', 'properties' => [ - 'sourceId' => [ - 'title' => '来源ID', - 'description' => '来源ID。', - 'type' => 'string', - 'example' => 'src-xxx', - ], - 'ingressClass' => [ - 'title' => '监听的Ingress Class', - 'description' => '监听的Ingress Class', - 'type' => 'string', - 'example' => 'mse', - ], - 'watchNamespace' => [ - 'title' => '监听的命名空间', - 'description' => '监听的命名空间。', - 'type' => 'string', - 'example' => 'default', + 'methods' => [ + 'description' => 'HTTP 方法列表', + 'type' => 'array', + 'items' => ['description' => 'HTTP 方法列表', 'type' => 'string', 'example' => '["POST"]'], ], - 'environmentInfo' => [ - 'title' => '环境信息', - 'description' => '环境信息。', + 'path' => [ + 'description' => '路径匹配规则', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-xxx', + 'value' => ['description' => '路径值', 'type' => 'string', 'example' => '/v1/agents/invoke'], + 'type' => ['description' => '匹配类型', 'type' => 'string', 'example' => 'Prefix'], + 'caseSensitive' => ['description' => '是否大小写敏感', 'type' => 'boolean', 'example' => 'false'], + ], + ], + 'headers' => [ + 'description' => 'Header 匹配规则列表', + 'type' => 'array', + 'items' => [ + 'description' => 'Header 匹配规则列表', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '参数名', 'type' => 'string', 'example' => 'X-Agent-Type'], + 'type' => ['description' => '匹配类型', 'type' => 'string', 'example' => 'Exact'], + 'value' => ['description' => '匹配值', 'type' => 'string', 'example' => 'dashscope'], + 'caseSensitive' => ['description' => '是否大小写敏感', 'type' => 'boolean', 'example' => 'true'], ], ], ], - 'k8sClusterInfo' => [ - 'title' => 'k8s集群信息', - 'description' => 'k8s集群信息。', - 'type' => 'object', - 'properties' => [ - 'clusterId' => [ - 'title' => '集群ID', - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'ca435c77cba1547cca9311957bcxxxxxx', + 'queryParams' => [ + 'description' => 'Query 参数匹配规则列表', + 'type' => 'array', + 'items' => [ + 'description' => 'Query 参数匹配规则列表', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '参数名', 'type' => 'string', 'example' => 'X-Agent-Type'], + 'type' => ['description' => '匹配类型', 'type' => 'string', 'example' => 'Exact'], + 'value' => ['description' => '匹配值', 'type' => 'string', 'example' => 'dashscope'], + 'caseSensitive' => ['description' => '是否大小写敏感', 'type' => 'boolean', 'example' => 'true'], ], ], ], - 'overrideIngressIp' => [ - 'title' => '是否更新Ingress Status里的地址', - 'description' => '是否更新Ingress Status里的地址', - 'type' => 'boolean', - 'example' => 'true', + 'modelMatches' => [ + 'description' => '模型匹配规则列表(Agent API 专用)', + 'type' => 'array', + 'items' => [ + 'description' => '模型匹配规则列表(Agent API 专用)', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '参数名', 'type' => 'string', 'example' => 'X-Agent-Type'], + 'type' => ['description' => '匹配类型', 'type' => 'string', 'example' => 'Exact'], + 'value' => ['description' => '匹配值', 'type' => 'string', 'example' => 'dashscope'], + 'caseSensitive' => ['description' => '是否大小写敏感', 'type' => 'boolean', 'example' => 'true'], + ], + ], ], ], ], - 'type' => [ - 'title' => 'API类型', - 'description' => 'API类型。', - 'type' => 'string', - 'enumValueTitles' => [ - 'HttpIngress' => 'HttpIngress', - 'Rest' => 'Rest', - 'Websocket' => 'Websocket', - 'AI' => 'AI', - 'Http' => 'Http', - ], - 'example' => 'Rest', - ], - 'resourceGroupId' => [ - 'title' => '资源组ID', - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-xxx', - ], - 'enabelAuth' => [ - 'title' => '是否开启认证', - 'description' => '是否开启认证', - 'type' => 'boolean', - 'example' => 'true', + 'builtin' => ['description' => '是否为内置路由', 'type' => 'boolean', 'example' => 'false'], + 'domains' => [ + 'description' => '绑定域名列表', + 'type' => 'array', + 'items' => ['description' => '绑定域名列表', '$ref' => '#/components/schemas/HiMarketDomain'], ], - 'authConfig' => [ - 'title' => '认证配置', - 'description' => '认证配置', - '$ref' => '#/components/schemas/AuthConfig', + ], + ], + 'HiMarketIcon' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => '图标类型', 'type' => 'string', 'example' => 'url'], + 'value' => ['description' => '图标值', 'type' => 'string', 'example' => 'https://example.com/icon.png'], + ], + ], + 'HiMarketIdentityMapping' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'userIdField' => ['description' => '用户 ID 对应的身份字段名', 'type' => 'string', 'example' => 'sub'], + 'userNameField' => ['description' => '用户名对应的身份字段名', 'type' => 'string', 'example' => 'name'], + 'emailField' => ['description' => '邮箱对应的身份字段名', 'type' => 'string', 'example' => 'email'], + ], + ], + 'HiMarketJwtConfig' => [ + 'type' => 'object', + 'properties' => [], + ], + 'HiMarketMcpConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'mcpServerName' => ['description' => 'MCP Server 名称', 'type' => 'string', 'example' => 'my-mcp-server'], + 'tools' => ['description' => 'MCP 工具定义', 'type' => 'string', 'example' => '[{\\"name\\":\\"search\\",\\"description\\":\\"搜索工具\\"}]'], + 'mcpServerConfig' => [ + 'description' => 'MCP Server 配置', + 'type' => 'object', + 'properties' => [ + 'path' => ['description' => 'MCP Server 暴露路径', 'type' => 'string', 'example' => '/mcp'], + 'domains' => [ + 'description' => '绑定域名列表', + 'type' => 'array', + 'items' => ['description' => '绑定域名列表', '$ref' => '#/components/schemas/HiMarketDomain'], + ], + ], ], - 'gatewayId' => [ - 'title' => 'API所属网关实例id', - 'description' => 'API所属网关实例id', - 'type' => 'string', - 'example' => 'gw-cpv4sqdl****', + 'meta' => [ + 'description' => '元数据', + 'type' => 'object', + 'properties' => [ + 'protocol' => ['description' => 'MCP 协议类型', 'type' => 'string', 'example' => 'StreamableHTTP'], + ], ], - 'modelCategory' => [ - 'description' => '模型类别', - 'type' => 'string', - 'enumValueTitles' => [ - 'Others' => 'Others', - 'Video' => 'Video', - 'MultiModal' => 'MultiModal', - 'Embedding' => 'Embedding', - 'Text' => 'Text', - 'Image' => 'Image', - 'Audio' => 'Audio', - 'Rerank' => 'Rerank', - ], - 'example' => 'Text', + ], + ], + 'HiMarketModelConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'modelAPIConfig' => [ + 'description' => 'Model API 配置包装', + 'type' => 'object', + 'properties' => [ + 'modelCategory' => ['description' => '模型分类', 'type' => 'string', 'example' => 'Text'], + 'aiProtocols' => [ + 'description' => 'AI 协议列表', + 'type' => 'array', + 'items' => ['description' => 'AI 协议列表', 'type' => 'string', 'example' => '["OpenAI/v1"]'], + ], + 'routes' => [ + 'description' => '路由配置列表', + 'type' => 'array', + 'items' => ['description' => '路由配置列表', '$ref' => '#/components/schemas/HiMarketHttpRoute'], + ], + ], ], - 'protocols' => [ - 'title' => 'API协议列表。', - 'description' => 'API协议列表。', - 'type' => 'array', - 'items' => [ - 'description' => '协议。', - 'type' => 'string', - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', + ], + ], + 'HiMarketModelFeature' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'model' => ['description' => '模型名称', 'type' => 'string', 'example' => 'qwen-max'], + 'maxTokens' => ['description' => '模型支持的最大 Token 数', 'type' => 'integer', 'format' => 'int32', 'example' => '8192'], + 'temperature' => ['description' => '温度参数(控制生成随机性)', 'type' => 'number', 'format' => 'float', 'example' => '0.7'], + 'streaming' => ['description' => '是否支持流式输出', 'type' => 'boolean', 'example' => 'true'], + 'webSearch' => ['description' => '是否支持联网搜索', 'type' => 'boolean', 'example' => 'false'], + 'enableThinking' => ['description' => '是否支持思维链(Thinking)', 'type' => 'boolean', 'example' => 'false'], + 'enableMultiModal' => ['description' => '是否支持多模态输入', 'type' => 'boolean', 'example' => 'false'], + ], + ], + 'HiMarketOidcConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'provider' => ['description' => 'OIDC 提供商名称', 'type' => 'string', 'example' => '阿里云IDaaS'], + 'name' => ['description' => 'OIDC 配置名称', 'type' => 'string', 'example' => 'my-oidc-config'], + 'logoUrl' => ['description' => '提供商 Logo URL', 'type' => 'string', 'example' => 'https://example.com/logo.png'], + 'enabled' => ['description' => '是否启用该 OIDC 配置', 'type' => 'boolean', 'example' => 'true'], + 'grantType' => ['description' => '授权类型', 'type' => 'string', 'example' => 'authorization_code'], + 'authCodeConfig' => [ + 'description' => 'OAuth2 Authorization Code 配置', + 'type' => 'object', + 'properties' => [ + 'clientId' => ['description' => 'OAuth2 客户端 ID', 'type' => 'string', 'example' => 'my-client-id'], + 'clientSecret' => ['description' => 'OAuth2 客户端密钥', 'type' => 'string', 'example' => 'my-client-secret'], + 'scopes' => ['description' => 'OAuth2 授权范围', 'type' => 'string', 'example' => 'openid profile email'], + 'issuer' => ['description' => 'OIDC 签发者 URL', 'type' => 'string', 'example' => 'https://idaas.example.com'], + 'authorizationEndpoint' => ['description' => '授权端点 URL', 'type' => 'string', 'example' => 'https://idaas.example.com/oauth2/authorize'], + 'tokenEndpoint' => ['description' => 'Token 端点 URL', 'type' => 'string', 'example' => 'https://idaas.example.com/oauth2/token'], + 'userInfoEndpoint' => ['description' => 'UserInfo 端点 URL', 'type' => 'string', 'example' => 'https://idaas.example.com/userinfo'], + 'jwkSetUri' => ['description' => 'JWKS 公钥集 URI', 'type' => 'string', 'example' => 'https://idaas.example.com/.well-known/jwks.json'], + 'redirectUri' => ['description' => 'OAuth2 回调地址', 'type' => 'string', 'example' => 'https://gateway.example.com/callback'], + ], + ], + 'identityMapping' => [ + 'description' => '身份字段映射配置', + 'type' => 'object', + 'properties' => [ + 'userIdField' => ['description' => '用户 ID 对应的身份字段名', 'type' => 'string', 'example' => 'sub'], + 'userNameField' => ['description' => '用户名对应的身份字段名', 'type' => 'string', 'example' => 'name'], + 'emailField' => ['description' => '邮箱对应的身份字段名', 'type' => 'string', 'example' => 'email'], + 'customFields' => [ + 'description' => '自定义字段映射', + 'type' => 'object', + 'additionalProperties' => ['description' => '自定义字段映射', 'type' => 'string', 'example' => '{"department":"dept","role":"role"}'], ], - 'example' => 'HTTP', ], ], - 'environments' => [ - 'title' => 'API的发布环境信息。', - 'description' => 'API的发布环境信息。', - 'type' => 'array', - 'items' => [ - 'description' => '单个环境信息。', + ], + ], + 'HiMarketPortalDeployConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'platform' => ['description' => '部署平台类型', 'type' => 'string', 'example' => 'SAE'], + 'status' => ['description' => '部署状态', 'type' => 'string', 'example' => 'Running'], + 'message' => ['description' => '部署状态消息', 'type' => 'string', 'example' => 'message'], + 'saeConfig' => [ + 'description' => 'SAE(Serverless App Engine)部署配置', + 'type' => 'object', + 'properties' => [ + 'oidcRoleName' => ['description' => 'OIDC 角色名称(用于 SAE 访问其他云资源)', 'type' => 'string', 'example' => 'apig-portal-oidc-role'], + 'regionId' => ['description' => 'SAE 所在地域 ID', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'namespaceId' => ['description' => 'SAE 命名空间 ID', 'type' => 'string', 'example' => 'cn-hangzhou:default'], + 'vpcId' => ['description' => 'VPC ID', 'type' => 'string', 'example' => 'vpc-xxx'], + 'vSwitchId' => ['description' => '交换机 ID', 'type' => 'string', 'example' => 'vsw-xxx'], + 'securityGroupId' => ['description' => '安全组 ID', 'type' => 'string', 'example' => 'sg-xxx'], + 'replicas' => ['description' => '实例副本数', 'type' => 'string', 'example' => '2'], + 'appId' => ['description' => 'SAE 应用 ID', 'type' => 'string', 'example' => 'app-xxx'], + ], + ], + ], + ], + 'HiMarketPortalDomainConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'domain' => ['description' => '域名地址', 'type' => 'string', 'example' => 'portal.example.com'], + 'type' => ['description' => '域名类型', 'type' => 'string', 'example' => 'custom'], + 'protocol' => ['description' => '请求协议', 'type' => 'string', 'example' => 'HTTPS'], + ], + ], + 'HiMarketPortalSettingConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'builtinAuthEnabled' => ['description' => '是否启用账号密码认证(内置认证)', 'type' => 'boolean', 'example' => 'true'], + 'autoApproveDevelopers' => ['description' => '是否自动审批开发者注册申请', 'type' => 'boolean', 'example' => 'false'], + 'autoApproveSubscriptions' => ['description' => '是否自动审批 API 订阅请求', 'type' => 'boolean', 'example' => 'false'], + ], + ], + 'HiMarketProductCategory' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'categoryId' => ['description' => '分类 ID', 'type' => 'string', 'example' => 'cat-xxx'], + 'name' => ['description' => '分类名称', 'type' => 'string', 'example' => 'AI网关'], + 'description' => ['description' => '分类描述', 'type' => 'string', 'example' => 'AI网关相关产品分类'], + 'icon' => ['description' => '图标配置', '$ref' => '#/components/schemas/HiMarketIcon'], + ], + ], + 'HiMarketProductFeature' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'modelFeature' => ['description' => '模型能力特性', '$ref' => '#/components/schemas/HiMarketModelFeature'], + ], + ], + 'HiMarketProductPublicationConifg' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'publicationId' => ['description' => '产品发布 ID', 'type' => 'string', 'example' => 'pub-xxx'], + ], + ], + 'HiMarketProductPublicationDetail' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'publicationId' => ['description' => '产品发布 ID', 'type' => 'string', 'example' => 'pub-xxx'], + 'portalId' => ['description' => 'Portal ID', 'type' => 'string', 'example' => 'portal-xxx'], + 'portalName' => ['description' => 'Portal 名称', 'type' => 'string', 'example' => '开发者门户'], + 'productId' => ['description' => '产品 ID', 'type' => 'string', 'example' => 'prod-xxx'], + 'productName' => ['description' => '产品名称', 'type' => 'string', 'example' => 'AI网关API'], + 'productType' => ['description' => '产品类型', 'type' => 'string', 'example' => 'ApiGateway'], + ], + ], + 'HiMarketProductRefConfig' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['description' => '关联的网关 ID', 'type' => 'string', 'example' => 'gw-xxx'], + 'apigRefConfig' => [ + 'description' => 'APIG 资源引用配置', + 'type' => 'object', + 'properties' => [ + 'mcpServerId' => ['description' => '关联的 MCP Server ID', 'type' => 'string', 'example' => 'mcp-xxx'], + 'mcpRouteId' => ['description' => '关联的 MCP 路由 ID', 'type' => 'string', 'example' => 'route-xxx'], + 'mcpServerName' => ['description' => 'MCP Server 名称', 'type' => 'string', 'example' => 'my-mcp-server'], + 'agentApiId' => ['description' => '关联的 Agent API ID', 'type' => 'string', 'example' => 'api-xxx'], + 'agentApiName' => ['description' => 'Agent API 名称', 'type' => 'string', 'example' => 'my-agent-api'], + 'modelApiId' => ['description' => '关联的 Model API ID', 'type' => 'string', 'example' => 'api-yyy'], + 'modelApiName' => ['description' => 'Model API 名称', 'type' => 'string', 'example' => 'qwen-model-api'], + ], + ], + ], + ], + 'HttpApiApiInfo' => [ + 'alibabaCloud' => 'alibabaCloud:1.0.0', + 'info' => ['runtimeType' => 'pop', 'namespace' => 'APIG::2024-03-27', 'apiStyle' => 'restful'], + 'components' => [ + 'schemas' => [ + 'HttpApiApiInfo' => [ + 'title' => 'ApiInfo', + 'description' => 'HTTP API数据结构', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID。', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-xxx', - ], - 'backendScene' => [ - 'title' => '发布场景。', - 'description' => '发布场景。', - 'type' => 'string', - 'enumValueTitles' => [ - 'SingleService' => '单服务', - 'MultiServiceByRatio' => '按比例', - 'MultiServiceByContent' => '按内容', - 'MultiServiceByTag' => '按标签', - 'Mock' => 'Mock', - ], - 'example' => 'SingleService', - ], - 'backendType' => [ - 'title' => '后端类型。', - 'description' => '后端类型。', - 'type' => 'string', - 'enumValueTitles' => [ - 'DNS' => 'DNS域名', - 'Service' => '已有服务', - 'VIP' => '固定地址', - 'CloudProduct' => '云产品配置', - ], - 'example' => 'Service', - ], - 'serviceConfigs' => [ - 'title' => '已有服务配置。', - 'description' => '已有服务配置。', + 'httpApiId' => ['title' => 'HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-xxx', 'backendName' => 'httpApiId'], + 'name' => ['title' => 'API名称。', 'type' => 'string', 'example' => 'test', 'backendName' => 'name'], + 'protocols' => [ + 'title' => 'API协议列表。', + 'type' => 'array', + 'items' => ['type' => 'string', 'example' => 'HTTP'], + 'backendName' => 'protocols', + ], + 'basePath' => ['title' => 'API基础路径。', 'type' => 'string', 'example' => '/v1', 'backendName' => 'basePath'], + 'description' => ['title' => 'API描述。', 'type' => 'string', 'backendName' => 'description'], + 'versionInfo' => ['title' => 'API版本控制信息。', 'backendName' => 'versionInfo', '$ref' => '#/components/schemas/HttpApiVersionInfo'], + 'environments' => [ + 'title' => 'API的发布环境信息。', 'type' => 'array', 'items' => [ - 'description' => '参数', 'type' => 'object', 'properties' => [ - 'gatewayServiceId' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'gs-xxx', - ], - 'name' => [ - 'title' => '服务名', - 'description' => '服务名', - 'type' => 'string', - 'example' => 'demo-service', - ], - 'protocol' => [ - 'title' => '协议', - 'description' => '协议', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'port' => [ - 'title' => '服务端口。', - 'description' => '服务端口。', - 'type' => 'string', - 'example' => '8080', - ], - 'weight' => [ - 'title' => '权重。', - 'description' => '权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', + 'environmentId' => ['title' => '环境ID。', 'type' => 'string', 'example' => 'env-xxx', 'backendName' => 'environmentId'], + 'backendScene' => ['title' => '发布场景。', 'type' => 'string', 'example' => 'SingleService', 'backendName' => 'backendScene'], + 'backendType' => ['title' => '后端类型。', 'type' => 'string', 'example' => 'Service', 'backendName' => 'backendType'], + 'serviceConfigs' => [ + 'title' => '已有服务配置。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'gatewayServiceId' => ['title' => '服务ID。', 'type' => 'string', 'example' => 'gs-xxx', 'backendName' => 'gatewayServiceId'], + 'name' => ['title' => '服务名', 'type' => 'string', 'example' => 'demo-service', 'backendName' => 'name'], + 'protocol' => ['title' => '协议', 'type' => 'string', 'example' => 'HTTP', 'backendName' => 'protocol'], + 'port' => ['title' => '服务端口。', 'type' => 'string', 'example' => '8080', 'backendName' => 'port'], + 'weight' => ['title' => '权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100', 'backendName' => 'weight'], + 'version' => ['title' => '服务版本。', 'type' => 'string', 'example' => 'v1', 'backendName' => 'version'], + 'match' => ['title' => '匹配条件。', 'backendName' => 'match', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], + 'serviceId' => ['title' => '服务ID。', 'type' => 'string', 'example' => 'svc-xxx', 'backendName' => 'serviceId'], + ], + ], + 'backendName' => 'serviceConfigs', ], - 'version' => [ - 'title' => '服务版本。', - 'description' => '服务版本。', - 'type' => 'string', - 'example' => 'v1', + 'customDomains' => [ + 'title' => '用户发布的域名信息。', + 'type' => 'array', + 'items' => ['$ref' => '#/components/schemas/HttpApiDomainInfo'], + 'backendName' => 'customDomains', ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', + 'name' => ['title' => '环境名称。', 'type' => 'string', 'example' => 'test', 'backendName' => 'name'], + 'alias' => ['title' => '环境别名。', 'type' => 'string', 'example' => 'test', 'backendName' => 'alias'], + 'gatewayInfo' => [ + 'title' => '当前环境所属网关实例信息。', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['title' => '网关实例ID。', 'type' => 'string', 'example' => 'gw-xxx', 'backendName' => 'gatewayId'], + 'name' => ['title' => '网关实例名称。', 'type' => 'string', 'example' => 'test', 'backendName' => 'name'], + ], + 'backendName' => 'gatewayInfo', ], - 'serviceId' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'svc-xxx', + 'deployStatus' => ['title' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => 'Deployed', 'backendName' => 'deployStatus'], + 'subDomains' => [ + 'title' => '环境默认域名列表。', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'domainId' => ['title' => '域名ID。', 'type' => 'string', 'example' => 'd-xxx', 'backendName' => 'domainId'], + 'name' => ['title' => '域名。', 'type' => 'string', 'example' => 'www.example.com', 'backendName' => 'name'], + 'protocol' => ['title' => '访问协议。', 'type' => 'string', 'example' => 'HTTP', 'backendName' => 'protocol'], + 'networkType' => ['title' => '网络类型。', 'type' => 'string', 'example' => 'Internet', 'backendName' => 'networkType'], + ], + ], + 'backendName' => 'subDomains', ], ], ], + 'backendName' => 'environments', ], - 'customDomains' => [ - 'title' => '用户发布的域名信息。', - 'description' => '用户发布的域名信息。', - 'type' => 'array', - 'items' => [ - 'description' => '域名信息。', - '$ref' => '#/components/schemas/HttpApiDomainInfo', - ], - ], - 'name' => [ - 'title' => '环境名称。', - 'description' => '环境名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'alias' => [ - 'title' => '环境别名。', - 'description' => '环境别名。', - 'type' => 'string', - 'example' => 'test', - ], - 'gatewayInfo' => [ - 'title' => '当前环境所属网关实例信息。', - 'description' => '当前环境所属网关实例信息。', + 'ingressInfo' => [ + 'title' => 'Http Ingress Api的信息', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'title' => '网关实例ID。', - 'description' => '网关实例ID。', - 'type' => 'string', - 'example' => 'gw-xxx', + 'sourceId' => ['title' => '来源ID', 'type' => 'string', 'backendName' => 'sourceId'], + 'ingressClass' => ['title' => '监听的Ingress Class', 'type' => 'string', 'backendName' => 'ingressClass'], + 'watchNamespace' => ['title' => '监听的命名空间', 'type' => 'string', 'backendName' => 'watchNamespace'], + 'environmentInfo' => [ + 'title' => '环境信息', + 'type' => 'object', + 'properties' => [ + 'environmentId' => ['title' => '环境ID', 'type' => 'string', 'backendName' => 'environmentId'], + ], + 'backendName' => 'environmentInfo', ], - 'name' => [ - 'title' => '网关实例名称。', - 'description' => '网关实例名称。', - 'type' => 'string', - 'example' => 'test', + 'k8sClusterInfo' => [ + 'title' => 'k8s集群信息', + 'type' => 'object', + 'properties' => [ + 'clusterId' => ['title' => '集群ID', 'type' => 'string', 'backendName' => 'clusterId'], + ], + 'backendName' => 'k8sClusterInfo', ], + 'overrideIngressIp' => ['title' => '是否更新Ingress Status里的地址', 'type' => 'boolean', 'backendName' => 'overrideIngressIp'], ], + 'backendName' => 'ingressInfo', ], - 'deployStatus' => [ - 'title' => 'API在当前环境的发布状态', - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => 'Deployed', + 'type' => ['title' => 'API类型', 'type' => 'string', 'example' => 'Rest', 'backendName' => 'type'], + 'resourceGroupId' => ['title' => '资源组ID', 'type' => 'string', 'example' => 'rg-xxx', 'backendName' => 'resourceGroupId'], + 'aiProtocols' => [ + 'title' => 'AI协议', + 'type' => 'array', + 'items' => ['type' => 'string'], + 'backendName' => 'aiProtocols', ], - 'subDomains' => [ - 'title' => '环境默认域名列表。', - 'description' => '环境默认域名列表。', + 'deployConfigs' => [ + 'title' => 'API部署配置', 'type' => 'array', - 'items' => [ - 'description' => '参数', + 'items' => ['$ref' => '#/components/schemas/HttpApiDeployConfig'], + 'backendName' => 'deployConfigs', + ], + 'enabelAuth' => ['title' => '是否开启认证', 'type' => 'boolean', 'backendName' => 'enabelAuth'], + 'authConfig' => ['title' => '认证配置', 'backendName' => 'authConfig', '$ref' => '#/components/schemas/AuthConfig'], + 'deployCntMap' => [ + 'title' => 'API接口发布状态。', + 'type' => 'object', + 'additionalProperties' => [ 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => '域名ID。', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-xxx', - ], - 'name' => [ - 'title' => '域名。', - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], - 'protocol' => [ - 'title' => '访问协议。', - 'description' => '访问协议。', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'networkType' => [ - 'title' => '网络类型。', - 'description' => '网络类型。', - 'type' => 'string', - 'example' => 'Internet', - ], + 'deployedCnt' => ['title' => '已经发布接口数量', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'deployedCnt'], + 'Cnt' => ['title' => '接口总数量', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'cnt'], ], ], + 'backendName' => 'deployCntMap', ], + 'gatewayId' => ['title' => 'API所属网关实例id', 'type' => 'string', 'backendName' => 'gatewayId'], ], ], ], - 'aiProtocols' => [ - 'title' => 'AI协议', - 'description' => 'AI协议列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'AI协议。', - 'type' => 'string', - 'enumValueTitles' => [ - 'OpenAI/v1' => 'OpenAI/v1', - ], - 'example' => 'OpenAI/v1', - ], - ], - 'deployConfigs' => [ - 'title' => 'API部署配置', - 'description' => 'API部署配置列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'API部署配置。', - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], - ], - 'deployCntMap' => [ - 'title' => 'API接口发布状态。', - 'description' => 'API接口发布状态。', - 'type' => 'object', - 'additionalProperties' => [ - 'description' => 'API接口发布状态。', - 'type' => 'object', - 'properties' => [ - 'deployedCnt' => [ - 'title' => '已经发布接口数量', - 'description' => 'API接口发布数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'Cnt' => [ - 'title' => '接口总数量', - 'description' => 'API接口总数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', - ], - ], - ], - ], - 'agentProtocols' => [ - 'description' => 'Agent协议列表', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'enumValueTitles' => [ - 'DashScope' => 'DashScope', - 'Dify' => 'Dify', - 'Custom' => 'Custom', - ], - 'example' => 'DashScope', - ], - ], ], ], 'HttpApiBackendMatchCondition' => [ @@ -1656,33 +1558,16 @@ 'title' => '匹配类型。', 'description' => '匹配类型,支持Query参数或Header参数匹配。', 'type' => 'string', - 'enumValueTitles' => [ - 'Query' => 'Query', - 'Header' => 'Header', - ], + 'enumValueTitles' => ['Query' => 'Query', 'Header' => 'Header'], 'example' => 'Query', ], - 'key' => [ - 'title' => '匹配Key。', - 'description' => '匹配Key。', - 'type' => 'string', - 'example' => 'color', - ], - 'value' => [ - 'title' => '匹配值。', - 'description' => '匹配值。', - 'type' => 'string', - 'example' => 'gray', - ], + 'key' => ['title' => '匹配Key。', 'description' => '匹配Key。', 'type' => 'string', 'example' => 'color'], + 'value' => ['title' => '匹配值。', 'description' => '匹配值。', 'type' => 'string', 'example' => 'gray'], 'operator' => [ 'title' => '操作符。', 'description' => '操作符,支持精确匹配、前缀匹配、正则表达式三种方式。', 'type' => 'string', - 'enumValueTitles' => [ - 'equal' => 'equal', - 'regex' => 'regex', - 'prefix' => 'prefix', - ], + 'enumValueTitles' => ['equal' => 'equal', 'regex' => 'regex', 'prefix' => 'prefix'], 'example' => 'equal', ], ], @@ -1692,20 +1577,12 @@ 'description' => 'API发布相关的匹配条件配置。', 'type' => 'object', 'properties' => [ - 'default' => [ - 'title' => '是否默认匹配条件。', - 'description' => '是否默认匹配条件。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'default' => ['title' => '是否默认匹配条件。', 'description' => '是否默认匹配条件。', 'type' => 'boolean', 'example' => 'true'], 'conditions' => [ 'title' => '匹配条件。', 'description' => '匹配条件配置。', 'type' => 'array', - 'items' => [ - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchCondition', - ], + 'items' => ['description' => '匹配条件。', '$ref' => '#/components/schemas/HttpApiBackendMatchCondition'], ], ], ], @@ -1714,59 +1591,31 @@ 'description' => 'AI API相关配置。', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID。', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-xxx', - ], + 'environmentId' => ['title' => '环境ID。', 'description' => '环境ID。', 'type' => 'string', 'example' => 'env-xxx'], 'backendScene' => [ 'title' => '发布场景。', 'description' => '发布场景。', 'type' => 'string', + 'enumValueTitles' => ['SingleService' => '单服务发布'], 'example' => 'SingleService', ], - 'autoDeploy' => [ - 'title' => '是否自动部署。', - 'description' => '是否自动部署。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'gatewayId' => [ - 'title' => '网关实例ID。', - 'description' => '网关实例ID。', - 'type' => 'string', - 'example' => 'gw-xx', - ], - 'routeBackend' => [ - 'description' => '后端服务信息。', - '$ref' => '#/components/schemas/Backend', - ], - 'gatewayInfo' => [ - 'title' => '网关信息。', - 'description' => '网关信息。', - '$ref' => '#/components/schemas/GatewayInfo', - ], - 'mock' => [ - 'title' => 'Mock配置。', - 'description' => 'Mock配置。', - '$ref' => '#/components/schemas/HttpApiMockContract', - ], - 'gatewayType' => [ - 'title' => '网关类型', - 'description' => '网关类型', - 'type' => 'string', - 'example' => 'API', - ], + 'autoDeploy' => ['title' => '是否自动部署。', 'description' => '是否自动部署。', 'type' => 'boolean', 'example' => 'true'], + 'gatewayId' => ['title' => '网关实例ID。', 'description' => '网关实例ID。', 'type' => 'string', 'example' => 'gw-xx'], + 'routeBackend' => ['description' => '后端服务信息。', '$ref' => '#/components/schemas/Backend'], + 'gatewayInfo' => ['title' => '网关信息。', 'description' => '网关信息。', '$ref' => '#/components/schemas/GatewayInfo'], + 'mock' => ['title' => 'Mock配置。', 'description' => 'Mock配置。', '$ref' => '#/components/schemas/HttpApiMockContract'], + 'gatewayType' => ['title' => '网关类型', 'description' => '网关类型', 'type' => 'string', 'example' => 'API'], 'customDomainIds' => [ 'title' => '用户自定义域名ID列表。', 'description' => '用户自定义域名ID列表。', 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-xxx', - ], + 'items' => ['description' => '域名ID。', 'type' => 'string', 'example' => 'd-xxx'], + ], + 'envDomainIds' => [ + 'title' => '环境域名ID列表。未传表示绑定全部环境域名,空数组表示不绑定环境域名。', + 'description' => '环境域名ID列表。未传表示绑定全部环境域名,空数组表示不绑定环境域名。', + 'type' => 'array', + 'items' => ['description' => '环境域名 ID 列表', 'type' => 'string', 'example' => 'd-xxx'], ], 'serviceConfigs' => [ 'title' => '服务配置列表。', @@ -1776,69 +1625,21 @@ 'description' => '已有服务配置。', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'svc-xxx', - ], - 'weight' => [ - 'title' => '服务权重。', - 'description' => '服务权重。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'modelNamePattern' => [ - 'title' => '模型名称匹配规则', - 'description' => '模型名称匹配规则', - 'type' => 'string', - 'example' => 'qwen-*', - ], - 'modelName' => [ - 'title' => '模型名称', - 'description' => '模型名称', - 'type' => 'string', - 'example' => 'qwen-max', - ], - 'intentCode' => [ - 'description' => '意图编码', - 'type' => 'string', - 'example' => 'INQUIRY', - ], - 'match' => [ - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', - ], - 'port' => [ - 'description' => '服务端口号', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '80', - ], - 'protocol' => [ - 'description' => '服务协议(HTTP/HTTPS)', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'gatewayServiceId' => [ - 'description' => '网关服务ID', - 'type' => 'string', - 'example' => 'gw-svc-abc123', - ], - 'name' => [ - 'description' => '服务显示名称', - 'type' => 'string', - 'example' => 'Qwen-Max-Service', - ], - 'version' => [ - 'description' => '服务版本标签', - 'type' => 'string', - 'example' => 'V2', - ], + 'serviceId' => ['title' => '服务ID。', 'description' => '服务ID。', 'type' => 'string', 'example' => 'svc-xxx'], + 'weight' => ['title' => '服务权重。', 'description' => '服务权重。', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'modelNamePattern' => ['title' => '模型名称匹配规则', 'description' => '模型名称匹配规则', 'type' => 'string', 'example' => 'qwen-*'], + 'modelName' => ['title' => '模型名称', 'description' => '模型名称', 'type' => 'string', 'example' => 'qwen-max'], + 'intentCode' => ['description' => '意图编码', 'type' => 'string', 'example' => 'INQUIRY'], + 'match' => ['description' => '匹配条件。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], + 'port' => ['description' => '服务端口号', 'type' => 'integer', 'format' => 'int32', 'example' => '80'], + 'protocol' => ['description' => '服务协议(HTTP/HTTPS)', 'type' => 'string', 'example' => 'HTTP'], + 'gatewayServiceId' => ['description' => '网关服务ID', 'type' => 'string', 'example' => 'gw-svc-abc123'], + 'name' => ['description' => '服务显示名称', 'type' => 'string', 'example' => 'Qwen-Max-Service'], + 'version' => ['description' => '服务版本标签', 'type' => 'string', 'example' => 'V2'], 'multiServiceRouteStrategy' => [ 'description' => '多服务路由策略类型', 'type' => 'string', + 'enumValueTitles' => ['ByWeight' => '按权重路由'], 'example' => 'ByWeight', ], 'observabilityRouteConfig' => [ @@ -1848,25 +1649,11 @@ 'mode' => [ 'description' => '路由模式', 'type' => 'string', - 'enumValueTitles' => [ - 'LeastBusy' => 'LeastBusy', - 'LeastFirstTokenLatency' => 'LeastFirstTokenLatency', - 'LeastTotalLatency' => 'LeastTotalLatency', - ], + 'enumValueTitles' => ['LeastBusy' => '最少繁忙,选择负载最低的服务', 'LeastFirstTokenLatency' => '最小首Token延迟,选择首字节返回最快的服务', 'LeastTotalLatency' => '最小总延迟,选择整体响应最快的服务'], 'example' => 'LeastBusy', ], - 'rateLimit' => [ - 'description' => '单个服务最大流量占比', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.8', - ], - 'queueSize' => [ - 'description' => '队列大小', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], + 'rateLimit' => ['description' => '单个服务最大流量占比', 'type' => 'number', 'format' => 'float', 'example' => '0.8'], + 'queueSize' => ['description' => '队列大小', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], ], ], ], @@ -1876,475 +1663,33 @@ 'title' => '策略配置列表。', 'description' => '策略配置列表。', 'type' => 'array', + 'items' => ['description' => '策略配置列表。', '$ref' => '#/components/schemas/HttpApiPolicyConfigs'], + ], + 'customDomainInfos' => [ + 'title' => '用户自定义域名内容列表。', + 'description' => '用户自定义域名内容列表。', + 'type' => 'array', 'items' => [ - 'description' => '策略配置列表。', + 'description' => '用户自定义域名内容列表。', 'type' => 'object', 'properties' => [ - 'type' => [ - 'title' => '策略类型。', - 'description' => '策略类型。', - 'type' => 'string', - 'example' => 'AiFallback', - ], - 'enable' => [ - 'title' => '是否启用。', - 'description' => '是否启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'aiFallbackConfig' => [ - 'title' => 'AiFallback策略配置', - 'description' => 'AiFallback策略配置', - 'type' => 'object', - 'properties' => [ - 'serviceConfigs' => [ - 'title' => '服务配置列表', - 'description' => '服务配置列表', - 'type' => 'array', - 'items' => [ - 'description' => '服务配置列表。', - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'title' => '服务id', - 'description' => '服务id', - 'type' => 'string', - 'example' => 'svc-******', - ], - 'targetModelName' => [ - 'title' => 'targetModelName', - 'description' => '目标模型名称', - 'type' => 'string', - 'example' => 'gpt-4/llama3-70b', - ], - ], - ], - ], - ], - ], - 'aiSecurityGuardConfig' => [ - 'description' => '循环规则。', - 'type' => 'object', - 'properties' => [ - 'serviceAddress' => [ - 'description' => '服务地址,用于指定后端服务的网络位置', - 'type' => 'string', - 'example' => 'https://api.example.com/v1', - ], - 'checkRequest' => [ - 'description' => '是否启用请求校验', - 'type' => 'boolean', - 'example' => 'true', - ], - 'checkResponse' => [ - 'description' => '是否启用响应校验', - 'type' => 'boolean', - 'example' => 'true', - ], - 'checkRequestImage' => [ - 'description' => '是否启用请求中的图像内容校验', - 'type' => 'boolean', - 'example' => 'true', - ], - 'checkResponseImage' => [ - 'description' => '是否启用响应中的图像内容校验', - 'type' => 'boolean', - 'example' => 'true', - ], - 'requestCheckService' => [ - 'description' => '用于请求校验的外部服务地址或配置', - 'type' => 'string', - 'example' => 'https://checker.example.com/validate-request', - ], - 'responseCheckService' => [ - 'description' => '用于响应校验的外部服务地址或配置', - 'type' => 'string', - 'example' => 'https://checker.example.com/validate-response', - ], - 'requestImageCheckService' => [ - 'description' => '用于请求中图像内容校验的外部服务地址或配置', - 'type' => 'string', - 'example' => 'https://image-checker.example.com/scan', - ], - 'responseImageCheckService' => [ - 'description' => '用于响应中图像内容校验的外部服务地址或配置', - 'type' => 'string', - 'example' => 'https://image-checker.example.com/scan-response', - ], - 'riskAlertLevel' => [ - 'description' => '风险告警级别,用于标识内容或行为的风险等级', - 'type' => 'string', - 'example' => 'low/medium/high', - ], - 'riskConfig' => [ - 'description' => '循环规则。', - 'type' => 'array', - 'items' => [ - 'description' => '循环规则。', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => '策略类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'level' => [ - 'description' => '冲突等级,类型string。取值:'."\n" - ."\n" - .'- Critical'."\n" - ."\n" - .'- Warning'."\n" - ."\n" - .'- Informational', - 'type' => 'string', - 'example' => 'Critical', - ], - 'consumerRules' => [ - 'description' => '循环规则。', - 'type' => 'object', - 'properties' => [ - 'pattern' => [ - 'description' => '当type=relativeMonthly时,用于指定每月第几周:'."\n" - ."\n" - .'- first:第一周'."\n" - ."\n" - .'- second:第二周'."\n" - ."\n" - .'- third:第三周'."\n" - ."\n" - .'- fourth:第四周'."\n" - ."\n" - .'- last:最后一周'."\n", - 'type' => 'string', - 'example' => 'first', - ], - 'matchType' => [ - 'description' => '查询匹配类型'."\n" - .'- term:精确匹配'."\n" - .'- regex:正则匹配'."\n" - .'- phrase:短语匹配,默认方式'."\n" - .'- wildcard:模糊匹配', - 'type' => 'string', - 'example' => 'term', - ], - ], - ], - ], - ], - ], - 'bufferLimit' => [ - 'description' => '缓冲区大小上限(字节)', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'consumerRequestCheckService' => [ - 'description' => '消费者请求校验服务', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '名称', - 'type' => 'string', - 'example' => 'API', - ], - 'requestCheckService' => [ - 'description' => '请求校验服务', - 'type' => 'string', - 'example' => 'https://checker.example.com/validate', - ], - 'requestImageCheckService' => [ - 'description' => '请求图像校验服务', - 'type' => 'string', - 'example' => 'https://image-check.example.com/scan', - ], - 'matchType' => [ - 'description' => '匹配类型', - 'type' => 'string', - 'example' => 'exact/prefix', - ], - 'modalityType' => [ - 'description' => '模态类型', - 'type' => 'string', - 'example' => 'text/image', - ], - ], - ], - ], - 'consumerResponseCheckService' => [ - 'description' => '消费者响应校验服务', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '名称', - 'type' => 'string', - 'example' => 'AI_API', - ], - 'responseCheckService' => [ - 'description' => '响应校验服务', - 'type' => 'string', - 'example' => 'https://checker.example.com/validate-response', - ], - 'responseImageCheckService' => [ - 'description' => '响应图像校验服务', - 'type' => 'string', - 'example' => 'https://image-check.example.com/scan-response', - ], - 'matchType' => [ - 'description' => '查询匹配类型'."\n" - .'- term:精确匹配'."\n" - .'- regex:正则匹配'."\n" - .'- phrase:短语匹配,默认方式'."\n" - .'- wildcard:模糊匹配', - 'type' => 'string', - 'example' => 'term', - ], - 'modalityType' => [ - 'description' => '模态类型', - 'type' => 'string', - 'example' => 'text/image', - ], - ], - ], - ], - 'consumerRiskLevel' => [ - 'description' => '消费者风险等级', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '参数名称', - 'type' => 'string', - 'example' => 'APIG-UI', - ], - 'matchType' => [ - 'description' => '查询匹配类型'."\n" - .'- term:精确匹配'."\n" - .'- regex:正则匹配'."\n" - .'- phrase:短语匹配,默认方式'."\n" - .'- wildcard:模糊匹配', - 'type' => 'string', - 'example' => 'term', - ], - 'type' => [ - 'description' => '后端服务场景:'."\n" - ."\n" - .'- Single: 单服务。'."\n" - .'- GrayByWeight: 按比例路由灰度。'."\n" - .'- GrayByLabel: 按标签路由灰度。'."\n" - .'- Mock: Mock路由。'."\n" - .'- Redirect: 重定向路由。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'level' => [ - 'description' => '冲突等级,类型string。取值:'."\n" - ."\n" - .'- Critical'."\n" - ."\n" - .'- Warning'."\n" - ."\n" - .'- Informational', - 'type' => 'string', - 'example' => 'Critical', - ], - ], - ], - ], - ], - ], - 'aiTokenRateLimitConfig' => [ - 'description' => 'AI 令牌速率限制配置', - 'type' => 'object', - 'properties' => [ - 'rules' => [ - 'description' => '校验或处理规则列表', - 'type' => 'array', - 'items' => [ - 'description' => '校验或处理规则列表', - 'type' => 'object', - 'properties' => [ - 'limitType' => [ - 'description' => '限流类型', - 'type' => 'string', - 'example' => 'request/token', - 'enum' => [ - 'Header', - 'Parameter', - 'Consumer', - 'Cookie', - 'IP', - 'Request', - 'Concurrency', - 'Model', - 'Global', - ], - ], - 'matchKey' => [ - 'description' => '匹配键', - 'type' => 'string', - 'example' => 'user_id/api_path', - ], - 'matchType' => [ - 'description' => '查询匹配类型'."\n" - .'- term:精确匹配'."\n" - .'- regex:正则匹配'."\n" - .'- phrase:短语匹配,默认方式'."\n" - .'- wildcard:模糊匹配', - 'type' => 'string', - 'example' => 'term', - 'enum' => [ - 'Exact', - 'Prefix', - 'Regex', - 'All', - 'IP', - ], - ], - 'matchValue' => [ - 'description' => '匹配值', - 'type' => 'string', - 'example' => 'user123', - ], - 'limitMode' => [ - 'description' => '限流模式', - 'type' => 'string', - 'example' => 'local', - 'enum' => [ - 'TokenPerSecond', - 'TokenPerMinute', - 'TokenPerHour', - 'TokenPerDay', - 'RequestPerSecond', - 'RequestPerMinute', - 'RequestPerHour', - 'RequestPerDay', - 'ConcurrencyLimit', - ], - ], - 'limitValue' => [ - 'description' => '限流值', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], - ], - 'globalRules' => [ - 'description' => '全局规则', - 'type' => 'array', - 'items' => [ - 'description' => '全局规则', - 'type' => 'object', - 'properties' => [ - 'limitType' => [ - 'description' => '限流类型', - 'type' => 'string', - 'example' => 'request', - 'enum' => [ - 'Header', - 'Parameter', - 'Consumer', - 'Cookie', - 'IP', - 'Request', - 'Concurrency', - 'Model', - 'Global', - ], - ], - 'matchKey' => [ - 'description' => '匹配键', - 'type' => 'string', - 'example' => 'user_id', - ], - 'matchType' => [ - 'description' => '查询匹配类型'."\n" - .'- term:精确匹配'."\n" - .'- regex:正则匹配'."\n" - .'- phrase:短语匹配,默认方式'."\n" - .'- wildcard:模糊匹配', - 'type' => 'string', - 'example' => 'term', - 'enum' => [ - 'Exact', - 'Prefix', - 'Regex', - 'All', - 'IP', - ], - ], - 'matchValue' => [ - 'description' => '匹配值', - 'type' => 'string', - 'example' => 'user123', - ], - 'limitMode' => [ - 'description' => '限流模式', - 'type' => 'string', - 'example' => 'local', - 'enum' => [ - 'TokenPerSecond', - 'TokenPerMinute', - 'TokenPerHour', - 'TokenPerDay', - 'RequestPerSecond', - 'RequestPerMinute', - 'RequestPerHour', - 'RequestPerDay', - 'ConcurrencyLimit', - ], - ], - 'limitValue' => [ - 'description' => '限流值', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - ], - ], - ], - 'enableGlobalRules' => [ - 'description' => '是否启用全局规则', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], + 'domainId' => ['title' => '域名ID。', 'description' => '域名ID。', 'type' => 'string', 'example' => 'd-cshee6dlhtgk******'], + 'name' => ['title' => '域名名称。', 'description' => '域名名称。', 'type' => 'string', 'example' => 'hello-server.com'], + 'protocol' => ['title' => '协议。', 'description' => '协议。', 'type' => 'string', 'example' => 'HTTP'], ], ], ], - 'customDomainInfos' => [ - 'title' => '用户自定义域名内容列表。', - 'description' => '用户自定义域名内容列表。', + 'envDomainInfos' => [ + 'title' => '环境域名内容列表。', + 'description' => '环境域名内容列表。', 'type' => 'array', 'items' => [ - 'description' => '用户自定义域名内容列表。', + 'description' => '环境域名内容列表', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => '域名ID。', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-cshee6dlhtgk******', - ], - 'name' => [ - 'title' => '域名名称。', - 'description' => '域名名称。', - 'type' => 'string', - 'example' => 'hello-server.com', - ], - 'protocol' => [ - 'title' => '协议。', - 'description' => '协议。', - 'type' => 'string', - 'example' => 'HTTP', - ], + 'domainId' => ['title' => '域名ID。', 'description' => '域名ID。', 'type' => 'string', 'example' => 'd-env-xxx'], + 'name' => ['title' => '域名名称。', 'description' => '域名名称。', 'type' => 'string', 'example' => 'api.example.com'], + 'protocol' => ['title' => '协议。', 'description' => '协议。', 'type' => 'string', 'example' => 'HTTPS'], ], ], ], @@ -2356,33 +1701,18 @@ 'description' => '网络类型。', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => '域名ID。', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-csmn42um******', - ], - 'name' => [ - 'title' => '域名名称。', - 'description' => '域名名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'protocol' => [ - 'title' => '协议。', - 'description' => '协议。', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'networkType' => [ - 'title' => '网络类型。', - 'description' => '网络类型。', - 'type' => 'string', - 'example' => 'Intranet', - ], + 'domainId' => ['title' => '域名ID。', 'description' => '域名ID。', 'type' => 'string', 'example' => 'd-csmn42um******'], + 'name' => ['title' => '域名名称。', 'description' => '域名名称。', 'type' => 'string', 'example' => 'test'], + 'protocol' => ['title' => '协议。', 'description' => '协议。', 'type' => 'string', 'example' => 'HTTP'], + 'networkType' => ['title' => '网络类型。', 'description' => '网络类型。', 'type' => 'string', 'example' => 'Intranet'], ], ], ], + 'builtinRouteNames' => [ + 'description' => '内置路由名称列表', + 'type' => 'array', + 'items' => ['description' => '列表', 'type' => 'string', 'example' => '["chat","completions"]'], + ], ], ], 'HttpApiDomainInfo' => [ @@ -2390,68 +1720,39 @@ 'description' => 'HTTP API域名信息', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => '域名ID。', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-xxx', - ], - 'name' => [ - 'title' => '域名。', - 'description' => '域名。', - 'type' => 'string', - 'example' => 'www.example.com', - ], + 'domainId' => ['title' => '域名ID。', 'description' => '域名ID。', 'type' => 'string', 'example' => 'd-xxx'], + 'name' => ['title' => '域名。', 'description' => '域名。', 'type' => 'string', 'example' => 'www.example.com'], 'protocol' => [ 'title' => '协议。', 'description' => '协议。', 'type' => 'string', - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], 'example' => 'HTTP', ], ], ], 'HttpApiInfoByName' => [ - 'title' => 'HttpApiInfoByName', - 'description' => '按照API名称分组的API列表。', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'title' => 'API名称。', - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'test-api', - ], - 'versionEnabled' => [ - 'title' => '是否开启版本管理。', - 'description' => '是否开启版本管理。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'versionedHttpApis' => [ - 'title' => '版本化的API版本信息。', - 'description' => '版本化的API版本信息。', - 'type' => 'array', - 'items' => [ - 'description' => 'API信息。', - '$ref' => '#/components/schemas/HttpApiApiInfo', + 'alibabaCloud' => 'alibabaCloud:1.0.0', + 'info' => ['runtimeType' => 'pop', 'namespace' => 'APIG::2024-03-27', 'apiStyle' => 'restful'], + 'components' => [ + 'schemas' => [ + 'HttpApiInfoByName' => [ + 'title' => 'HttpApiInfoByName', + 'type' => 'object', + 'properties' => [ + 'name' => ['title' => 'API名称。', 'type' => 'string', 'example' => 'test-api', 'backendName' => 'name'], + 'versionEnabled' => ['title' => '是否开启版本管理。', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'versionEnabled'], + 'versionedHttpApis' => [ + 'title' => '版本化的API版本信息。', + 'type' => 'array', + 'items' => ['$ref' => '#/components/schemas/HttpApiApiInfo'], + 'backendName' => 'versionedHttpApis', + ], + 'type' => ['title' => 'Http API的类型', 'type' => 'string', 'example' => 'Http', 'backendName' => 'type'], + 'GatewayId' => ['title' => '网关Id', 'type' => 'string', 'example' => 'gw-xx', 'backendName' => 'gatewayId'], + ], ], ], - 'type' => [ - 'title' => 'Http API的类型', - 'description' => 'Http API的类型', - 'type' => 'string', - 'example' => 'Http', - ], - 'GatewayId' => [ - 'title' => '网关Id', - 'description' => '网关Id', - 'type' => 'string', - 'example' => 'gw-xx', - ], ], ], 'HttpApiMockContract' => [ @@ -2459,25 +1760,9 @@ 'description' => 'API接口的Mock配置。', 'type' => 'object', 'properties' => [ - 'enable' => [ - 'title' => '是否启用Mock。', - 'description' => '是否启用Mock。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'responseCode' => [ - 'title' => '响应码。', - 'description' => '响应码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'responseContent' => [ - 'title' => '响应内容。', - 'description' => '响应内容。', - 'type' => 'string', - 'example' => 'Mock测试', - ], + 'enable' => ['title' => '是否启用Mock。', 'description' => '是否启用Mock。', 'type' => 'boolean', 'example' => 'false'], + 'responseCode' => ['title' => '响应码。', 'description' => '响应码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'responseContent' => ['title' => '响应内容。', 'description' => '响应内容。', 'type' => 'string', 'example' => 'Mock测试'], ], ], 'HttpApiOperation' => [ @@ -2490,167 +1775,55 @@ 'description' => '方法。', 'type' => 'string', 'required' => true, - 'enumValueTitles' => [ - 'TRACE' => 'TRACE', - 'HEAD' => 'HEAD', - 'DELETE' => 'DELETE', - 'POST' => 'POST', - 'GET' => 'GET', - 'CONNECT' => 'CONNECT', - 'OPTIONS' => 'OPTIONS', - 'PUT' => 'PUT', - 'PATCH' => 'PATCH', - ], + 'enumValueTitles' => ['TRACE' => 'TRACE', 'HEAD' => 'HEAD', 'DELETE' => 'DELETE', 'POST' => 'POST', 'GET' => 'GET', 'CONNECT' => 'CONNECT', 'OPTIONS' => 'OPTIONS', 'PUT' => 'PUT', 'PATCH' => 'PATCH'], 'example' => 'GET', ], - 'name' => [ - 'title' => '接口名称。', - 'description' => '接口名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'GetUserInfo', - ], - 'path' => [ - 'title' => '接口路径。', - 'description' => '接口路径。', - 'type' => 'string', - 'required' => true, - 'example' => '/user', - ], - 'description' => [ - 'title' => '接口描述。', - 'description' => '接口描述。', - 'type' => 'string', - 'example' => '获取用户信息', - ], - 'response' => [ - 'title' => '接口响应参数定义。', - 'description' => '接口响应参数定义。', - '$ref' => '#/components/schemas/HttpApiResponseContract', - ], - 'request' => [ - 'title' => '接口请求参数定义。', - 'description' => '接口请求参数定义。', - '$ref' => '#/components/schemas/HttpApiRequestContract', - ], - 'mock' => [ - 'title' => '接口Mock配置。', - 'description' => '接口Mock配置,仅当API发布场景为Mock时生效。', - '$ref' => '#/components/schemas/HttpApiMockContract', - ], - 'enableAuth' => [ - 'title' => '是否开启认证', - 'description' => '是否开启认证', - 'type' => 'boolean', - 'example' => 'true', - ], - 'authConfig' => [ - 'title' => '认证配置', - 'description' => '认证配置', - '$ref' => '#/components/schemas/AuthConfig', - ], + 'name' => ['title' => '接口名称。', 'description' => '接口名称。', 'type' => 'string', 'required' => true, 'example' => 'GetUserInfo'], + 'path' => ['title' => '接口路径。', 'description' => '接口路径。', 'type' => 'string', 'required' => true, 'example' => '/user'], + 'description' => ['title' => '接口描述。', 'description' => '接口描述。', 'type' => 'string', 'example' => '获取用户信息'], + 'response' => ['title' => '接口响应参数定义。', 'description' => '接口响应参数定义。', '$ref' => '#/components/schemas/HttpApiResponseContract'], + 'request' => ['title' => '接口请求参数定义。', 'description' => '接口请求参数定义。', '$ref' => '#/components/schemas/HttpApiRequestContract'], + 'mock' => ['title' => '接口Mock配置。', 'description' => '接口Mock配置,仅当API发布场景为Mock时生效。', '$ref' => '#/components/schemas/HttpApiMockContract'], + 'enableAuth' => ['title' => '是否开启认证', 'description' => '是否开启认证', 'type' => 'boolean', 'example' => 'true'], + 'authConfig' => ['title' => '认证配置', 'description' => '认证配置', '$ref' => '#/components/schemas/AuthConfig'], 'deployConfigs' => [ 'title' => '部署配置', 'description' => '部署配置', 'type' => 'array', - 'items' => [ - 'description' => '参数', - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], + 'items' => ['description' => '参数', '$ref' => '#/components/schemas/HttpApiDeployConfig'], ], ], ], 'HttpApiOperationInfo' => [ - 'title' => 'HttpApiOperationInfo', - 'description' => '接口信息。', - 'type' => 'object', - 'properties' => [ - 'operationId' => [ - 'title' => '接口ID。', - 'description' => '接口ID。', - 'type' => 'string', - 'example' => 'op-xxx', - ], - 'method' => [ - 'title' => '接口方法。', - 'description' => '接口方法。', - 'type' => 'string', - 'enumValueTitles' => [ - 'TRACE' => 'TRACE', - 'HEAD' => 'HEAD', - 'DELETE' => 'DELETE', - 'POST' => 'POST', - 'GET' => 'GET', - 'CONNECT' => 'CONNECT', - 'OPTIONS' => 'OPTIONS', - 'PUT' => 'PUT', - 'PATCH' => 'PATCH', - ], - 'example' => 'GET', - ], - 'name' => [ - 'title' => '接口名称。', - 'description' => '接口名称。', - 'type' => 'string', - 'example' => 'GetUserInfo', - ], - 'path' => [ - 'title' => '接口路径。', - 'description' => '接口路径。', - 'type' => 'string', - 'example' => '/user/123', - ], - 'description' => [ - 'title' => '描述。', - 'description' => '描述。', - 'type' => 'string', - 'example' => '获取用户信息', - ], - 'response' => [ - 'title' => '接口响应参数定义。', - 'description' => '接口响应参数定义。', - '$ref' => '#/components/schemas/HttpApiResponseContract', - ], - 'request' => [ - 'title' => '接口请求参数定义。', - 'description' => '接口请求参数定义。', - '$ref' => '#/components/schemas/HttpApiRequestContract', - ], - 'mock' => [ - 'title' => '接口Mock参数配置。', - 'description' => '接口Mock参数配置。', - '$ref' => '#/components/schemas/HttpApiMockContract', - ], - 'createTimestamp' => [ - 'title' => '创建时间戳。', - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'enableAuth' => [ - 'title' => '是否开启认证', - 'description' => '是否开启认证', - 'type' => 'boolean', - 'example' => 'true', - ], - 'authConfig' => [ - 'description' => '权限认证配置', - '$ref' => '#/components/schemas/AuthConfig', - ], - 'status' => [ - 'title' => '网关上接口发布状态', - 'description' => '网关上接口发布状态', - 'type' => 'string', - 'example' => 'Deployed', - ], - 'deployConfigs' => [ - 'title' => '接口后端服务部署信息。', - 'description' => '接口后端服务部署信息。', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - '$ref' => '#/components/schemas/HttpApiDeployConfig', + 'alibabaCloud' => 'alibabaCloud:1.0.0', + 'info' => ['runtimeType' => 'pop', 'namespace' => 'APIG::2024-03-27', 'apiStyle' => 'restful'], + 'components' => [ + 'schemas' => [ + 'HttpApiOperationInfo' => [ + 'title' => 'HttpApiOperationInfo', + 'description' => 'HTTP API Operation信息', + 'type' => 'object', + 'properties' => [ + 'operationId' => ['title' => '接口ID。', 'type' => 'string', 'example' => 'op-xxx', 'backendName' => 'operationId'], + 'method' => ['title' => '接口方法。', 'type' => 'string', 'example' => 'GET', 'backendName' => 'method'], + 'name' => ['title' => '接口名称。', 'type' => 'string', 'example' => 'GetUserInfo', 'backendName' => 'name'], + 'path' => ['title' => '接口路径。', 'type' => 'string', 'example' => '/user/123', 'backendName' => 'path'], + 'description' => ['title' => '描述。', 'type' => 'string', 'example' => '获取用户信息', 'backendName' => 'description'], + 'response' => ['title' => '接口响应参数定义。', 'backendName' => 'response', '$ref' => '#/components/schemas/HttpApiResponseContract'], + 'request' => ['title' => '接口请求参数定义。', 'backendName' => 'request', '$ref' => '#/components/schemas/HttpApiRequestContract'], + 'mock' => ['title' => '接口Mock参数配置。', 'backendName' => 'mock', '$ref' => '#/components/schemas/HttpApiMockContract'], + 'createTimestamp' => ['title' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548', 'backendName' => 'createTimestamp'], + 'enableAuth' => ['title' => '是否开启认证', 'type' => 'boolean', 'example' => 'true', 'backendName' => 'enableAuth'], + 'authConfig' => ['backendName' => 'authConfig', '$ref' => '#/components/schemas/AuthConfig'], + 'status' => ['title' => '网关上接口发布状态', 'type' => 'string', 'example' => 'Deployed', 'backendName' => 'status'], + 'deployConfigs' => [ + 'title' => '接口后端服务部署信息。', + 'type' => 'array', + 'items' => ['$ref' => '#/components/schemas/HttpApiDeployConfig'], + 'backendName' => 'deployConfigs', + ], + ], + 'parseType' => 'struct', ], ], ], @@ -2660,65 +1833,33 @@ 'description' => '参数定义。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => '名称', - 'description' => '参数名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'userId', - ], - 'required' => [ - 'title' => '是否必填', - 'description' => '是否必填', - 'type' => 'boolean', - 'example' => 'true', - ], + 'name' => ['title' => '名称', 'description' => '参数名称。', 'type' => 'string', 'required' => true, 'example' => 'userId'], + 'required' => ['title' => '是否必填', 'description' => '是否必填', 'type' => 'boolean', 'example' => 'true'], 'type' => [ 'title' => '数据类型', 'description' => '参数类型。', 'type' => 'string', 'required' => true, - 'enumValueTitles' => [ - 'Integer' => 'Integer', - 'Number' => 'Number', - 'String' => 'String', - 'Boolean' => 'Boolean', - ], + 'enumValueTitles' => ['Integer' => 'Integer', 'Number' => 'Number', 'String' => 'String', 'Boolean' => 'Boolean'], 'example' => 'String', ], - 'defaultValue' => [ - 'title' => '默认值', - 'description' => '参数默认值。', - 'type' => 'string', - 'example' => '123', - ], - 'exampleValue' => [ - 'title' => '示例值', - 'description' => '参数示例值。', - 'type' => 'string', - 'example' => '123', - ], - 'description' => [ - 'title' => '描述', - 'description' => '描述。', - 'type' => 'string', - 'example' => '用户ID', - ], + 'defaultValue' => ['title' => '默认值', 'description' => '参数默认值。', 'type' => 'string', 'example' => '123'], + 'exampleValue' => ['title' => '示例值', 'description' => '参数示例值。', 'type' => 'string', 'example' => '123'], + 'description' => ['title' => '描述', 'description' => '描述。', 'type' => 'string', 'example' => '用户ID'], ], ], 'HttpApiPolicyConfigs' => [ 'description' => 'body', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '策略模板类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'example' => 'false', + 'type' => ['description' => '策略模板类型。', 'type' => 'string', 'example' => 'K8S'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'example' => 'false'], + 'semanticRouterConfig' => [ + 'description' => '语义路由配置', + 'type' => 'object', + 'properties' => [ + 'timeoutMillisecond' => ['description' => '超时时间(毫秒)', 'type' => 'integer', 'format' => 'int32', 'example' => '2000'], + ], ], 'aiFallbackConfig' => [ 'description' => 'AI 降级配置', @@ -2731,95 +1872,32 @@ 'description' => '服务配置列表', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'svc-d54fcbm******', - ], - 'name' => [ - 'description' => '名称。', - 'type' => 'string', - 'example' => '174174482Z****', - ], - 'targetModelName' => [ - 'description' => '目标模型名称', - 'type' => 'string', - 'example' => 'gpt-4o', - ], - 'passThroughModelName' => [ - 'description' => '透传模型名称', - 'type' => 'boolean', - 'example' => 'true', - ], + 'serviceId' => ['description' => '服务ID。', 'type' => 'string', 'example' => 'svc-d54fcbm******'], + 'name' => ['description' => '名称。', 'type' => 'string', 'example' => '174174482Z****'], + 'targetModelName' => ['description' => '目标模型名称', 'type' => 'string', 'example' => 'gpt-4o'], + 'passThroughModelName' => ['description' => '透传模型名称', 'type' => 'boolean', 'example' => 'true'], ], ], ], - 'onlyRedirectUpstreamCode' => [ - 'description' => '仅重定向上游编码', - 'type' => 'boolean', - 'example' => 'true', - ], - 'routeEmbedded' => [ - 'description' => '是否内嵌路由', - 'type' => 'boolean', - 'example' => 'true', - ], + 'onlyRedirectUpstreamCode' => ['description' => '仅重定向上游编码', 'type' => 'boolean', 'example' => 'true'], + 'routeEmbedded' => ['description' => '是否内嵌路由', 'type' => 'boolean', 'example' => 'true'], ], + '$ref' => '#/components/schemas/AiFallbackConfig', ], 'aiSecurityGuardConfig' => [ 'description' => 'AI 安全防护配置', 'type' => 'object', 'properties' => [ - 'serviceAddress' => [ - 'description' => '服务地址', - 'type' => 'string', - 'example' => 'https://api.example.com/v1', - ], - 'checkRequest' => [ - 'description' => '检查请求', - 'type' => 'boolean', - 'example' => 'true', - ], - 'checkResponse' => [ - 'description' => '检查响应', - 'type' => 'boolean', - 'example' => 'true', - ], - 'checkRequestImage' => [ - 'description' => '检查请求中的图像', - 'type' => 'boolean', - 'example' => 'true', - ], - 'checkResponseImage' => [ - 'description' => '检查响应中的图像', - 'type' => 'boolean', - 'example' => 'true', - ], - 'requestCheckService' => [ - 'description' => '请求检查服务', - 'type' => 'string', - 'example' => 'content-moderation-service', - ], - 'responseCheckService' => [ - 'description' => '响应检查服务', - 'type' => 'string', - 'example' => 'output-moderation-service', - ], - 'requestImageCheckService' => [ - 'description' => '请求图像检查服务', - 'type' => 'string', - 'example' => 'image-moderation-service', - ], - 'responseImageCheckService' => [ - 'description' => '响应图像检查服务', - 'type' => 'string', - 'example' => 'generated-image-scanner', - ], - 'riskAlertLevel' => [ - 'description' => '风险告警级别', - 'type' => 'string', - 'example' => 'low', - ], + 'serviceAddress' => ['description' => '服务地址', 'type' => 'string', 'example' => 'https://api.example.com/v1'], + 'checkRequest' => ['description' => '检查请求', 'type' => 'boolean', 'example' => 'true'], + 'checkResponse' => ['description' => '检查响应', 'type' => 'boolean', 'example' => 'true'], + 'checkRequestImage' => ['description' => '检查请求中的图像', 'type' => 'boolean', 'example' => 'true'], + 'checkResponseImage' => ['description' => '检查响应中的图像', 'type' => 'boolean', 'example' => 'true'], + 'requestCheckService' => ['description' => '请求检查服务', 'type' => 'string', 'example' => 'content-moderation-service'], + 'responseCheckService' => ['description' => '响应检查服务', 'type' => 'string', 'example' => 'output-moderation-service'], + 'requestImageCheckService' => ['description' => '请求图像检查服务', 'type' => 'string', 'example' => 'image-moderation-service'], + 'responseImageCheckService' => ['description' => '响应图像检查服务', 'type' => 'string', 'example' => 'generated-image-scanner'], + 'riskAlertLevel' => ['description' => '风险告警级别', 'type' => 'string', 'example' => 'low'], 'riskConfig' => [ 'description' => '风险配置', 'type' => 'array', @@ -2827,41 +1905,20 @@ 'description' => '风险配置', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '插件类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'level' => [ - 'description' => '冲突等级', - 'type' => 'string', - 'example' => 'max', - ], + 'type' => ['description' => '插件类型。', 'type' => 'string', 'example' => 'K8S'], + 'level' => ['description' => '冲突等级', 'type' => 'string', 'example' => 'max'], 'consumerRules' => [ 'description' => '消费者规则', 'type' => 'object', 'properties' => [ - 'pattern' => [ - 'description' => '匹配模式', - 'type' => 'string', - 'example' => '/v1/chat/*', - ], - 'matchType' => [ - 'description' => '查询匹配类型', - 'type' => 'string', - 'example' => 'All', - ], + 'pattern' => ['description' => '匹配模式', 'type' => 'string', 'example' => '/v1/chat/*'], + 'matchType' => ['description' => '查询匹配类型', 'type' => 'string', 'example' => 'All'], ], ], ], ], ], - 'bufferLimit' => [ - 'description' => '缓冲区大小上限', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1024', - ], + 'bufferLimit' => ['description' => '缓冲区大小上限', 'type' => 'integer', 'format' => 'int32', 'example' => '1024'], 'pluginStatus' => [ 'description' => '插件当前状态', 'type' => 'object', @@ -2869,22 +1926,10 @@ 'errorLogs' => [ 'description' => '错误日志列表', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '错误日志列表', - 'type' => 'string', - 'example' => 'Failed to connect to server', - ], - ], - 'serviceHealthy' => [ - 'description' => '服务健康状态', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvmuoiem1h******', + 'additionalProperties' => ['description' => '错误日志列表', 'type' => 'string', 'example' => 'Failed to connect to server'], ], + 'serviceHealthy' => ['description' => '服务健康状态', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvmuoiem1h******'], ], ], 'consumerRequestCheckService' => [ @@ -2894,31 +1939,11 @@ 'description' => '消费者请求校验服务', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '服务名称', - 'type' => 'string', - 'example' => 'oldUI-17590******', - ], - 'requestCheckService' => [ - 'description' => '请求校验服务', - 'type' => 'string', - 'example' => 'rate-limit-check', - ], - 'requestImageCheckService' => [ - 'description' => '请求图片校验服务', - 'type' => 'string', - 'example' => 'nsfw-image-detector', - ], - 'matchType' => [ - 'description' => '查询匹配类型', - 'type' => 'string', - 'example' => 'all', - ], - 'modalityType' => [ - 'description' => '模态类型', - 'type' => 'string', - 'example' => 'text', - ], + 'name' => ['description' => '服务名称', 'type' => 'string', 'example' => 'oldUI-17590******'], + 'requestCheckService' => ['description' => '请求校验服务', 'type' => 'string', 'example' => 'rate-limit-check'], + 'requestImageCheckService' => ['description' => '请求图片校验服务', 'type' => 'string', 'example' => 'nsfw-image-detector'], + 'matchType' => ['description' => '查询匹配类型', 'type' => 'string', 'example' => 'all'], + 'modalityType' => ['description' => '模态类型', 'type' => 'string', 'example' => 'text'], ], ], ], @@ -2929,31 +1954,11 @@ 'description' => '消费者响应校验服务', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '名称', - 'type' => 'string', - 'example' => '1744250******', - ], - 'responseCheckService' => [ - 'description' => '响应校验服务', - 'type' => 'string', - 'example' => 'pii-redaction', - ], - 'responseImageCheckService' => [ - 'description' => '响应图片校验服务', - 'type' => 'string', - 'example' => 'watermark-detector', - ], - 'matchType' => [ - 'description' => '查询匹配类型', - 'type' => 'string', - 'example' => 'all', - ], - 'modalityType' => [ - 'description' => '模态类型', - 'type' => 'string', - 'example' => 'text', - ], + 'name' => ['description' => '名称', 'type' => 'string', 'example' => '1744250******'], + 'responseCheckService' => ['description' => '响应校验服务', 'type' => 'string', 'example' => 'pii-redaction'], + 'responseImageCheckService' => ['description' => '响应图片校验服务', 'type' => 'string', 'example' => 'watermark-detector'], + 'matchType' => ['description' => '查询匹配类型', 'type' => 'string', 'example' => 'all'], + 'modalityType' => ['description' => '模态类型', 'type' => 'string', 'example' => 'text'], ], ], ], @@ -2964,30 +1969,15 @@ 'description' => '消费者风险等级', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'example' => '1742090******', - ], - 'matchType' => [ - 'description' => '查询匹配类型', - 'type' => 'string', - 'example' => 'all', - ], - 'type' => [ - 'description' => '类型', - 'type' => 'string', - 'example' => 'K8S', - ], - 'level' => [ - 'description' => '冲突等级', - 'type' => 'string', - 'example' => 'max', - ], + 'name' => ['description' => '参数名称。', 'type' => 'string', 'example' => '1742090******'], + 'matchType' => ['description' => '查询匹配类型', 'type' => 'string', 'example' => 'all'], + 'type' => ['description' => '类型', 'type' => 'string', 'example' => 'K8S'], + 'level' => ['description' => '冲突等级', 'type' => 'string', 'example' => 'max'], ], ], ], ], + '$ref' => '#/components/schemas/AiSecurityGuardConfig', ], 'aiTokenRateLimitConfig' => [ 'description' => 'AI 令牌速率限制配置', @@ -3000,44 +1990,16 @@ 'description' => '规则列表', 'type' => 'object', 'properties' => [ - 'limitType' => [ - 'description' => '限流类型', - 'type' => 'string', - 'example' => 'fixed', - ], - 'matchKey' => [ - 'description' => '匹配键', - 'type' => 'string', - 'example' => 'user_id', - ], - 'matchType' => [ - 'description' => '查询匹配类型', - 'type' => 'string', - 'example' => 'all', - ], - 'matchValue' => [ - 'description' => '匹配值', - 'type' => 'string', - 'example' => '12345', - ], - 'limitMode' => [ - 'description' => '限流模式', - 'type' => 'string', - 'example' => 'local', - ], - 'limitValue' => [ - 'description' => '限流值', - 'type' => 'string', - 'example' => '100', - ], + 'limitType' => ['description' => '限流类型', 'type' => 'string', 'example' => 'fixed'], + 'matchKey' => ['description' => '匹配键', 'type' => 'string', 'example' => 'user_id'], + 'matchType' => ['description' => '查询匹配类型', 'type' => 'string', 'example' => 'all'], + 'matchValue' => ['description' => '匹配值', 'type' => 'string', 'example' => '12345'], + 'limitMode' => ['description' => '限流模式', 'type' => 'string', 'example' => 'local'], + 'limitValue' => ['description' => '限流值', 'type' => 'string', 'example' => '100'], ], ], ], - 'enableGlobalRules' => [ - 'description' => '启用全局规则', - 'type' => 'boolean', - 'example' => 'true', - ], + 'enableGlobalRules' => ['description' => '启用全局规则', 'type' => 'boolean', 'example' => 'true'], 'globalRules' => [ 'description' => '全局规则', 'type' => 'array', @@ -3045,36 +2007,12 @@ 'description' => '全局规则', 'type' => 'object', 'properties' => [ - 'limitType' => [ - 'description' => '限流类型', - 'type' => 'string', - 'example' => 'fixed', - ], - 'matchKey' => [ - 'description' => '匹配键', - 'type' => 'string', - 'example' => 'user_id'."\n", - ], - 'matchType' => [ - 'description' => '查询匹配类型', - 'type' => 'string', - 'example' => 'all', - ], - 'matchValue' => [ - 'description' => '匹配值', - 'type' => 'string', - 'example' => '12345', - ], - 'limitMode' => [ - 'description' => '限流模式', - 'type' => 'string', - 'example' => 'local', - ], - 'limitValue' => [ - 'description' => '限流值', - 'type' => 'string', - 'example' => '100', - ], + 'limitType' => ['description' => '限流类型', 'type' => 'string', 'example' => 'fixed'], + 'matchKey' => ['description' => '匹配键', 'type' => 'string', 'example' => 'user_id'."\n"], + 'matchType' => ['description' => '查询匹配类型', 'type' => 'string', 'example' => 'all'], + 'matchValue' => ['description' => '匹配值', 'type' => 'string', 'example' => '12345'], + 'limitMode' => ['description' => '限流模式', 'type' => 'string', 'example' => 'local'], + 'limitValue' => ['description' => '限流值', 'type' => 'string', 'example' => '100'], ], ], ], @@ -3082,39 +2020,12 @@ 'description' => 'Redis 配置', 'type' => 'object', 'properties' => [ - 'host' => [ - 'description' => '节点的IP地址。', - 'type' => 'string', - 'example' => '0.0.0.0', - ], - 'port' => [ - 'description' => '端口号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6379', - ], - 'username' => [ - 'description' => '用户名', - 'type' => 'string', - 'example' => 'root', - ], - 'password' => [ - 'description' => '密码', - 'type' => 'string', - 'example' => '******', - ], - 'timeout' => [ - 'description' => '健康检查响应超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'databaseNumber' => [ - 'description' => '数据库连接数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'host' => ['description' => '节点的IP地址。', 'type' => 'string', 'example' => '0.0.0.0'], + 'port' => ['description' => '端口号。', 'type' => 'integer', 'format' => 'int32', 'example' => '6379'], + 'username' => ['description' => '用户名', 'type' => 'string', 'example' => 'root'], + 'password' => ['description' => '密码', 'type' => 'string', 'example' => '******'], + 'timeout' => ['description' => '健康检查响应超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'databaseNumber' => ['description' => '数据库连接数', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], 'pluginStatus' => [ @@ -3124,150 +2035,56 @@ 'errorLogs' => [ 'description' => '错误日志', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '错误日志', - 'type' => 'string', - 'example' => 'auth-failed', - ], - ], - 'serviceHealthy' => [ - 'description' => '服务健康状态', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvmuoiem1h******', + 'additionalProperties' => ['description' => '错误日志', 'type' => 'string', 'example' => 'auth-failed'], ], + 'serviceHealthy' => ['description' => '服务健康状态', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvmuoiem1h******'], ], ], ], + '$ref' => '#/components/schemas/AiTokenRateLimitConfig', ], 'aiCacheConfig' => [ 'description' => 'AI 缓存配置', 'type' => 'object', 'properties' => [ - 'cacheTTL' => [ - 'description' => '缓存生存时间(TTL)', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '300', - ], + 'cacheTTL' => ['description' => '缓存生存时间(TTL)', 'type' => 'integer', 'format' => 'int32', 'example' => '300'], 'redisConfig' => [ 'description' => 'Redis 配置', 'type' => 'object', 'properties' => [ - 'host' => [ - 'description' => '节点的 IP 地址', - 'type' => 'string', - 'example' => '0.0.0.0', - ], - 'port' => [ - 'description' => '端口号', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '6379', - ], - 'username' => [ - 'description' => '用户名', - 'type' => 'string', - 'example' => 'root', - ], - 'password' => [ - 'description' => '密码。', - 'type' => 'string', - 'example' => '******', - ], - 'timeout' => [ - 'description' => '健康检查响应超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'databaseNumber' => [ - 'description' => '数据库连接数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'host' => ['description' => '节点的 IP 地址', 'type' => 'string', 'example' => '0.0.0.0'], + 'port' => ['description' => '端口号', 'type' => 'integer', 'format' => 'int32', 'example' => '6379'], + 'username' => ['description' => '用户名', 'type' => 'string', 'example' => 'root'], + 'password' => ['description' => '密码。', 'type' => 'string', 'example' => '******'], + 'timeout' => ['description' => '健康检查响应超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'databaseNumber' => ['description' => '数据库连接数', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], 'vectorConfig' => [ 'description' => '向量配置', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '类型', - 'type' => 'string', - 'example' => 'K8S', - ], - 'serviceHost' => [ - 'description' => '服务主机地址', - 'type' => 'string', - 'example' => 'localhost', - ], - 'apiKey' => [ - 'description' => 'API Key', - 'type' => 'string', - 'example' => 'sk-wRN******', - ], - 'timeout' => [ - 'description' => '健康检查响应超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'collectionId' => [ - 'description' => '集合 ID', - 'type' => 'string', - 'example' => 'col_12345', - ], - 'threshold' => [ - 'description' => '阈值', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], + 'type' => ['description' => '类型', 'type' => 'string', 'example' => 'K8S'], + 'serviceHost' => ['description' => '服务主机地址', 'type' => 'string', 'example' => 'localhost'], + 'apiKey' => ['description' => 'API Key', 'type' => 'string', 'example' => 'sk-wRN******'], + 'timeout' => ['description' => '健康检查响应超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'collectionId' => ['description' => '集合 ID', 'type' => 'string', 'example' => 'col_12345'], + 'threshold' => ['description' => '阈值', 'type' => 'number', 'format' => 'float', 'example' => '100'], ], ], 'embeddingConfig' => [ 'description' => '嵌入配置', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '类型', - 'type' => 'string', - 'example' => 'K8S', - ], - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'svc-d5tgnoum1******', - ], - 'timeout' => [ - 'description' => '健康检查响应超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '60', - ], - 'modelName' => [ - 'description' => '模型名称', - 'type' => 'string', - 'example' => 'custom_model', - ], + 'type' => ['description' => '类型', 'type' => 'string', 'example' => 'K8S'], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'example' => 'svc-d5tgnoum1******'], + 'timeout' => ['description' => '健康检查响应超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'example' => '60'], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'custom_model'], ], ], - 'cacheKeyStrategy' => [ - 'description' => '缓存键策略', - 'type' => 'string', - 'example' => 'input-hash', - ], - 'cacheMode' => [ - 'description' => '缓存模式', - 'type' => 'string', - 'example' => 'read-write', - ], + 'cacheKeyStrategy' => ['description' => '缓存键策略', 'type' => 'string', 'example' => 'input-hash'], + 'cacheMode' => ['description' => '缓存模式', 'type' => 'string', 'example' => 'read-write'], 'pluginStatus' => [ 'description' => '插件状态。', 'type' => 'object', @@ -3275,55 +2092,24 @@ 'errorLogs' => [ 'description' => '错误日志', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '错误日志', - 'type' => 'string', - 'example' => 'timeout', - ], - ], - 'serviceHealthy' => [ - 'description' => '服务健康状态', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-d1selpem1h******', + 'additionalProperties' => ['description' => '错误日志', 'type' => 'string', 'example' => 'timeout'], ], + 'serviceHealthy' => ['description' => '服务健康状态', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-d1selpem1h******'], ], ], ], + '$ref' => '#/components/schemas/AiCacheConfig', ], 'aiNetworkSearchConfig' => [ 'description' => 'AI 网络搜索配置', 'type' => 'object', 'properties' => [ - 'needReference' => [ - 'description' => '是否需要引用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'referenceFormat' => [ - 'description' => '引用格式', - 'type' => 'string', - 'example' => 'APA', - ], - 'referenceLocation' => [ - 'description' => '引用位置', - 'type' => 'string', - 'example' => 'end', - ], - 'defaultLang' => [ - 'description' => '默认语言', - 'type' => 'string', - 'example' => 'zh', - ], - 'defaultEnable' => [ - 'description' => '默认启用', - 'type' => 'boolean', - 'example' => 'true', - ], + 'needReference' => ['description' => '是否需要引用', 'type' => 'boolean', 'example' => 'true'], + 'referenceFormat' => ['description' => '引用格式', 'type' => 'string', 'example' => 'APA'], + 'referenceLocation' => ['description' => '引用位置', 'type' => 'string', 'example' => 'end'], + 'defaultLang' => ['description' => '默认语言', 'type' => 'string', 'example' => 'zh'], + 'defaultEnable' => ['description' => '默认启用', 'type' => 'boolean', 'example' => 'true'], 'searchFrom' => [ 'description' => '搜索来源', 'type' => 'array', @@ -3331,63 +2117,20 @@ 'description' => '搜索来源', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'apiKey' => [ - 'description' => 'API Key', - 'type' => 'string', - 'example' => 'asdfjoY87-******', - ], - 'count' => [ - 'description' => '统计项数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'start' => [ - 'description' => '日程开始时间。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1740153600000', - ], - 'timeoutMillisecond' => [ - 'description' => '超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5000', - ], + 'type' => ['description' => '类型。', 'type' => 'string', 'example' => 'K8S'], + 'apiKey' => ['description' => 'API Key', 'type' => 'string', 'example' => 'asdfjoY87-******'], + 'count' => ['description' => '统计项数量', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'start' => ['description' => '日程开始时间。', 'type' => 'integer', 'format' => 'int32', 'example' => '1740153600000'], + 'timeoutMillisecond' => ['description' => '超时时间', 'type' => 'integer', 'format' => 'int32', 'example' => '5000'], 'optionArgs' => [ 'description' => '可选参数', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '可选参数', - 'type' => 'string', - 'example' => 'temperature', - ], - ], - 'endpoint' => [ - 'description' => '网关接入点。', - 'type' => 'string', - 'example' => '******-hangzhou.aliyuncs.com', - ], - 'contentMode' => [ - 'description' => '内容模式', - 'type' => 'string', - 'example' => 'text', - ], - 'industry' => [ - 'description' => '实例行业类型', - 'type' => 'string', - 'example' => 'content', - ], - 'timeRange' => [ - 'description' => '时间范围', - 'type' => 'string', - 'example' => 'last-7-days', + 'additionalProperties' => ['description' => '可选参数', 'type' => 'string', 'example' => 'temperature'], ], + 'endpoint' => ['description' => '网关接入点。', 'type' => 'string', 'example' => '******-hangzhou.aliyuncs.com'], + 'contentMode' => ['description' => '内容模式', 'type' => 'string', 'example' => 'text'], + 'industry' => ['description' => '实例行业类型', 'type' => 'string', 'example' => 'content'], + 'timeRange' => ['description' => '时间范围', 'type' => 'string', 'example' => 'last-7-days'], ], ], ], @@ -3395,96 +2138,31 @@ 'description' => '搜索引擎配置', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '插件类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'apiKey' => [ - 'description' => 'API Key', - 'type' => 'string', - 'example' => '***', - ], - 'count' => [ - 'description' => '数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], - 'start' => [ - 'description' => '开始时间', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1741829226090', - ], - 'timeoutMillisecond' => [ - 'description' => '超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3000', - ], + 'type' => ['description' => '插件类型。', 'type' => 'string', 'example' => 'K8S'], + 'apiKey' => ['description' => 'API Key', 'type' => 'string', 'example' => '***'], + 'count' => ['description' => '数量', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'start' => ['description' => '开始时间', 'type' => 'integer', 'format' => 'int32', 'example' => '1741829226090'], + 'timeoutMillisecond' => ['description' => '超时时间', 'type' => 'integer', 'format' => 'int32', 'example' => '3000'], 'optionArgs' => [ 'description' => '可选参数', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '可选参数', - 'type' => 'string', - 'example' => 'temperature', - ], - ], - 'endpoint' => [ - 'description' => '接入点', - 'type' => 'string', - 'example' => '******-hangzhou.aliyuncs.com', - ], - 'contentMode' => [ - 'description' => '内容模式', - 'type' => 'string', - 'example' => 'text', - ], - 'industry' => [ - 'description' => '实例行业类型', - 'type' => 'string', - 'example' => 'content', - ], - 'timeRange' => [ - 'description' => '时间范围', - 'type' => 'string', - 'example' => 'last-24h', + 'additionalProperties' => ['description' => '可选参数', 'type' => 'string', 'example' => 'temperature'], ], + 'endpoint' => ['description' => '接入点', 'type' => 'string', 'example' => '******-hangzhou.aliyuncs.com'], + 'contentMode' => ['description' => '内容模式', 'type' => 'string', 'example' => 'text'], + 'industry' => ['description' => '实例行业类型', 'type' => 'string', 'example' => 'content'], + 'timeRange' => ['description' => '时间范围', 'type' => 'string', 'example' => 'last-24h'], ], ], 'searchRewrite' => [ 'description' => '搜索重写', 'type' => 'object', 'properties' => [ - 'enable' => [ - 'description' => '是否启用', - 'type' => 'boolean', - 'example' => 'true', - ], - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'svc-cvj05lmm*******', - ], - 'modelName' => [ - 'description' => '模型名称', - 'type' => 'string', - 'example' => 'aa', - ], - 'timeoutMillisecond' => [ - 'description' => '超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], - 'maxCount' => [ - 'description' => '最大数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'enable' => ['description' => '是否启用', 'type' => 'boolean', 'example' => 'true'], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'example' => 'svc-cvj05lmm*******'], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'aa'], + 'timeoutMillisecond' => ['description' => '超时时间', 'type' => 'integer', 'format' => 'int32', 'example' => '2000'], + 'maxCount' => ['description' => '最大数量', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], ], ], 'pluginStatus' => [ @@ -3494,25 +2172,14 @@ 'errorLogs' => [ 'description' => '错误日志', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '错误日志', - 'type' => 'string', - 'example' => 'timeout', - ], - ], - 'serviceHealthy' => [ - 'description' => '服务健康状态', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvmuoiem1******', + 'additionalProperties' => ['description' => '错误日志', 'type' => 'string', 'example' => 'timeout'], ], + 'serviceHealthy' => ['description' => '服务健康状态', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvmuoiem1******'], ], ], ], + '$ref' => '#/components/schemas/AiNetworkSearchConfig', ], 'aiToolSelectionConfig' => [ 'description' => 'AI 工具选择配置', @@ -3522,12 +2189,7 @@ 'description' => '启用条件', 'type' => 'object', 'properties' => [ - 'toolCountThreshold' => [ - 'description' => '工具数量阈值', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], + 'toolCountThreshold' => ['description' => '工具数量阈值', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], ], ], 'toolReranking' => [ @@ -3538,145 +2200,61 @@ 'description' => '模型服务', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'svc-cv21nj6m1hkk******', - ], - 'modelName' => [ - 'description' => '模型名称', - 'type' => 'string', - 'example' => 'custom_model', - ], - 'timeoutMillisecond' => [ - 'description' => '超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3000', - ], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'example' => 'svc-cv21nj6m1hkk******'], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'custom_model'], + 'timeoutMillisecond' => ['description' => '超时时间', 'type' => 'integer', 'format' => 'int32', 'example' => '3000'], ], ], - 'filteringMethod' => [ - 'description' => '过滤方法', - 'type' => 'string', - 'example' => 'keyword', - ], - 'topKPercent' => [ - 'description' => '前 K 百分比', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0.1', - ], - 'topNCount' => [ - 'description' => '前 N 个数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], - 'scoreThreshold' => [ - 'description' => '分数阈值', - 'type' => 'number', - 'format' => 'float', - 'example' => '0.5', - ], - 'fallbackStrategy' => [ - 'description' => '回退策略', - 'type' => 'string', - 'example' => 'none', - ], + 'filteringMethod' => ['description' => '过滤方法', 'type' => 'string', 'example' => 'keyword'], + 'topKPercent' => ['description' => '前 K 百分比', 'type' => 'integer', 'format' => 'int32', 'example' => '0.1'], + 'topNCount' => ['description' => '前 N 个数量', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'scoreThreshold' => ['description' => '分数阈值', 'type' => 'number', 'format' => 'float', 'example' => '0.5'], + 'fallbackStrategy' => ['description' => '回退策略', 'type' => 'string', 'example' => 'none'], ], ], 'queryRewriting' => [ 'description' => '查询重写', 'type' => 'object', 'properties' => [ - 'enabled' => [ - 'description' => '是否开启集群审计日志功能。'."\n" - ."\n" - .'- true:开启。'."\n" - ."\n" - .'- false:不开启。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'enabled' => ['description' => '是否开启集群审计日志功能。'."\n" + ."\n" + .'- true:开启。'."\n" + ."\n" + .'- false:不开启。', 'type' => 'boolean', 'example' => 'true'], 'modelService' => [ 'description' => '模型服务', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'svc-d51m42um1******', - ], - 'modelName' => [ - 'description' => '模型名称', - 'type' => 'string', - 'example' => 'custom_image_embedding', - ], - 'timeoutMillisecond' => [ - 'description' => '超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'example' => 'svc-d51m42um1******'], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'custom_image_embedding'], + 'timeoutMillisecond' => ['description' => '超时时间', 'type' => 'integer', 'format' => 'int32', 'example' => '2000'], ], ], 'promptConfig' => [ 'description' => '提示词配置', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '插件类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'customPrompt' => [ - 'description' => '抽取指令', - 'type' => 'string', - 'example' => '略带搞笑的语气,编写一段推广语,提高阅读兴趣。', - ], + 'type' => ['description' => '插件类型。', 'type' => 'string', 'example' => 'K8S'], + 'customPrompt' => ['description' => '抽取指令', 'type' => 'string', 'example' => '略带搞笑的语气,编写一段推广语,提高阅读兴趣。'], ], ], - 'maxOutputTokens' => [ - 'description' => '最大输出令牌数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '256', - ], + 'maxOutputTokens' => ['description' => '最大输出令牌数', 'type' => 'integer', 'format' => 'int32', 'example' => '256'], 'triggerConditions' => [ 'description' => '触发条件', 'type' => 'object', 'properties' => [ - 'messageCountThreshold' => [ - 'description' => '消息数量阈值', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', - ], + 'messageCountThreshold' => ['description' => '消息数量阈值', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], ], ], 'contextSelection' => [ 'description' => '上下文选择', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '插件类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'value' => [ - 'description' => '匹配值。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'type' => ['description' => '插件类型。', 'type' => 'string', 'example' => 'K8S'], + 'value' => ['description' => '匹配值。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], - 'fallbackStrategy' => [ - 'description' => '回退策略', - 'type' => 'string', - 'example' => 'none', - ], + 'fallbackStrategy' => ['description' => '回退策略', 'type' => 'string', 'example' => 'none'], ], ], 'pluginStatus' => [ @@ -3686,53 +2264,23 @@ 'errorLogs' => [ 'description' => '错误日志', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '错误日志', - 'type' => 'string', - 'example' => 'timeout', - ], - ], - 'serviceHealthy' => [ - 'description' => '服务健康状态', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-d4ijmu6m1hk******', + 'additionalProperties' => ['description' => '错误日志', 'type' => 'string', 'example' => 'timeout'], ], + 'serviceHealthy' => ['description' => '服务健康状态', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-d4ijmu6m1hk******'], ], ], ], + '$ref' => '#/components/schemas/AiToolSelectionConfig', ], 'aiStatisticsConfig' => [ 'description' => 'AI 统计配置', 'type' => 'object', 'properties' => [ - 'logRequestContent' => [ - 'description' => '记录请求内容', - 'type' => 'boolean', - 'example' => 'true', - ], - 'logResponseContent' => [ - 'description' => '记录响应内容', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'semanticRouterConfig' => [ - 'description' => '语义路由配置', - 'type' => 'object', - 'properties' => [ - 'timeoutMillisecond' => [ - 'description' => '超时时间(毫秒)', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2000', - ], + 'logRequestContent' => ['description' => '记录请求内容', 'type' => 'boolean', 'example' => 'true'], + 'logResponseContent' => ['description' => '记录响应内容', 'type' => 'boolean', 'example' => 'true'], ], + '$ref' => '#/components/schemas/AiStatisticsConfig', ], ], ], @@ -3741,52 +2289,22 @@ 'description' => 'HTTP API发布版本信息', 'type' => 'object', 'properties' => [ - 'revisionId' => [ - 'title' => 'API发布的版本号。', - 'description' => 'API发布的版本号。', - 'type' => 'string', - 'example' => 'apr-xxx', - ], + 'revisionId' => ['title' => 'API发布的版本号。', 'description' => 'API发布的版本号。', 'type' => 'string', 'example' => 'apr-xxx'], 'environmentInfo' => [ 'title' => '环境信息。', 'description' => '环境信息。', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID。', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-xxx', - ], - 'name' => [ - 'title' => '环境名。', - 'description' => '环境名。', - 'type' => 'string', - 'example' => 'test', - ], - 'alias' => [ - 'title' => '环境别名。', - 'description' => '环境别名。', - 'type' => 'string', - 'example' => '测试', - ], + 'environmentId' => ['title' => '环境ID。', 'description' => '环境ID。', 'type' => 'string', 'example' => 'env-xxx'], + 'name' => ['title' => '环境名。', 'description' => '环境名。', 'type' => 'string', 'example' => 'test'], + 'alias' => ['title' => '环境别名。', 'description' => '环境别名。', 'type' => 'string', 'example' => '测试'], 'gatewayInfo' => [ 'title' => '网关实例信息。', 'description' => '网关实例信息。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'title' => '网关ID。', - 'description' => '网关ID。', - 'type' => 'string', - 'example' => 'gw-xxx', - ], - 'name' => [ - 'title' => '网关名。', - 'description' => '网关名。', - 'type' => 'string', - 'example' => '实例1', - ], + 'gatewayId' => ['title' => '网关ID。', 'description' => '网关ID。', 'type' => 'string', 'example' => 'gw-xxx'], + 'name' => ['title' => '网关名。', 'description' => '网关名。', 'type' => 'string', 'example' => '实例1'], ], ], ], @@ -3796,44 +2314,27 @@ 'title' => '默认域名列表。', 'description' => '环境默认域名列表。', 'type' => 'array', - 'items' => [ - 'description' => '环境默认域名信息。', - '$ref' => '#/components/schemas/HttpApiDomainInfo', - ], + 'items' => ['description' => '环境默认域名信息。', '$ref' => '#/components/schemas/HttpApiDomainInfo'], 'example' => 'env-xxx.com', ], 'customDomains' => [ 'title' => '用户域名列表。', 'description' => '用户域名列表。', 'type' => 'array', - 'items' => [ - 'description' => '用户域名信息。', - '$ref' => '#/components/schemas/HttpApiDomainInfo', - ], + 'items' => ['description' => '用户域名信息。', '$ref' => '#/components/schemas/HttpApiDomainInfo'], ], 'backendScene' => [ 'title' => 'API发布场景。', 'description' => 'API发布场景。', 'type' => 'string', - 'enumValueTitles' => [ - 'SingleService' => '单服务', - 'MultiServiceByRatio' => '按比例', - 'MultiServiceByContent' => '按内容', - 'MultiServiceByTag' => '按标签', - 'Mock' => 'Mock', - ], + 'enumValueTitles' => ['SingleService' => '单服务', 'MultiServiceByRatio' => '按比例', 'MultiServiceByContent' => '按内容', 'MultiServiceByTag' => '按标签', 'Mock' => 'Mock'], 'example' => 'SingleService', ], 'backendType' => [ 'title' => '后端类型', 'description' => '后端类型。', 'type' => 'string', - 'enumValueTitles' => [ - 'DNS' => 'DNS域名', - 'Service' => '已有服务', - 'VIP' => '固定地址', - 'CloudProduct' => '云产品配置', - ], + 'enumValueTitles' => ['DNS' => 'DNS域名', 'Service' => '已有服务', 'VIP' => '固定地址', 'CloudProduct' => '云产品配置'], 'example' => 'Service', ], 'serviceConfigs' => [ @@ -3843,44 +2344,14 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'gatewayServiceId' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'gs-xxx', - ], - 'port' => [ - 'title' => '服务端口。', - 'description' => '服务端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'protocol' => [ - 'title' => '服务协议。', - 'description' => '服务协议。', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'weight' => [ - 'title' => '权重。', - 'description' => '权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'version' => [ - 'title' => '服务版本。', - 'description' => '服务版本。', - 'type' => 'string', - 'example' => 'v1', - ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', - ], + 'gatewayServiceId' => ['title' => '服务ID。', 'description' => '服务ID。', 'type' => 'string', 'example' => 'gs-xxx'], + 'port' => ['title' => '服务端口。', 'description' => '服务端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'protocol' => ['title' => '服务协议。', 'description' => '服务协议。', 'type' => 'string', 'example' => 'HTTP'], + 'weight' => ['title' => '权重。', 'description' => '权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'version' => ['title' => '服务版本。', 'description' => '服务版本。', 'type' => 'string', 'example' => 'v1'], + 'match' => ['title' => '匹配条件。', 'description' => '匹配条件。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], ], + 'description' => '', ], ], 'dnsConfigs' => [ @@ -3895,24 +2366,10 @@ 'title' => 'DNS域名列表。', 'description' => 'DNS域名列表。', 'type' => 'array', - 'items' => [ - 'description' => '单个DNS域名配置,格式为域名:端口。', - 'type' => 'string', - 'example' => 'www.example.com:80', - ], - ], - 'weight' => [ - 'title' => '服务权重。', - 'description' => '权重,范围[1,100],仅在按比例场景下有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件,仅在按内容场景下有效。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', + 'items' => ['description' => '单个DNS域名配置,格式为域名:端口。', 'type' => 'string', 'example' => 'www.example.com:80'], ], + 'weight' => ['title' => '服务权重。', 'description' => '权重,范围[1,100],仅在按比例场景下有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'match' => ['title' => '匹配条件。', 'description' => '匹配条件,仅在按内容场景下有效。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], ], 'example' => 'dns', ], @@ -3929,24 +2386,10 @@ 'title' => '固定地址列表。', 'description' => '固定地址列表。', 'type' => 'array', - 'items' => [ - 'description' => '单个地址配置,格式IP:PORT。', - 'type' => 'string', - 'example' => '192.168.1.100:8080', - ], - ], - 'weight' => [ - 'title' => '服务权重。', - 'description' => '权重,范围[1,100],仅在按比例场景下有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件,仅在按内容场景下有效。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', + 'items' => ['description' => '单个地址配置,格式IP:PORT。', 'type' => 'string', 'example' => '192.168.1.100:8080'], ], + 'weight' => ['title' => '服务权重。', 'description' => '权重,范围[1,100],仅在按比例场景下有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'match' => ['title' => '匹配条件。', 'description' => '匹配条件,仅在按内容场景下有效。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], ], 'example' => 'fixedEndpoint', ], @@ -3956,12 +2399,7 @@ 'description' => '云产品配置。', 'type' => 'object', 'properties' => [ - 'cloudProductType' => [ - 'title' => '云产品类型。', - 'description' => '云产品类型。', - 'type' => 'string', - 'example' => 'FC', - ], + 'cloudProductType' => ['title' => '云产品类型。', 'description' => '云产品类型。', 'type' => 'string', 'example' => 'FC'], 'functionConfigs' => [ 'title' => 'FC配置。', 'description' => 'FC配置。', @@ -3969,37 +2407,13 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => '函数名。', - 'description' => '函数名。', - 'type' => 'string', - 'example' => 'demo-function', - ], - 'qualifier' => [ - 'title' => '函数版本或别名。', - 'description' => '函数版本或别名。', - 'type' => 'string', - 'example' => 'LATEST', - ], - 'gatewayServiceId' => [ - 'title' => '关联的服务ID。', - 'description' => '关联的服务ID。', - 'type' => 'string', - 'example' => 'gs-xxx', - ], - 'weight' => [ - 'title' => '服务权重。', - 'description' => '服务权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', - ], + 'name' => ['title' => '函数名。', 'description' => '函数名。', 'type' => 'string', 'example' => 'demo-function'], + 'qualifier' => ['title' => '函数版本或别名。', 'description' => '函数版本或别名。', 'type' => 'string', 'example' => 'LATEST'], + 'gatewayServiceId' => ['title' => '关联的服务ID。', 'description' => '关联的服务ID。', 'type' => 'string', 'example' => 'gs-xxx'], + 'weight' => ['title' => '服务权重。', 'description' => '服务权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'match' => ['title' => '匹配条件。', 'description' => '匹配条件。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], ], + 'description' => '', ], ], 'containerServiceConfigs' => [ @@ -4009,49 +2423,15 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'gatewayServiceId' => [ - 'title' => '关联的服务ID。', - 'description' => '关联的服务ID。', - 'type' => 'string', - 'example' => 'gs-xxx', - ], - 'name' => [ - 'title' => 'k8s service名称。', - 'description' => 'k8s service名称。', - 'type' => 'string', - 'example' => 'demo-service', - ], - 'namespace' => [ - 'title' => 'k8s service命名空间。', - 'description' => 'k8s service命名空间。', - 'type' => 'string', - 'example' => 'default', - ], - 'protocol' => [ - 'title' => '服务协议。', - 'description' => '服务协议。', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'weight' => [ - 'title' => '服务权重。', - 'description' => '服务权重。', - 'type' => 'string', - 'example' => '100', - ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', - ], - 'port' => [ - 'title' => '服务端口。', - 'description' => '服务端口。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], + 'gatewayServiceId' => ['title' => '关联的服务ID。', 'description' => '关联的服务ID。', 'type' => 'string', 'example' => 'gs-xxx'], + 'name' => ['title' => 'k8s service名称。', 'description' => 'k8s service名称。', 'type' => 'string', 'example' => 'demo-service'], + 'namespace' => ['title' => 'k8s service命名空间。', 'description' => 'k8s service命名空间。', 'type' => 'string', 'example' => 'default'], + 'protocol' => ['title' => '服务协议。', 'description' => '服务协议。', 'type' => 'string', 'example' => 'HTTP'], + 'weight' => ['title' => '服务权重。', 'description' => '服务权重。', 'type' => 'string', 'example' => '100'], + 'match' => ['title' => '匹配条件。', 'description' => '匹配条件。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], + 'port' => ['title' => '服务端口。', 'description' => '服务端口。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], ], + 'description' => '', ], ], 'mseNacosConfigs' => [ @@ -4061,43 +2441,14 @@ 'items' => [ 'type' => 'object', 'properties' => [ - 'gatewayServiceId' => [ - 'title' => '关联的服务ID。', - 'description' => '关联的服务ID。', - 'type' => 'string', - 'example' => 'gs-xxx', - ], - 'name' => [ - 'title' => 'Nacos服务名。', - 'description' => 'Nacos服务名。', - 'type' => 'string', - 'example' => 'spring-demo', - ], - 'namespace' => [ - 'title' => 'Nacos命名空间。', - 'description' => 'Nacos命名空间。', - 'type' => 'string', - 'example' => 'public', - ], - 'groupName' => [ - 'title' => '服务分组。', - 'description' => '服务分组。', - 'type' => 'string', - 'example' => 'DEFAULT_GROUP', - ], - 'weight' => [ - 'title' => '服务权重。', - 'description' => '服务权重。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'match' => [ - 'title' => '匹配条件。', - 'description' => '匹配条件。', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', - ], + 'gatewayServiceId' => ['title' => '关联的服务ID。', 'description' => '关联的服务ID。', 'type' => 'string', 'example' => 'gs-xxx'], + 'name' => ['title' => 'Nacos服务名。', 'description' => 'Nacos服务名。', 'type' => 'string', 'example' => 'spring-demo'], + 'namespace' => ['title' => 'Nacos命名空间。', 'description' => 'Nacos命名空间。', 'type' => 'string', 'example' => 'public'], + 'groupName' => ['title' => '服务分组。', 'description' => '服务分组。', 'type' => 'string', 'example' => 'DEFAULT_GROUP'], + 'weight' => ['title' => '服务权重。', 'description' => '服务权重。', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'match' => ['title' => '匹配条件。', 'description' => '匹配条件。', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], ], + 'description' => '', ], ], ], @@ -4106,24 +2457,10 @@ 'title' => '接口列表。', 'description' => '接口列表。', 'type' => 'array', - 'items' => [ - 'description' => '接口信息。', - '$ref' => '#/components/schemas/HttpApiOperationInfo', - ], - ], - 'createTimestamp' => [ - 'title' => '发布时间戳。', - 'description' => '发布时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1718807057927', - ], - 'isCurrentVersion' => [ - 'title' => '是否当前版本', - 'description' => '是否当前版本', - 'type' => 'boolean', - 'example' => 'true', + 'items' => ['description' => '接口信息。', '$ref' => '#/components/schemas/HttpApiOperationInfo'], ], + 'createTimestamp' => ['title' => '发布时间戳。', 'description' => '发布时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1718807057927'], + 'isCurrentVersion' => ['title' => '是否当前版本', 'description' => '是否当前版本', 'type' => 'boolean', 'example' => 'true'], ], ], 'HttpApiRequestContract' => [ @@ -4135,69 +2472,40 @@ 'title' => '请求头参数定义。', 'description' => '请求头参数定义。', 'type' => 'array', - 'items' => [ - 'description' => '请求头参数定义。', - '$ref' => '#/components/schemas/HttpApiParameter', - ], + 'items' => ['description' => '请求头参数定义。', '$ref' => '#/components/schemas/HttpApiParameter'], ], 'queryParameters' => [ 'title' => 'Query参数定义', 'description' => 'Query参数定义。', 'type' => 'array', - 'items' => [ - 'description' => 'Query参数定义。', - '$ref' => '#/components/schemas/HttpApiParameter', - ], + 'items' => ['description' => 'Query参数定义。', '$ref' => '#/components/schemas/HttpApiParameter'], ], 'pathParameters' => [ 'title' => '路径参数定义。', 'description' => '路径参数定义。', 'type' => 'array', - 'items' => [ - 'description' => '路径参数定义。', - '$ref' => '#/components/schemas/HttpApiParameter', - ], + 'items' => ['description' => '路径参数定义。', '$ref' => '#/components/schemas/HttpApiParameter'], ], 'body' => [ 'title' => '请求体参数定义。', 'description' => '请求体参数定义。', 'type' => 'object', 'properties' => [ - 'description' => [ - 'title' => '描述。', - 'description' => '描述。', - 'type' => 'string', - 'example' => 'body参数描述', - ], - 'example' => [ - 'title' => '示例值。', - 'description' => '示例值。', - 'type' => 'string', - 'example' => '{"result":"ok"}', - ], - 'contentType' => [ - 'title' => '请求体内容类型。', - 'description' => '请求体内容类型。', - 'type' => 'string', - 'example' => 'application/json', - ], - 'jsonSchema' => [ - 'title' => '请求体JSON定义描述。', - 'description' => '请求体JSON定义描述。', - 'type' => 'string', - 'example' => '{'."\n" - .' "type": "object",'."\n" - .' "required": ['."\n" - .' "result"'."\n" - .' ],'."\n" - .' "properties": {'."\n" - .' "result": {'."\n" - .' "type": "string",'."\n" - .' "description": "操作结果,\'ok\' 表示成功"'."\n" - .' }'."\n" - .' }'."\n" - .'}'."\n", - ], + 'description' => ['title' => '描述。', 'description' => '描述。', 'type' => 'string', 'example' => 'body参数描述'], + 'example' => ['title' => '示例值。', 'description' => '示例值。', 'type' => 'string', 'example' => '{"result":"ok"}'], + 'contentType' => ['title' => '请求体内容类型。', 'description' => '请求体内容类型。', 'type' => 'string', 'example' => 'application/json'], + 'jsonSchema' => ['title' => '请求体JSON定义描述。', 'description' => '请求体JSON定义描述。', 'type' => 'string', 'example' => '{'."\n" + .' "type": "object",'."\n" + .' "required": ['."\n" + .' "result"'."\n" + .' ],'."\n" + .' "properties": {'."\n" + .' "result": {'."\n" + .' "type": "string",'."\n" + .' "description": "操作结果,\'ok\' 表示成功"'."\n" + .' }'."\n" + .' }'."\n" + .'}'."\n"], ], ], ], @@ -4207,13 +2515,7 @@ 'description' => 'HTTP API定义的响应格式', 'type' => 'object', 'properties' => [ - 'contentType' => [ - 'title' => '内应内容类型。', - 'description' => '内应内容类型。', - 'type' => 'string', - 'required' => true, - 'example' => 'application/json', - ], + 'contentType' => ['title' => '内应内容类型。', 'description' => '内应内容类型。', 'type' => 'string', 'required' => true, 'example' => 'application/json'], 'items' => [ 'title' => '响应定义。', 'description' => '响应定义。', @@ -4222,42 +2524,21 @@ 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'code' => [ - 'title' => '响应码。', - 'description' => '响应码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'example' => [ - 'title' => '示例值。', - 'description' => '示例值。', - 'type' => 'string', - 'example' => '{"result": "ok"}', - ], - 'description' => [ - 'title' => '描述。', - 'description' => '描述。', - 'type' => 'string', - 'example' => '正常接口响应', - ], - 'jsonSchema' => [ - 'title' => '响应体JSON定义描述。', - 'description' => '响应体JSON定义描述。', - 'type' => 'string', - 'example' => '{'."\n" - .' "type": "object",'."\n" - .' "required": ['."\n" - .' "result"'."\n" - .' ],'."\n" - .' "properties": {'."\n" - .' "result": {'."\n" - .' "type": "string",'."\n" - .' "description": "操作结果,\'ok\' 表示成功"'."\n" - .' }'."\n" - .' }'."\n" - .'}', - ], + 'code' => ['title' => '响应码。', 'description' => '响应码。', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'example' => ['title' => '示例值。', 'description' => '示例值。', 'type' => 'string', 'example' => '{"result": "ok"}'], + 'description' => ['title' => '描述。', 'description' => '描述。', 'type' => 'string', 'example' => '正常接口响应'], + 'jsonSchema' => ['title' => '响应体JSON定义描述。', 'description' => '响应体JSON定义描述。', 'type' => 'string', 'example' => '{'."\n" + .' "type": "object",'."\n" + .' "required": ['."\n" + .' "result"'."\n" + .' ],'."\n" + .' "properties": {'."\n" + .' "result": {'."\n" + .' "type": "string",'."\n" + .' "description": "操作结果,\'ok\' 表示成功"'."\n" + .' }'."\n" + .' }'."\n" + .'}'], ], ], ], @@ -4268,41 +2549,17 @@ 'description' => 'API版本化配置。', 'type' => 'object', 'properties' => [ - 'enable' => [ - 'title' => '是否启用版本化控制。', - 'description' => '是否启用版本化控制。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'enable' => ['title' => '是否启用版本化控制。', 'description' => '是否启用版本化控制。', 'type' => 'boolean', 'example' => 'true'], 'scheme' => [ 'title' => '版本化方案。', 'description' => '版本化方案。', 'type' => 'string', - 'enumValueTitles' => [ - 'Path' => 'Path', - 'Query' => 'Query', - 'Header' => 'Header', - ], + 'enumValueTitles' => ['Path' => '路径版本化,通过URL路径区分版本', 'Query' => '查询参数版本化,通过Query参数区分版本', 'Header' => '请求头版本化,通过Header参数区分版本'], 'example' => 'Query', ], - 'headerName' => [ - 'title' => 'Header版本化方案时,指定的Header参数中的Key。', - 'description' => 'Header版本化方案时,指定的Header参数中的Key。', - 'type' => 'string', - 'example' => 'my-version', - ], - 'queryName' => [ - 'title' => 'Query版本化方案时,指定的Query参数中的Key。', - 'description' => 'Query版本化方案时,指定的Query参数中的Key。', - 'type' => 'string', - 'example' => 'myVersion', - ], - 'version' => [ - 'title' => '版本号', - 'description' => '版本号。', - 'type' => 'string', - 'example' => 'v1', - ], + 'headerName' => ['title' => 'Header版本化方案时,指定的Header参数中的Key。', 'description' => 'Header版本化方案时,指定的Header参数中的Key。', 'type' => 'string', 'example' => 'my-version'], + 'queryName' => ['title' => 'Query版本化方案时,指定的Query参数中的Key。', 'description' => 'Query版本化方案时,指定的Query参数中的Key。', 'type' => 'string', 'example' => 'myVersion'], + 'version' => ['title' => '版本号', 'description' => '版本号。', 'type' => 'string', 'example' => 'v1'], ], ], 'HttpApiVersionInfo' => [ @@ -4310,369 +2567,105 @@ 'description' => 'API版本信息。', 'type' => 'object', 'properties' => [ - 'enable' => [ - 'title' => '是否启用版本化控制。', - 'description' => '是否启用版本化控制。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'scheme' => [ - 'title' => '版本化方案。', - 'description' => '版本化方案。', - 'type' => 'string', - 'example' => 'Query', - ], - 'headerName' => [ - 'title' => 'Header版本化方案时,指定的Header参数中的Key。', - 'description' => 'Header版本化方案时,指定的Header参数中的Key。', - 'type' => 'string', - 'example' => 'my-version', - ], - 'queryName' => [ - 'title' => 'Query版本化方案时,指定的Query参数中的Key。', - 'description' => 'Query版本化方案时,指定的Query参数中的Key。', - 'type' => 'string', - 'example' => 'myVersion', - ], - 'version' => [ - 'title' => '版本号。', - 'description' => '版本号。', - 'type' => 'string', - 'example' => 'v1', - ], + 'enable' => ['title' => '是否启用版本化控制。', 'description' => '是否启用版本化控制。', 'type' => 'boolean', 'example' => 'true'], + 'scheme' => ['title' => '版本化方案。', 'description' => '版本化方案。', 'type' => 'string', 'example' => 'Query'], + 'headerName' => ['title' => 'Header版本化方案时,指定的Header参数中的Key。', 'description' => 'Header版本化方案时,指定的Header参数中的Key。', 'type' => 'string', 'example' => 'my-version'], + 'queryName' => ['title' => 'Query版本化方案时,指定的Query参数中的Key。', 'description' => 'Query版本化方案时,指定的Query参数中的Key。', 'type' => 'string', 'example' => 'myVersion'], + 'version' => ['title' => '版本号。', 'description' => '版本号。', 'type' => 'string', 'example' => 'v1'], ], ], - 'HttpDubboTranscoder' => [ + 'HttpApiVersionSetContract' => [ 'title' => 'A short description of struct', - 'description' => 'Http Dubbo协议转换定义', + 'description' => 'HTTP API版本控制配置。', 'type' => 'object', 'properties' => [ - 'dubboServiceName' => [ - 'title' => 'dubbo服务名', - 'type' => 'string', - ], - 'dubboServiceVersion' => [ - 'title' => 'dubbo服务版本', - 'type' => 'string', - ], - 'dubboServiceGroup' => [ - 'title' => 'dubbo服务分组', + 'versioningScheme' => [ + 'title' => '版本化方案', + 'description' => '版本化方案,标识使用何种方式指定API的访问方式,支持Query参数、Header参数、Path路径三种模式。', 'type' => 'string', + 'required' => true, + 'enumValueTitles' => ['Path' => 'Path', 'Query' => 'Query', 'Header' => 'Header'], + 'example' => 'Query', ], - 'mothedMapList' => [ - 'title' => '方法映射列表', - 'type' => 'array', - 'items' => [ + 'versionHeaderName' => ['title' => 'Header中的key', 'description' => 'Header中的key,访问API时需要在请求头中添加此Key。', 'type' => 'string', 'example' => 'my-version'], + 'versionQueryName' => ['title' => 'Query中的key', 'description' => 'Query中的key,访问API时需在请求Query参数中添加此Key。', 'type' => 'string', 'example' => 'my-version'], + 'version' => ['title' => '版本号', 'description' => '版本号。', 'type' => 'string', 'required' => true, 'example' => 'v1'], + 'versionEnabled' => ['title' => '是否启用版本化', 'description' => '是否启用版本化。', 'type' => 'boolean', 'required' => true, 'example' => 'true'], + ], + ], + 'HttpRoute' => [ + 'alibabaCloud' => 'alibabaCloud:1.0.0', + 'info' => ['runtimeType' => 'pop', 'namespace' => 'APIG::2024-03-27', 'apiStyle' => 'restful'], + 'components' => [ + 'schemas' => [ + 'HttpRoute' => [ + 'title' => 'HttpApi Route', + 'description' => 'HttpApi Route的定义', 'type' => 'object', 'properties' => [ - 'dubboMothedName' => [ - 'title' => 'dubbo方法名', - 'type' => 'string', - ], - 'httpMothed' => [ - 'title' => 'Http 方法ALL_GET。 ALL_POST。 ALL_PUT。 ALL_DELETE。 ALL_PATCH。', - 'type' => 'string', - 'example' => 'ALL_GET', - ], - 'mothedpath' => [ - 'title' => '方法匹配路径', - 'type' => 'string', - 'example' => '/mytestzbk/sayhello', - ], - 'passThroughAllHeaders' => [ - 'title' => '否 Header 透传类型。透传所有:PASS_ALL。 不透传:PASS_NOT。 指定参数:PASS_ASSIGN。', - 'type' => 'string', - 'example' => 'PASS_NOT', - ], - 'passThroughList' => [ - 'title' => '指定透传 Header 列表。', - 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'paramMapsList' => [ - 'title' => '参数映射列表。', + 'routeId' => ['title' => 'HttpApi 路由ID', 'type' => 'string', 'backendName' => 'routeId'], + 'name' => ['title' => '路由名称', 'type' => 'string', 'backendName' => 'name'], + 'deployStatus' => ['title' => '部署状态', 'type' => 'string', 'backendName' => 'deployStatus'], + 'description' => ['title' => '路由描述', 'type' => 'string', 'backendName' => 'description'], + 'match' => ['title' => '路由的匹配规则', 'backendName' => 'match', '$ref' => '#/components/schemas/HttpRouteMatch'], + 'backend' => ['title' => '后端服务', 'backendName' => 'backend', '$ref' => '#/components/schemas/Backend'], + 'domainInfos' => [ + 'title' => '域名信息', 'type' => 'array', 'items' => [ 'type' => 'object', 'properties' => [ - 'extractKeySpec' => [ - 'title' => '入参位置 入参位置枚举值。 请求参数:ALL_QUERY_PARAMETER 请求头:ALL_HEADER 请求路径:ALL_PATH 请求体:ALL_BODY', - 'type' => 'string', - 'example' => 'ALL_QUERY_PARAMETER', - ], - 'extractKey' => [ - 'title' => '入参位提取 Key。', - 'type' => 'string', - 'example' => 'name', - ], - 'mappingType' => [ - 'title' => '后端参数类型。', - 'type' => 'string', - 'example' => 'java.lang.String', - ], + 'domainId' => ['title' => '域名ID', 'type' => 'string', 'backendName' => 'domainId'], + 'name' => ['title' => '域名名称', 'type' => 'string', 'backendName' => 'name'], + 'protocol' => ['title' => '域名协议, HTTPS|HTTP', 'type' => 'string', 'backendName' => 'protocol'], ], ], + 'backendName' => 'domainInfos', ], - ], - ], - ], - ], - ], - 'HttpRoute' => [ - 'title' => 'HttpApi Route', - 'description' => 'HttpApi Route的定义。', - 'type' => 'object', - 'properties' => [ - 'routeId' => [ - 'title' => 'HttpApi 路由ID', - 'description' => 'HttpApi 路由ID。', - 'type' => 'string', - 'example' => 'hr-crf5l7tlhtgp91t***', - ], - 'name' => [ - 'title' => '路由名称', - 'description' => '路由名称。', - 'type' => 'string', - 'example' => 'itemcenter-pre-route', - ], - 'deployStatus' => [ - 'title' => '部署状态', - 'description' => '部署状态。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Deploying' => '发布中', - 'DeployedWithChanges' => '已发布当有修改', - 'Undeploying' => '下线中', - 'NotDeployed' => '未发布', - 'Deployed' => '已发布', - 'UndeployFailed' => '下线失败', - 'DeployFailed' => '发布失败', - ], - 'example' => 'Deployed', - ], - 'description' => [ - 'title' => '路由描述', - 'description' => '路由描述。', - 'type' => 'string', - 'example' => '商品中心预发路由', - ], - 'match' => [ - 'title' => '路由的匹配规则', - 'description' => '路由的匹配规则。', - '$ref' => '#/components/schemas/HttpRouteMatch', - ], - 'backend' => [ - 'title' => '后端服务', - 'description' => '后端服务。', - '$ref' => '#/components/schemas/Backend', - ], - 'environmentInfo' => [ - 'title' => '路由所在的环境信息', - 'description' => '路由所在的环境信息。', - 'type' => 'object', - 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID', - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-crhq1u5lhtgju***', - ], - 'name' => [ - 'title' => '环境名称', - 'description' => '环境名称', - 'type' => 'string', - 'example' => 'itemcenter-pre', - ], - 'alias' => [ - 'title' => '环境名称别名', - 'description' => '环境名称别名。', - 'type' => 'string', - 'example' => '商品中心预发环境', - ], - 'gatewayInfo' => [ - 'title' => '网关信息', - 'description' => '网关信息。', - 'type' => 'object', - 'properties' => [ - 'gatewayId' => [ - 'title' => '网关名称', - 'description' => '网关ID。', - 'type' => 'string', - 'example' => 'gw-cqoohqtlh***', - ], - 'name' => [ - 'title' => '网关名称', - 'description' => '网关名称', - 'type' => 'string', - 'example' => 'itemcenter-gateway', - ], - ], - ], - 'subDomains' => [ - 'title' => '环境的默认二级域名', - 'description' => '环境的默认二级域名列表。', - 'type' => 'array', - 'items' => [ - 'description' => '环境默认域名信息。', + 'environmentInfo' => [ + 'title' => '路由所在的环境信息', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => '域名ID', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-cqu19hdlhtgjuv4***', - ], - 'name' => [ - 'title' => '域名名称', - 'description' => '域名名称。', - 'type' => 'string', - 'example' => 'env-crmic3llht***-cn-hangzhou-vpc.alicloudapi.com', - ], - 'protocol' => [ - 'title' => '域名协议, HTTP|HTTPS', - 'description' => '域名协议。', - 'type' => 'string', - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', + 'environmentId' => ['title' => '环境ID', 'type' => 'string', 'backendName' => 'environmentId'], + 'name' => ['title' => '环境名称', 'type' => 'string', 'backendName' => 'name'], + 'alias' => ['title' => '环境名称别名', 'type' => 'string', 'backendName' => 'alias'], + 'gatewayInfo' => [ + 'title' => '网关信息', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['title' => '网关名称', 'type' => 'string', 'backendName' => 'gatewayId'], + 'name' => ['title' => '网关名称', 'type' => 'string', 'backendName' => 'name'], ], - 'example' => 'HTTP', + 'backendName' => 'gatewayInfo', ], - 'networkType' => [ - 'title' => '域名访问类型,Intranet|Internet', - 'description' => '域名访问类型。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Intranet' => '私网', - 'Internet' => '公网', + 'subDomains' => [ + 'title' => '环境的默认二级域名', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'domainId' => ['title' => '域名ID', 'type' => 'string', 'backendName' => 'domainId'], + 'name' => ['title' => '域名名称', 'type' => 'string', 'backendName' => 'name'], + 'protocol' => ['title' => '域名协议, HTTP|HTTPS', 'type' => 'string', 'backendName' => 'protocol'], + 'networkType' => ['title' => '域名访问类型,Intranet|Internet', 'type' => 'string', 'example' => 'Internet', 'backendName' => 'networkType'], + ], ], - 'example' => 'Internet', + 'backendName' => 'subDomains', ], ], + 'backendName' => 'environmentInfo', ], - ], - ], - ], - 'createTimestamp' => [ - 'title' => '创建时间,单位ms', - 'description' => '创建时间,单位:ms。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1726649310593', - ], - 'updateTimestamp' => [ - 'title' => '更新时间:单位ms', - 'description' => '更新时间,单位:ms。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1726819895636', - ], - 'mcpServerInfo' => [ - 'title' => 'mcp服务信息', - 'description' => 'mcp服务信息', - 'type' => 'object', - 'properties' => [ - 'importInstanceId' => [ - 'title' => 'nacos实例id', - 'description' => 'nacos实例id', - 'type' => 'string', - 'example' => 'import-001', - ], - 'importNamespace' => [ - 'title' => 'nacos命名空间', - 'description' => 'nacos命名空间', - 'type' => 'string', - 'example' => 'default', - ], - 'importMcpServerId' => [ - 'title' => 'nacos mcp server标识', - 'description' => 'nacos mcp server标识', - 'type' => 'string', - 'example' => 'mcp-002', - ], - 'createFromType' => [ - 'title' => '创建类型', - 'description' => '创建类型', - 'type' => 'string', - 'example' => 'Nacos', - ], - 'mcpServerConfig' => [ - 'title' => 'mcp server元信息配置', - 'description' => 'mcp server元信息配置', - 'type' => 'string', - 'example' => '{\\"config\\":{}}', - ], - 'mcpRouteConfig' => [ - 'title' => 'mcp 路由信息', - 'description' => 'mcp 路由信息', - 'type' => 'object', - 'properties' => [ - 'protocol' => [ - 'title' => 'mcp 协议类型', - 'description' => 'mcp 协议类型', - 'type' => 'string', - 'example' => 'SSE', - ], - 'exposedUriPath' => [ - 'title' => 'mcp route path', - 'description' => 'mcp route path', - 'type' => 'string', - 'example' => '/mcp', - ], - ], - ], - ], - ], - 'domainInfos' => [ - 'title' => '域名信息', - 'description' => '域名信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名信息。', - 'type' => 'object', - 'properties' => [ - 'domainId' => [ - 'title' => '域名ID', - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-cr3v7dllhtgi9s***', - ], - 'name' => [ - 'title' => '域名名称', - 'description' => '域名名称。', - 'type' => 'string', - 'example' => 'itemcenter.dev', - ], - 'protocol' => [ - 'title' => '域名协议, HTTPS|HTTP', - 'description' => '域名协议。', - 'type' => 'string', - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', + 'createTimestamp' => ['title' => '创建时间,单位ms', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'createTimestamp'], + 'updateTimestamp' => ['title' => '更新时间:单位ms', 'type' => 'integer', 'format' => 'int64', 'backendName' => 'updateTimestamp'], + 'gatewayStatus' => [ + 'title' => '路由发布状态', + 'type' => 'object', + 'additionalProperties' => ['type' => 'string'], + 'backendName' => 'gatewayStatus', ], ], ], ], - 'gatewayStatus' => [ - 'title' => '路由发布状态', - 'description' => '路由发布状态', - 'type' => 'object', - 'additionalProperties' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => 'Running', - ], - ], - 'builtin' => [ - 'description' => '是否为系统内置路由', - 'type' => 'string', - 'example' => 'true', - ], ], ], 'HttpRouteMatch' => [ @@ -4680,12 +2673,7 @@ 'description' => '路由Match规则。', 'type' => 'object', 'properties' => [ - 'ignoreUriCase' => [ - 'title' => '路径是否大小写敏感', - 'description' => '路径是否大小写不敏感。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'ignoreUriCase' => ['title' => '路径是否大小写敏感', 'description' => '路径是否大小写不敏感。', 'type' => 'boolean', 'example' => 'true'], 'path' => [ 'title' => '路径规则', 'description' => '路径规则。', @@ -4698,19 +2686,10 @@ .'- Prefix:前缀匹配。 '."\n" .'- Regex:正则匹配。', 'type' => 'string', - 'enumValueTitles' => [ - 'Regex' => '正则匹配', - 'Exact' => '精确匹配', - 'Prefix' => '前缀匹配', - ], + 'enumValueTitles' => ['Regex' => '正则匹配', 'Exact' => '精确匹配', 'Prefix' => '前缀匹配'], 'example' => 'Prefix', ], - 'value' => [ - 'title' => '路径', - 'description' => '路径。', - 'type' => 'string', - 'example' => '/user', - ], + 'value' => ['title' => '路径', 'description' => '路径。', 'type' => 'string', 'example' => '/user'], ], ], 'headers' => [ @@ -4728,25 +2707,11 @@ .'- Prefix:前缀匹配。 '."\n" .'- Regex:正则匹配。', 'type' => 'string', - 'enumValueTitles' => [ - 'Regex' => '正则匹配', - 'Exact' => '精确匹配', - 'Prefix' => '前缀匹配', - ], + 'enumValueTitles' => ['Regex' => '正则匹配', 'Exact' => '精确匹配', 'Prefix' => '前缀匹配'], 'example' => 'Exact', ], - 'name' => [ - 'title' => 'header的名称', - 'description' => 'header的名称。', - 'type' => 'string', - 'example' => 'dev', - ], - 'value' => [ - 'title' => 'header的value', - 'description' => 'header的value。', - 'type' => 'string', - 'example' => 'true', - ], + 'name' => ['title' => 'header的名称', 'description' => 'header的名称。', 'type' => 'string', 'example' => 'dev'], + 'value' => ['title' => 'header的value', 'description' => 'header的value。', 'type' => 'string', 'example' => 'true'], ], ], ], @@ -4766,17 +2731,7 @@ .'- TRACE'."\n" .'- PATCH', 'type' => 'string', - 'enumValueTitles' => [ - 'TRACE' => 'TRACE', - 'HEAD' => 'HEAD', - 'DELETE' => 'DELETE', - 'POST' => 'POST', - 'GET' => 'GET', - 'OPTION' => 'OPTION', - 'CONNECT' => 'CONNECT', - 'PUT' => 'PUT', - 'PATCH' => 'PATCH', - ], + 'enumValueTitles' => ['TRACE' => 'TRACE', 'HEAD' => 'HEAD', 'DELETE' => 'DELETE', 'POST' => 'POST', 'GET' => 'GET', 'OPTION' => 'OPTION', 'CONNECT' => 'CONNECT', 'PUT' => 'PUT', 'PATCH' => 'PATCH'], 'example' => 'GET', ], ], @@ -4795,25 +2750,11 @@ .'- Prefix:前缀匹配。 '."\n" .'- Regex:正则匹配。', 'type' => 'string', - 'enumValueTitles' => [ - 'Regex' => '正则匹配', - 'Exact' => '精确匹配', - 'Prefix' => '前缀匹配', - ], + 'enumValueTitles' => ['Regex' => '正则匹配', 'Exact' => '精确匹配', 'Prefix' => '前缀匹配'], 'example' => 'Exact', ], - 'name' => [ - 'title' => '参数名称', - 'description' => '参数名称。', - 'type' => 'string', - 'example' => 'age', - ], - 'value' => [ - 'title' => '参数值', - 'description' => '参数值。', - 'type' => 'string', - 'example' => '17', - ], + 'name' => ['title' => '参数名称', 'description' => '参数名称。', 'type' => 'string', 'example' => 'age'], + 'value' => ['title' => '参数值', 'description' => '参数值。', 'type' => 'string', 'example' => '17'], ], ], ], @@ -4824,57 +2765,26 @@ 'description' => 'Jwt鉴权身份配置。', 'type' => 'object', 'properties' => [ - 'type' => [ - 'title' => 'type', - 'description' => '鉴权配置类型。', - 'type' => 'string', - 'example' => 'Jwt', - ], + 'type' => ['title' => 'type', 'description' => '鉴权配置类型。', 'type' => 'string', 'required' => false, 'example' => 'Jwt'], 'secretType' => [ 'title' => 'secretType', 'description' => 'secret类型。', 'type' => 'string', - 'enumValueTitles' => [ - 'Asymmetry' => '非对称加密', - 'Symmetry' => '对称加密', - ], + 'required' => false, + 'enumValueTitles' => ['Asymmetry' => '非对称加密', 'Symmetry' => '对称加密'], 'example' => 'Symmetry', ], - 'jwks' => [ - 'title' => 'jwks', - 'description' => 'jwks配置。', - 'type' => 'string', - 'example' => 'xxxx', - ], + 'remoteJwks' => ['title' => 'remoteJwks', 'description' => '远程 JWKS 配置(JSON 字符串)', 'type' => 'string', 'required' => false, 'example' => '{"uri":"https://example.com/.well-known/jwks.json"}'], + 'jwks' => ['title' => 'jwks', 'description' => 'jwks配置。', 'type' => 'string', 'required' => false, 'example' => 'xxxx'], 'jwtTokenConfig' => [ 'title' => 'jwtTokenConfig', 'description' => 'jwtToken配置。', 'type' => 'object', 'properties' => [ - 'position' => [ - 'title' => 'position', - 'description' => 'JWT保存位置。', - 'type' => 'string', - 'example' => 'HEADER', - ], - 'key' => [ - 'title' => 'key', - 'description' => 'JWT的KEY配置。', - 'type' => 'string', - 'example' => 'Authorization', - ], - 'prefix' => [ - 'title' => 'prefix', - 'description' => '前缀配置。', - 'type' => 'string', - 'example' => 'test', - ], - 'pass' => [ - 'title' => 'pass', - 'description' => '是否通过。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'position' => ['title' => 'position', 'description' => 'JWT保存位置。', 'type' => 'string', 'required' => false, 'example' => 'HEADER'], + 'key' => ['title' => 'key', 'description' => 'JWT的KEY配置。', 'type' => 'string', 'required' => false, 'example' => 'Authorization'], + 'prefix' => ['title' => 'prefix', 'description' => '前缀配置。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'pass' => ['title' => 'pass', 'description' => '是否通过。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], 'required' => false, ], @@ -4883,19 +2793,24 @@ 'description' => 'jwt信息载荷配置。', 'type' => 'object', 'properties' => [ - 'payloadKeyName' => [ - 'title' => 'payloadKeyName', - 'description' => 'JWT载荷键配置。', - 'type' => 'string', - 'example' => 'uid', - ], - 'payloadKeyValue' => [ - 'title' => 'payloadKeyValue', - 'description' => 'JWT载荷的值内容配置。', - 'type' => 'string', - 'example' => '2222', + 'payloadKeyName' => ['title' => 'payloadKeyName', 'description' => 'JWT载荷键配置。', 'type' => 'string', 'required' => false, 'example' => 'uid'], + 'payloadKeyValue' => ['title' => 'payloadKeyValue', 'description' => 'JWT载荷的值内容配置。', 'type' => 'string', 'required' => false, 'example' => '2222'], + ], + ], + 'claimsToHeadersConfigs' => [ + 'title' => 'claimsToHeadersConfigs', + 'description' => 'Claim 转 Header 配置列表', + 'type' => 'array', + 'items' => [ + 'description' => '配置列表', + 'type' => 'object', + 'properties' => [ + 'claim' => ['title' => 'claim', 'description' => 'JWT Payload 中的 Claim 名称', 'type' => 'string', 'required' => false, 'example' => 'sub'], + 'header' => ['title' => 'header', 'description' => '转换后的 HTTP Header 名称', 'type' => 'string', 'required' => false, 'example' => 'X-Consumer-Id'], + 'override' => ['title' => 'override', 'description' => '是否覆盖已存在的同名 Header', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], + 'required' => false, ], ], ], @@ -4904,18 +2819,8 @@ 'description' => 'KMS 配置详情', 'type' => 'object', 'properties' => [ - 'kmsInstanceId' => [ - 'title' => 'kmsInstanceId', - 'description' => 'KMS 实例 ID', - 'type' => 'string', - 'example' => 'kst-xxxxxxxx', - ], - 'kmsKeyId' => [ - 'title' => 'kmsKeyId', - 'description' => 'KMS 密钥 ID', - 'type' => 'string', - 'example' => 'key-xxxxxxxx', - ], + 'kmsInstanceId' => ['title' => 'kmsInstanceId', 'description' => 'KMS 实例 ID', 'type' => 'string', 'example' => 'kst-xxxxxxxx'], + 'kmsKeyId' => ['title' => 'kmsKeyId', 'description' => 'KMS 密钥 ID', 'type' => 'string', 'example' => 'key-xxxxxxxx'], ], ], 'LabelDetail' => [ @@ -4923,122 +2828,47 @@ 'description' => '标签内容', 'type' => 'object', 'properties' => [ - 'key' => [ - 'title' => '标签key', - 'description' => '标签key', - 'type' => 'string', - 'example' => 'version', - ], + 'key' => ['title' => '标签key', 'description' => '标签key', 'type' => 'string', 'example' => 'version'], 'values' => [ 'title' => '标签value列表', 'description' => '标签value列表', 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["v1.0.0", "v2.0.0"]', - ], + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '["v1.0.0", "v2.0.0"]'], ], ], ], - 'McpServerConfig' => [ - 'title' => 'A short description of struct', - 'description' => '', - 'type' => 'object', - 'properties' => [], - ], 'ParentResourceInfo' => [ 'title' => 'A short description of struct', 'description' => '资源信息数据结构', 'type' => 'object', 'properties' => [ - 'resourceType' => [ - 'title' => 'resourceType', - 'description' => '资源类型:'."\n" - .'HttpApi/Operation/GatewayRoute/Gateway/GatewayDomain', - 'type' => 'string', - 'example' => 'Gateway', - ], - 'apiInfo' => [ - 'description' => 'API信息', - '$ref' => '#/components/schemas/HttpApiApiInfo', - ], + 'resourceType' => ['title' => 'resourceType', 'description' => '资源类型:'."\n" + .'HttpApi/Operation/GatewayRoute/Gateway/GatewayDomain', 'type' => 'string', 'example' => 'Gateway'], + 'apiInfo' => ['description' => 'API信息', '$ref' => '#/components/schemas/HttpApiApiInfo'], ], ], 'PluginClassInfo' => [ 'title' => 'A short description of struct', - 'description' => 'PluginClassInfo', + 'description' => 'object', 'type' => 'object', 'properties' => [ - 'pluginClassId' => [ - 'title' => 'pluginClassId', - 'type' => 'string', - ], - 'type' => [ - 'title' => 'type', - 'type' => 'string', - ], - 'mode' => [ - 'title' => 'mode', - 'type' => 'string', - ], - 'name' => [ - 'title' => 'name', - 'type' => 'string', - ], - 'alias' => [ - 'title' => 'alias', - 'type' => 'string', - ], - 'description' => [ - 'title' => 'description', - 'type' => 'string', - ], - 'source' => [ - 'title' => 'source', - 'type' => 'string', - ], - 'version' => [ - 'title' => 'version', - 'type' => 'string', - ], - 'versionDescription' => [ - 'title' => 'versionDescription', - 'type' => 'string', - ], - 'executeStage' => [ - 'title' => 'executeStage', - 'type' => 'string', - ], - 'executePriority' => [ - 'title' => 'executePriority', - 'type' => 'integer', - 'format' => 'int32', - ], - 'configExample' => [ - 'title' => 'configExample', - 'type' => 'string', - ], - 'imageName' => [ - 'title' => 'imageName', - 'type' => 'string', - ], - 'wasmLanguage' => [ - 'title' => 'wasmLanguage', - 'type' => 'string', - ], - 'supportedMinGatewayVersion' => [ - 'title' => 'supportedMinGatewayVersion', - 'type' => 'string', - ], - 'wasmUrl' => [ - 'title' => 'wasmUrl', - 'type' => 'string', - ], - 'innerPlugin' => [ - 'title' => 'innerPlugin', - 'type' => 'boolean', - ], + 'pluginClassId' => ['title' => 'pluginClassId', 'description' => '插件类 ID', 'type' => 'string', 'example' => 'cls-xxx'], + 'type' => ['title' => 'type', 'description' => '插件类型分类', 'type' => 'string', 'example' => 'AI'], + 'mode' => ['title' => 'mode', 'description' => '插件运行模式', 'type' => 'string', 'example' => 'Wasm'], + 'name' => ['title' => 'name', 'description' => '插件类名称', 'type' => 'string', 'example' => 'ai-security-guard'], + 'alias' => ['title' => 'alias', 'description' => '插件类别名', 'type' => 'string', 'example' => 'AI安全护栏'], + 'description' => ['title' => 'description', 'description' => '插件类描述', 'type' => 'string', 'example' => 'AI请求内容安全检测插件'], + 'source' => ['title' => 'source', 'description' => '插件来源', 'type' => 'string', 'example' => 'HigressOfficial'], + 'version' => ['title' => 'version', 'description' => '插件版本号', 'type' => 'string', 'example' => '1.0.0'], + 'versionDescription' => ['title' => 'versionDescription', 'description' => '版本描述', 'type' => 'string', 'example' => '初始版本'], + 'executeStage' => ['title' => 'executeStage', 'description' => '执行阶段', 'type' => 'string', 'example' => 'AUTHN'], + 'executePriority' => ['title' => 'executePriority', 'description' => '执行优先级', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'configExample' => ['title' => 'configExample', 'description' => '配置示例(JSON 字符串)', 'type' => 'string', 'example' => '{"checkRequest":true}'], + 'imageName' => ['title' => 'imageName', 'description' => 'Wasm 镜像名称', 'type' => 'string', 'example' => 'higress-registry.tencentcloudcr.com/ai-security-guard'], + 'wasmLanguage' => ['title' => 'wasmLanguage', 'description' => 'Wasm 编程语言', 'type' => 'string', 'example' => 'Rust'], + 'supportedMinGatewayVersion' => ['title' => 'supportedMinGatewayVersion', 'description' => '支持的最低网关引擎版本', 'type' => 'string', 'example' => '2.1.11'], + 'wasmUrl' => ['title' => 'wasmUrl', 'description' => 'Wasm 文件下载地址', 'type' => 'string', 'example' => 'https://...'], + 'innerPlugin' => ['title' => 'innerPlugin', 'description' => '是否为内置插件', 'type' => 'boolean', 'example' => 'false'], ], ], 'PolicyClassInfo' => [ @@ -5046,88 +2876,24 @@ 'description' => '策略模板。', 'type' => 'object', 'properties' => [ - 'classId' => [ - 'title' => 'classId', - 'description' => '策略模板标识.', - 'type' => 'string', - 'example' => 'pc-cpqm0s94ckt1displ8ng', - ], - 'name' => [ - 'title' => 'name', - 'description' => '策略模板名。', - 'type' => 'string', - 'example' => 'ConcurrencyLimit', - ], - 'alias' => [ - 'title' => 'alias', - 'description' => '策略模板别名。', - 'type' => 'string', - 'example' => '并发控制', - ], - 'version' => [ - 'title' => 'version', - 'description' => '策略模板版本。', - 'type' => 'string', - 'example' => '1.0.0', - ], - 'description' => [ - 'title' => 'description', - 'description' => '策略模板的详细描述。', - 'type' => 'string', - 'example' => '通过控制并发线程数以保证系统的稳定性。适用于应用内部或下游依赖出现不稳定的场景,例如慢SQL、下游应用响应时间变长等。', - ], - 'type' => [ - 'title' => 'type', - 'description' => '策略类型。', - 'type' => 'string', - 'example' => 'FlowControl', - ], - 'direction' => [ - 'title' => 'direction', - 'description' => '策略的作用方向。', - 'type' => 'string', - 'example' => 'InBound', - ], + 'classId' => ['title' => 'classId', 'description' => '策略模板标识.', 'type' => 'string', 'example' => 'pc-cpqm0s94ckt1displ8ng'], + 'name' => ['title' => 'name', 'description' => '策略模板名。', 'type' => 'string', 'example' => 'ConcurrencyLimit'], + 'alias' => ['title' => 'alias', 'description' => '策略模板别名。', 'type' => 'string', 'example' => '并发控制'], + 'version' => ['title' => 'version', 'description' => '策略模板版本。', 'type' => 'string', 'example' => '1.0.0'], + 'description' => ['title' => 'description', 'description' => '策略模板的详细描述。', 'type' => 'string', 'example' => '通过控制并发线程数以保证系统的稳定性。适用于应用内部或下游依赖出现不稳定的场景,例如慢SQL、下游应用响应时间变长等。'], + 'type' => ['title' => 'type', 'description' => '策略类型。', 'type' => 'string', 'example' => 'FlowControl'], + 'direction' => ['title' => 'direction', 'description' => '策略的作用方向。', 'type' => 'string', 'example' => 'InBound'], 'attachableResourceTypes' => [ 'title' => 'attachableResourceTypes', 'description' => '可以挂载的资源类型列表。', 'type' => 'array', - 'items' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'Gateway', - ], - ], - 'executeStage' => [ - 'title' => 'executeStage', - 'description' => '执行阶段。', - 'type' => 'string', - 'example' => 'POST', - ], - 'executePriority' => [ - 'title' => 'executePriority', - 'description' => '执行优先级。', - 'type' => 'string', - 'example' => '1', - ], - 'enableLog' => [ - 'title' => 'enableLog', - 'description' => '是否启用日志记录。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'deprecated' => [ - 'title' => 'deprecated', - 'description' => '策略是否已弃用。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'configExample' => [ - 'title' => 'configExample', - 'description' => '配置示例。', - 'type' => 'string', - 'example' => '{}', + 'items' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'Gateway'], ], + 'executeStage' => ['title' => 'executeStage', 'description' => '执行阶段。', 'type' => 'string', 'example' => 'POST'], + 'executePriority' => ['title' => 'executePriority', 'description' => '执行优先级。', 'type' => 'string', 'example' => '1'], + 'enableLog' => ['title' => 'enableLog', 'description' => '是否启用日志记录。', 'type' => 'boolean', 'example' => 'true'], + 'deprecated' => ['title' => 'deprecated', 'description' => '策略是否已弃用。', 'type' => 'boolean', 'example' => 'false'], + 'configExample' => ['title' => 'configExample', 'description' => '配置示例。', 'type' => 'string', 'example' => '{}'], ], ], 'PolicyDetailInfo' => [ @@ -5135,30 +2901,12 @@ 'description' => 'PolicyDetailInfo', 'type' => 'object', 'properties' => [ - 'policyId' => [ - 'title' => 'policyId', - 'type' => 'string', - ], - 'classId' => [ - 'title' => 'classId', - 'type' => 'string', - ], - 'name' => [ - 'title' => 'name', - 'type' => 'string', - ], - 'className' => [ - 'title' => 'className', - 'type' => 'string', - ], - 'description' => [ - 'title' => 'description', - 'type' => 'string', - ], - 'config' => [ - 'title' => 'config', - 'type' => 'string', - ], + 'policyId' => ['title' => 'policyId', 'description' => '策略 ID', 'type' => 'string', 'example' => 'plc-xxx'], + 'classId' => ['title' => 'classId', 'description' => '策略类别 ID', 'type' => 'string', 'example' => 'cls-xxx'], + 'name' => ['title' => 'name', 'description' => '策略名称', 'type' => 'string', 'example' => 'my-rate-limit'], + 'className' => ['title' => 'className', 'description' => '策略类型名称', 'type' => 'string', 'example' => 'RateLimit'], + 'description' => ['title' => 'description', 'description' => '策略描述', 'type' => 'string', 'example' => '每秒限流100次'], + 'config' => ['title' => 'config', 'description' => '策略配置内容(JSON 字符串)', 'type' => 'string', 'example' => '{"rate":100,"burst":50}'], ], ], 'PolicyInfo' => [ @@ -5166,102 +2914,52 @@ 'description' => '策略信息。', 'type' => 'object', 'properties' => [ - 'policyId' => [ - 'title' => 'policyId', - 'description' => '策略id。', - 'type' => 'string', - 'example' => 'p-cq7l5s5lhtgi6qasrdc0', - ], - 'direction' => [ - 'title' => 'direction', - 'description' => '策略出入站方向。'."\n" - .'- 出站:OutBound。'."\n" - .'- 入栈:InBound。'."\n" - .'- 双方向:Both。', - 'type' => 'string', - 'example' => 'InBound', - ], - 'className' => [ - 'title' => 'className', - 'description' => '策略支持的类名种类。不同的策略支持不同的挂载点,与AttachResourceType配合使用'."\n" - ."\n" - .'- RateLimit:流量控制,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- ConcurrencyLimit:并发控制,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- CircuitBreaker:熔断降级,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- HttpRewrite:HTTP重写,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- HeaderModify:Header修改,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- Cors:跨域,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- FlowCopy:流量复制,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- Timeout:超时,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- Retry:重试,支持HttpApi、Operation、GatewayRoute。'."\n" - .'- IpAccessControl:IP访问控制,支持HttpApi、Operation、GatewayRoute、Domain、Gateway。'."\n" - .'- DirectResponse:Mock,支持Operation、GatewayRoute。'."\n" - .'- Redirect:重定向,支持GatewayRoute。'."\n" - .'- Fallback:Fallback,支持Operation、GatewayRoute。'."\n" - .'- ServiceTls:服务Tls认证,支持GatewayService。'."\n" - .'- ServiceLb:服务均衡,支持GatewayService。'."\n" - .'- ServicePortTls:服务端口Tls认证,支持GatewayServicePort。'."\n" - ."\n" - .'- Waf:Waf防护,支持GatewayRoute、Gateway。'."\n" - .'- JWTAuth:JWT全局认证,支持Gateway。'."\n" - .'- OIDCAuth:OIDC全局认证,支持Gateway。'."\n" - .'- ExternalZAuth:自定义鉴权认证,支持Gateway。', - 'type' => 'string', - 'example' => 'RateLimit', - ], - 'classAlias' => [ - 'title' => 'classAlias', - 'description' => '策略类别名。', - 'type' => 'string', - 'example' => '流量控制', - ], - 'config' => [ - 'title' => 'config', - 'description' => '策略配置。', - 'type' => 'string', - 'example' => '{"enable":false}', - ], + 'policyId' => ['title' => 'policyId', 'description' => '策略id。', 'type' => 'string', 'example' => 'p-cq7l5s5lhtgi6qasrdc0'], + 'direction' => ['title' => 'direction', 'description' => '策略出入站方向。'."\n" + .'- 出站:OutBound。'."\n" + .'- 入栈:InBound。'."\n" + .'- 双方向:Both。', 'type' => 'string', 'example' => 'InBound'], + 'className' => ['title' => 'className', 'description' => '策略支持的类名种类。不同的策略支持不同的挂载点,与AttachResourceType配合使用'."\n" + ."\n" + .'- RateLimit:流量控制,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- ConcurrencyLimit:并发控制,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- CircuitBreaker:熔断降级,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- HttpRewrite:HTTP重写,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- HeaderModify:Header修改,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- Cors:跨域,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- FlowCopy:流量复制,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- Timeout:超时,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- Retry:重试,支持HttpApi、Operation、GatewayRoute。'."\n" + .'- IpAccessControl:IP访问控制,支持HttpApi、Operation、GatewayRoute、Domain、Gateway。'."\n" + .'- DirectResponse:Mock,支持Operation、GatewayRoute。'."\n" + .'- Redirect:重定向,支持GatewayRoute。'."\n" + .'- Fallback:Fallback,支持Operation、GatewayRoute。'."\n" + .'- ServiceTls:服务Tls认证,支持GatewayService。'."\n" + .'- ServiceLb:服务均衡,支持GatewayService。'."\n" + .'- ServicePortTls:服务端口Tls认证,支持GatewayServicePort。'."\n" + ."\n" + .'- Waf:Waf防护,支持GatewayRoute、Gateway。'."\n" + .'- JWTAuth:JWT全局认证,支持Gateway。'."\n" + .'- OIDCAuth:OIDC全局认证,支持Gateway。'."\n" + .'- ExternalZAuth:自定义鉴权认证,支持Gateway。', 'type' => 'string', 'example' => 'RateLimit'], + 'classAlias' => ['title' => 'classAlias', 'description' => '策略类别名。', 'type' => 'string', 'example' => '流量控制'], + 'config' => ['title' => 'config', 'description' => '策略配置。', 'type' => 'string', 'example' => '{"enable":false}'], 'attachments' => [ 'title' => 'attachments', 'description' => '挂载信息列表。', 'type' => 'array', - 'items' => [ - 'description' => '挂载信息。', - '$ref' => '#/components/schemas/Attachment', - ], - ], - 'name' => [ - 'title' => 'name', - 'description' => '策略名称。', - 'type' => 'string', - 'example' => 'test-policy', - ], - 'type' => [ - 'title' => 'type', - 'description' => '策略类型。', - 'type' => 'string', - 'example' => '策略类型', + 'items' => ['description' => '挂载信息。', '$ref' => '#/components/schemas/Attachment'], ], + 'name' => ['title' => 'name', 'description' => '策略名称。', 'type' => 'string', 'example' => 'test-policy'], + 'type' => ['title' => 'type', 'description' => '策略类型。', 'type' => 'string', 'example' => '策略类型'], 'executeStage' => [ 'title' => 'executeStage', 'description' => '执行阶段。', 'type' => 'string', - 'enumValueTitles' => [ - 'PluginStatistic' => 'PluginStatistic', - 'PluginAuthorization' => 'PluginAuthorization', - 'PluginPre' => 'PluginPre', - 'PluginAuthentication' => 'PluginAuthentication', - 'PluginDefault' => 'PluginDefault', - 'PluginPost' => 'PluginPost', - ], + 'enumValueTitles' => ['PluginStatistic' => 'PluginStatistic', 'PluginAuthorization' => 'PluginAuthorization', 'PluginPre' => 'PluginPre', 'PluginAuthentication' => 'PluginAuthentication', 'PluginDefault' => 'PluginDefault', 'PluginPost' => 'PluginPost'], 'example' => 'PluginPost', ], - 'executePriority' => [ - 'title' => 'executePriority', - 'description' => '执行优先级。', - 'type' => 'string', - 'example' => '310', - ], + 'executePriority' => ['title' => 'executePriority', 'description' => '执行优先级。', 'type' => 'string', 'example' => '310'], ], ], 'ResourceInfo' => [ @@ -5269,30 +2967,10 @@ 'description' => 'ResourceInfo', 'type' => 'object', 'properties' => [ - 'resourceType' => [ - 'title' => 'resourceType', - 'description' => '资源类型: HttpApi/Operation/GatewayRoute/Gateway/GatewayDomain', - 'type' => 'string', - 'example' => 'HttpApi', - ], - 'resourceId' => [ - 'title' => 'resourceId', - 'description' => '资源ID', - 'type' => 'string', - 'example' => 'api-1nsu2d****', - ], - 'resourceName' => [ - 'title' => 'resourceName', - 'description' => '资源名', - 'type' => 'string', - 'example' => 'test1023', - ], - 'resourceVersion' => [ - 'title' => 'resourceVersion', - 'description' => '资源版本', - 'type' => 'string', - 'example' => '1.0.0', - ], + 'resourceType' => ['title' => 'resourceType', 'description' => '资源类型: HttpApi/Operation/GatewayRoute/Gateway/GatewayDomain', 'type' => 'string', 'example' => 'HttpApi'], + 'resourceId' => ['title' => 'resourceId', 'description' => '资源ID', 'type' => 'string', 'example' => 'api-1nsu2d****'], + 'resourceName' => ['title' => 'resourceName', 'description' => '资源名', 'type' => 'string', 'example' => 'test1023'], + 'resourceVersion' => ['title' => 'resourceVersion', 'description' => '资源版本', 'type' => 'string', 'example' => '1.0.0'], ], ], 'ResourceStatistic' => [ @@ -5304,19 +2982,10 @@ 'title' => 'resourceType', 'description' => '资源类型。', 'type' => 'string', - 'enumValueTitles' => [ - 'HttpApi' => 'HttpApi', - 'GatewayRoute' => 'GatewayRoute', - ], + 'enumValueTitles' => ['HttpApi' => 'HttpApi', 'GatewayRoute' => 'GatewayRoute'], 'example' => 'HttpApi', ], - 'resourceCount' => [ - 'title' => 'resourceCount', - 'description' => '线上资源数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'resourceCount' => ['title' => 'resourceCount', 'description' => '线上资源数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], ], ], 'RiskCheckResults' => [ @@ -5324,42 +2993,16 @@ 'description' => '风险检测结果', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'title' => '网关实例ID', - 'description' => '网关实例的唯一标识符', - 'type' => 'string', - 'example' => 'gw-0364f863b1a04474911b48cd6d51d03d', - ], + 'gatewayId' => ['title' => '网关实例ID', 'description' => '网关实例的唯一标识符', 'type' => 'string', 'example' => 'gw-0364f863b1a04474911b48cd6d51d03d'], 'metadata' => [ 'title' => '实例元数据', 'description' => '实例的基本信息', 'type' => 'object', 'properties' => [ - 'clusterType' => [ - 'title' => '集群类型', - 'description' => '集群类型', - 'type' => 'string', - 'example' => 'Ingress', - ], - 'version' => [ - 'title' => '实例版本', - 'description' => '实例版本', - 'type' => 'string', - 'example' => '2.0.14', - ], - 'spec' => [ - 'title' => '实例规格', - 'description' => '实例规格', - 'type' => 'string', - 'example' => 'apigw.small.x1', - ], - 'replica' => [ - 'title' => '副本数', - 'description' => '副本数', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], + 'clusterType' => ['title' => '集群类型', 'description' => '集群类型', 'type' => 'string', 'example' => 'Ingress'], + 'version' => ['title' => '实例版本', 'description' => '实例版本', 'type' => 'string', 'example' => '2.0.14'], + 'spec' => ['title' => '实例规格', 'description' => '实例规格', 'type' => 'string', 'example' => 'apigw.small.x1'], + 'replica' => ['title' => '副本数', 'description' => '副本数', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], ], ], 'status' => [ @@ -5367,52 +3010,19 @@ 'description' => '风险检测状态,可选值:SUCCESS(成功)、FAIL(失败)、RUNNING(运行中)', 'type' => 'string', 'example' => 'SUCCESS', - 'enum' => [ - 'SUCCESS', - 'FAIL', - 'RUNNING', - ], - ], - 'score' => [ - 'title' => '风险评分', - 'description' => '风险综合评分,取值范围0-100分,分数越高表示风险越低', - 'type' => 'integer', - 'format' => 'int32', - 'maximum' => '100', - 'minimum' => '0', - 'example' => '85', + 'enum' => ['SUCCESS', 'FAIL', 'RUNNING'], ], + 'score' => ['title' => '风险评分', 'description' => '风险综合评分,取值范围0-100分,分数越高表示风险越低', 'type' => 'integer', 'format' => 'int32', 'maximum' => '100', 'minimum' => '0', 'example' => '85'], 'riskLevel' => [ 'title' => '风险等级', 'description' => '整体风险等级,可选值:LOW(低风险)、MEDIUM(中风险)、HIGH(高风险)、CRITICAL(严重风险)', 'type' => 'string', 'example' => 'MEDIUM', - 'enum' => [ - 'LOW', - 'MEDIUM', - 'HIGH', - ], - ], - 'totalRisk' => [ - 'title' => '风险项数目', - 'description' => '检测到的风险项总数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'checkTime' => [ - 'title' => '检查时间戳', - 'description' => '检查时间戳', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567890000', - ], - 'snapshotTime' => [ - 'description' => '快照时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567890000', + 'enum' => ['LOW', 'MEDIUM', 'HIGH'], ], + 'totalRisk' => ['title' => '风险项数目', 'description' => '检测到的风险项总数量', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'checkTime' => ['title' => '检查时间戳', 'description' => '检查时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890000'], + 'snapshotTime' => ['description' => '快照时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890000'], 'riskDetails' => [ 'title' => '风险项列表', 'description' => '详细的风险项信息列表', @@ -5421,75 +3031,26 @@ 'description' => '参数', 'type' => 'object', 'properties' => [ - 'riskCode' => [ - 'title' => '风险项ID', - 'description' => '风险项的唯一标识码', - 'type' => 'string', - 'example' => '30010010001', - ], - 'riskType' => [ - 'title' => '风险类型', - 'description' => '风险分类,可选值:SYSTEM(系统风险)、VERSION(版本风险)、SAFE(安全风险)、CAPACITY(容量风险)', - 'type' => 'string', - 'example' => 'SYSTEM', - ], - 'riskName' => [ - 'title' => '风险名称', - 'description' => '风险项的名称', - 'type' => 'string', - 'example' => '单节点架构风险', - ], + 'riskCode' => ['title' => '风险项ID', 'description' => '风险项的唯一标识码', 'type' => 'string', 'example' => '30010010001'], + 'riskType' => ['title' => '风险类型', 'description' => '风险分类,可选值:SYSTEM(系统风险)、VERSION(版本风险)、SAFE(安全风险)、CAPACITY(容量风险)', 'type' => 'string', 'example' => 'SYSTEM'], + 'riskName' => ['title' => '风险名称', 'description' => '风险项的名称', 'type' => 'string', 'example' => '单节点架构风险'], 'riskLevel' => [ 'title' => '风险等级', 'description' => '该风险项的等级,可选值:LOW、MEDIUM、HIGH、CRITICAL', 'type' => 'string', 'example' => 'HIGH', - 'enum' => [ - 'CRITICAL', - 'HIGH', - 'MEDIUM', - 'LOW', - ], - ], - 'description' => [ - 'title' => '风险描述', - 'description' => '风险的详细描述,JSON字符串格式', - 'type' => 'string', - 'example' => '{"desc":"单节点实例存在架构风险,单点故障会导致服务不可用。建议扩容到2节点及以上。"}', - ], - 'situation' => [ - 'title' => '现状描述', - 'description' => '当前实例的风险现状,JSON字符串格式', - 'type' => 'string', - 'example' => '{"desc":"集群节点数为1,不具备高可用能力"}', - ], - 'suggestion' => [ - 'title' => '建议措施', - 'description' => '针对该风险的优化建议,JSON字符串格式,包含描述和操作链接', - 'type' => 'string', - 'example' => '{"desc":"扩容到2节点及以上","links":[{"descEn":"click to upgrade specification","type":"upgrade","desc":"点击扩容"}]}', - ], - 'isNoticeMute' => [ - 'title' => '通知是否屏蔽', - 'description' => '该风险项的告警通知是否已被屏蔽', - 'type' => 'boolean', - 'example' => 'false', - ], - 'checkModule' => [ - 'title' => '检测模块', - 'description' => '执行检测的模块名称', - 'type' => 'string', - 'example' => 'BaseInfo', + 'enum' => ['CRITICAL', 'HIGH', 'MEDIUM', 'LOW'], ], + 'description' => ['title' => '风险描述', 'description' => '风险的详细描述,JSON字符串格式', 'type' => 'string', 'example' => '{"desc":"单节点实例存在架构风险,单点故障会导致服务不可用。建议扩容到2节点及以上。"}'], + 'situation' => ['title' => '现状描述', 'description' => '当前实例的风险现状,JSON字符串格式', 'type' => 'string', 'example' => '{"desc":"集群节点数为1,不具备高可用能力"}'], + 'suggestion' => ['title' => '建议措施', 'description' => '针对该风险的优化建议,JSON字符串格式,包含描述和操作链接', 'type' => 'string', 'example' => '{"desc":"扩容到2节点及以上","links":[{"descEn":"click to upgrade specification","type":"upgrade","desc":"点击扩容"}]}'], + 'isNoticeMute' => ['title' => '通知是否屏蔽', 'description' => '该风险项的告警通知是否已被屏蔽', 'type' => 'boolean', 'example' => 'false'], + 'checkModule' => ['title' => '检测模块', 'description' => '执行检测的模块名称', 'type' => 'string', 'example' => 'BaseInfo'], 'data' => [ 'title' => '风险详细数据', 'description' => '风险相关的详细数据,不同风险类型数据结构不同', 'type' => 'object', - 'additionalProperties' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["",""]', - ], + 'additionalProperties' => ['description' => '参数', 'type' => 'string', 'example' => '["",""]'], ], ], ], @@ -5501,39 +3062,34 @@ 'description' => '服务', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'title' => '服务唯一ID', - 'description' => '服务唯一ID', - 'type' => 'string', - 'example' => 'svc-cr6pk4tlhtgm***', - ], - 'sourceType' => [ - 'title' => 'string 服务来源类型', - 'description' => 'string 服务来源类型', - 'type' => 'string', - 'example' => 'MSE_NACOS', - ], - 'name' => [ - 'title' => '服务名', - 'description' => '服务名', - 'type' => 'string', - 'example' => 'user-service', - ], - 'namespace' => [ - 'title' => '命名空间', - 'description' => '命名空间', + 'serviceId' => ['title' => '服务唯一ID', 'description' => '服务唯一ID', 'type' => 'string', 'example' => 'svc-cr6pk4tlhtgm***'], + 'sourceType' => ['title' => 'string 服务来源类型', 'description' => 'string 服务来源类型', 'type' => 'string', 'example' => 'MSE_NACOS'], + 'name' => ['title' => '服务名', 'description' => '服务名', 'type' => 'string', 'example' => 'user-service'], + 'namespace' => ['title' => '命名空间', 'description' => '命名空间', 'type' => 'string', 'example' => 'PUBLIC'], + 'healthCheck' => ['title' => '健康检查配置', 'description' => '健康检查配置', '$ref' => '#/components/schemas/ServiceHealthCheck'], + 'healthStatus' => [ + 'title' => '监控检查状态 Healthy|Unhealthy', + 'description' => '监控检查状态 Healthy|Unhealthy', 'type' => 'string', - 'example' => 'PUBLIC', + 'enumValueTitles' => ['Unhealthy' => '不健康', 'Healthy' => '健康'], + 'example' => 'Healthy', ], + 'qualifier' => ['title' => '函数限定名', 'description' => '函数限定名', 'type' => 'string', 'example' => 'LATEST'], + 'createTimestamp' => ['title' => '创建时间', 'description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1725617840096'], + 'updateTimestamp' => ['title' => '创建时间', 'description' => '创建时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1725868548440'], + 'protocol' => ['title' => '服务协议', 'description' => '服务协议', 'type' => 'string', 'example' => 'HTTP'], + 'gatewayId' => ['title' => '网关实例ID', 'description' => '网关实例ID', 'type' => 'string', 'example' => 'gw-xxxx'], + 'modelProviderId' => ['title' => '模型供应商资源ID', 'type' => 'string', 'example' => 'mp-xxxx'], + 'resourceGroupId' => ['title' => '资源组ID', 'description' => '资源组ID', 'type' => 'string', 'example' => 'rg-xxx'], + 'groupName' => ['title' => '服务分组名', 'description' => '服务分组名', 'type' => 'string', 'example' => 'publich'], + 'aiServiceConfig' => ['description' => 'AI服务配置。', '$ref' => '#/components/schemas/AiServiceConfig'], + 'agentServiceConfig' => ['description' => 'Agent服务配置', '$ref' => '#/components/schemas/AgentServiceConfig'], + 'expressType' => ['title' => '云工作流执行方式', 'description' => '云工作流执行方式', 'type' => 'string', 'example' => 'StartExecution'], 'addresses' => [ 'title' => '地址信息, ip或者与域名列表', 'description' => '地址信息, ip或者与域名列表', 'type' => 'array', - 'items' => [ - 'description' => '域名或固定地址列表。', - 'type' => 'string', - 'example' => '127.0.0.1:8080', - ], + 'items' => ['description' => '域名或固定地址列表。', 'type' => 'string', 'example' => '127.0.0.1:8080'], ], 'ports' => [ 'title' => '端口信息', @@ -5543,27 +3099,13 @@ 'description' => '端口信息。', 'type' => 'object', 'properties' => [ - 'port' => [ - 'title' => '端口号', - 'description' => '端口号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'name' => [ - 'title' => '端口名', - 'description' => '端口名', - 'type' => 'string', - 'example' => 'user-service', - ], + 'port' => ['title' => '端口号', 'description' => '端口号。', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'name' => ['title' => '端口名', 'description' => '端口名', 'type' => 'string', 'example' => 'user-service'], 'protocol' => [ 'title' => '协议 TCP|UDP', 'description' => '协议 TCP|UDP', 'type' => 'string', - 'enumValueTitles' => [ - 'TCP' => 'TCP', - 'UDP' => 'UDP', - ], + 'enumValueTitles' => ['TCP' => 'TCP', 'UDP' => 'UDP'], 'example' => 'TCP', ], ], @@ -5573,104 +3115,45 @@ 'title' => '非健康的endpoints', 'description' => '非健康的endpoints', 'type' => 'array', - 'items' => [ - 'description' => '不健康的Endpoint。', - 'type' => 'string', - 'example' => '192.168.1.12:8080', - ], + 'items' => ['description' => '不健康的Endpoint。', 'type' => 'string', 'example' => '192.168.1.12:8080'], ], 'outlierEndpoints' => [ 'title' => '熔断的endpoints', 'description' => '熔断的endpoints', 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["10.0.0.2:8080"]', - ], - ], - 'healthCheck' => [ - 'title' => '健康检查配置', - 'description' => '健康检查配置', - '$ref' => '#/components/schemas/ServiceHealthCheck', - ], - 'healthStatus' => [ - 'title' => '监控检查状态 Healthy|Unhealthy', - 'description' => '监控检查状态 Healthy|Unhealthy', - 'type' => 'string', - 'enumValueTitles' => [ - 'Unhealthy' => '不健康', - 'Healthy' => '健康', - ], - 'example' => 'Healthy', - ], - 'qualifier' => [ - 'title' => '函数限定名', - 'description' => '函数限定名', - 'type' => 'string', - 'example' => 'LATEST', - ], - 'createTimestamp' => [ - 'title' => '创建时间', - 'description' => '创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725617840096', - ], - 'updateTimestamp' => [ - 'title' => '创建时间', - 'description' => '创建时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725868548440', - ], - 'protocol' => [ - 'title' => '服务协议', - 'description' => '服务协议', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'gatewayId' => [ - 'title' => '网关实例ID', - 'description' => '网关实例ID', - 'type' => 'string', - 'example' => 'gw-xxxx', - ], - 'resourceGroupId' => [ - 'title' => '资源组ID', - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-xxx', - ], - 'groupName' => [ - 'title' => '服务分组名', - 'description' => '服务分组名', - 'type' => 'string', - 'example' => 'publich', - ], - 'aiServiceConfig' => [ - 'description' => 'AI服务配置。', - '$ref' => '#/components/schemas/AiServiceConfig', + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '["10.0.0.2:8080"]'], ], 'labelDetails' => [ 'title' => '服务的标签信息', 'description' => '服务的标签信息', 'type' => 'array', + 'items' => ['description' => '参数', '$ref' => '#/components/schemas/LabelDetail'], + ], + 'runtimeDetailStatus' => ['title' => '运行时详情状态', 'type' => 'string', 'example' => 'Available'], + 'runtimeDetailErrorCode' => ['title' => '运行时详情脱敏错误码', 'type' => 'string', 'example' => 'RuntimeEndpointTimeout'], + 'versions' => [ + 'description' => '服务版本列表', + 'type' => 'array', 'items' => [ - 'description' => '参数', - '$ref' => '#/components/schemas/LabelDetail', + 'description' => '列表', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '版本名称', 'type' => 'string', 'example' => 'v1'], + 'labels' => [ + 'description' => '版本标签列表', + 'type' => 'array', + 'items' => [ + 'description' => '列表', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键名', 'type' => 'string', 'example' => 'version'], + 'value' => ['description' => '标签值', 'type' => 'string', 'example' => 'v1'], + ], + ], + ], + ], ], ], - 'agentServiceConfig' => [ - 'description' => 'Agent服务配置', - '$ref' => '#/components/schemas/AgentServiceConfig', - ], - 'expressType' => [ - 'title' => '云工作流执行方式', - 'description' => '云工作流执行方式', - 'type' => 'string', - 'example' => 'StartExecution', - ], ], ], 'ServiceHealthCheck' => [ @@ -5678,83 +3161,67 @@ 'description' => '服务健康配置', 'type' => 'object', 'properties' => [ - 'protocol' => [ - 'title' => '检查项 TCP|HTTP|GRPC', - 'type' => 'string', - 'example' => 'TCP', - ], - 'timeout' => [ - 'title' => '健康检查响应超时时间', - 'type' => 'integer', - 'format' => 'int32', - ], - 'interval' => [ - 'title' => '健康检查间隔时间', - 'type' => 'integer', - 'format' => 'int32', - ], - 'healthyThreshold' => [ - 'title' => '健康检查健康阈值', - 'type' => 'integer', - 'format' => 'int32', - ], - 'unhealthyThreshold' => [ - 'title' => '健康检查不健康阈值', - 'type' => 'integer', - 'format' => 'int32', - ], - 'httpPath' => [ - 'title' => '健康检查路径(健康检查协议为 HTTP 时必填)', - 'type' => 'string', - ], - 'httpHost' => [ - 'title' => '健康检查域名(健康检查协议为 HTTP 时选填)', - 'type' => 'string', - ], - 'enable' => [ - 'title' => '是否开启', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - 'ServiceLinkedRole' => [ - 'title' => 'A short description of struct', - 'description' => '服务关联角色', + 'protocol' => ['title' => '检查项 TCP|HTTP|GRPC', 'description' => '检查项 TCP|HTTP|GRPC', 'type' => 'string', 'example' => 'TCP'], + 'timeout' => ['title' => '健康检查响应超时时间', 'description' => '健康检查响应超时时间', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], + 'interval' => ['title' => '健康检查间隔时间', 'description' => '健康检查间隔时间', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'healthyThreshold' => ['title' => '健康检查健康阈值', 'description' => '健康检查健康阈值', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'unhealthyThreshold' => ['title' => '健康检查不健康阈值', 'description' => '健康检查不健康阈值', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'httpPath' => ['title' => '健康检查路径(健康检查协议为 HTTP 时必填)', 'description' => '健康检查路径(健康检查协议为 HTTP 时必填)', 'type' => 'string', 'example' => '/health'], + 'httpHost' => ['title' => '健康检查域名(健康检查协议为 HTTP 时选填)', 'description' => '健康检查域名(健康检查协议为 HTTP 时选填)', 'type' => 'string', 'example' => 'example.com'], + 'enable' => ['title' => '是否开启', 'description' => '是否开启', 'type' => 'boolean', 'example' => 'true'], + ], + ], + 'ServiceInfo' => [ + 'title' => 'service info', + 'description' => '服务摘要', 'type' => 'object', 'properties' => [ - 'roleId' => [ - 'title' => '角色 ID', - 'type' => 'string', - ], - 'roleName' => [ - 'title' => '角色名称', - 'type' => 'string', - ], - 'arn' => [ - 'title' => '角色 Arn', - 'type' => 'string', - ], - 'description' => [ - 'title' => '角色描述', - 'type' => 'string', - ], - 'assumeRolePolicyDocument' => [ - 'title' => '服务角色策略文档', - 'type' => 'string', - ], - 'createDate' => [ - 'title' => '创建时间', - 'type' => 'string', - ], - 'rolePrincipalName' => [ - 'title' => '角色登录名称', - 'type' => 'string', + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'example' => 'svc-xxx****'], + 'name' => ['description' => '服务名称', 'type' => 'string', 'example' => 'my-openai-service'], + 'namespace' => ['description' => '服务命名空间', 'type' => 'string', 'example' => 'default'], + 'sourceType' => ['description' => '服务来源类型', 'type' => 'string', 'example' => 'user'], + 'groupName' => ['description' => '服务分组名称', 'type' => 'string', 'example' => 'default-group'], + 'qualifier' => ['description' => '服务版本限定符', 'type' => 'string', 'example' => 'v1'], + 'expressType' => ['description' => '服务路由类型', 'type' => 'string', 'example' => 'normal'], + 'versions' => [ + 'description' => '服务版本列表', + 'type' => 'array', + 'items' => [ + 'description' => '服务版本列表', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '版本名称', 'type' => 'string', 'example' => 'v1.0.0'], + 'labels' => [ + 'description' => '版本标签列表', + 'type' => 'array', + 'items' => [ + 'description' => '版本标签列表', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键', 'type' => 'string', 'example' => 'env'], + 'value' => ['description' => '标签值', 'type' => 'string', 'example' => 'production'], + ], + ], + ], + ], + ], ], - 'isServiceLinkedRole' => [ - 'title' => '是否服务关联角色', - 'type' => 'boolean', + 'ports' => [ + 'description' => '服务端口列表', + 'type' => 'array', + 'items' => [ + 'description' => '服务端口列表', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '端口名称', 'type' => 'string', 'example' => 'http'], + 'port' => ['description' => '端口号', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'protocol' => ['description' => '端口协议', 'type' => 'string', 'example' => 'HTTP'], + ], + ], ], + 'paiWorkspaceName' => ['description' => 'PAI工作空间名称', 'type' => 'string', 'example' => 'my-workspace'], + 'paiWorkspaceId' => ['description' => 'PAI工作空间ID', 'type' => 'string', 'example' => 'ws-xxx**** '], + 'status' => ['description' => '服务状态', 'type' => 'string', 'example' => 'running'], ], ], 'SslCertMetaInfo' => [ @@ -5762,123 +3229,25 @@ 'description' => 'ssl 证书元数据信息', 'type' => 'object', 'properties' => [ - 'certIdentifier' => [ - 'title' => 'certIdentifier', - 'description' => '证书标识', - 'type' => 'string', - 'example' => 'cert-123', - ], - 'isChainCompleted' => [ - 'title' => 'isChainCompleted', - 'description' => 'isChainCompleted', - 'type' => 'boolean', - 'example' => 'true', - ], - 'instanceId' => [ - 'title' => 'instanceId', - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-bp1234567890', - ], - 'domain' => [ - 'title' => 'domain', - 'description' => '域名', - 'type' => 'string', - 'example' => 'api.example.com', - ], - 'fingerprint' => [ - 'title' => 'fingerprint', - 'description' => '证书指纹', - 'type' => 'string', - 'example' => 'A1:B2:C3:D4:E5:F6:78:90:AB:CD:EF:12:34:56:78:90', - ], - 'certName' => [ - 'title' => 'certName', - 'description' => '证书cert名称', - 'type' => 'string', - 'example' => 'example.com', - ], - 'certId' => [ - 'title' => 'certId', - 'description' => 'cert唯一ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567890', - ], - 'commonName' => [ - 'title' => 'commonName', - 'description' => '名称', - 'type' => 'string', - 'example' => 'example.com', - ], - 'domainMatchCert' => [ - 'title' => 'domainMatchCert', - 'description' => '域名匹配的证书', - 'type' => 'boolean', - 'example' => 'true', - ], - 'sans' => [ - 'title' => 'sans', - 'description' => 'sans', - 'type' => 'string', - 'example' => '*.example.com,api.example.com,www.example.com', - ], - 'notBeforeTimestamp' => [ - 'title' => 'notBeforeTimestamp', - 'description' => '开始时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567890000', - ], - 'notAfterTimestamp' => [ - 'title' => 'notAfterTimestamp', - 'description' => '失效时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1234567890000', - ], - 'algorithm' => [ - 'title' => 'algorithm', - 'description' => '算法', - 'type' => 'string', - 'example' => 'RSA2048', - ], - 'keySize' => [ - 'title' => 'keySize', - 'description' => 'key大小', - 'type' => 'string', - 'example' => '2048', - ], - 'issuer' => [ - 'title' => 'issuer', - 'description' => '证书issuer', - 'type' => 'string', - 'example' => 'DigiCert Inc', - ], - 'serialNo' => [ - 'title' => 'serialNo', - 'description' => '序列号', - 'type' => 'string', - 'example' => '03:A1:B2:C3:D4:E5:F6:78:90:AB:CD:EF:12:34:56:78:90', - ], - 'md5' => [ - 'title' => 'md5', - 'description' => 'md5值', - 'type' => 'string', - 'example' => 'A1B2C3D4E5F67890ABCDEF1234567890', - ], - 'sha2' => [ - 'title' => 'sha2', - 'description' => 'sha2值', - 'type' => 'string', - 'example' => 'A1B2C3D4E5F67890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890', - ], - 'signAlgorithm' => [ - 'title' => 'signAlgorithm', - 'description' => '签名算法', - 'type' => 'string', - 'example' => 'sha256WithRSAEncryption', - ], + 'certIdentifier' => ['title' => 'certIdentifier', 'description' => '证书标识', 'type' => 'string', 'example' => 'cert-123'], + 'isChainCompleted' => ['title' => 'isChainCompleted', 'description' => 'isChainCompleted', 'type' => 'boolean', 'example' => 'true'], + 'instanceId' => ['title' => 'instanceId', 'description' => '实例ID', 'type' => 'string', 'example' => 'i-bp1234567890'], + 'domain' => ['title' => 'domain', 'description' => '域名', 'type' => 'string', 'example' => 'api.example.com'], + 'fingerprint' => ['title' => 'fingerprint', 'description' => '证书指纹', 'type' => 'string', 'example' => 'A1:B2:C3:D4:E5:F6:78:90:AB:CD:EF:12:34:56:78:90'], + 'certName' => ['title' => 'certName', 'description' => '证书cert名称', 'type' => 'string', 'example' => 'example.com'], + 'certId' => ['title' => 'certId', 'description' => 'cert唯一ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890'], + 'commonName' => ['title' => 'commonName', 'description' => '名称', 'type' => 'string', 'example' => 'example.com'], + 'domainMatchCert' => ['title' => 'domainMatchCert', 'description' => '域名匹配的证书', 'type' => 'boolean', 'example' => 'true'], + 'sans' => ['title' => 'sans', 'description' => 'sans', 'type' => 'string', 'example' => '*.example.com,api.example.com,www.example.com'], + 'notBeforeTimestamp' => ['title' => 'notBeforeTimestamp', 'description' => '开始时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890000'], + 'notAfterTimestamp' => ['title' => 'notAfterTimestamp', 'description' => '失效时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1234567890000'], + 'algorithm' => ['title' => 'algorithm', 'description' => '算法', 'type' => 'string', 'example' => 'RSA2048'], + 'keySize' => ['title' => 'keySize', 'description' => 'key大小', 'type' => 'string', 'example' => '2048'], + 'issuer' => ['title' => 'issuer', 'description' => '证书issuer', 'type' => 'string', 'example' => 'DigiCert Inc'], + 'serialNo' => ['title' => 'serialNo', 'description' => '序列号', 'type' => 'string', 'example' => '03:A1:B2:C3:D4:E5:F6:78:90:AB:CD:EF:12:34:56:78:90'], + 'md5' => ['title' => 'md5', 'description' => 'md5值', 'type' => 'string', 'example' => 'A1B2C3D4E5F67890ABCDEF1234567890'], + 'sha2' => ['title' => 'sha2', 'description' => 'sha2值', 'type' => 'string', 'example' => 'A1B2C3D4E5F67890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890'], + 'signAlgorithm' => ['title' => 'signAlgorithm', 'description' => '签名算法', 'type' => 'string', 'example' => 'sha256WithRSAEncryption'], ], ], 'SubDomainInfo' => [ @@ -5886,36 +3255,20 @@ 'description' => '子域名信息。', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'title' => 'domainId', - 'description' => '域名id。', - 'type' => 'string', - 'example' => 'd-cpudb0llhtgl2djvq2sg', - ], - 'name' => [ - 'title' => 'name', - 'description' => '域名。', - 'type' => 'string', - 'example' => 'abc.com', - ], + 'domainId' => ['title' => 'domainId', 'description' => '域名id。', 'type' => 'string', 'example' => 'd-cpudb0llhtgl2djvq2sg'], + 'name' => ['title' => 'name', 'description' => '域名。', 'type' => 'string', 'example' => 'abc.com'], 'protocol' => [ 'title' => 'protocol', 'description' => '协议。', 'type' => 'string', - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], 'example' => 'HTTP', ], 'networkType' => [ 'title' => 'networkType', 'description' => '网络类型。', 'type' => 'string', - 'enumValueTitles' => [ - 'Intranet' => 'Intranet', - 'Internet' => 'Internet', - ], + 'enumValueTitles' => ['Intranet' => 'Intranet', 'Internet' => 'Internet'], 'example' => 'Intranet', ], ], @@ -5925,12 +3278,7 @@ 'description' => 'TLS加密套件配置。', 'type' => 'object', 'properties' => [ - 'configType' => [ - 'title' => 'configType', - 'description' => '配置类型。', - 'type' => 'string', - 'example' => 'Default', - ], + 'configType' => ['title' => 'configType', 'description' => '配置类型。', 'type' => 'string', 'example' => 'Default'], 'tlsCipherSuite' => [ 'title' => 'tlsCipherSuite', 'description' => 'tlsCipherSuite', @@ -5939,287 +3287,155 @@ 'description' => 'TLS加密套件信息', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => 'name', - 'description' => '加密套件名称', - 'type' => 'string', - 'example' => 'ECDHE-ECDSA-AES256-GCM-SHA384', - ], + 'name' => ['title' => 'name', 'description' => '加密套件名称', 'type' => 'string', 'example' => 'ECDHE-ECDSA-AES256-GCM-SHA384'], 'supportVersions' => [ 'title' => 'supportVersions', 'description' => '支持的版本', 'type' => 'array', - 'items' => [ - 'description' => '支持的版本', - 'type' => 'string', - 'example' => 'TLS 1.2', - ], + 'items' => ['description' => '支持的版本', 'type' => 'string', 'example' => 'TLS 1.2'], ], ], ], ], ], ], - 'ValidationOptions' => [ + 'TransportCertificateInfo' => [ + 'title' => 'A short description of struct', + 'description' => 'TransportCertificateInfo', 'type' => 'object', 'properties' => [ - 'skipVerifyAIChatCompletion' => [ - 'type' => 'boolean', + 'certIdentifier' => ['title' => 'certIdentifier', 'type' => 'string'], + 'certName' => ['title' => 'certName', 'type' => 'string'], + 'commonName' => ['title' => 'commonName', 'type' => 'string'], + 'sans' => ['title' => 'sans', 'type' => 'string'], + 'certificateMatchStatus' => ['title' => 'certificateMatchStatus', 'type' => 'string'], + 'notBeforeTimestamp' => ['title' => 'notBeforeTimestamp', 'type' => 'integer', 'format' => 'int64'], + 'notAfterTimestamp' => ['title' => 'notAfterTimestamp', 'type' => 'integer', 'format' => 'int64'], + 'algorithm' => ['title' => 'algorithm', 'type' => 'string'], + 'issuer' => ['title' => 'issuer', 'type' => 'string'], + 'coveredDomains' => [ + 'title' => 'coveredDomains', + 'type' => 'array', + 'items' => ['type' => 'string'], ], - ], - ], - ], - ], - 'apis' => [ - 'ExportHttpApi' => [ - 'summary' => '导出指定的HTTP API。', - 'path' => '/v1/http-apis/{httpApiId}/export', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeNodes' => [ - 'FEATUREapigateway9WMX21', - ], - ], - 'parameters' => [ - [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'title' => 'API ID。', - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', + 'matchedDomains' => [ + 'title' => 'matchedDomains', + 'type' => 'array', + 'items' => ['type' => 'string'], ], ], ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '响应。', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '4BACB05C-3FE2-588F-9148-700C5C026B74', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'title' => 'API定义信息。', - 'description' => 'API定义信息。', - 'type' => 'object', - 'properties' => [ - 'specContentBase64' => [ - 'title' => 'Base64编码的API定义。', - 'description' => 'Base64编码的API定义。', - 'type' => 'string', - 'example' => 'b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo=', - ], - ], - ], - ], + 'TransportEncryptionInfo' => [ + 'title' => 'A short description of struct', + 'description' => 'TransportEncryptionInfo', + 'type' => 'object', + 'properties' => [ + 'tlsPolicy' => ['title' => 'tlsPolicy', 'type' => 'string'], + 'http2Enabled' => ['title' => 'http2Enabled', 'type' => 'boolean'], + 'deployStatus' => ['title' => 'deployStatus', 'type' => 'string'], + 'deployError' => ['title' => 'deployError', 'type' => 'string'], + 'certificates' => [ + 'title' => 'certificates', + 'type' => 'array', + 'items' => ['$ref' => '#/components/schemas/TransportCertificateInfo'], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'ValidationOptions' => [ + 'description' => '参数', + 'type' => 'object', + 'properties' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"4BACB05C-3FE2-588F-9148-700C5C026B74\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"specContentBase64\\": \\"b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo=\\"\\n }\\n}","type":"json"}]', - 'title' => '导出HTTP API', ], - 'ImportHttpApi' => [ - 'summary' => '导入HTTP API,支持将OpenAPI 2.0和 OpenAPI 3.0.x版本的定义文件导入为REST类型的API。', - 'path' => '/v1/http-apis/import', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + ], + 'apis' => [ + 'AddGatewayQuotaRule' => [ + 'summary' => '新增网关配额限流规则。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '220978', - 'abilityTreeNodes' => [ - 'FEATUREapigateway9WMX21', - ], + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayC93I4Z'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['title' => '网关唯一标识', 'description' => '网关唯一标识', 'type' => 'string', 'required' => false, 'example' => 'gw-d8ki1xxxxxxxxxxxxxxx'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数。', + 'title' => '请求体内容', + 'description' => '请求体内容', 'type' => 'object', 'properties' => [ - 'specContentBase64' => [ - 'title' => 'Bse64编码的API定义,支持OAS2.0和OAS3.0规范,支持YAML格式和JSON格式。', - 'description' => 'Bse64编码的API定义,支持OAS2.0和OAS3.0规范,支持YAML格式和JSON格式。优先级高于specFileUrl参数。 若文件大小超过10MB请使用specFileUrl参数传递。', - 'type' => 'string', - 'required' => false, - 'example' => 'b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo=', - ], - 'specFileUrl' => [ - 'title' => 'OAS文件的下载地址,需要支持免验证下载。优先级低于specContentBase64字段。', - 'description' => 'API定义文件的下载地址,需要公网可以下载或使用相同region的OSS内网下载地址。文件地址要求拥有下载权限,对于OSS非公开读的文件链接,请参考文档[使用预签名URL下载文件](~~39607~~),填写带有下载权限的地址。目前仅支持OSS上存储的API定义文件。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://bucket.oss-cn-hangzhou.aliyuncs.com/**/*.yaml', - ], - 'name' => [ - 'title' => 'API名称。', - 'description' => '导入的API名称,若不填则从API定义文件中提取。若API名称与版本化配置已存在,则本次导入会根据strategy字段对已有API定义做更新。', - 'type' => 'string', - 'required' => false, - 'example' => 'import-test', - ], - 'description' => [ - 'title' => 'API描述。', - 'description' => '导入的API描述字段,若未填写则从API定义中提取。限制长度255字节。', - 'type' => 'string', - 'required' => false, - 'example' => '测试专用API', - ], - 'versionConfig' => [ - 'description' => 'API版本化配置,若开启版本化配置,则版本号API名称与已存在API相同时,本次导入将视为更新动作。若未开启版本化配置,则API名称与已存在API相同时,本次导入将视为更新动作。', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiVersionConfig', - ], - 'dryRun' => [ - 'title' => '预检功能,不进行导入只检查Swagger定义。', - 'description' => '导入预检,若开启则仅进行检测,不进行导入动作。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'strategy' => [ - 'title' => '导入时的冲突合并策略,为空默ExistFirst', - 'description' => '当导入的API名称与版本管理与已存在API相同时,需要指定更新策略。'."\n" - .'- SpecOnly:完全以导入文件为准。'."\n" - .'- SpecFirst:以导入文件为优先,新增接口与更新已有接口,文件中未提及的接口保持不动。'."\n" - .'- ExistFirst:以存在的API为优先,只新增接口,不更新已有接口。'."\n" - .'为空时默认ExistFirst策略。', - 'type' => 'string', - 'required' => false, - 'example' => 'ExistFirst', - 'enum' => [ - 'SpecFirst', - 'SpecOnly', - 'ExistFirst', - ], - ], - 'targetHttpApiId' => [ - 'title' => '导入覆盖指定的HTTP API。若指定该字段,则name和versionConfig字段失效。', - 'description' => '若指定该字段,则本次导入将更新指定API而非导入或根据API名称与版本管理配置搜索已存在API。目标API必须是REST类型。', + 'ruleName' => ['title' => '规则名称', 'description' => '规则名称', 'type' => 'string', 'required' => true, 'example' => 'team-rule'], + 'quotaDimension' => [ + 'title' => '配额维度,当前只支持token', + 'description' => '配额维度/限制类型,目前支持token、credit。其中,credit配额仅适用于 2.1.19 及以上版本的专享实例', 'type' => 'string', - 'required' => false, - 'example' => 'api-xxxx', + 'required' => true, + 'enumValueTitles' => ['credit' => '按Credits消耗计量的配额限流', 'token' => '按Token数计量的配额限流'], + 'example' => 'token', + 'enum' => ['token', 'credit'], ], - 'resourceGroupId' => [ - 'description' => '[资源组ID](~~151181~~)。', + 'quotaLimit' => ['title' => '周期可用总额度', 'description' => '周期可用总额度(限额)', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1000'], + 'windowAlignment' => ['title' => '周期类型。calendar代表自然周期(从自然日、月、周最初时间点开始生效);epoch代表自定义周期(从规则下发时生效)。', 'description' => '重置周期类型。支持自然周期(windowAlignment=calendar)和自定义周期(windowAlignment=epoch)。其中,自定义周期仅适用于 2.1.19 及以上版本的专享实例', 'type' => 'string', 'required' => false, 'example' => 'calendar'], + 'periodType' => [ + 'title' => '周期倍数,代表每多少个周期进行配额重置。当规则为自定义周期时必填,最小为1,最大为60。', + 'description' => '周期类型。自然周期支持按日、周、月统计,取值为 day、week 或 month;自定义周期仅支持按日统计,固定取值为 day', 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek23nsa353vmra', - ], - 'specOssConfig' => [ - 'description' => 'OSS信息。', - 'type' => 'object', - 'properties' => [ - 'regionId' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shanghai', - ], - 'bucketName' => [ - 'description' => 'bucket名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'gms-service-prod', - ], - 'objectKey' => [ - 'description' => '文件完整路径。', - 'type' => 'string', - 'required' => false, - 'example' => '/test/swagger.json', - ], - ], - 'required' => false, - ], - 'deployConfigs' => [ - 'description' => 'API部署配置。', + 'required' => true, + 'enumValueTitles' => ['week' => '自然周', 'month' => '自然月', 'day' => '自然日'], + 'example' => 'week', + 'enum' => ['day', 'week', 'month'], + ], + 'periodMultiplier' => ['title' => '用于表示每x个周期重置规则', 'description' => '周期倍数。该参数针对自定义周期规则', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + 'timezone' => ['title' => '时区(UTC+x格式)', 'description' => '自然周期对应的时区(UTC+x格式)', 'type' => 'string', 'required' => false, 'example' => 'UTC+8', 'default' => 'UTC+8'], + 'consumerGroupIds' => [ + 'title' => '消费者组ID列表', + 'description' => '消费者组ID列表(暂不支持)', 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], - 'required' => false, - ], - 'mcpRouteId' => [ - 'description' => 'MCP路由ID。', - 'type' => 'string', + 'items' => ['title' => '消费者组ID', 'description' => '消费者组ID', 'type' => 'string', 'required' => false, 'example' => 'consumer-group-001'], + 'deprecated' => true, 'required' => false, - 'example' => 'xxx', + 'example' => 'group1,group2', ], - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', + 'consumerIds' => [ + 'title' => '消费者ID列表', + 'description' => '绑定规则的消费者ID列表。单次最多可操作 1000 个消费者', + 'type' => 'array', + 'items' => ['title' => '消费者ID', 'description' => '消费者ID', 'type' => 'string', 'required' => false, 'example' => 'cs-xxxxxx'], 'required' => false, - 'example' => 'gw-xxx', + 'example' => '1001,1002,1003', ], + 'dryRun' => ['title' => '是否仅预检(不落库、不下发)', 'description' => '是否仅预检(预检不下发实际配置),用于检查绑定的消费者上是否存在冲突的规则(同一消费者不能配置两个相同周期的自然周期配额,例如已有自然日配额的消费者不能再新增一个自然日配额规则)', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'overwrite' => ['title' => '冲突时是否允许覆盖(把冲突主体从旧规则解绑并绑定到新规则)', 'description' => '冲突时是否允许覆盖。注意如果选择允许覆盖,冲突主体(消费者)会从旧规则解绑并绑定到新规则', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'conflictHash' => ['title' => '冲突快照哈希,用于“确认覆盖时防并发脏覆盖”', 'description' => '冲突快照哈希,用于“确认覆盖时防并发脏覆盖”。通过先执行dryRun=true在返回数据提取。'."\n" + ."\n" + .'当以下情况不需要填写:没有冲突;只是dryRun=true预检;overwrite=false,即不确认覆盖。'."\n" + ."\n" + .'当当dryRun = false且overwrite=true时不带改参数或者该参数过期不匹配,后端会返回:accepted=false并带新的冲突预览,需要重新执行dryrun确认新的冲突。', 'type' => 'string', 'required' => false, 'example' => 'f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx'], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -6227,458 +3443,126 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CE857A85-251D-5018-8103-A38957D71E20', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => '请求唯一标识', 'description' => '请求唯一标识', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码或错误代码', 'description' => '状态码或错误代码', 'type' => 'string', 'example' => '200, 404, 500'], + 'message' => ['title' => '消息内容', 'description' => '消息内容', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => 'API信息。', + 'title' => '请求数据内容', + 'description' => '请求数据内容', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'import-test', - ], - 'httpApiId' => [ - 'description' => 'HTTP API 唯一ID。', - 'type' => 'string', - 'example' => 'api-xxx', - ], - 'dryRunInfo' => [ - 'description' => '预检结果。', + 'ruleId' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'example' => 'qr-xxxxx'], + 'dryRun' => ['title' => '是否预检', 'description' => '是否预检', 'type' => 'boolean', 'example' => 'false'], + 'accepted' => ['description' => '本次写请求语义是否可被系统接收,false 常见于冲突未确认覆盖等可重试场景', 'type' => 'boolean', 'example' => 'true'], + 'conflictPreview' => [ + 'title' => '冲突预览', + 'description' => '冲突预览', 'type' => 'object', 'properties' => [ - 'successOperations' => [ - 'description' => '预检成功的接口列表。', - 'type' => 'array', - 'items' => [ - 'description' => '接口信息。', - 'type' => 'object', - 'properties' => [ - 'action' => [ - 'description' => '预检后将执行的动作。'."\n" - .'- Create:创建。'."\n" - .'- Update: 更新。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Create' => 'Create', - 'Update' => 'Update', - ], - 'example' => 'Create', - ], - 'name' => [ - 'description' => '接口名称。', - 'type' => 'string', - 'example' => 'CreateUser', - ], - 'path' => [ - 'description' => '接口路径。', - 'type' => 'string', - 'example' => '/v1/users', - ], - 'method' => [ - 'description' => '接口方法。', - 'type' => 'string', - 'example' => 'POST', - ], - ], - ], - ], - 'failureOperations' => [ - 'description' => '预检失败的接口列表。', - 'type' => 'array', - 'items' => [ - 'description' => '接口信息。', - 'type' => 'object', - 'properties' => [ - 'path' => [ - 'description' => '接口路径。', - 'type' => 'string', - 'example' => '/v1/orders', - ], - 'method' => [ - 'description' => '接口方法。', - 'type' => 'string', - 'example' => 'GET', - ], - 'errorMessage' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => '缺少响应定义。', - ], - ], - ], - ], - 'successComponents' => [ - 'description' => '预检成功的数据结构列表。', - 'type' => 'array', - 'items' => [ - 'description' => '数据结构信息。', - 'type' => 'object', - 'properties' => [ - 'action' => [ - 'description' => '预检后将执行的动作。'."\n" - .'- Create:创建。'."\n" - .'- Update: 更新。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Create' => 'Create', - 'Update' => 'Update', - ], - 'example' => 'Create', - ], - 'name' => [ - 'description' => '数据结构名称。', - 'type' => 'string', - 'example' => 'userDTO', - ], - ], - ], - ], - 'failureComponents' => [ - 'description' => '预检失败的数据结构列表。', + 'totalConflictCount' => ['title' => '冲突总数', 'description' => '冲突总数', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'conflictHash' => ['title' => '冲突的hash', 'description' => '冲突的hash', 'type' => 'string', 'example' => 'f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx'], + 'items' => [ + 'description' => '冲突的主体(消费者)列表', 'type' => 'array', 'items' => [ - 'description' => '数据结构信息。', + 'description' => '冲突的主体(消费者)详情', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '数据结构名称。', - 'type' => 'string', - 'example' => 'orderDTO', - ], - 'errorMessage' => [ - 'description' => '错误信息。', - 'type' => 'string', - 'example' => '数据结构定义有误。', - ], + 'consumerId' => ['description' => '消费者ID', 'type' => 'string', 'example' => 'cs-xxxxxx'], + 'consumerName' => ['description' => '消费者名称', 'type' => 'string', 'example' => 'consumer-a'], + 'conflictType' => ['title' => '消费者上已有冲突规则的类型。conflictType = "calendar"表示消费者已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期。', 'description' => '消费者上已有冲突规则的类型。conflictType = "calendar"表示消费者已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期', 'type' => 'string', 'example' => 'calendar'], + 'conflictPeriodType' => ['title' => '消费者上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费者已有冲突规则的周期为日/周/月', 'description' => '消费者上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费者已有冲突规则的周期为日/周/月', 'type' => 'string', 'example' => 'week'], ], ], ], - 'errorMessages' => [ - 'description' => '错误信息,若错误信息非空,则无法成功导入API。', - 'type' => 'array', - 'items' => [ - 'description' => '单个错误信息。', - 'type' => 'string', - 'example' => 'OpenAPI 3.1.x 版本不支持。', - ], - ], - 'warningMessages' => [ - 'description' => '告警信息,告警信息非空,则部分接口/数据接口可能导入不成功。', - 'type' => 'array', - 'items' => [ - 'description' => '单个告警信息。', - 'type' => 'string', - 'example' => 'GET /v1/orders 参数定义不完整。', - ], - ], - 'existHttpApiInfo' => [ - 'description' => '已存在的API信息。若该字段非空,则导入动作将更新该API。', - '$ref' => '#/components/schemas/HttpApiApiInfo', - ], ], ], ], + 'example' => '{\'key\': \'value\'}', ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200, 404, 500\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"ruleId\\": \\"qr-xxxxx\\",\\n \\"dryRun\\": false,\\n \\"accepted\\": true,\\n \\"conflictPreview\\": {\\n \\"totalConflictCount\\": 2,\\n \\"conflictHash\\": \\"f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx\\",\\n \\"items\\": [\\n {\\n \\"consumerId\\": \\"cs-xxxxxx\\",\\n \\"consumerName\\": \\"consumer-a\\",\\n \\"conflictType\\": \\"calendar\\",\\n \\"conflictPeriodType\\": \\"week\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => '新增消费者配额规则', + 'description' => '该接口用于对AI网关增加基于消费者的配额规则。注意,只针对于版本大于2.1.19的AI网关生效。'."\n" + ."\n" + .'> '."\n" + .'> 推荐调用逻辑:'."\n" + .'> - 一、先 dryRun 预检检验是否存在规则冲突'."\n" + .'> - - 传dryRun=true'."\n" + .'> - - 返回含conflictHash的冲突预览'."\n" + .'> - 二、确认后正式提交'."\n" + .'> - - 无冲突:dryRun=false,overwrite=false'."\n" + .'> - - 有冲突且确认覆盖:dryRun=false,overwrite=true, conflictHash=<上一步返回的值>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"name\\": \\"import-test\\",\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"dryRunInfo\\": {\\n \\"successOperations\\": [\\n {\\n \\"action\\": \\"Create\\",\\n \\"name\\": \\"CreateUser\\",\\n \\"path\\": \\"/v1/users\\",\\n \\"method\\": \\"POST\\"\\n }\\n ],\\n \\"failureOperations\\": [\\n {\\n \\"path\\": \\"/v1/orders\\",\\n \\"method\\": \\"GET\\",\\n \\"errorMessage\\": \\"缺少响应定义。\\"\\n }\\n ],\\n \\"successComponents\\": [\\n {\\n \\"action\\": \\"Create\\",\\n \\"name\\": \\"userDTO\\"\\n }\\n ],\\n \\"failureComponents\\": [\\n {\\n \\"name\\": \\"orderDTO\\",\\n \\"errorMessage\\": \\"数据结构定义有误。\\"\\n }\\n ],\\n \\"errorMessages\\": [\\n \\"OpenAPI 3.1.x 版本不支持。\\"\\n ],\\n \\"warningMessages\\": [\\n \\"GET /v1/orders 参数定义不完整。\\"\\n ],\\n \\"existHttpApiInfo\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n }\\n }\\n }\\n}","type":"json"}]', - 'title' => '导入HTTP API', - ], - 'DeployHttpApi' => [ - 'summary' => '发布HTTP API。包括Rest API 和HTTP API里的路由。', - 'path' => '/v1/http-apis/{httpApiId}/deploy', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:AddGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + ], + 'AddGatewaySecurityGroupRule' => [ + 'summary' => '授权网关访问服务的安全组。', + 'path' => '/v1/gateways/{gatewayId}/security-group-rules', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'high', - 'chargeType' => 'paid', - 'abilityTreeCode' => '237786', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayTZMIOF', - ], + 'chargeType' => 'free', + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayPVG2GF'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'httpApiId', + 'name' => 'gatewayId', 'in' => 'path', - 'schema' => [ - 'title' => 'HTTP API ID。', - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cr68g1dlhtgm31fb***', - ], + 'schema' => ['description' => '云原生API网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdlh***'], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'title' => '请求Body。', 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'routeId' => [ - 'title' => '路由ID。当发布HTTP API的路由时候,必须传入。', - 'description' => '路由ID。当发布HTTP API的路由时候,必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'hr-cr82undlhtgrl***', - ], - 'restApiConfig' => [ - 'title' => 'Rest API部署配置。当发布HTTP API为Rest API必填。', - 'description' => 'Rest API部署配置。当发布HTTP API为Rest API必填。', - 'type' => 'object', - 'properties' => [ - 'revisionId' => [ - 'title' => '历史版本号,若指定该字段,发布信息以历史版本信息为准。', - 'description' => '历史版本号,若指定该字段,发布信息以历史版本信息为准。', - 'type' => 'string', - 'required' => false, - 'example' => 'apr-xxx'."\n", - ], - 'description' => [ - 'title' => '发布描述。', - 'description' => '发布描述。', - 'type' => 'string', - 'required' => false, - 'example' => '用户服务API发布。', - ], - 'environment' => [ - 'title' => '发布环境配置。', - 'description' => '发布环境配置。', - 'type' => 'object', - 'properties' => [ - 'environmentId' => [ - 'title' => '环境ID。', - 'description' => '环境ID。', - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'env-cpqnr6tlhtgubc***', - ], - 'customDomainIds' => [ - 'title' => '域名ID。', - 'description' => '用户域名列表。', - 'type' => 'array', - 'items' => [ - 'title' => '域名ID。', - 'description' => '域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-cr62ts5lhtgln***', - ], - 'required' => false, - ], - 'backendScene' => [ - 'title' => 'API发布场景。', - 'description' => 'API发布场景。', - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'enumValueTitles' => [ - 'SingleService' => '单服务', - 'MultiServiceByRatio' => '按比例灰度', - 'MultiServiceByContent' => '按内容', - 'Mock' => 'Mock', - ], - 'example' => 'SingleService', - ], - 'serviceConfigs' => [ - 'title' => '已有服务配置。', - 'description' => '已有服务配置,单服务场景下仅允许配置一个条目,按比例、按内容等场景下允许配置多个条目。', - 'type' => 'array', - 'items' => [ - 'title' => '已有服务配置。', - 'description' => '已有服务配置。', - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-cr6pk4tlhtgm58e***', - ], - 'protocol' => [ - 'title' => '服务协议:'."\n" - .'- HTTP。'."\n" - .'- HTTPS。', - 'description' => '服务协议:'."\n" - .'- HTTP。'."\n" - .'- HTTPS。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', - ], - 'port' => [ - 'title' => '服务端口, 动态端口不传入。', - 'description' => '服务端口, 动态端口不传入。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'weight' => [ - 'title' => '权重,范围[1,100],仅在按比例场景下有效。', - 'description' => '权重,范围[1,100],仅在按比例场景下有效。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '49', - ], - 'version' => [ - 'title' => '服务版本。', - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - 'match' => [ - 'title' => 'API发布相关的匹配条件配置。', - 'description' => 'API发布相关的匹配条件配置。', - 'required' => false, - 'example' => '{\\"change_order_revision\\":\\"3.657.33_fc-hz-yunqi.1662568293908382_faas-eerouter\\"}', - '$ref' => '#/components/schemas/HttpApiBackendMatchConditions', - ], - ], - 'required' => false, - ], - 'deprecated' => true, - 'required' => false, - ], - ], - 'required' => false, - ], - 'operationIds' => [ - 'description' => '操作 ID', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], - 'deprecated' => true, - 'required' => false, - ], - 'gatewayId' => [ - 'title' => '网关实例ID。', - 'description' => '网关ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cvn2u46m1hkun04oll8g', - ], - 'operationDeployments' => [ - 'title' => '接口发布配置', - 'description' => 'Operation级别的发布控制列表', - 'type' => 'array', - 'items' => [ - 'title' => '接口发布配置对象', - 'description' => '参数', - 'type' => 'object', - 'properties' => [ - 'operationId' => [ - 'title' => '接口ID。', - 'description' => 'Operation的唯一标识', - 'type' => 'string', - 'required' => false, - 'example' => 'op-xxx', - ], - 'action' => [ - 'title' => '预检后将执行的动作。'."\n" - .'- Create:创建。'."\n" - .'- Update: 更新。', - 'description' => '操作类型', - 'type' => 'string', - 'required' => false, - 'example' => 'Publish', - 'enum' => [ - 'Publish', - 'Unpublish', - ], - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'httpApiConfig' => [ - 'description' => 'Http API 部署配置', - 'type' => 'object', - 'properties' => [ - 'gatewayId' => [ - 'title' => '网关id。', - 'description' => '网关ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-csrhgfmm1hknf0hu6o3g', - ], - 'routeIds' => [ - 'description' => '路由 ID', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxxx', - ], - 'required' => false, - ], - ], - 'deprecated' => true, + 'securityGroupId' => ['description' => '安全组ID。'."\n" + ."\n", 'type' => 'string', 'required' => false, 'example' => 'sg-wz929kxhcdp****'], + 'portRanges' => [ + 'description' => '端口范围。', + 'type' => 'array', + 'items' => ['description' => '端口范围。', 'type' => 'string', 'required' => false, 'example' => '1/65535'], 'required' => false, ], + 'description' => ['description' => '安全组规则描述。', 'type' => 'string', 'required' => false, 'example' => '商品中心访问安全组'], ], 'required' => false, ], @@ -6687,63 +3571,212 @@ 'responses' => [ 200 => [ 'schema' => [ + 'description' => '响应结果。', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2A6E90D5-A711-54F4-A489-E33C2021EDDF'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '添加网关安全组规则', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddGatewaySecurityGroupRule'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:AddGatewaySecurityGroupRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2A6E90D5-A711-54F4-A489-E33C2021EDDF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'BatchDeleteConsumerAuthorizationRule' => [ + 'path' => '/v1/authorization-rules', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '259028', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + ], + 'parameters' => [ + [ + 'name' => 'consumerAuthorizationRuleIds', + 'in' => 'query', + 'schema' => ['description' => '消费者授权规则ID列表。', 'type' => 'string', 'required' => false, 'example' => 'car-cus2d1em1hkg7732kuk0'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ 'title' => 'Schema of Response', 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0C2D1C68-0D93-5561-8EE6-FDB7BF067A30', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '464F9EA0-1052-51BD-8187-D292AA2D8D24'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0C2D1C68-0D93-5561-8EE6-FDB7BF067A30\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '发布API', - ], - 'CreateHttpApi' => [ - 'summary' => '创建一个HTTP类型的API。', - 'path' => '/v1/http-apis', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '批量解除消费者授权规则', + 'summary' => '批量解除消费者授权规则。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:BatchDeleteConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"464F9EA0-1052-51BD-8187-D292AA2D8D24\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'ChangeResourceGroup' => [ + 'summary' => '资源转组。', + 'path' => '/move-resource-group', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '247672', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + 'tenantRelevance' => 'tenant', ], - 'produces' => [ - 'application/json', + 'parameters' => [ + [ + 'name' => 'Service', + 'in' => 'query', + 'schema' => ['description' => '服务名称,固定值apig', 'type' => 'string', 'required' => false, 'example' => 'apig', 'default' => 'APIG'], + ], + [ + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['description' => '资源类型', 'type' => 'string', 'required' => false, 'example' => 'gateway', 'default' => 'Gateway'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'schema' => ['description' => '资源ID', 'type' => 'string', 'required' => false, 'example' => 'gw-ct4i14um1hkn0tpqfae0'], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '目标资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzdrfx2xdnaja'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '返回结构体', + 'type' => 'object', + 'properties' => [ + 'RequestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '59F86F37-787A-52DB-9475-DB5A255517F0'], + ], + ], + ], ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'MissingParameter.RegionId', 'errorMessage' => 'The RegionId parameters that are required for processing this request are missing', 'description' => ''], + ['errorCode' => 'MissingParameter.ResourceId', 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing', 'description' => ''], + ['errorCode' => 'MissingParameter.ResourceGroupId', 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing', 'description' => ''], + ['errorCode' => 'InvalidResourceGroup', 'errorMessage' => 'The specified ResourceGroupId is invalid', 'description' => ''], + ['errorCode' => 'InternalError', 'errorMessage' => 'The request processing has failed due to some unknown error.', 'description' => ''], + ['errorCode' => 'ResourceNotFound', 'errorMessage' => ' The specified resource is not found', 'description' => ''], + ], + 403 => [ + ['errorCode' => 'NoPermission.ChangeResourceGroup', 'errorMessage' => 'You are not authorized to change resourcegroup', 'description' => ''], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '资源转组', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"59F86F37-787A-52DB-9475-DB5A255517F0\\"\\n}","type":"json"}]', + ], + 'CreateAiModelProvider' => [ + 'summary' => '创建AI模型供应商', + 'path' => '/v1/ai-model-providers', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '218843', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '281123', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], ], 'parameters' => [ [ @@ -6751,201 +3784,21 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '创建API相关参数。', + 'description' => '请求体', 'type' => 'object', 'properties' => [ - 'name' => [ - 'title' => 'API名称。', - 'description' => 'API名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'test-api', - ], - 'description' => [ - 'title' => 'API描述。', - 'description' => 'API描述。', - 'type' => 'string', - 'required' => false, - 'example' => '测试专用API。', - ], - 'protocols' => [ - 'title' => 'API访问协议。', - 'description' => 'API访问协议列表。', - 'type' => 'array', - 'items' => [ - 'title' => 'API访问协议。', - 'description' => 'API访问协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - 'default' => 'HTTP', - 'enum' => [ - 'HTTP', - 'HTTPS', - ], - ], - 'required' => false, - ], - 'basePath' => [ - 'title' => 'API基础路径,需要以/开头。', - 'description' => 'API基础路径,需要以/开头。', - 'type' => 'string', - 'required' => false, - 'example' => '/v1', - ], - 'versionConfig' => [ - 'description' => 'API版本化配置。', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiVersionConfig', - ], - 'type' => [ - 'description' => 'HTTP API的类型。'."\n" - .'- Http'."\n" - .'- Rest'."\n" - .'- WebSocket'."\n" - .'- HttpIngress'."\n" - .'- LLM'."\n" - .'- Agent', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'HttpIngress' => 'HttpIngress', - 'Agent' => 'Agent', - 'Rest' => 'Rest', - 'Http' => 'Http', - 'LLM' => 'LLM', - 'WebSocket' => 'WebSocket', - ], - 'example' => 'Http', - ], - 'ingressConfig' => [ - 'description' => 'HTTP Ingress API配置信息。', - 'type' => 'object', - 'properties' => [ - 'environmentId' => [ - 'description' => '环境ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cq146allhtgk***', - ], - 'sourceId' => [ - 'description' => '来源ID。', - 'type' => 'string', - 'deprecated' => true, - 'required' => false, - 'example' => 'src-crdddallhtgtr***', - ], - 'ingressClass' => [ - 'description' => '监听的Ingress Class。', - 'type' => 'string', - 'required' => false, - 'example' => 'mse', - ], - 'watchNamespace' => [ - 'description' => '监听的命名空间。', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - 'overrideIngressIp' => [ - 'description' => '是否更新Ingress Status里的地址。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'clusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'k7v5eobfzttudni2pw***', - ], - ], - 'required' => false, - ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-xxx', - ], - 'aiProtocols' => [ - 'description' => 'AI API协议,当前支持协议列表如下:'."\n" - .'- OpenAI/v1', - 'type' => 'array', - 'items' => [ - 'description' => 'AI API协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'OpenAI/v1', - ], - 'required' => false, - ], - 'agentProtocols' => [ - 'description' => '代理支持的协议列表', - 'type' => 'array', - 'items' => [ - 'description' => '代理支持的协议列表', - 'type' => 'string', - 'required' => false, - 'example' => 'http/https', - ], - 'required' => false, - ], - 'deployConfigs' => [ - 'description' => 'API部署配置,当前仅AI API支持部署配置,且仅支持传递单个部署配置。', + 'gatewayId' => ['description' => '网关实例ID', 'type' => 'string', 'required' => true, 'example' => 'gw-ucbx3s2m****'], + 'provider' => ['description' => '模型供应商标识', 'type' => 'string', 'required' => true, 'example' => 'openai'], + 'displayName' => ['description' => '模型供应商的显示名称', 'type' => 'string', 'required' => true, 'example' => 'OpenAI'], + 'serviceIds' => [ + 'description' => '需要绑定到该供应商的服务ID列表', 'type' => 'array', - 'items' => [ - 'description' => 'API部署配置。', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], - 'required' => false, - ], - 'enableAuth' => [ - 'description' => '是否开启权限认证', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'authConfig' => [ - 'description' => '权限认证配置', - 'required' => false, - '$ref' => '#/components/schemas/AuthConfig', - ], - 'modelCategory' => [ - 'description' => '模型类别', - 'type' => 'string', - 'required' => false, - 'example' => 'llm/text-to-image', - ], - 'removeBasePathOnForward' => [ - 'description' => '转发请求时是否移除基础路径', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'firstByteTimeout' => [ - 'description' => '等待后端返回首个字节的超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - 'belongGatewayId' => [ - 'type' => 'string', - 'required' => false, - ], - 'dryRun' => [ - 'type' => 'boolean', - 'deprecated' => true, - 'required' => false, - ], - 'strategy' => [ - 'type' => 'string', + 'items' => ['description' => '需要绑定到该供应商的服务ID列表', 'type' => 'string', 'required' => false, 'example' => '["svc-xxx","svc-yyy"]'], 'required' => false, ], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -6953,246 +3806,146 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应体。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A1994B10-C6A8-58FA-8347-6A08B0D4EFDE', - ], - 'code' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '464F9EA0-1052-51BD-8187-D292AA2D8D24'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => 'API信息。', + 'description' => '响应结构', 'type' => 'object', 'properties' => [ - 'httpApiId' => [ - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'example' => 'api-xxx', + 'modelProviderId' => ['description' => '模型供应商ID', 'type' => 'string', 'example' => 'mp-xxx****'], + 'gatewayId' => ['description' => '网关实例ID', 'type' => 'string', 'example' => 'gw-ucbx3s2m****'], + 'provider' => ['description' => '模型供应商标识', 'type' => 'string', 'example' => 'openai'], + 'displayName' => ['description' => '模型供应商显示名称', 'type' => 'string', 'example' => 'OpenAI'], + 'source' => ['description' => '供应商来源类型', 'type' => 'string', 'example' => 'custom'], + 'boundServices' => [ + 'description' => '已绑定到该供应商的服务列表', + 'type' => 'array', + 'items' => ['description' => '已绑定到该供应商的服务列表', '$ref' => '#/components/schemas/ServiceInfo'], ], - 'name' => [ - 'description' => 'API名称。', - 'type' => 'string', - 'example' => 'test-api', + 'modelCards' => [ + 'description' => '该供应商下的模型卡片列表', + 'type' => 'array', + 'items' => [ + 'description' => '该供应商下的模型卡片列表', + 'type' => 'object', + 'properties' => [ + 'modelCardId' => ['description' => '模型卡片ID', 'type' => 'string', 'example' => 'mc-xxx****'], + 'gatewayId' => ['description' => '所属网关实例ID', 'type' => 'string', 'example' => 'gw-ucbx3s2m****'], + 'modelProvider' => ['description' => '所属模型供应商标识', 'type' => 'string', 'example' => 'openai'], + 'modelName' => ['description' => '模型名称', 'type' => 'string', 'example' => 'gpt-4'], + 'source' => ['description' => '模型来源', 'type' => 'string', 'example' => 'custom'], + 'credit' => [ + 'description' => '模型Credits消耗配置', + 'type' => 'object', + 'properties' => [ + 'type' => ['description' => 'Credits计费类型', 'type' => 'string', 'example' => 'token'], + 'inputCost' => ['description' => '输入Token的Credits消耗系数', 'type' => 'number', 'format' => 'float', 'example' => '0.03'], + 'outputCost' => ['description' => '输出Token的Credits消耗系数', 'type' => 'number', 'format' => 'float', 'example' => '0.06'], + 'cacheCost' => ['description' => '缓存Token的Credits消耗系数', 'type' => 'number', 'format' => 'float', 'example' => '0.015'], + ], + ], + 'features' => ['description' => '模型能力特性', 'type' => 'object', 'example' => '{"stream":true,"tools":true}'], + 'meta' => [ + 'description' => '模型元数据', + 'type' => 'object', + 'properties' => [ + 'maxInputTokens' => ['description' => '最大输入Token数', 'type' => 'integer', 'format' => 'int64', 'example' => '128000'], + 'maxOutputTokens' => ['description' => '最大输出Token数', 'type' => 'integer', 'format' => 'int64', 'example' => '4096'], + 'maxTokens' => ['description' => 'Token总量上限', 'type' => 'integer', 'format' => 'int64', 'example' => '132096'], + 'supportedInputModalities' => [ + 'description' => '支持的输入模态', + 'type' => 'array', + 'items' => ['description' => '支持的输入模态', 'type' => 'string', 'example' => '["text","image"]'], + ], + 'supportedOutputModalities' => [ + 'description' => '支持的输出模态', + 'type' => 'array', + 'items' => ['description' => '支持的输出模态', 'type' => 'string', 'example' => '["text"]'], + ], + ], + ], + 'availablePaths' => [ + 'description' => '模型可用路径列表', + 'type' => 'array', + 'items' => [ + 'description' => '模型可用路径列表', + 'type' => 'object', + 'properties' => [ + 'path' => ['description' => 'API路径', 'type' => 'string', 'example' => '/v1/chat/completions'], + 'type' => ['description' => '路径类型', 'type' => 'string', 'example' => 'chat'], + ], + ], + ], + 'updateTime' => ['description' => '最后更新时间', 'type' => 'string', 'example' => '2024-07-03T10:48:00Z'], + ], + ], ], + 'modelCount' => ['description' => '该供应商下的模型数量', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], + 'updateTime' => ['description' => '最后更新时间', 'type' => 'string', 'example' => '2024-07-03T10:48:00Z'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建AI模型供应商', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A1994B10-C6A8-58FA-8347-6A08B0D4EFDE\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test-api\\"\\n }\\n}","type":"json"}]', - 'title' => '创建HTTP API', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"464F9EA0-1052-51BD-8187-D292AA2D8D24\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"modelProviderId\\": \\"mp-xxx****\\",\\n \\"gatewayId\\": \\"gw-ucbx3s2m****\\",\\n \\"provider\\": \\"openai\\",\\n \\"displayName\\": \\"OpenAI\\",\\n \\"source\\": \\"custom\\",\\n \\"boundServices\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"namespace\\": \\"\\",\\n \\"sourceType\\": \\"\\",\\n \\"groupName\\": \\"\\",\\n \\"qualifier\\": \\"\\",\\n \\"expressType\\": \\"\\",\\n \\"versions\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"labels\\": [\\n {\\n \\"key\\": \\"\\",\\n \\"value\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"ports\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"paiWorkspaceName\\": \\"\\",\\n \\"paiWorkspaceId\\": \\"\\",\\n \\"status\\": \\"\\"\\n }\\n ],\\n \\"modelCards\\": [\\n {\\n \\"modelCardId\\": \\"mc-xxx****\\",\\n \\"gatewayId\\": \\"gw-ucbx3s2m****\\",\\n \\"modelProvider\\": \\"openai\\",\\n \\"modelName\\": \\"gpt-4\\",\\n \\"source\\": \\"custom\\",\\n \\"credit\\": {\\n \\"type\\": \\"token\\",\\n \\"inputCost\\": 0.03,\\n \\"outputCost\\": 0.06,\\n \\"cacheCost\\": 0.015\\n },\\n \\"features\\": {\\n \\"stream\\": true,\\n \\"tools\\": true\\n },\\n \\"meta\\": {\\n \\"maxInputTokens\\": 128000,\\n \\"maxOutputTokens\\": 4096,\\n \\"maxTokens\\": 132096,\\n \\"supportedInputModalities\\": [\\n \\"[\\\\\\"text\\\\\\",\\\\\\"image\\\\\\"]\\"\\n ],\\n \\"supportedOutputModalities\\": [\\n \\"[\\\\\\"text\\\\\\"]\\"\\n ]\\n },\\n \\"availablePaths\\": [\\n {\\n \\"path\\": \\"/v1/chat/completions\\",\\n \\"type\\": \\"chat\\"\\n }\\n ],\\n \\"updateTime\\": \\"2024-07-03T10:48:00Z\\"\\n }\\n ],\\n \\"modelCount\\": 3,\\n \\"updateTime\\": \\"2024-07-03T10:48:00Z\\"\\n }\\n}","type":"json"}]', ], - 'UpdateHttpApi' => [ - 'summary' => '更新HTTP API。', - 'path' => '/v1/http-apis/{httpApiId}', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], + 'CreateAndAttachPolicy' => [ + 'summary' => '创建并附加策略。', + 'path' => '/v1/policies', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '218997', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '222758', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'title' => '待更新API ID。', - 'description' => '待更新的HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'api-xxx', - ], - ], - [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'title' => '请求体配置。', - 'description' => '请求体参数。', + 'description' => 'Request Body.', 'type' => 'object', 'properties' => [ - 'description' => [ - 'title' => 'API描述。', - 'description' => 'API描述。', - 'type' => 'string', - 'required' => false, - 'example' => '更新API描述', - ], - 'protocols' => [ - 'title' => 'API访问协议配置。', - 'description' => 'API访问协议列表。', + 'name' => ['description' => '策略名称', 'type' => 'string', 'required' => false, 'example' => 'my-fallback-policy'], + 'className' => ['description' => '策略类型', 'type' => 'string', 'required' => true, 'example' => 'AiFallback'], + 'config' => ['description' => '策略配置内容(JSON 字符串)', 'type' => 'string', 'required' => true, 'example' => '{"serviceConfigs":[...]}'], + 'description' => ['description' => '策略描述', 'type' => 'string', 'required' => false, 'example' => '主路由失败时回退'], + 'attachResourceIds' => [ + 'description' => '挂载目标资源 ID 列表', 'type' => 'array', - 'items' => [ - 'title' => 'API访问协议,枚举值。', - 'description' => 'API访问协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - 'default' => 'HTTP', - 'enum' => [ - 'HTTP', - 'HTTPS', - ], - ], - 'required' => false, - ], - 'basePath' => [ - 'title' => 'API基础路径,需要以/开头。', - 'description' => 'API基础路径,需要以/开头。', - 'type' => 'string', + 'items' => ['description' => '挂载目标资源 ID 列表', 'type' => 'string', 'required' => false, 'example' => '["route-xxx"]'], 'required' => true, - 'docRequired' => true, - 'example' => '/v1', - ], - 'versionConfig' => [ - 'description' => 'API版本化配置。', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiVersionConfig', - ], - 'ingressConfig' => [ - 'description' => 'HTTP Ingress API的配置信息。', - 'type' => 'object', - 'properties' => [ - 'environmentId' => [ - 'description' => '环境ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cr6ql0tlhtgmc****', - ], - 'sourceId' => [ - 'description' => '来源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'src-crdddallhtgtr****', - ], - 'ingressClass' => [ - 'description' => '监听的Ingress Class。', - 'type' => 'string', - 'required' => false, - 'example' => 'mse', - ], - 'watchNamespace' => [ - 'description' => '监听的命名空间', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - 'overrideIngressIp' => [ - 'description' => '是否更新Ingress Status里的地址。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], - 'aiProtocols' => [ - 'description' => 'AI协议列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'AI协议。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'OpenAI/v1' => 'OpenAI/v1', - ], - 'example' => 'OpenAI/v1', - ], - 'required' => false, - ], - 'agentProtocols' => [ - 'description' => 'Agent协议列表', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'required' => false, - 'example' => 'DashScope', - ], - 'required' => false, - ], - 'deployConfigs' => [ - 'description' => 'API部署配置列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'API部署配置。', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], - 'required' => false, - ], - 'enableAuth' => [ - 'description' => '是否开启权限认证', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'authConfig' => [ - 'description' => '权限认证配置', - 'required' => false, - '$ref' => '#/components/schemas/AuthConfig', - ], - 'onlyChangeConfig' => [ - 'description' => '仅修改配置,true表示只修改配置不触发重新部署', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'removeBasePathOnForward' => [ - 'description' => '转发时是否移除基础路径', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'firstByteTimeout' => [ - 'description' => '首字节超时时间', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30s', ], + 'attachResourceType' => ['description' => '挂载目标资源类型', 'type' => 'string', 'required' => true, 'example' => 'GatewayRoute'], + 'environmentId' => ['description' => '环境 ID', 'type' => 'string', 'required' => false, 'example' => 'env-test'], + 'gatewayId' => ['description' => '网关 ID', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx'], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -7200,328 +3953,317 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应。', + 'description' => 'object', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Request ID', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['description' => '响应状态码', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应信息', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应结构', + 'type' => 'object', + 'properties' => [ + 'policyId' => ['description' => '新创建的策略 ID', 'type' => 'string', 'example' => 'plc-xxx'], + 'attachment' => ['description' => '挂载关系信息', '$ref' => '#/components/schemas/Attachment'], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', - 'title' => '更新HTTP API', - ], - 'GetHttpApi' => [ - 'summary' => '读取HTTP API信息。', - 'path' => '/v1/http-apis/{httpApiId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyId\\": \\"plc-xxx\\",\\n \\"attachment\\": {\\n \\"policyAttachmentId\\": \\"pr-cq7l5s5lhtgi6qasrdc0\\",\\n \\"attachResourceId\\": \\"\\",\\n \\"attachResourceType\\": \\"HttpApi\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"gatewayId\\": \\"gw-cpr4f9dlhtgq5ksfgmb0\\",\\n \\"attachResourceIds\\": [\\n \\"api-cq7l5s5lhtgi6qasrdc0\\"\\n ],\\n \\"attachResourceParentIds\\": [\\n \\"\\"\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => '创建并附加策略', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAndAttachPolicy'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateAndAttachPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/*'], + ], + ], + ], ], + ], + 'CreateConsumer' => [ + 'path' => '/v1/consumers', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '218957', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '248083', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'API ID。', - 'description' => '目标HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '消费者名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => '消费者描述。', 'type' => 'string', 'required' => false, 'example' => 'consumer for test'], + 'jwtIdentityConfig' => ['description' => 'JWT身份配置。', 'required' => false, '$ref' => '#/components/schemas/JwtIdentityConfig'], + 'akSkIdentityConfigs' => [ + 'description' => 'AK/SK身份配置列表。', + 'type' => 'array', + 'items' => ['description' => 'AK/SK身份配置。', 'required' => false, '$ref' => '#/components/schemas/AkSkIdentityConfig'], + 'required' => false, + ], + 'apikeyIdentityConfig' => ['description' => 'APIKEY鉴权方式身份配置。', 'required' => false, '$ref' => '#/components/schemas/ApiKeyIdentityConfig'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'gatewayType' => ['description' => '网关类型。'."\n" + .'- API:云原生API网关的消费者'."\n" + .'- AI:AI网关的消费者', 'type' => 'string', 'required' => false, 'example' => 'API'], + ], + 'required' => false, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '响应。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8FA9BB94-915B-5299-A694-49FCC7F5DD00', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '479AE38F-A574-52F7-87EA-E91199999F9E'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'title' => 'API信息。', - 'description' => 'API信息。', - '$ref' => '#/components/schemas/HttpApiApiInfo', + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-cvnjramm1hks1r3fmmug'], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FA9BB94-915B-5299-A694-49FCC7F5DD00\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\",\\n \\"data\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取HTTP API', - ], - 'ListHttpApis' => [ - 'summary' => '获取HTTP API列表。', - 'path' => '/v1/http-apis', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建消费者', + 'summary' => '创建消费者。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateConsumer'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"479AE38F-A574-52F7-87EA-E91199999F9E\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerId\\": \\"cs-cvnjramm1hks1r3fmmug\\"\\n }\\n}","type":"json"}]', + ], + 'CreateConsumerAuthorizationRule' => [ + 'path' => '/v1/consumers/{consumerId}/authorization-rules', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '219000', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '248099', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'keyword', - 'in' => 'query', - 'schema' => [ - 'title' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', - 'description' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'test-', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '分页页码,从1开始,不填默认1.', - 'description' => '分页页码,从1开始,不填默认1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '分页大小,有效范围[1, 100],不填默认10。', - 'description' => '分页大小,有效范围[1, 100],不填默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'title' => '按照名称精确搜索。', - 'description' => '按照名称精确搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'login', - ], - ], - [ - 'name' => 'types', - 'in' => 'query', - 'schema' => [ - 'description' => 'HTTP API的类型。支持传入多个类型,采用","分割。'."\n" - .'- Http'."\n" - .'- Rest'."\n" - .'- WebSocket'."\n" - .'- HttpIngress', - 'type' => 'string', - 'required' => false, - 'example' => 'Http,Rest', - ], - ], - [ - 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '云原生API网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq2avtllh****', - ], - ], - [ - 'name' => 'withAuthPolicyInEnvironmentId', - 'in' => 'query', - 'schema' => [ - 'description' => '响应中每个API信息携带指定环境ID下的消费者认证策略信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-xxx', - ], - ], - [ - 'name' => 'withConsumerInfoById', - 'in' => 'query', - 'schema' => [ - 'description' => '响应中每个API信息携带指定消费者ID的授权规则列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-xxx', - ], - ], - [ - 'name' => 'withEnvironmentInfo', - 'in' => 'query', - 'schema' => [ - 'description' => '环境信息', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'withPluginAttachmentByPluginId', - 'in' => 'query', - 'schema' => [ - 'description' => '插件ID,根据此插件ID获取插件发布信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'pl-ct9qn3um1hktue8dqol0', - ], - ], - [ - 'name' => 'resourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-ahr5uil8raz0rq3b', - ], - ], - [ - 'name' => 'withEnvironmentInfoById', - 'in' => 'query', - 'schema' => [ - 'description' => '环境ID', - 'type' => 'string', - 'required' => false, - 'example' => 'env-ctovu5mm1hksb4q8ln40', - ], + 'name' => 'consumerId', + 'in' => 'path', + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-ctd4l1um1hkph7ki1k80'], ], [ - 'name' => 'withAuthPolicyList', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '是否开启了权限认证策略', - 'type' => 'boolean', + 'description' => '请求参数。', + 'type' => 'object', + 'properties' => [ + 'resourceType' => ['description' => '资源类型。', 'type' => 'string', 'required' => false, 'example' => 'API'], + 'parentResourceType' => ['description' => '父资源类型。', 'type' => 'string', 'required' => false, 'example' => 'API'], + 'authorizationResourceInfos' => [ + 'description' => '资源授权信息列表。', + 'type' => 'array', + 'items' => ['description' => '资源授权信息。', 'required' => false, '$ref' => '#/components/schemas/AuthorizationResourceInfo'], + 'required' => false, + ], + 'expireMode' => ['description' => '失效模式。LongTerm、ShortTerm,二选一。', 'type' => 'string', 'required' => false, 'example' => 'LongTerm'], + 'expireTimestamp' => ['description' => '到期时间。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1750852089975'], + ], 'required' => false, - 'example' => 'true', ], ], - [ - 'name' => 'withIngressInfo', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '是否包含ingress信息', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '6CC83C32-3B5A-57EE-9AFE-D0D51822C7BA'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'consumerAuthorizationRuleId' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'example' => 'car-d06p196m1hkg9ukum5pg'], + ], + ], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建消费者授权规则', + 'summary' => '创建消费者授权规则。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'withPolicyConfigs', - 'in' => 'query', - 'schema' => [ - 'description' => '是否包含策略信息', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"6CC83C32-3B5A-57EE-9AFE-D0D51822C7BA\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerAuthorizationRuleId\\": \\"car-d06p196m1hkg9ukum5pg\\"\\n }\\n}","type":"json"}]', + ], + 'CreateConsumerAuthorizationRules' => [ + 'summary' => '创建消费者授权规则。', + 'path' => '/v1/authorization-rules', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'withAPIsPublishedToEnvironment', - 'in' => 'query', - 'schema' => [ - 'description' => '是否返回已发布到指定环境的API信息', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '259035', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'gatewayType', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AI' => 'AI', - 'API' => 'API', + 'description' => '请求体参数。', + 'type' => 'object', + 'properties' => [ + 'authorizationRules' => [ + 'description' => '消费者鉴权规则。', + 'type' => 'array', + 'items' => [ + 'description' => '消费者鉴权规则。', + 'type' => 'object', + 'properties' => [ + 'principalType' => [ + 'title' => '授权主体类型,取值为 Consumer 或 ConsumerGroup。为空时兼容为 Consumer。', + 'description' => '授权主体类型', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['Consumer' => '消费者', 'ConsumerGroup' => '消费者组'], + 'example' => 'ConsumerGroup', + ], + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-******'], + 'consumerGroupId' => ['title' => '消费者组ID。当 principalType 为 ConsumerGroup 时必填。', 'description' => '消费者组ID', 'type' => 'string', 'required' => false, 'example' => 'csg-8c13d2b4f8a1'], + 'resourceType' => [ + 'description' => '资源类型。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['Policy' => '策略', 'Consumer' => '消费者', 'Service' => '服务', 'HttpApi' => 'HTTP API', 'PluginClass' => '插件类', 'Domain' => '域名', 'HttpApiRoute' => 'HTTP API 路由', 'Plugin' => '插件', 'ConsumerGroup' => '消费者组'], + 'example' => 'HttpApiRoute', + ], + 'resourceIdentifier' => [ + 'description' => '资源标识,提供给非标代码源作为空间复用的唯一标识 ', + 'type' => 'object', + 'properties' => [ + 'resourceId' => ['description' => '资源ID。', 'type' => 'string', 'required' => false, 'example' => 'ha-cn-li942gy8p03'], + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'required' => false, 'example' => 'env-******'], + 'resources' => [ + 'description' => '资源信息。', + 'type' => 'array', + 'items' => ['description' => '资源信息。', 'type' => 'string', 'required' => false, 'example' => '[]'], + 'required' => false, + ], + 'parentResourceId' => ['description' => '父资源ID。', 'type' => 'string', 'required' => false, 'example' => 'api-******'], + ], + 'required' => false, + ], + 'expireMode' => [ + 'description' => '失效模式,当前仅支持LongTerm', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['LongTerm' => '长期有效'], + 'example' => 'LongTerm', + ], + 'expireTimestamp' => ['description' => '失效时间戳。 单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1741162221'], + ], + 'required' => false, + ], + 'required' => false, + ], ], - 'example' => 'API', + 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -7529,62 +4271,20 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'title' => 'API列表。', - 'description' => 'API列表。', + 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'title' => '分页页码。', - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'title' => '分页大小。', - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'title' => '总数量。', - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'items' => [ - 'title' => 'API信息。', - 'description' => 'API信息。', + 'consumerAuthorizationRuleIds' => [ + 'description' => '消费者授权规则ID列表。', 'type' => 'array', - 'items' => [ - 'title' => '按照API名进行分组的API信息。', - 'description' => '按照API名进行分组的API信息。', - '$ref' => '#/components/schemas/HttpApiInfoByName', - ], + 'items' => ['description' => '消费者授权规则ID。', 'type' => 'string', 'example' => 'car-cus2d1em1hkg7732kuk0'], ], ], ], @@ -7592,82 +4292,101 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"name\\": \\"test-api\\",\\n \\"versionEnabled\\": true,\\n \\"versionedHttpApis\\": [\\n {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n }\\n ],\\n \\"type\\": \\"Http\\",\\n \\"GatewayId\\": \\"gw-xx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取HTTP API列表', - ], - 'UndeployHttpApi' => [ - 'summary' => '取消部署HttpApi。', - 'path' => '/v1/http-apis/{httpApiId}/undeploy', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerAuthorizationRuleIds\\": [\\n \\"car-cus2d1em1hkg7732kuk0\\"\\n ]\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'https', + 'title' => '创建消费者授权规则', + 'changeSet' => [ + ['createdAt' => '2025-07-24T12:32:03.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateConsumerAuthorizationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'CreateDomain' => [ + 'summary' => '创建域名。', + 'path' => '/v1/domains', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'high', + 'operationType' => 'create', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237789', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '218988', + 'abilityTreeNodes' => ['FEATUREapigatewayLPOSXV'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cqu95allhtgii6***', - ], - ], - [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求body。', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'routeId' => [ - 'description' => '路由ID。当下线HTTP API的路由时候,必须传入。', - 'type' => 'string', - 'required' => false, - 'example' => 'hr-cr82undlhtgrle***', - ], - 'environmentId' => [ - 'description' => '环境ID。', + 'name' => ['description' => '域名。', 'type' => 'string', 'required' => true, 'example' => 'abc.com'], + 'protocol' => [ + 'description' => '域名支持的协议类型。'."\n" + ."\n" + .'- HTTP:仅支持HTTP协议。'."\n" + .'- HTTPS:仅支持HTTPS协议。', 'type' => 'string', 'required' => false, - 'example' => 'env-cqsmtellhtgvo***', + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], + 'example' => 'HTTP', ], - 'operationId' => [ - 'description' => '接口ID', + 'domainScope' => ['title' => '域名作用域', 'description' => '域名作用域', 'type' => 'string', 'required' => false, 'example' => 'Dedicated'], + 'forceHttps' => ['description' => '设置HTTPS协议类型,是否开启强制HTTPS跳转。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'mTLSEnabled' => ['title' => '是否开启mtls双向认证,true | false', 'description' => '是否开启mTLS双向认证', 'type' => 'boolean', 'required' => false], + 'certIdentifier' => ['description' => '证书标识。', 'type' => 'string', 'required' => false, 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n"], + 'caCertIdentifier' => ['description' => 'CA证书标识。', 'type' => 'string', 'required' => false, 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n"], + 'clientCACert' => ['title' => '客户端CA证书', 'description' => '客户端CA证书', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL'."\n" + .'BQAwE************************************************2VwVOJ2gqX3'."\n" + .'YuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4='."\n" + .'-----END CERTIFICATE-----'], + 'http2Option' => [ + 'description' => 'http2设置。', 'type' => 'string', 'required' => false, - 'example' => 'op-d4favr6m1hk***', + 'enumValueTitles' => ['GlobalConfig' => 'GlobalConfig', 'Close' => 'Close', 'Open' => 'Open'], + 'example' => 'Open', ], - 'gatewayId' => [ - 'description' => '网关ID', + 'tlsMax' => ['description' => 'TLS协议最大版本,最大支持TLS 1.3。', 'type' => 'string', 'required' => false, 'example' => 'TLS1.3'], + 'tlsMin' => ['description' => 'TLS协议最小版本,最小支持TLS 1.0。', 'type' => 'string', 'required' => false, 'example' => 'TLS1.0'], + 'resourceGroupId' => ['description' => '[资源组ID](~~151181~~)', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzhiv7derfweq'], + 'tlsCipherSuitesConfig' => ['description' => '加密套件配置。', 'required' => false, '$ref' => '#/components/schemas/TlsCipherSuitesConfig'], + 'gatewayType' => [ + 'description' => '网关类型', 'type' => 'string', 'required' => false, - 'example' => 'gw-cq7l5s5lhtg***', + 'enumValueTitles' => ['AI' => 'AI', 'API' => 'API'], + 'example' => 'API', ], ], 'required' => false, @@ -7681,70 +4400,86 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '0C2D1C68-0D93-5561-8EE6-FDB7BF067A30'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'domainId' => ['description' => '域名id。', 'type' => 'string', 'example' => 'd-cpu1aullhtgkidg7sa4g'], + ], ], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '下线API', - ], - 'DeleteHttpApi' => [ - 'summary' => '删除指定的HTTP API。', - 'path' => '/v1/http-apis/{httpApiId}', - 'methods' => [ - 'delete', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0C2D1C68-0D93-5561-8EE6-FDB7BF067A30\\",\\n \\"data\\": {\\n \\"domainId\\": \\"d-cpu1aullhtgkidg7sa4g\\"\\n },\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => '创建域名', + 'changeSet' => [ + ['createdAt' => '2026-06-17T12:19:57.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-04-24T16:41:34.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-02-27T07:54:24.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-28T10:53:19.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-20T09:31:25.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-09-23T07:51:38.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-07-25T08:17:35.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDomain'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/*'], + ], + ], + ], ], + ], + 'CreateEnvironment' => [ + 'summary' => '创建环境。', + 'path' => '/v1/environments', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'write', - 'deprecated' => false, + 'deprecated' => true, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '218999', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '219212', + 'abilityTreeNodes' => ['FEATUREapigatewayN14L0I'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'API ID。', - 'description' => '待删除的HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '环境名称。', 'type' => 'string', 'required' => true, 'docRequired' => false, 'example' => 'test'], + 'alias' => ['description' => '环境别名。', 'type' => 'string', 'required' => true, 'example' => '测试环境'], + 'description' => ['description' => '环境的描述信息,可以填写环境用途,所有人等信息。', 'type' => 'string', 'required' => false, 'example' => '这是xxx的xx项目测试环境'], + 'gatewayId' => ['description' => '网关id。', 'type' => 'string', 'required' => true, 'example' => 'gw-cq7l5s5lhtgi6qasrdc0'], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-ahr5uil8raz0rq3b'], + ], + 'required' => false, ], ], ], @@ -7752,99 +4487,181 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '5B626361-070A-56A7-B127-ADAC8F3655DB', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '3C3B9A12-3868-5EB9-8BEA-F99E03DD125C'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => '创建环境', + 'changeSet' => [ + ['createdAt' => '2024-11-20T09:31:23.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"5B626361-070A-56A7-B127-ADAC8F3655DB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除HTTP API', - ], - 'CreateHttpApiOperation' => [ - 'summary' => '为HTTP API创建接口。', - 'path' => '/v1/http-apis/{httpApiId}/operations', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEnvironment'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3C3B9A12-3868-5EB9-8BEA-F99E03DD125C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\"\\n }\\n}","type":"json"}]', + ], + 'CreateGateway' => [ + 'summary' => '创建云原生网关。', + 'path' => '/v1/gateways', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeCode' => '219801', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'chargeType' => 'paid', + 'abilityTreeCode' => '220852', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'title' => 'API ID。', - 'description' => '创建接口所属的HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', - ], - ], - [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求参数。', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'operations' => [ - 'title' => '接口定义。', - 'description' => '接口定义列表。', + 'name' => ['description' => '网关名称。', 'type' => 'string', 'required' => false, 'example' => 'test-ceshi'], + 'chargeType' => [ + 'description' => '付费类型。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['POSTPAY' => '包年包月', 'PREPAY' => '按量付费'], + 'example' => 'POSTPAY', + ], + 'gatewayType' => [ + 'description' => '网关类型。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['AI' => 'AI网关', 'API' => '云原生API网关'], + 'example' => 'API', + ], + 'spec' => ['description' => '节点规格。', 'type' => 'string', 'required' => false, 'example' => 'apigw.dev.x2'], + 'vpcId' => ['description' => '专有网络ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-zm0x16tomfiat1mk9f6rs'], + 'networkAccessConfig' => [ + 'description' => '网络访问配置。', + 'type' => 'object', + 'properties' => [ + 'type' => [ + 'description' => '网络访问类型。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['InternetAndIntranet' => '公网+私网', 'Intranet' => '私网', 'Internet' => '公网'], + 'example' => 'Internet', + ], + ], + 'required' => false, + ], + 'zoneConfig' => [ + 'description' => '可用区配置。', + 'type' => 'object', + 'properties' => [ + 'selectOption' => [ + 'description' => '可用区选项。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['Auto' => '自动', 'Manual' => '手动'], + 'example' => 'Manual', + ], + 'vSwitchId' => ['description' => '虚拟交换机ID。', 'type' => 'string', 'required' => false, 'example' => 'vsw-xxx'], + 'zones' => [ + 'description' => '支持的可用区列表。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区信息。', + 'type' => 'object', + 'properties' => [ + 'zoneId' => ['description' => '可用区ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-wulanchabu-a'], + 'vSwitchId' => ['description' => '虚拟交换机ID。', 'type' => 'string', 'required' => false, 'example' => 'vsw-xx'], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'logConfig' => [ + 'description' => '网关日志配置。', + 'type' => 'object', + 'properties' => [ + 'sls' => [ + 'description' => 'sls日志配置。', + 'type' => 'object', + 'properties' => [ + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-ahr5uil8raz0rq3b'], + 'tag' => [ + 'description' => '标签列表。', 'type' => 'array', 'items' => [ - 'description' => '接口定义。', + 'description' => '标签值。', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键。', 'type' => 'string', 'required' => false, 'example' => 'key'], + 'value' => ['description' => '标签value。', 'type' => 'string', 'required' => false, 'example' => 'value'], + ], 'required' => false, - '$ref' => '#/components/schemas/HttpApiOperation', ], 'required' => false, ], + 'gatewayEdition' => ['title' => '网关实例版本:'."\n" + ."\n" + .'- 普通实例:Professional'."\n" + ."\n" + .'- Serverless:Serverless(当前只支持AI网关)', 'description' => '网关实例版本:'."\n" + ."\n" + .'- 普通实例:Professional'."\n" + ."\n" + .'- Serverless:Serverless'."\n" + ."\n" + .'- 多租户 Serverless:MultiTenantServerless'."\n" + ."\n" + .'- 未知:Unknown', 'type' => 'string', 'required' => false, 'example' => 'Professional', 'default' => 'Professional'], ], 'required' => false, ], @@ -7854,211 +4671,155 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '9CDE3E69-69C2-5402-83AD-ACA80B1AF35B'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'title' => '接口信息。', - 'description' => '接口信息。', + 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'operations' => [ - 'title' => '接口信息。', - 'description' => '接口信息。', - 'type' => 'array', - 'items' => [ - 'description' => '接口信息。', - 'type' => 'object', - 'properties' => [ - 'operationId' => [ - 'description' => '接口ID。', - 'type' => 'string', - 'example' => 'op-xxx', - ], - ], - ], - ], + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'example' => 'gw-cq2vundlhtg***'], ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\",\\n \\"data\\": {\\n \\"operations\\": [\\n {\\n \\"operationId\\": \\"op-xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '创建接口', - ], - 'GetHttpApiOperation' => [ - 'summary' => '获取接口信息。', - 'path' => '/v1/http-apis/{httpApiId}/operations/{operationId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9CDE3E69-69C2-5402-83AD-ACA80B1AF35B\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\"\\n }\\n}","type":"json"}]', + 'title' => '创建网关', + 'changeSet' => [ + ['createdAt' => '2025-09-18T12:49:49.000Z', 'description' => '请求参数发生变更'], ], - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '219803', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateGateway'], ], ], - 'parameters' => [ - [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'title' => 'API ID。', - 'description' => '接口所属的HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', - ], - ], + 'ramActions' => [ [ - 'name' => 'operationId', - 'in' => 'path', - 'schema' => [ - 'title' => '接口ID。', - 'description' => '接口ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'op-xxx', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '响应。', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'B725275B-50C6-5A49-A9FD-F0332FCB3351', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'title' => '接口信息。', - 'description' => '接口信息。', - '$ref' => '#/components/schemas/HttpApiOperationInfo', - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B725275B-50C6-5A49-A9FD-F0332FCB3351\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"operationId\\": \\"op-xxx\\",\\n \\"method\\": \\"GET\\",\\n \\"name\\": \\"GetUserInfo\\",\\n \\"path\\": \\"/user/123\\",\\n \\"description\\": \\"获取用户信息\\",\\n \\"response\\": {\\n \\"contentType\\": \\"application/json\\",\\n \\"items\\": [\\n {\\n \\"code\\": 200,\\n \\"example\\": \\"{\\\\\\"result\\\\\\": \\\\\\"ok\\\\\\"}\\",\\n \\"description\\": \\"正常接口响应\\",\\n \\"jsonSchema\\": \\"\\"\\n }\\n ]\\n },\\n \\"request\\": {\\n \\"headerParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"queryParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"pathParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"body\\": {\\n \\"description\\": \\"\\",\\n \\"example\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"contentType\\": \\"application/json\\",\\n \\"jsonSchema\\": \\"\\"\\n }\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"createTimestamp\\": 1719386834548,\\n \\"enableAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"status\\": \\"Deployed\\",\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取接口信息', ], - 'UpdateHttpApiOperation' => [ - 'summary' => '更新接口。', - 'path' => '/v1/http-apis/{httpApiId}/operations/{operationId}', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateHttpApi' => [ + 'summary' => '创建一个HTTP类型的API。', + 'path' => '/v1/http-apis', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '218843', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'title' => '待更新接口所属的API ID。', - 'description' => '待更新接口所属的HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'api-xxx', - ], - ], - [ - 'name' => 'operationId', - 'in' => 'path', - 'schema' => [ - 'title' => '待更新的接口ID。', - 'description' => '待更新的接口ID。', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'example' => 'op-xxx', - ], - ], - [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数。', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'operation' => [ - 'title' => '接口定义。', - 'description' => '接口定义。', + 'name' => ['title' => 'API名称。', 'description' => 'API名称。', 'type' => 'string', 'required' => true, 'example' => 'test-api'], + 'description' => ['title' => 'API描述。', 'description' => 'API描述。', 'type' => 'string', 'required' => false, 'example' => 'Test API for integration'], + 'protocols' => [ + 'title' => 'API访问协议。', + 'description' => 'API访问协议列表。', + 'type' => 'array', + 'items' => [ + 'title' => 'API访问协议。', + 'description' => 'API访问协议。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['HTTPS' => 'HTTPS协议', 'HTTP' => 'HTTP协议'], + 'example' => 'HTTP', + 'default' => 'HTTP', + 'enum' => ['HTTP', 'HTTPS'], + ], 'required' => false, - '$ref' => '#/components/schemas/HttpApiOperation', ], + 'basePath' => ['title' => 'API基础路径,需要以/开头。', 'description' => 'API基础路径,需要以/开头。', 'type' => 'string', 'required' => false, 'example' => '/v1'], + 'versionConfig' => ['description' => 'API版本化配置。', 'required' => false, '$ref' => '#/components/schemas/HttpApiVersionConfig'], + 'type' => [ + 'description' => 'HTTP API的类型。'."\n" + .'- Http'."\n" + .'- Rest'."\n" + .'- WebSocket'."\n" + .'- HttpIngress'."\n" + .'- LLM'."\n" + .'- Agent', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['HttpIngress' => ' HTTP Ingress API,通过Ingress接入', 'Agent' => 'Agent代理API', 'Rest' => 'RESTful API', 'Http' => '普通HTTP API', 'LLM' => '大语言模型API', 'WebSocket' => 'WebSocket API'], + 'example' => 'Http', + ], + 'ingressConfig' => [ + 'description' => 'HTTP Ingress API配置信息。', + 'type' => 'object', + 'properties' => [ + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'required' => false, 'example' => 'env-cq146allhtgk***'], + 'sourceId' => ['description' => '来源ID。', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'src-crdddallhtgtr***'], + 'ingressClass' => ['description' => '监听的Ingress Class。', 'type' => 'string', 'required' => false, 'example' => 'mse'], + 'watchNamespace' => ['description' => '监听的命名空间。', 'type' => 'string', 'required' => false, 'example' => 'default'], + 'overrideIngressIp' => ['description' => '是否更新Ingress Status里的地址。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'clusterId' => ['description' => '集群ID。', 'type' => 'string', 'required' => false, 'example' => 'k7v5eobfzttudni2pw***'], + ], + 'required' => false, + ], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-xxx'], + 'aiProtocols' => [ + 'description' => 'AI API协议,当前支持协议列表如下:'."\n" + .'- OpenAI/v1', + 'type' => 'array', + 'items' => ['description' => 'AI API协议。', 'type' => 'string', 'required' => false, 'example' => 'OpenAI/v1'], + 'required' => false, + ], + 'agentProtocols' => [ + 'description' => '代理支持的协议列表', + 'type' => 'array', + 'items' => ['description' => '代理支持的协议列表', 'type' => 'string', 'required' => false, 'example' => 'http/https'], + 'required' => false, + ], + 'deployConfigs' => [ + 'description' => 'API部署配置,当前仅AI API支持部署配置,且仅支持传递单个部署配置。', + 'type' => 'array', + 'items' => ['description' => 'API部署配置。', 'required' => false, '$ref' => '#/components/schemas/HttpApiDeployConfig'], + 'required' => false, + ], + 'enableAuth' => ['description' => '是否开启权限认证', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'authConfig' => ['description' => '权限认证配置', 'required' => false, '$ref' => '#/components/schemas/AuthConfig'], + 'modelCategory' => ['description' => '模型类别', 'type' => 'string', 'required' => false, 'example' => 'llm/text-to-image'], + 'removeBasePathOnForward' => ['description' => '转发请求时是否移除基础路径', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'firstByteTimeout' => ['description' => '等待后端返回首个字节的超时时间', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], + 'belongGatewayId' => ['description' => '所属网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-abc123xyz789'], + 'dryRun' => ['description' => '是否仅预览不执行', 'type' => 'boolean', 'deprecated' => true, 'required' => false, 'example' => 'true'], + 'strategy' => ['description' => '导入的冲突合并策略', 'type' => 'string', 'required' => false, 'example' => 'ExistFirst'], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -8066,227 +4827,105 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应。', + 'description' => '响应体。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '043360DA-ED3B-5386-9B7A-D94DECF99A30', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息。', - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'A1994B10-C6A8-58FA-8347-6A08B0D4EFDE'], + 'code' => ['description' => '状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => 'API信息。', + 'type' => 'object', + 'properties' => [ + 'httpApiId' => ['description' => 'HTTP API ID。', 'type' => 'string', 'example' => 'api-xxx'], + 'name' => ['description' => 'API名称。', 'type' => 'string', 'example' => 'test-api'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A1994B10-C6A8-58FA-8347-6A08B0D4EFDE\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test-api\\"\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"043360DA-ED3B-5386-9B7A-D94DECF99A30\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新接口', - ], - 'ListHttpApiOperations' => [ - 'summary' => '获取接口列表。', - 'path' => '/v1/http-apis/{httpApiId}/operations', - 'methods' => [ - 'get', + 'title' => '创建HTTP API', + 'changeSet' => [ + ['createdAt' => '2026-02-12T06:43:34.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2026-02-11T08:30:13.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-08-19T12:32:17.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-07-17T13:23:54.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-06-26T12:05:01.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-04-24T16:41:36.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-01-02T05:55:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-20T04:02:26.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-18T08:56:08.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-09-06T06:02:55.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHttpApi'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/*'], + ], + ], + ], + ], + ], + 'CreateHttpApiOperation' => [ + 'summary' => '为HTTP API创建接口。', + 'path' => '/v1/http-apis/{httpApiId}/operations', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '219808', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '219801', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ 'name' => 'httpApiId', 'in' => 'path', - 'schema' => [ - 'title' => 'API ID。', - 'description' => '目标HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', - ], + 'schema' => ['title' => 'API ID。', 'description' => '创建接口所属的HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], ], [ - 'name' => 'method', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '按Method列举接口。', - 'description' => '按Method列举接口。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'TRACE' => 'TRACE', - 'HEAD' => 'HEAD', - 'DELETE' => 'DELETE', - 'POST' => 'POST', - 'GET' => 'GET', - 'CONNECT' => 'CONNECT', - 'OPTIONS' => 'OPTIONS', - 'PUT' => 'PUT', - 'PATCH' => 'PATCH', + 'description' => '请求参数。', + 'type' => 'object', + 'properties' => [ + 'operations' => [ + 'title' => '接口定义。', + 'description' => '接口定义列表。', + 'type' => 'array', + 'items' => ['description' => '接口定义。', 'required' => false, '$ref' => '#/components/schemas/HttpApiOperation'], + 'required' => false, + ], ], - 'example' => 'GET', - ], - ], - [ - 'name' => 'pathLike', - 'in' => 'query', - 'schema' => [ - 'title' => '按路径前缀匹配搜索接口。', - 'description' => '按路径前缀匹配搜索接口。', - 'type' => 'string', 'required' => false, - 'example' => '/v1', - ], - ], - [ - 'name' => 'nameLike', - 'in' => 'query', - 'schema' => [ - 'title' => '按接口名称前缀搜索接口。', - 'description' => '按接口名称前缀搜索接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'GetUser', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'title' => '分页页码,从1开始,不填默认1。', - 'description' => '分页页码,从1开始,不填默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '分页大小,有效范围[1, 100],不填默认10。', - 'description' => '分页大小,有效范围[1, 100],不填默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'title' => '按照名称精确搜索。', - 'description' => '按照名称精确搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'getUserInfo', - ], - ], - [ - 'name' => 'withConsumerInEnvironmentId', - 'in' => 'query', - 'schema' => [ - 'description' => '响应中每个接口信息携带指定环境ID下的指定消费者的授权规则列表。需要额外指定withConsumerInfoById字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-xxx', - ], - ], - [ - 'name' => 'withConsumerInfoById', - 'in' => 'query', - 'schema' => [ - 'description' => '响应中每个接口信息携带指定环境ID下的指定消费者的授权规则列表。需要额外指定withConsumerInEnvironmentId字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-xxx', - ], - ], - [ - 'name' => 'consumerAuthorizationRuleId', - 'in' => 'query', - 'schema' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'cas-xxx', - ], - ], - [ - 'name' => 'withPluginAttachmentByPluginId', - 'in' => 'query', - 'schema' => [ - 'description' => '插件ID,根据此插件ID获取插件发布信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'pl-xxx', - ], - ], - [ - 'name' => 'forDeploy', - 'in' => 'query', - 'schema' => [ - 'description' => '是否为部署场景', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '网关ID过滤器', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-001', - ], - ], - [ - 'name' => 'enableAuth', - 'in' => 'query', - 'schema' => [ - 'description' => '启用认证过滤器', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', ], ], ], @@ -8297,58 +4936,24 @@ 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息,', - 'description' => '响应消息,', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], 'data' => [ - 'title' => '接口列表。', - 'description' => '接口列表。', + 'title' => '接口信息。', + 'description' => '接口信息。', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'title' => '分页页码。', - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'title' => '分页大小。', - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'title' => '总数量。', - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'items' => [ - 'title' => '接口列表。', - 'description' => '接口列表。', + 'operations' => [ + 'title' => '接口信息。', + 'description' => '接口信息。', 'type' => 'array', 'items' => [ - 'title' => '接口信息。', 'description' => '接口信息。', - '$ref' => '#/components/schemas/HttpApiOperationInfo', + 'type' => 'object', + 'properties' => [ + 'operationId' => ['description' => '接口ID。', 'type' => 'string', 'example' => 'op-xxx'], + ], ], ], ], @@ -8357,232 +4962,107 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"operationId\\": \\"op-xxx\\",\\n \\"method\\": \\"GET\\",\\n \\"name\\": \\"GetUserInfo\\",\\n \\"path\\": \\"/user/123\\",\\n \\"description\\": \\"获取用户信息\\",\\n \\"response\\": {\\n \\"contentType\\": \\"application/json\\",\\n \\"items\\": [\\n {\\n \\"code\\": 200,\\n \\"example\\": \\"{\\\\\\"result\\\\\\": \\\\\\"ok\\\\\\"}\\",\\n \\"description\\": \\"正常接口响应\\",\\n \\"jsonSchema\\": \\"\\"\\n }\\n ]\\n },\\n \\"request\\": {\\n \\"headerParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"queryParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"pathParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"body\\": {\\n \\"description\\": \\"\\",\\n \\"example\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"contentType\\": \\"application/json\\",\\n \\"jsonSchema\\": \\"\\"\\n }\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"createTimestamp\\": 1719386834548,\\n \\"enableAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"status\\": \\"Deployed\\",\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取接口列表', - ], - 'DeleteHttpApiOperation' => [ - 'summary' => '删除指定的接口。', - 'path' => '/v1/http-apis/{httpApiId}/operations/{operationId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'title' => '创建接口', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHttpApiOperation'], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'none', - 'chargeType' => 'free', - ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'title' => 'API ID。', - 'description' => '待删除的接口所属HTTP API ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'api-xxx', - ], - ], - [ - 'name' => 'operationId', - 'in' => 'path', - 'schema' => [ - 'title' => '接口ID。', - 'description' => '接口ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'op-xxx', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '响应。', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应消息,', - 'description' => '响应消息,', - 'type' => 'string', - 'example' => 'success', - ], + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除接口', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\",\\n \\"data\\": {\\n \\"operations\\": [\\n {\\n \\"operationId\\": \\"op-xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'CreateMcpServer' => [ - 'summary' => '创建一个模型上下文协议(MCP)服务器。', - 'path' => '/v1/mcp-servers', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateHttpApiRoute' => [ + 'path' => '/v1/http-apis/{httpApiId}/routes', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281123', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '237765', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['description' => '路由所属的HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cqoob7llhtgq***'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求参数。', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'gw-cq7l5s5lhtgi6qac0', - ], - 'name' => [ - 'description' => 'MCP Server名称,必须符合正则表达式 ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$,长度不超过64字符', - 'type' => 'string', - 'required' => true, - 'example' => 'fetch-time', - ], - 'description' => [ - 'description' => 'MCP Server描述信息', - 'type' => 'string', - 'required' => false, - 'example' => 'mcp tool fetch time', - ], - 'type' => [ - 'description' => '类型。'."\n" - ."\n" - .'RealMCP: 普通MCP服务', - 'type' => 'string', - 'required' => true, - 'example' => 'RealMCP', - 'enum' => [ - 'RealMCP', - 'AssemblyMCP', - ], - ], + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'required' => false, 'example' => 'env-cpqnr6tlhtgubcv***'], + 'name' => ['description' => '路由名称。', 'type' => 'string', 'required' => false, 'example' => 'login'], + 'description' => ['description' => '路由描述。', 'type' => 'string', 'required' => false, 'example' => '用户登录路由。'], 'domainIds' => [ 'description' => '域名ID。', 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-cr62ts5lhtglnu***', - ], - 'required' => false, - ], - 'match' => [ - 'description' => '路由Match规则。', + 'items' => ['description' => '域名ID。', 'type' => 'string', 'required' => false, 'example' => 'd-cr62ts5lhtglnu***'], 'required' => false, - '$ref' => '#/components/schemas/HttpRouteMatch', ], + 'match' => ['description' => '路由Match规则。', 'required' => false, '$ref' => '#/components/schemas/HttpRouteMatch'], 'backendConfig' => [ 'description' => '路由的后端服务配置。', 'type' => 'object', 'properties' => [ 'scene' => [ - 'description' => '后端服务场景。', + 'description' => '后端服务场景。'."\n" + .'- SingleService:单服务。'."\n" + .'- MultiServiceByRatio:多服务按比例灰度。'."\n" + .'- Mock:Mock服务。'."\n" + .'- Redirect:重定向服务。', 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['SingleService' => '单服务', 'MultiServiceByRatio' => '多服务按比例灰度', 'Redirect' => 'Redirect', 'MultiServiceByTag' => '多服务按标签', 'Mock' => 'Mock'], 'example' => 'SingleService', ], 'services' => [ - 'description' => '后端服务。', + 'description' => '后端服务列表。', 'type' => 'array', 'items' => [ 'description' => '后端服务。', 'type' => 'object', 'properties' => [ + 'serviceId' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-crbgq0dlhtgr***'], 'protocol' => [ 'description' => '服务协议:'."\n" .'- HTTP。'."\n" .'- HTTPS。', 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], 'example' => 'HTTP', ], - 'port' => [ - 'description' => '服务的后端节点端口。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'weight' => [ - 'description' => '权重', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '49', - ], - 'serviceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-crbgq0dlhtgr***', - ], - 'version' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => '2.1.6', - ], + 'port' => ['description' => '服务端口, 动态端口不传入。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'weight' => ['description' => '流量比例的百分比值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '49'], + 'version' => ['description' => '服务版本,仅在按标签场景下有效。', 'type' => 'string', 'required' => false, 'example' => 'v1'], ], 'required' => false, ], @@ -8591,170 +5071,31 @@ ], 'required' => false, ], - 'protocol' => [ - 'description' => '协议类型,可选值:HTTP、HTTPS、SSE、StreamableHTTP', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'exposedUriPath' => [ - 'description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', - 'type' => 'string', - 'required' => false, - 'example' => '/sse', - ], - 'assembledSources' => [ - 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'deployConfigs' => [ + 'description' => 'API部署配置。', 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'object', - 'properties' => [ - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'required' => false, - 'example' => 'test-mcp', - ], - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'required' => false, - 'example' => 'mcp-sdfa3qgavz', - ], - 'tools' => [ - 'description' => 'MCP工具列表', - 'type' => 'array', - 'items' => [ - 'description' => 'MCP工具信息', - 'type' => 'string', - 'required' => false, - 'example' => 'tool1', - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'items' => ['description' => 'API部署配置。', 'required' => false, '$ref' => '#/components/schemas/HttpApiDeployConfig'], 'required' => false, ], - 'mcpStatisticsEnable' => [ - 'description' => '是否启用MCP可观测,默认false', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'createFromType' => [ - 'description' => '创建来源类型'."\n" - ."\n" - .'ApiGatewayHttpToMCP 网关托管HTTP转MCP'."\n" - .'ApiGatewayProxyMcpHosting 网关托管MCP直接代理'."\n" - .'ApiGatewayAssembly 网关MCP组装'."\n" - .'NacosHttpToMCP 网关托管NACOS同步HTTP转MCP'."\n" - .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', - 'type' => 'string', - 'required' => false, - 'example' => 'ApiGatewayMcpHosting', - ], - 'grayMcpServerConfigs' => [ - 'description' => '灰度路由配置', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'object', - 'properties' => [ - 'routeId' => [ - 'description' => '路由ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gray-route-123', - ], - 'match' => [ - 'description' => '路由匹配规则', - 'required' => false, - '$ref' => '#/components/schemas/HttpRouteMatch', - ], - 'backendConfig' => [ - 'description' => '后端配置', - 'type' => 'object', - 'properties' => [ - 'scene' => [ - 'description' => '后端场景', - 'type' => 'string', - 'required' => false, - 'example' => 'SingleService', - ], - 'services' => [ - 'description' => '后端服务', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'object', - 'properties' => [ - 'protocol' => [ - 'description' => '服务协议', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'port' => [ - 'description' => '服务端口', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'weight' => [ - 'description' => '服务权重', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-gray', - ], - 'version' => [ - 'description' => '服务版本', - 'type' => 'string', - 'required' => false, - 'example' => 'v2.0.0', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'mcpServerConfig' => [ - 'description' => 'HTTP转MCP Config', + 'mcpRouteConfig' => [ + 'description' => 'MCP 路由配置', 'type' => 'object', 'properties' => [ - 'swaggerConfig' => [ - 'description' => 'HTTP 转 MCP的swagger文档,需符合3.0规范', - 'type' => 'string', - 'required' => false, - 'example' => 'swagger.yaml', - ], - 'mcpServerSpec' => [ - 'description' => 'MCP Server Config配置,与swaggerConfig配置互斥', - 'type' => 'string', - 'required' => false, - 'example' => 'mcp-spec.yaml', - ], + 'protocol' => ['description' => '服务协议:'."\n" + .'- TCP。'."\n" + .'- HTTP。'."\n" + .'- DUBBO。', 'type' => 'string', 'required' => false, 'example' => 'HTTP,HTTPS'], + 'exposedUriPath' => ['description' => '暴露的 URI 路径', 'type' => 'string', 'required' => false, 'example' => '/v1/chat/completions'], + 'mcpStatisticsEnable' => ['description' => '是否启用MCP可观测,默认false', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], 'required' => false, ], + 'policyConfigs' => [ + 'description' => '策略类型。', + 'type' => 'array', + 'items' => ['description' => '策略类型。', 'required' => false, '$ref' => '#/components/schemas/HttpApiPolicyConfigs'], + 'required' => false, + ], ], 'required' => false, ], @@ -8767,78 +5108,67 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '464F9EA0-1052-51BD-8187-D292AA2D8D24', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息,', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'example' => 'mcp-afegaijoijaoji24a', - ], - 'name' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'test-mcp', - ], + 'routeId' => ['description' => '路由ID。', 'type' => 'string', 'example' => 'hr-cr82undlhtgrlej***'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '创建HTTP API路由', + 'summary' => '创建HttpApi的路由。', + 'changeSet' => [ + ['createdAt' => '2026-01-30T06:03:43.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-07-24T12:32:03.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-05-29T15:50:58.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"464F9EA0-1052-51BD-8187-D292AA2D8D24\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"mcpServerId\\": \\"mcp-afegaijoijaoji24a\\",\\n \\"name\\": \\"test-mcp\\"\\n }\\n}","type":"json"}]', - 'title' => '创建MCP Server', - ], - 'UpdateMcpServer' => [ - 'summary' => '更新MCP server。', - 'path' => '/v1/mcp-servers/{mcpServerId}', - 'methods' => [ - 'put', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHttpApiRoute'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"routeId\\": \\"hr-cr82undlhtgrlej***\\"\\n }\\n}","type":"json"}]', + ], + 'CreateMcpServer' => [ + 'summary' => '创建一个模型上下文协议(MCP)服务器。', + 'path' => '/v1/mcp-servers', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281124', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '281123', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], ], 'parameters' => [ [ @@ -8846,41 +5176,34 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body。', + 'description' => '请求参数。', 'type' => 'object', 'properties' => [ - 'description' => [ - 'description' => '描述', + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'required' => true, 'example' => 'gw-cq7l5s5lhtgi6qac0'], + 'name' => ['description' => 'MCP Server名称,必须符合正则表达式 ^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$,长度不超过64字符', 'type' => 'string', 'required' => true, 'example' => 'fetch-time'], + 'description' => ['description' => 'MCP Server描述信息', 'type' => 'string', 'required' => false, 'example' => 'mcp tool fetch time'], + 'type' => [ + 'description' => '类型。'."\n" + ."\n" + .'RealMCP: 普通MCP服务', 'type' => 'string', - 'required' => false, - 'example' => '商品中心服务路由', + 'required' => true, + 'enumValueTitles' => ['AssemblyMCP' => '组装MCP服务,将多个MCP Server的工具组装为一个MCP Server', 'RealMCP' => '普通MCP服务,直接代理已有的MCP Server'], + 'example' => 'RealMCP', + 'enum' => ['RealMCP', 'AssemblyMCP'], ], 'domainIds' => [ 'description' => '域名ID。', 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-cr62ts5lhtgln***', - ], - 'required' => false, - ], - 'match' => [ - 'description' => '路由Match规则。', + 'items' => ['description' => '域名ID。', 'type' => 'string', 'required' => false, 'example' => 'd-cr62ts5lhtglnu***'], 'required' => false, - '$ref' => '#/components/schemas/HttpRouteMatch', ], + 'match' => ['description' => '路由Match规则。', 'required' => false, '$ref' => '#/components/schemas/HttpRouteMatch'], 'backendConfig' => [ 'description' => '路由的后端服务配置。', 'type' => 'object', 'properties' => [ - 'scene' => [ - 'description' => '后端服务场景。', - 'type' => 'string', - 'required' => false, - 'example' => 'SingleService', - ], + 'scene' => ['description' => '后端服务场景。', 'type' => 'string', 'required' => false, 'example' => 'SingleService'], 'services' => [ 'description' => '后端服务。', 'type' => 'array', @@ -8888,41 +5211,13 @@ 'description' => '后端服务。', 'type' => 'object', 'properties' => [ - 'protocol' => [ - 'description' => '服务协议:'."\n" - .'- TCP。'."\n" - .'- HTTP。'."\n" - .'- DUBBO。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'port' => [ - 'description' => '服务端口, 动态端口不传入。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'weight' => [ - 'description' => '流量比例的百分比值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '49', - ], - 'serviceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-cr6pk4tlhtgm58e***', - ], - 'version' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'protocol' => ['description' => '服务协议:'."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', 'required' => false, 'example' => 'HTTP'], + 'port' => ['description' => '服务的后端节点端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'weight' => ['description' => '权重', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '49'], + 'serviceId' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-crbgq0dlhtgr***'], + 'version' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => '2.1.6'], ], 'required' => false, ], @@ -8931,40 +5226,27 @@ ], 'required' => false, ], - 'exposedUriPath' => [ - 'description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', + 'protocol' => [ + 'description' => '协议类型,可选值:HTTP、HTTPS、SSE、StreamableHTTP', 'type' => 'string', 'required' => false, - 'example' => '/sse', + 'enumValueTitles' => ['SSE' => 'Server-Sent Events,服务端推送流式协议', 'HTTPS' => 'HTTPS协议', 'StreamableHTTP' => '可流式传输的HTTP协议', 'HTTP' => 'HTTP协议'], + 'example' => 'HTTP', ], + 'exposedUriPath' => ['description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', 'type' => 'string', 'required' => false, 'example' => '/sse'], 'assembledSources' => [ 'description' => '组装源列表,当type为AssemblyMCP时必填', 'type' => 'array', 'items' => [ - 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'description' => '参数', 'type' => 'object', 'properties' => [ - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'required' => false, - 'example' => 'test-mcp', - ], - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'required' => false, - 'example' => 'mcp-afaefaefaf', - ], + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'required' => false, 'example' => 'test-mcp'], + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-sdfa3qgavz'], 'tools' => [ 'description' => 'MCP工具列表', 'type' => 'array', - 'items' => [ - 'description' => 'MCP工具列表', - 'type' => 'string', - 'required' => false, - 'example' => 'tool-1', - ], + 'items' => ['description' => 'MCP工具信息', 'type' => 'string', 'required' => false, 'example' => 'tool1'], 'required' => false, ], ], @@ -8972,38 +5254,7 @@ ], 'required' => false, ], - 'mcpStatisticsEnable' => [ - 'description' => '是否启用MCP可观测,默认false', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'type' => [ - 'description' => 'MCP Server类型筛选,可选值:RealMCP、AssemblyMCP', - 'type' => 'string', - 'required' => true, - 'example' => 'RealMCP', - 'enum' => [ - 'RealMCP', - 'AssemblyMCP', - ], - ], - 'protocol' => [ - 'description' => 'Protocol(协议类型)'."\n" - .'HTTP: HTTP协议'."\n" - .'HTTPS: HTTPS协议'."\n" - .'SSE: Server-Sent Events协议'."\n" - .'StreamableHTTP: 流式HTTP协议', - 'type' => 'string', - 'required' => true, - 'example' => 'HTTP', - 'enum' => [ - 'HTTP', - 'HTTPS', - 'SSE', - 'StreamableHTTP', - ], - ], + 'mcpStatisticsEnable' => ['description' => '是否启用MCP可观测,默认false', 'type' => 'boolean', 'required' => false, 'example' => 'false'], 'createFromType' => [ 'description' => '创建来源类型'."\n" ."\n" @@ -9014,34 +5265,18 @@ .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'ApiGatewayHttpToMCP' => 'ApiGatewayHttpToMCP', - 'ApiGatewayMcpHosting' => 'ApiGatewayMcpHosting', - 'ApiGatewayProxyMcpHosting' => 'ApiGatewayProxyMcpHosting', - 'ApiGatewayAssembly' => 'ApiGatewayAssembly', - 'NacosHttpToMCP' => 'NacosHttpToMCP', - 'NacosMcpHosting' => 'NacosMcpHosting', - ], + 'enumValueTitles' => ['ApiGatewayHttpToMCP' => '网关托管HTTP转MCP', 'ApiGatewayProxyMcpHosting' => '网关托管MCP直接代理', 'ApiGatewayAssembly' => '网关MCP组装', 'NacosHttpToMCP' => '网关托管Nacos同步HTTP转MCP', 'NacosMcpHosting' => '网关托管Nacos同步MCP直接代理'], 'example' => 'ApiGatewayMcpHosting', ], 'grayMcpServerConfigs' => [ - 'description' => '灰度MCP Server路由配置列表', + 'description' => '灰度路由配置', 'type' => 'array', 'items' => [ - 'description' => 'object', + 'description' => '参数', 'type' => 'object', 'properties' => [ - 'routeId' => [ - 'description' => '路由ID', - 'type' => 'string', - 'required' => false, - 'example' => 'route-123', - ], - 'match' => [ - 'description' => '路由匹配规则', - 'required' => false, - '$ref' => '#/components/schemas/HttpRouteMatch', - ], + 'routeId' => ['description' => '路由ID', 'type' => 'string', 'required' => false, 'example' => 'gray-route-123'], + 'match' => ['description' => '路由匹配规则', 'required' => false, '$ref' => '#/components/schemas/HttpRouteMatch'], 'backendConfig' => [ 'description' => '后端配置', 'type' => 'object', @@ -9050,47 +5285,21 @@ 'description' => '后端场景', 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['SingleService' => '单一后端服务'], 'example' => 'SingleService', ], 'services' => [ - 'description' => '后端服务列表', + 'description' => '后端服务', 'type' => 'array', 'items' => [ - 'description' => 'object', + 'description' => '参数', 'type' => 'object', 'properties' => [ - 'protocol' => [ - 'description' => '服务协议', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'port' => [ - 'description' => '服务端口', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'weight' => [ - 'description' => '权重', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gray-svc-123', - ], - 'version' => [ - 'description' => '版本号', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], + 'protocol' => ['description' => '服务协议', 'type' => 'string', 'required' => false, 'example' => 'HTTP'], + 'port' => ['description' => '服务端口', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'weight' => ['description' => '服务权重', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'required' => false, 'example' => 'svc-gray'], + 'version' => ['description' => '服务版本', 'type' => 'string', 'required' => false, 'example' => 'v2.0.0'], ], 'required' => false, ], @@ -9108,18 +5317,8 @@ 'description' => 'HTTP转MCP Config', 'type' => 'object', 'properties' => [ - 'swaggerConfig' => [ - 'description' => 'HTTP 转 MCP的swagger文档,需符合3.0规范', - 'type' => 'string', - 'required' => false, - 'example' => 'swagger-content', - ], - 'mcpServerSpec' => [ - 'description' => 'MCP Server Config配置,与swaggerConfig配置互斥', - 'type' => 'string', - 'required' => false, - 'example' => 'mcp-server-spec-yaml', - ], + 'swaggerConfig' => ['description' => 'HTTP 转 MCP的swagger文档,需符合3.0规范', 'type' => 'string', 'required' => false, 'example' => 'swagger.yaml'], + 'mcpServerSpec' => ['description' => 'MCP Server Config配置,与swaggerConfig配置互斥', 'type' => 'string', 'required' => false, 'example' => 'mcp-spec.yaml'], ], 'required' => false, ], @@ -9127,16 +5326,6 @@ 'required' => false, ], ], - [ - 'name' => 'mcpServerId', - 'in' => 'path', - 'schema' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'required' => false, - 'example' => 'mcp-adfefz24afg', - ], - ], ], 'responses' => [ 200 => [ @@ -9145,73 +5334,87 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '464F9EA0-1052-51BD-8187-D292AA2D8D24'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'example' => 'mcp-afegaijoijaoji24a'], + 'name' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'test-mcp'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"464F9EA0-1052-51BD-8187-D292AA2D8D24\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"mcpServerId\\": \\"mcp-afegaijoijaoji24a\\",\\n \\"name\\": \\"test-mcp\\"\\n }\\n}","type":"json"}]', + 'title' => '创建MCP Server', + 'changeSet' => [ + ['createdAt' => '2026-01-22T15:19:56.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-12-05T07:15:33.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-11-06T12:37:07.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '修改MCP Server', - 'description' => '只有类型为**容器服务**的来源允许更新监听Ingress的配置。', - ], - 'GetMcpServer' => [ - 'summary' => '获取MCP server。', - 'path' => '/v1/mcp-servers/{mcpServerId}', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreatePluginAttachment' => [ + 'path' => '/v1/plugin-attachments', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281126', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '231606', + 'abilityTreeNodes' => ['FEATUREapigatewayIRO3QE'], ], 'parameters' => [ [ - 'name' => 'mcpServerId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'required' => false, 'example' => 'pl-cvo8udem1hkob1qd67i0'], + 'pluginConfig' => ['description' => '插件配置原文的base64内容', 'type' => 'string', 'required' => false, 'example' => 'cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K'], + 'attachResourceIds' => [ + 'description' => '挂载点id列表。', + 'type' => 'array', + 'items' => ['description' => '挂载点id。', 'type' => 'string', 'required' => false, 'example' => 'api-xafjieoafpjb'], + 'required' => false, + ], + 'attachResourceType' => ['description' => '插件挂载资源类型,GatewayRoute、Gateway、GatewayDomain、HttpApi、Operation', 'type' => 'string', 'required' => false, 'example' => 'HttpApi'], + 'environmentId' => ['description' => '环境 ID。', 'type' => 'string', 'required' => false, 'example' => 'env-xxx'], + 'gatewayId' => ['description' => '网关实例ID', 'type' => 'string', 'required' => false, 'example' => 'gw-cq7l5s5lhtg***'], + 'enable' => ['description' => '是否启用,默认值为false。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], 'required' => false, - 'example' => 'mcp-adfefz24afg', ], ], ], @@ -9222,381 +5425,84 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2A6E90D5-A711-54F4-A489-E33C2021EDDF', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'Success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'EBCB8485-24F9-54CD-B258-CB15FDB27677'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'example' => 'mcp-adfefz24afg', - ], - 'name' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'test-mcp', - ], - 'type' => [ - 'description' => 'MCP Server类型', - 'type' => 'string', - 'example' => 'RealMCP', - ], - 'description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => '测试专用MCP Server', - ], - 'gatewayId' => [ - 'description' => '网关实例ID', - 'type' => 'string', - 'example' => 'gw-cq2vundlhtg***', - ], - 'environmentId' => [ - 'description' => '环境id。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0'."\n", - ], - 'routeId' => [ - 'description' => '路由ID。', - 'type' => 'string', - 'example' => 'hr-cr82undlhtgrlej***', - ], - 'createFromType' => [ - 'description' => '创建来源类型'."\n" - ."\n" - .'ApiGatewayHttpToMCP 网关托管HTTP转MCP'."\n" - .'ApiGatewayMcpHosting 网关托管MCP直接代理'."\n" - .'ApiGatewayAssembly 网关MCP组装'."\n" - .'NacosHttpToMCP 网关托管NACOS同步HTTP转MCP'."\n" - .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', - 'type' => 'string', - 'example' => 'ApiGatewayHttpToMCP', - ], - 'backend' => [ - 'description' => '路由的后端服务。', - '$ref' => '#/components/schemas/Backend', - ], - 'match' => [ - 'description' => '路由Match规则。', - 'example' => '{\\"product_code\\":\\"apigw\\"}', - '$ref' => '#/components/schemas/HttpRouteMatch', - ], - 'domainIds' => [ - 'description' => '域名ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'd-aafefqefz', - ], - ], - 'domainInfos' => [ - 'description' => '域名信息列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'protocol' => [ - 'description' => '协议。', - 'type' => 'string', - 'example' => 'HTTP,HTTPS', - ], - 'name' => [ - 'description' => '域名', - 'type' => 'string', - 'example' => 'verifyicket', - ], - 'domainId' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'example' => 'www.abc.com', - ], - ], - ], - ], - 'protocol' => [ - 'description' => '服务协议', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'mcpServerPath' => [ - 'description' => '网关提供的MCP Server访问路径', - 'type' => 'string', - 'example' => '/mcp-servers/test-mcp', - ], - 'exposedUriPath' => [ - 'description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', - 'type' => 'string', - 'example' => '/sse', - ], - 'nacosMcpSyncInfo' => [ - 'description' => 'Nacos同步托管MCP 信息', - 'type' => 'object', - 'properties' => [ - 'importInstanceId' => [ - 'description' => 'Nacos实例', - 'type' => 'string', - 'example' => 'mse-xxxxx', - ], - 'importNamespace' => [ - 'description' => 'Nacos命名空间', - 'type' => 'string', - 'example' => 'test-ns', - ], - 'importMcpServerId' => [ - 'description' => '同步的MCP Server ID', - 'type' => 'string', - 'example' => 'test-mcp', - ], - ], - ], - 'assembledSources' => [ - 'description' => '组装源列表,当type为AssemblyMCP时必填', - 'type' => 'array', - 'items' => [ - 'description' => '组装源列表,当type为AssemblyMCP时必填', - 'type' => 'object', - 'properties' => [ - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'test-mcp', - ], - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'example' => 'mcp-xdafeafzz', - ], - 'tools' => [ - 'description' => 'MCP工具列表', - 'type' => 'array', - 'items' => [ - 'description' => 'MCP工具列表', - 'type' => 'string', - 'example' => 'test-tool', - ], - ], - ], - ], - ], - 'mcpServerConfig' => [ - 'description' => 'HTTP转MCP Config', - 'type' => 'string', - 'example' => 'MCP Server配置 base64', - ], - 'mcpServerConfigPluginAttachmentId' => [ - 'description' => 'MCP Server插件配置挂载ID', - 'type' => 'string', - 'example' => 'pa-adfaefwaef', - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => 'Deployed', - ], - 'mcpStatisticsEnable' => [ - 'description' => '是否启用MCP可观测,默认false', - 'type' => 'boolean', - 'example' => 'false', - ], - 'grayMcpServerConfigs' => [ - 'description' => '灰度路由配置', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'object', - 'properties' => [ - 'routeId' => [ - 'description' => '灰度路由ID', - 'type' => 'string', - 'example' => 'gray-route-xxx', - ], - 'match' => [ - 'description' => '灰度路由匹配规则', - '$ref' => '#/components/schemas/HttpRouteMatch', - ], - 'backendConfig' => [ - 'description' => '灰度路由后端配置', - 'type' => 'object', - 'properties' => [ - 'scene' => [ - 'description' => '后端场景', - 'type' => 'string', - 'example' => 'SingleService', - ], - 'services' => [ - 'description' => '服务配置列表', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'object', - 'properties' => [ - 'protocol' => [ - 'description' => '服务协议', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'port' => [ - 'description' => '服务端口', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8080', - ], - 'weight' => [ - 'description' => '服务权重', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'serviceId' => [ - 'description' => '服务ID', - 'type' => 'string', - 'example' => 'svc-xxx', - ], - 'version' => [ - 'description' => '服务版本', - 'type' => 'string', - 'example' => 'v2.0.0', - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'pluginAttachmentId' => ['description' => '插件挂载ID。', 'type' => 'string', 'example' => 'pa-cvs7jpmm1hkgihaqv4a0'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2A6E90D5-A711-54F4-A489-E33C2021EDDF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"mcpServerId\\": \\"mcp-adfefz24afg\\",\\n \\"name\\": \\"test-mcp\\",\\n \\"type\\": \\"RealMCP\\",\\n \\"description\\": \\"测试专用MCP Server\\",\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\\\n\\",\\n \\"routeId\\": \\"hr-cr82undlhtgrlej***\\",\\n \\"createFromType\\": \\"ApiGatewayHttpToMCP\\",\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"domainIds\\": [\\n \\"d-aafefqefz\\"\\n ],\\n \\"domainInfos\\": [\\n {\\n \\"protocol\\": \\"HTTP,HTTPS\\",\\n \\"name\\": \\"verifyicket\\",\\n \\"domainId\\": \\"www.abc.com\\"\\n }\\n ],\\n \\"protocol\\": \\"HTTP\\",\\n \\"mcpServerPath\\": \\"/mcp-servers/test-mcp\\",\\n \\"exposedUriPath\\": \\"/sse\\",\\n \\"nacosMcpSyncInfo\\": {\\n \\"importInstanceId\\": \\"mse-xxxxx\\",\\n \\"importNamespace\\": \\"test-ns\\",\\n \\"importMcpServerId\\": \\"test-mcp\\"\\n },\\n \\"assembledSources\\": [\\n {\\n \\"mcpServerName\\": \\"test-mcp\\",\\n \\"mcpServerId\\": \\"mcp-xdafeafzz\\",\\n \\"tools\\": [\\n \\"test-tool\\"\\n ]\\n }\\n ],\\n \\"mcpServerConfig\\": \\"MCP Server配置 base64\\",\\n \\"mcpServerConfigPluginAttachmentId\\": \\"pa-adfaefwaef\\",\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"mcpStatisticsEnable\\": false,\\n \\"grayMcpServerConfigs\\": [\\n {\\n \\"routeId\\": \\"gray-route-xxx\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"backendConfig\\": {\\n \\"scene\\": \\"SingleService\\",\\n \\"services\\": [\\n {\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 8080,\\n \\"weight\\": 100,\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"version\\": \\"v2.0.0\\"\\n }\\n ]\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询MCP Server详情', - 'description' => '接口支持创建多个服务。', - ], - 'ListMcpServers' => [ - 'summary' => '获取MCP server列表。', - 'path' => '/v1/mcp-servers', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '挂载插件', + 'summary' => '挂载插件。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePluginAttachment'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreatePluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"EBCB8485-24F9-54CD-B258-CB15FDB27677\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pluginAttachmentId\\": \\"pa-cvs7jpmm1hkgihaqv4a0\\"\\n }\\n}","type":"json"}]', + ], + 'CreatePluginClass' => [ + 'summary' => '创建自定义插件类。', + 'path' => '/v1/plugin-classes', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281128', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeNodes' => ['FEATUREapigateway2AMEZG'], ], 'parameters' => [ [ - 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'gw-co370icmjeu****', - ], - ], - [ - 'name' => 'nameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '按接口名称模糊搜索MCP Server。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - ], - [ - 'name' => 'type', - 'in' => 'query', - 'schema' => [ - 'description' => 'MCP Server类型', - 'type' => 'string', - 'required' => false, - 'example' => 'RealMCP', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码,从1开始,不填默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => true, - 'example' => '10', - ], - ], - [ - 'name' => 'createFromTypes', - 'in' => 'query', - 'schema' => [ - 'description' => '创建来源类型', - 'type' => 'string', - 'required' => false, - 'example' => 'ApiGatewayHttpToMCP', - ], - ], - [ - 'name' => 'deployStatuses', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => 'MCP Server的部署状态。', - 'type' => 'string', + 'description' => '请求参数。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '插件类名称', 'type' => 'string', 'required' => true, 'example' => 'my-wasm-plugin'], + 'alias' => ['description' => '插件别名', 'type' => 'string', 'required' => false, 'example' => 'My Wasm Plugin'], + 'description' => ['description' => '插件描述', 'type' => 'string', 'required' => true, 'example' => 'Custom authentication plugin for validating tokens in request headers'], + 'version' => ['description' => '插件版本号', 'type' => 'string', 'required' => true, 'example' => '1.0.0'], + 'versionDescription' => ['description' => '当前版本的描述信息', 'type' => 'string', 'required' => true, 'example' => 'Initial version with basic token validation'], + 'executeStage' => ['description' => '插件执行阶段', 'type' => 'string', 'required' => true, 'example' => 'AUTHN'], + 'executePriority' => ['description' => '插件执行优先级', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + 'wasmLanguage' => ['description' => 'WASM 插件开发语言', 'type' => 'string', 'required' => true, 'example' => 'Rust'], + 'wasmUrl' => ['description' => 'WASM 插件二进制文件的下载地址', 'type' => 'string', 'required' => true, 'example' => 'https://example.com/plugins/my-plugin.wasm'], + 'supportedMinGatewayVersion' => ['description' => '适配网关最小版本', 'type' => 'string', 'required' => false, 'example' => '2.0.0'], + ], 'required' => false, - 'example' => 'Deployed', + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -9607,264 +5513,92 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '880F8DC9-1CD9-5A83-AA54-AD2D3B7D2466'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '响应数据', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '25', - ], - 'items' => [ - 'description' => 'MCP Server列表信息。', - 'type' => 'array', - 'items' => [ - 'description' => '服务信息。', - 'type' => 'object', - 'properties' => [ - 'mcpServerPath' => [ - 'description' => '网关提供的MCP Server访问路径', - 'type' => 'string', - 'example' => '/mcp-servers/test-mcp', - ], - 'mcpServerConfig' => [ - 'description' => 'HTTP转MCP Config', - 'type' => 'string', - 'example' => 'HTTP转MCP Config base64值', - ], - 'match' => [ - 'description' => '路由Match规则。', - '$ref' => '#/components/schemas/HttpRouteMatch', - ], - 'description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => '这是xxx的xx项目测试环境', - ], - 'type' => [ - 'description' => 'MCP Server类型', - 'type' => 'string', - 'example' => '可选值:RealMCP、AssemblyMCP', - ], - 'createFromType' => [ - 'description' => '创建来源类型'."\n" - ."\n" - .'ApiGatewayHttpToMCP 网关托管HTTP转MCP'."\n" - .'ApiGatewayMcpHosting 网关托管MCP直接代理'."\n" - .'ApiGatewayAssembly 网关MCP组装'."\n" - .'NacosHttpToMCP 网关托管NACOS同步HTTP转MCP'."\n" - .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', - 'type' => 'string', - 'example' => 'ApiGatewayHttpToMCP', - ], - 'domainIds' => [ - 'description' => '域名ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名ID列表。', - 'type' => 'string', - 'example' => 'd-faefqfargz', - ], - ], - 'protocol' => [ - 'description' => '服务协议', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'environmentId' => [ - 'description' => '环境id。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], - 'routeId' => [ - 'description' => 'MCP Server关联路由ID', - 'type' => 'string', - 'example' => 'hr-d11cj86m1hkvop6mp42g', - ], - 'mcpStatisticsEnable' => [ - 'description' => '是否启用MCP可观测,默认false', - 'type' => 'boolean', - 'example' => 'false', - ], - 'name' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'itemcenter-dev-cluster', - ], - 'exposedUriPath' => [ - 'description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', - 'type' => 'string', - 'example' => '/sse', - ], - 'assembledSources' => [ - 'description' => '组装源列表,当type为AssemblyMCP时必填', - 'type' => 'array', - 'items' => [ - 'description' => '组装源列表,当type为AssemblyMCP时必填', - 'type' => 'object', - 'properties' => [ - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'test-mcp', - ], - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'example' => 'mcp-adfef2334fa', - ], - 'tools' => [ - 'description' => 'MCP工具列表', - 'type' => 'array', - 'items' => [ - 'description' => 'MCP工具列表', - 'type' => 'string', - 'example' => 'tool-1', - ], - ], - ], - ], - ], - 'backend' => [ - 'description' => '路由的后端服务。', - '$ref' => '#/components/schemas/Backend', - ], - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', - 'example' => 'mcp-feaff34va', - ], - 'nacosMcpSyncInfo' => [ - 'description' => 'Nacos同步托管MCP 信息', - 'type' => 'object', - 'properties' => [ - 'importMcpServerId' => [ - 'description' => '同步的MCP Server ID', - 'type' => 'string', - 'example' => '同步的MCP Server ID'."\n" - ."\n", - ], - 'importNamespace' => [ - 'description' => 'Nacos命名空间', - 'type' => 'string', - 'example' => 'test-ns', - ], - 'importInstanceId' => [ - 'description' => 'Nacos实例', - 'type' => 'string', - 'example' => 'mse-faefrefxz', - ], - ], - ], - 'gatewayId' => [ - 'description' => '网关实例ID', - 'type' => 'string', - 'example' => 'gw-cpv54p5***', - ], - 'domainInfos' => [ - 'description' => '域名信息列表', - 'type' => 'array', - 'items' => [ - 'description' => '域名信息列表', - '$ref' => '#/components/schemas/HttpApiDomainInfo', - ], - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => 'Deployed', - ], - 'apiId' => [ - 'description' => 'API ID。', - 'type' => 'string', - 'example' => 'api-xxx', - ], - ], - ], - ], + 'pluginClassId' => ['description' => '插件类型ID', 'type' => 'string', 'example' => 'pls-csqmjxxxxxxx'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 25,\\n \\"items\\": [\\n {\\n \\"mcpServerPath\\": \\"/mcp-servers/test-mcp\\",\\n \\"mcpServerConfig\\": \\"HTTP转MCP Config base64值\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"type\\": \\"可选值:RealMCP、AssemblyMCP\\",\\n \\"createFromType\\": \\"ApiGatewayHttpToMCP\\",\\n \\"domainIds\\": [\\n \\"d-faefqfargz\\"\\n ],\\n \\"protocol\\": \\"HTTP\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"routeId\\": \\"hr-d11cj86m1hkvop6mp42g\\",\\n \\"mcpStatisticsEnable\\": false,\\n \\"name\\": \\"itemcenter-dev-cluster\\",\\n \\"exposedUriPath\\": \\"/sse\\",\\n \\"assembledSources\\": [\\n {\\n \\"mcpServerName\\": \\"test-mcp\\",\\n \\"mcpServerId\\": \\"mcp-adfef2334fa\\",\\n \\"tools\\": [\\n \\"tool-1\\"\\n ]\\n }\\n ],\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"mcpServerId\\": \\"mcp-feaff34va\\",\\n \\"nacosMcpSyncInfo\\": {\\n \\"importMcpServerId\\": \\"同步的MCP Server ID\\\\n\\\\n\\",\\n \\"importNamespace\\": \\"test-ns\\",\\n \\"importInstanceId\\": \\"mse-faefrefxz\\"\\n },\\n \\"gatewayId\\": \\"gw-cpv54p5***\\",\\n \\"domainInfos\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"apiId\\": \\"api-xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询MCP Server列表', - 'description' => '接口支持创建多个服务。', - ], - 'DeleteMcpServer' => [ - 'summary' => '删除MCP server。', - 'path' => '/v1/mcp-servers/{mcpServerId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"880F8DC9-1CD9-5A83-AA54-AD2D3B7D2466\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pluginClassId\\": \\"pls-csqmjxxxxxxx\\"\\n }\\n}","type":"json"}]', + 'title' => '创建自定义插件类', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreatePluginClass', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreatePolicy' => [ + 'summary' => '创建策略。', + 'path' => '/v2/policies', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281131', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '262548', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'mcpServerId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'name' => ['title' => '策略名称', 'description' => '策略名称', 'type' => 'string', 'required' => true, 'example' => 'test-policy'], + 'className' => [ + 'title' => '策略类型,RateLimit、ConcurrencyLimit、CircuitBreaker、HttpRewrite、HeaderModify、Cors、Authentication、FlowCopy、Timeout、Retry、IpAccessControl、DirectResponse、Redirect、Fallback、ServiceTls、ServiceLb、ServicePortTls、Waf、JWTAuth、OIDCAuth、ExternalZAuth、AiProxy、ModelRouter、AiStatistics、AiSecurityGuard、AiFallback、ModelMapper、AiTokenRateLimit、AiCache、DynamicRoute', + 'description' => '策略类型,RateLimit、ConcurrencyLimit、CircuitBreaker、HttpRewrite、HeaderModify、Cors、Authentication、FlowCopy、Timeout、Retry、IpAccessControl、DirectResponse、Redirect、Fallback、ServiceTls、ServiceLb、ServicePortTls、Waf、JWTAuth、OIDCAuth、ExternalZAuth、AiProxy、ModelRouter、AiStatistics、AiSecurityGuard、AiFallback、ModelMapper、AiTokenRateLimit、AiCache、DynamicRoute', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => [ + 'ServicePortTls' => '服务端口TLS,后端服务端口TLS配置', 'CircuitBreaker' => '熔断,后端异常时自动熔断', 'IpAccessControl' => 'IP访问控制,基于IP黑白名单过滤', 'HeaderModify' => '请求头修改,增删改HTTP请求头', 'ExternalZAuth' => '外部认证,对接外部认证服务', 'RateLimit' => '速率限流,限制请求速率', 'AiTokenRateLimit' => 'AI Token限流,基于Token消耗的限流', 'DirectResponse' => '直接响应,直接返回固定响应', 'OIDCAuth' => 'OIDC认证,基于OIDC协议的请求认证', 'AiSecurityGuard' => 'AI安全防护,AI请求/响应内容安全检测', + 'ConcurrencyLimit' => '并发限流,限制并发请求数', 'ServiceTls' => '服务端TLS,后端服务TLS配置', 'AiCache' => 'AI缓存,缓存AI响应结果', 'Timeout' => '超时策略,设置请求超时时间', 'FlowCopy' => '流量复制,将请求复制到额外后端', 'Redirect' => '重定向,将请求重定向到其他地址', 'Cors' => '跨域资源共享(CORS),控制跨域请求', 'JWTAuth' => 'JWT认证,基于JWT的请求认证', 'ServiceLb' => '服务负载均衡,后端服务负载均衡配置', 'Authentication' => '通用认证,通用请求认证策略', + 'Fallback' => '降级策略,后端不可用时返回降级响应', 'Retry' => '重试策略,请求失败时自动重试', 'AiFallback' => 'AI降级,AI服务不可用时降级到备选模型', 'Waf' => 'Web应用防火墙,请求安全防护', 'HttpRewrite' => 'HTTP重写,重写请求URL或路径', + ], + 'example' => 'Timeout', + 'enum' => [ + 'ConcurrencyLimit', 'RateLimit', 'CircuitBreaker', 'IpAccessControl', 'Timeout', 'Retry', 'Cors', 'FlowCopy', 'HeaderModify', 'HttpRewrite', 'Fallback', 'DirectResponse', 'Redirect', 'ServiceTls', 'ServiceLb', 'ServicePortTls', 'JWTAuth', 'OIDCAuth', 'ExternalZAuth', 'Waf', + 'Authentication', 'AiFallback', 'AiSecurityGuard', 'AiCache', 'AiTokenRateLimit', + ], + ], + 'config' => ['title' => '策略配置', 'description' => '策略配置', 'type' => 'string', 'required' => true, 'example' => '{"unitNum":1,"timeUnit":"s","enable":true}'], + 'description' => ['title' => '描述', 'description' => '描述', 'type' => 'string', 'required' => false, 'example' => '超时策略'], + ], 'required' => false, - 'example' => 'mcp-adfefz24afg', + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -9875,72 +5609,85 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'Success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E7406754***'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'policyId' => ['title' => '策略ID', 'description' => '策略ID', 'type' => 'string', 'example' => 'p-cq7l5s5lhtgi6qasr***'."\n"], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Success\\"\\n}","type":"json"}]', - 'title' => '删除MCP Server', - ], - 'DeployMcpServer' => [ - 'summary' => '发布MCP server。', - 'path' => '/v1/mcp-servers/{mcpServerId}/deploy', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E7406754***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyId\\": \\"p-cq7l5s5lhtgi6qasr***\\\\n\\"\\n }\\n}","type":"json"}]', + 'title' => '创建策略', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreatePolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreatePolicyAttachment' => [ + 'summary' => '创建策略资源挂载。', + 'path' => '/v1/policy-attachments', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', + 'operationType' => 'create', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '281132', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '262555', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], ], 'parameters' => [ [ - 'name' => 'mcpServerId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'policyId' => ['title' => '策略ID', 'description' => '策略ID', 'type' => 'string', 'required' => true, 'example' => 'p-cq787etlhtghrptjg***'], + 'gatewayId' => ['title' => '网关实例ID', 'description' => '网关实例ID', 'type' => 'string', 'required' => true, 'example' => 'gw-cq7l5s5lhtgi6qas***'], + 'environmentId' => ['title' => '环境ID', 'description' => '环境ID', 'type' => 'string', 'required' => true, 'example' => 'env-cquqsollhtgid***'], + 'attachResourceId' => ['title' => '挂载资源ID', 'description' => '挂载资源ID', 'type' => 'string', 'required' => true, 'example' => 'api-cu07jj6m1hkokaus***'], + 'attachResourceType' => [ + 'title' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', + 'description' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', + 'type' => 'string', + 'required' => true, + 'docRequired' => false, + 'enumValueTitles' => ['ServicePort' => '服务端口,将策略挂载到服务的指定端口', 'Gateway' => '网关实例,将策略挂载到整个网关', 'Service' => '服务,将策略挂载到指定服务', 'GatewayRoute' => '网关路由,将策略挂载到指定路由', 'HttpApi' => 'HTTP API,将策略挂载到指定HTTP API', 'Operation' => '接口,将策略挂载到指定API接口(Operation)', 'Domain' => '域名,将策略挂载到指定域名', 'Route' => '路由,将策略挂载到指定路由', 'LLMApi' => 'LLM API,将策略挂载到指定大模型API', 'GatewayService' => '网关服务,将策略挂载到指定服务'], + 'example' => 'HttpApi', + 'enum' => ['Domain', 'Gateway', 'GatewayRoute', 'GatewayService', 'HttpApi', 'Operation', 'Route', 'Service', 'ServicePort', 'LLMApi'], + ], + ], 'required' => false, - 'example' => 'mcp-adfefz24afg', + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -9951,72 +5698,81 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C64***'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'policyAttachmentId' => ['title' => '策略挂载ID', 'description' => '策略挂载ID', 'type' => 'string', 'example' => 'pr-cqooju5lhtgquuj6***'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C64***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyAttachmentId\\": \\"pr-cqooju5lhtgquuj6***\\"\\n }\\n}","type":"json"}]', + 'title' => '创建策略挂载', + 'changeSet' => [ + ['createdAt' => '2025-06-26T12:05:02.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '发布MCP Server', - ], - 'UnDeployMcpServer' => [ - 'summary' => '取消发布MCP server。', - 'path' => '/v1/mcp-servers/{mcpServerId}/undeploy', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreatePolicyAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateSecret' => [ + 'summary' => '生成密钥。', + 'path' => '/v1/secrets', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281133', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '279325', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'mcpServerId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '密钥名称,支持英文、数字、下划线"_",不超过64个字符。', 'type' => 'string', 'required' => false, 'example' => 'my_secret'], + 'description' => ['description' => '密钥描述。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'kmsConfig' => ['description' => 'KMS密钥配置信息。', 'required' => false, '$ref' => '#/components/schemas/KMSConfig'], + 'gatewayType' => ['description' => '网关类型。', 'type' => 'string', 'required' => false, 'example' => 'API'], + 'secretSource' => ['description' => '密钥来源。', 'type' => 'string', 'required' => false, 'example' => 'KMS'], + 'secretData' => ['description' => 'KMS凭据值。', 'type' => 'string', 'required' => false, 'example' => 'apikey-123456xxxxxxxx'], + ], 'required' => false, - 'example' => 'mcp-adfef2334fa', ], ], ], @@ -10024,65 +5780,64 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => 'The response schema.', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CE857A85-251D-5018-8103-A38957D71E20', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'ID of the request.', 'type' => 'string', 'example' => 'CFF809D7-045D-502F-BF6C-947Exxxxxxxx'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '错误详情。', 'type' => 'string', 'example' => 'Failed to upload data. Please try again'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'secretId' => ['description' => '密钥ID。', 'type' => 'string', 'example' => 'sec-d5e6shmm1hkoxxxxxxxx'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '取消发布MCP Server', - ], - 'SyncMCPServers' => [ - 'summary' => '同步外部MCP server。', - 'path' => '/v1/mcp-servers/sync-mcp-server', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '生成密钥', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CFF809D7-045D-502F-BF6C-947Exxxxxxxx\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Failed to upload data. Please try again\\",\\n \\"data\\": {\\n \\"secretId\\": \\"sec-d5e6shmm1hkoxxxxxxxx\\"\\n }\\n}","type":"json"}]', + ], + 'CreateService' => [ + 'summary' => '创建服务。', + 'path' => '/v1/services', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '281919', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayMD7H1W', - ], + 'abilityTreeCode' => '237749', + 'abilityTreeNodes' => ['FEATUREapigatewayVWMWWM'], ], 'parameters' => [ [ @@ -10093,164 +5848,98 @@ 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq7l5s5lhtg***', - ], - 'domainIds' => [ - 'description' => '域名ID。', - 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-cr62ts5lhtglnu***', - ], - 'required' => false, - ], - 'sourceId' => [ - 'description' => '来源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'src-d40mff6m1hkpt84vep60', - ], - 'namespace' => [ - 'description' => 'Nacos命名空间。', + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq7l5s5lhtg***'], + 'sourceType' => [ + 'description' => '服务来源:'."\n" + .'- MSE_NACOS: MSE Nacos里的服务。'."\n" + .'- K8S: 容器服务里K8S集群里的服务。'."\n" + .'- VIP: 固定地址服务。'."\n" + .'- DNS: DNS域名服务。'."\n" + .'- FC3: 函数计算里的服务。'."\n" + .'- SAE_K8S_SERVICE: SAE K8S服务'."\n" + .'- AI: AI服务'."\n" + .'- AGENT: Agent服务', 'type' => 'string', 'required' => false, - 'example' => 'default', + 'enumValueTitles' => ['AGENT' => 'Agent服务', 'SAE_K8S_SERVICE' => 'SAE_K8S_SERVICE', 'K8S' => '容器服务', 'FC3' => '函数计算服务', 'DNS' => 'DNS 域名', 'AI' => 'AI服务', 'VIP' => '固定地址', 'MSE_NACOS' => 'MSE Nacos'], + 'example' => 'MSE_NACOS', ], - 'nacosMcpServers' => [ - 'description' => '本次同步的Nacos MCP Server列表,如果包含已同步的MCP Server,需补充mcpServerId', + 'serviceConfigs' => [ + 'description' => '服务配置列表,至少包含一个服务配置'."\n", 'type' => 'array', 'items' => [ + 'description' => '服务配置信息。', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'description' => 'Nacos实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'mse-24afmoioxxx', - ], - 'exposedUriPath' => [ - 'description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', - 'type' => 'string', - 'required' => false, - 'example' => '/sse', - ], - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', + 'name' => ['description' => '服务名。', 'type' => 'string', 'required' => false, 'example' => 'user-service'], + 'namespace' => ['description' => '服务的命名空间:'."\n" + ."\n" + .'- sourceType为K8S时,表示是K8S服务所在的命名空间。'."\n" + .'- sourceType为MSE_NACOS时, 表示是Nacos里的命名空间。'."\n" + ."\n" + .'当sourceType为K8S和MSE_NACOS时, 需要指定。', 'type' => 'string', 'required' => false, 'example' => 'PUBLIC'], + 'groupName' => ['description' => '服务分组名。'."\n" + .'当sourceType为MSE_NACOS时, 需要指定。', 'type' => 'string', 'required' => false, 'example' => 'DEFAULT_GROUP'], + 'addresses' => [ + 'description' => '域名或固定地址列表。', + 'type' => 'array', + 'items' => ['description' => '域名或固定地址。', 'type' => 'string', 'required' => false, 'example' => 'dev.com:8080'], 'required' => false, - 'example' => 'test', ], - 'protocols' => [ - 'description' => '协议。', + 'qualifier' => ['description' => '函数版本或别名。', 'type' => 'string', 'required' => false, 'example' => 'LATEST'], + 'aiServiceConfig' => ['description' => 'AI服务配置。', 'required' => false, '$ref' => '#/components/schemas/AiServiceConfig'], + 'agentServiceConfig' => ['description' => 'Agent服务配置,当`sourceType`为`AGENT`时必填'."\n", 'required' => false, '$ref' => '#/components/schemas/AgentServiceConfig'], + 'modelProviderId' => ['description' => '模型供应商ID', 'type' => 'string', 'required' => false, 'example' => 'mp-xxx****'], + 'dnsServers' => [ + 'description' => 'dns服务地址列表', 'type' => 'array', - 'items' => [ - 'description' => '协议', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'SSE' => 'SSE', - 'HTTPS' => 'HTTPS', - 'StreamableHTTP' => 'StreamableHTTP', - 'HTTP' => 'HTTP', - ], - 'example' => 'SSE', - ], + 'items' => ['description' => 'DNS服务地址', 'type' => 'string', 'required' => false, 'example' => '100.100.1.156:53'], 'required' => false, ], - 'mcpServerId' => [ - 'description' => 'MCP Server ID', - 'type' => 'string', + 'sourceId' => ['description' => '服务来源ID,多Nacos实例场景下必填'."\n", 'type' => 'string', 'required' => false, 'example' => 'nacos-instance-001'], + 'validationOptions' => [ + 'description' => '验证选项,服务验证相关配置选项'."\n", + 'type' => 'object', + 'properties' => [ + 'skipVerifyAIChatCompletion' => ['description' => '是否跳过AI聊天完成验证', 'type' => 'boolean', 'required' => false], + ], 'required' => false, - 'example' => 'mcp-d3s8qo6m1hknegofa3bg', ], + 'expressType' => ['description' => '服务表达类型,标识服务的特殊类型或模式'."\n", 'type' => 'string', 'required' => false, 'example' => 'Standard'], ], 'required' => false, ], 'required' => false, ], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-xxx'], ], 'required' => false, ], ], + [ + 'name' => 'clientToken', + 'in' => 'query', + 'schema' => ['description' => '客户端令牌', 'type' => 'string', 'required' => false, 'example' => 'xxx'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'succeedMcpServers' => [ - 'description' => '同步成功的MCP Server列表', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'mcp-success', - ], - 'protocols' => [ - 'description' => '协议。', - 'type' => 'array', - 'items' => [ - 'description' => '协议', - 'type' => 'string', - 'example' => 'SSE', - ], - ], - ], - ], - ], - 'failedMcpServers' => [ - 'description' => '同步失败的MCP Server列表', + 'serviceIds' => [ + 'description' => '服务ID列表。', 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'mcpServerName' => [ - 'description' => 'MCP Server名称', - 'type' => 'string', - 'example' => 'mcp-fail', - ], - 'protocols' => [ - 'description' => '协议', - 'type' => 'array', - 'items' => [ - 'description' => '协议。', - 'type' => 'string', - 'example' => 'SSE', - ], - ], - ], - ], + 'items' => ['description' => '服务ID。', 'type' => 'string', 'example' => 'svc-crbgq0dlhtgrdb***'], ], ], ], @@ -10258,53 +5947,63 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"serviceIds\\": [\\n \\"svc-crbgq0dlhtgrdb***\\"\\n ]\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"succeedMcpServers\\": [\\n {\\n \\"mcpServerName\\": \\"mcp-success\\",\\n \\"protocols\\": [\\n \\"SSE\\"\\n ]\\n }\\n ],\\n \\"failedMcpServers\\": [\\n {\\n \\"mcpServerName\\": \\"mcp-fail\\",\\n \\"protocols\\": [\\n \\"SSE\\"\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '同步Nacos MCP到网关', - ], - 'CreateHttpApiRoute' => [ - 'summary' => '创建HttpApi的路由。', - 'path' => '/v1/http-apis/{httpApiId}/routes', - 'methods' => [ - 'post', + 'title' => '创建服务', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [ + ['createdAt' => '2026-01-30T08:25:31.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-12-25T08:39:50.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-06-26T12:05:02.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-02-27T07:54:24.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateService'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/*'], + ], + ], + ], + ], + ], + 'CreateServiceVersion' => [ + 'summary' => '创建服务版本', + 'path' => '/v1/services/{serviceId}/versions', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237765', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '238203', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'httpApiId', + 'name' => 'serviceId', 'in' => 'path', - 'schema' => [ - 'description' => '路由所属的HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cqoob7llhtgq***', - ], + 'schema' => ['description' => '服务ID。', 'type' => 'string', 'required' => true, 'example' => 'gs-cpvj7dtlh******'], ], [ 'name' => 'body', @@ -10314,161 +6013,20 @@ 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'description' => '环境ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cpqnr6tlhtgubcv***', - ], - 'name' => [ - 'description' => '路由名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'login', - ], - 'description' => [ - 'description' => '路由描述。', - 'type' => 'string', - 'required' => false, - 'example' => '用户登录路由。', - ], - 'domainIds' => [ - 'description' => '域名ID。', - 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-cr62ts5lhtglnu***', - ], - 'required' => false, - ], - 'match' => [ - 'description' => '路由Match规则。', - 'required' => false, - '$ref' => '#/components/schemas/HttpRouteMatch', - ], - 'backendConfig' => [ - 'description' => '路由的后端服务配置。', - 'type' => 'object', - 'properties' => [ - 'scene' => [ - 'description' => '后端服务场景。'."\n" - .'- SingleService:单服务。'."\n" - .'- MultiServiceByRatio:多服务按比例灰度。'."\n" - .'- Mock:Mock服务。'."\n" - .'- Redirect:重定向服务。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'SingleService' => '单服务', - 'MultiServiceByRatio' => '多服务按比例灰度', - 'Redirect' => 'Redirect', - 'MultiServiceByTag' => '多服务按标签', - 'Mock' => 'Mock', - ], - 'example' => 'SingleService', - ], - 'services' => [ - 'description' => '后端服务列表。', - 'type' => 'array', - 'items' => [ - 'description' => '后端服务。', - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-crbgq0dlhtgr***', - ], - 'protocol' => [ - 'description' => '服务协议:'."\n" - .'- HTTP。'."\n" - .'- HTTPS。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', - ], - 'port' => [ - 'description' => '服务端口, 动态端口不传入。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '8080', - ], - 'weight' => [ - 'description' => '流量比例的百分比值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '49', - ], - 'version' => [ - 'description' => '服务版本,仅在按标签场景下有效。', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'deployConfigs' => [ - 'description' => 'API部署配置。', + 'name' => ['description' => '版本名称。', 'type' => 'string', 'required' => true, 'example' => 'v1'], + 'labels' => [ + 'description' => '服务标签。', 'type' => 'array', 'items' => [ - 'description' => 'API部署配置。', - 'required' => false, - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], - 'required' => false, - ], - 'mcpRouteConfig' => [ - 'description' => 'MCP 路由配置', - 'type' => 'object', - 'properties' => [ - 'protocol' => [ - 'description' => '服务协议:'."\n" - .'- TCP。'."\n" - .'- HTTP。'."\n" - .'- DUBBO。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP,HTTPS', - ], - 'exposedUriPath' => [ - 'description' => '暴露的 URI 路径', - 'type' => 'string', - 'required' => false, - 'example' => '/v1/chat/completions', - ], - 'mcpStatisticsEnable' => [ - 'description' => '是否启用MCP可观测,默认false', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', + 'description' => '标签信息。', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键。', 'type' => 'string', 'required' => true, 'example' => 'topology.kubernetes.io/zone'], + 'value' => ['description' => '标签值。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-j'], ], - ], - 'required' => false, - ], - 'policyConfigs' => [ - 'description' => '策略类型。', - 'type' => 'array', - 'items' => [ - 'description' => '策略类型。', 'required' => false, - '$ref' => '#/components/schemas/HttpApiPolicyConfigs', ], - 'required' => false, + 'required' => true, ], ], 'required' => false, @@ -10479,96 +6037,62 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息,', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'routeId' => [ - 'description' => '路由ID。', - 'type' => 'string', - 'example' => 'hr-cr82undlhtgrlej***', - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '0B373A13-9BB8-5068-9C94-AD6D39E6BBA2'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'Success'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"routeId\\": \\"hr-cr82undlhtgrlej***\\"\\n }\\n}","type":"json"}]', - 'title' => '创建HTTP API路由', - ], - 'UpdateHttpApiRoute' => [ - 'summary' => '更新HttpApi的路由。', - 'path' => '/v1/http-apis/{httpApiId}/routes/{routeId}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B373A13-9BB8-5068-9C94-AD6D39E6BBA2\\",\\n \\"message\\": \\"Success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + 'title' => '创建服务版本', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateServiceVersion'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateServiceVersion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'CreateSource' => [ + 'summary' => '创建来源。', + 'path' => '/v1/sources', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237777', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '237746', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'description' => '路由所属的HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cqoub6tlhtgvof7***', - ], - ], - [ - 'name' => 'routeId', - 'in' => 'path', - 'schema' => [ - 'description' => '路由ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'hr-cr82undlhtgrl***', - ], - ], - [ 'name' => 'body', 'in' => 'body', 'style' => 'json', @@ -10576,83 +6100,36 @@ 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'domainIds' => [ - 'description' => '域名ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-cr62ts5lhtgln***', - ], - 'required' => false, - ], - 'match' => [ - 'description' => '路由Match规则。', + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq7l5s5lhtgi6q***'], + 'type' => [ + 'description' => '来源类型:'."\n" + .'- MSE_NACOS: MSE Nacos。'."\n" + .'- K8S: 容器服务。', + 'type' => 'string', 'required' => false, - '$ref' => '#/components/schemas/HttpRouteMatch', + 'enumValueTitles' => ['K8S' => '容器服务', 'MSE_NACOS' => 'MSE Nacos'], + 'example' => 'MSE_NACOS', ], - 'backendConfig' => [ - 'description' => '路由的后端服务配置。', + 'k8sSourceConfig' => [ + 'description' => '容器服务来源配置。', 'type' => 'object', 'properties' => [ - 'scene' => [ - 'description' => '后端服务场景。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'SingleService' => '单服务', - 'MultiServiceByRatio' => '多服务按比例灰度', - 'Redirect' => 'Redirect', - 'Mock' => 'Mock', - ], - 'example' => 'SingleService', - ], - 'services' => [ - 'description' => '后端服务列表。', + 'clusterId' => ['description' => '容器服务集群ID。', 'type' => 'string', 'required' => false, 'example' => 'c3fbe6caaaece4062b*****'], + 'authorizeSecurityGroupRules' => [ + 'description' => '网关安全组授权规则配置列表。', 'type' => 'array', 'items' => [ - 'description' => '后端服务。', + 'description' => '网关安全组授权规则配置。', 'type' => 'object', 'properties' => [ - 'serviceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-cr6pk4tlhtgm58e***', - ], - 'protocol' => [ - 'description' => '服务协议:'."\n" - .'- HTTP。'."\n" - .'- HTTPS。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', - ], - 'version' => [ - 'description' => '服务版本。', - 'type' => 'string', - 'required' => false, - 'example' => 'v1', - ], - 'weight' => [ - 'description' => '流量比例的百分比值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '49', - ], - 'port' => [ - 'description' => '服务端口, 动态端口不传入。', - 'type' => 'integer', - 'format' => 'int32', + 'securityGroupId' => ['description' => '安全组ID。', 'type' => 'string', 'required' => false, 'example' => 'sg-bp14w4fa4j***'], + 'portRanges' => [ + 'description' => '端口范围列表。', + 'type' => 'array', + 'items' => ['description' => '端口范围。', 'type' => 'string', 'required' => false, 'example' => '8080/8082'], 'required' => false, - 'example' => '8080', ], + 'description' => ['description' => '规则描述。', 'type' => 'string', 'required' => false, 'example' => '预发网关访问安全组'], ], 'required' => false, ], @@ -10661,937 +6138,15 @@ ], 'required' => false, ], - 'environmentId' => [ - 'description' => '环境ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cquqsollhtgid***', - ], - 'description' => [ - 'description' => '路由描述。', - 'type' => 'string', - 'required' => false, - 'example' => '商品中心服务路由', - ], - 'deployConfigs' => [ - 'type' => 'array', - 'items' => [ - 'required' => false, - '$ref' => '#/components/schemas/HttpApiDeployConfig', - ], - 'required' => false, - ], - 'name' => [ - 'type' => 'string', - 'required' => false, - ], - 'mcpRouteConfig' => [ + 'nacosSourceConfig' => [ + 'description' => 'MSE Nacos来源配置。', 'type' => 'object', 'properties' => [ - 'protocol' => [ - 'type' => 'string', - 'required' => false, - ], - 'exposedUriPath' => [ - 'type' => 'string', - 'required' => false, - ], - 'mcpStatisticsEnable' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - 'required' => false, - ], - 'policyConfigs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'enable' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'aiFallbackConfig' => [ - 'type' => 'object', - 'properties' => [ - 'serviceConfigs' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'type' => 'string', - 'required' => false, - ], - 'name' => [ - 'type' => 'string', - 'required' => false, - ], - 'targetModelName' => [ - 'type' => 'string', - 'required' => false, - ], - 'passThroughModelName' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'onlyRedirectUpstreamCode' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'routeEmbedded' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - 'required' => false, - ], - 'aiSecurityGuardConfig' => [ - 'type' => 'object', - 'properties' => [ - 'serviceAddress' => [ - 'type' => 'string', - 'required' => false, - ], - 'checkRequest' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'checkResponse' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'checkRequestImage' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'checkResponseImage' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'requestCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'responseCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'requestImageCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'responseImageCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'riskAlertLevel' => [ - 'type' => 'string', - 'required' => false, - ], - 'riskConfig' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'level' => [ - 'type' => 'string', - 'required' => false, - ], - 'consumerRules' => [ - 'type' => 'object', - 'properties' => [ - 'pattern' => [ - 'title' => '循环规则。', - 'description' => '循环规则。', - 'type' => 'string', - 'required' => false, - ], - 'matchType' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'bufferLimit' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'pluginStatus' => [ - 'type' => 'object', - 'properties' => [ - 'errorLogs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'serviceHealthy' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'pluginId' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'consumerRequestCheckService' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'type' => 'string', - 'required' => false, - ], - 'requestCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'requestImageCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchType' => [ - 'type' => 'string', - 'required' => false, - ], - 'modalityType' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'consumerResponseCheckService' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'type' => 'string', - 'required' => false, - ], - 'responseCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'responseImageCheckService' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchType' => [ - 'type' => 'string', - 'required' => false, - ], - 'modalityType' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'consumerRiskLevel' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchType' => [ - 'type' => 'string', - 'required' => false, - ], - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'level' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'aiTokenRateLimitConfig' => [ - 'type' => 'object', - 'properties' => [ - 'rules' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'limitType' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchKey' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchType' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchValue' => [ - 'type' => 'string', - 'required' => false, - ], - 'limitMode' => [ - 'type' => 'string', - 'required' => false, - ], - 'limitValue' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'enableGlobalRules' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'globalRules' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'limitType' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchKey' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchType' => [ - 'type' => 'string', - 'required' => false, - ], - 'matchValue' => [ - 'type' => 'string', - 'required' => false, - ], - 'limitMode' => [ - 'type' => 'string', - 'required' => false, - ], - 'limitValue' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'redisConfig' => [ - 'type' => 'object', - 'properties' => [ - 'host' => [ - 'type' => 'string', - 'required' => false, - ], - 'port' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'username' => [ - 'type' => 'string', - 'required' => false, - ], - 'password' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeout' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'databaseNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'pluginStatus' => [ - 'type' => 'object', - 'properties' => [ - 'errorLogs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'serviceHealthy' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'pluginId' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'aiCacheConfig' => [ - 'type' => 'object', - 'properties' => [ - 'cacheTTL' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'redisConfig' => [ - 'type' => 'object', - 'properties' => [ - 'host' => [ - 'type' => 'string', - 'required' => false, - ], - 'port' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'username' => [ - 'type' => 'string', - 'required' => false, - ], - 'password' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeout' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'databaseNumber' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'vectorConfig' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'serviceHost' => [ - 'type' => 'string', - 'required' => false, - ], - 'apiKey' => [ - 'title' => 'apiKey', - 'description' => 'apiKey', - 'type' => 'string', - 'required' => false, - ], - 'timeout' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '6000', - ], - 'collectionId' => [ - 'type' => 'string', - 'required' => false, - ], - 'threshold' => [ - 'type' => 'number', - 'format' => 'float', - 'required' => false, - ], - ], - 'required' => false, - ], - 'embeddingConfig' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'serviceId' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeout' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'modelName' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'cacheKeyStrategy' => [ - 'type' => 'string', - 'required' => false, - ], - 'cacheMode' => [ - 'type' => 'string', - 'required' => false, - ], - 'pluginStatus' => [ - 'type' => 'object', - 'properties' => [ - 'errorLogs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'serviceHealthy' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'pluginId' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'aiNetworkSearchConfig' => [ - 'type' => 'object', - 'properties' => [ - 'needReference' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'referenceFormat' => [ - 'type' => 'string', - 'required' => false, - ], - 'referenceLocation' => [ - 'type' => 'string', - 'required' => false, - ], - 'defaultLang' => [ - 'type' => 'string', - 'required' => false, - ], - 'defaultEnable' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'searchFrom' => [ - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'apiKey' => [ - 'type' => 'string', - 'required' => false, - ], - 'count' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'start' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'timeoutMillisecond' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'optionArgs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'endpoint' => [ - 'type' => 'string', - 'required' => false, - ], - 'contentMode' => [ - 'type' => 'string', - 'required' => false, - ], - 'industry' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeRange' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'searchEngineConfig' => [ - 'title' => '搜索引擎配置', - 'description' => '搜索引擎配置', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'apiKey' => [ - 'type' => 'string', - 'required' => false, - ], - 'count' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'start' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'timeoutMillisecond' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'optionArgs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'endpoint' => [ - 'type' => 'string', - 'required' => false, - ], - 'contentMode' => [ - 'type' => 'string', - 'required' => false, - ], - 'industry' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeRange' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'searchRewrite' => [ - 'type' => 'object', - 'properties' => [ - 'enable' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'serviceId' => [ - 'type' => 'string', - 'required' => false, - ], - 'modelName' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeoutMillisecond' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'maxCount' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'pluginStatus' => [ - 'type' => 'object', - 'properties' => [ - 'errorLogs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'serviceHealthy' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'pluginId' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'aiToolSelectionConfig' => [ - 'type' => 'object', - 'properties' => [ - 'enableConditions' => [ - 'type' => 'object', - 'properties' => [ - 'toolCountThreshold' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'toolReranking' => [ - 'type' => 'object', - 'properties' => [ - 'modelService' => [ - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'type' => 'string', - 'required' => false, - ], - 'modelName' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeoutMillisecond' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'filteringMethod' => [ - 'type' => 'string', - 'required' => false, - ], - 'topKPercent' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'topNCount' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'scoreThreshold' => [ - 'type' => 'number', - 'format' => 'float', - 'required' => false, - ], - 'fallbackStrategy' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'queryRewriting' => [ - 'type' => 'object', - 'properties' => [ - 'enabled' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'modelService' => [ - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'type' => 'string', - 'required' => false, - ], - 'modelName' => [ - 'type' => 'string', - 'required' => false, - ], - 'timeoutMillisecond' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'promptConfig' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'customPrompt' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'maxOutputTokens' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - 'triggerConditions' => [ - 'type' => 'object', - 'properties' => [ - 'messageCountThreshold' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'contextSelection' => [ - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'type' => 'string', - 'required' => false, - ], - 'value' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - 'fallbackStrategy' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - 'pluginStatus' => [ - 'type' => 'object', - 'properties' => [ - 'errorLogs' => [ - 'type' => 'object', - 'required' => false, - 'additionalProperties' => [ - 'type' => 'string', - ], - ], - 'serviceHealthy' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'pluginId' => [ - 'type' => 'string', - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'aiStatisticsConfig' => [ - 'type' => 'object', - 'properties' => [ - 'logRequestContent' => [ - 'type' => 'boolean', - 'required' => false, - ], - 'logResponseContent' => [ - 'type' => 'boolean', - 'required' => false, - ], - ], - 'required' => false, - ], - 'semanticRouterConfig' => [ - 'type' => 'object', - 'properties' => [ - 'timeoutMillisecond' => [ - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - ], - ], - 'required' => false, - ], - ], - 'required' => false, + 'instanceId' => ['description' => 'Nacos实例ID。', 'type' => 'string', 'required' => false, 'example' => 'mse-cn-0dw3w***'], ], 'required' => false, ], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-xxx'], ], 'required' => false, ], @@ -11601,171 +6156,135 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '结构体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CBEEB8C1-108E-50F0-9BEA-DED79553C309', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'sourceId' => ['description' => '来源ID', 'type' => 'string', 'example' => 'src-crdddallhtgt***'], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CBEEB8C1-108E-50F0-9BEA-DED79553C309\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新路由', - ], - 'GetHttpApiRoute' => [ - 'summary' => '获取HttpApi的路由详情。', - 'path' => '/v1/http-apis/{httpApiId}/routes/{routeId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建来源', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSource'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateSource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"sourceId\\": \\"src-crdddallhtgt***\\"\\n }\\n}","type":"json"}]', + ], + 'DeleteConsumer' => [ + 'path' => '/v1/consumers/{consumerId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '237782', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '248086', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'httpApiId', - 'in' => 'path', - 'schema' => [ - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cqu95allhtgii6***', - ], - ], - [ - 'name' => 'routeId', + 'name' => 'consumerId', 'in' => 'path', - 'schema' => [ - 'description' => '路由ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'hr-cr82undlhtgrl***', - ], + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-cv8em6um1hku2shkv19g'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '结构体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '路由详情数据。', - '$ref' => '#/components/schemas/HttpRoute', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '40C8A4FF-7AF1-5B52-A662-02EEE24C6908'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"routeId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"deployStatus\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n },\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"mcpServerInfo\\": {\\n \\"importInstanceId\\": \\"\\",\\n \\"importNamespace\\": \\"\\",\\n \\"importMcpServerId\\": \\"\\",\\n \\"createFromType\\": \\"\\",\\n \\"mcpServerConfig\\": \\"\\",\\n \\"mcpRouteConfig\\": {\\n \\"protocol\\": \\"\\",\\n \\"exposedUriPath\\": \\"\\"\\n }\\n },\\n \\"domainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"gatewayStatus\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"builtin\\": \\"\\"\\n }\\n}","type":"json"}]', - 'title' => '查询路由详情', - ], - 'DeleteHttpApiRoute' => [ - 'summary' => '删除HttpApi的路由。', - 'path' => '/v1/http-apis/{httpApiId}/routes/{routeId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除消费者', + 'summary' => '删除消费者。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"40C8A4FF-7AF1-5B52-A662-02EEE24C6908\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteConsumerAuthorizationRule' => [ + 'path' => '/v1/consumers/{consumerId}/authorization-rules/{consumerAuthorizationRuleId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '237784', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'abilityTreeCode' => '248109', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'httpApiId', + 'name' => 'consumerAuthorizationRuleId', 'in' => 'path', - 'schema' => [ - 'description' => '路由所属的HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cqoub6tlhtgv***', - ], + 'schema' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'required' => false, 'example' => 'cas-xxx'], ], [ - 'name' => 'routeId', + 'name' => 'consumerId', 'in' => 'path', - 'schema' => [ - 'description' => '路由ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'hr-cr82undlhtgr***', - ], + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-cukm3imm1hkh1e2m4rqg'], ], ], 'responses' => [ @@ -11775,1034 +6294,656 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0F138FFC-6E2B-56C1-9BAB-A67462E339D1', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '3C3B9A12-3868-5EB9-8BEA-F99E03DD125C'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'ok'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0F138FFC-6E2B-56C1-9BAB-A67462E339D1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除路由', - ], - 'ListHttpApiRoutes' => [ - 'summary' => '查询HTTP API的路由列表。', - 'path' => '/v1/http-apis/{httpApiId}/routes', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除消费者授权规则', + 'summary' => '删除消费者授权规则。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3C3B9A12-3868-5EB9-8BEA-F99E03DD125C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]', + ], + 'DeleteDomain' => [ + 'summary' => '删除域名。', + 'path' => '/v1/domains/{domainId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'abilityTreeCode' => '237771', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigatewayLPOSXV'], ], 'parameters' => [ [ - 'name' => 'httpApiId', + 'name' => 'domainId', 'in' => 'path', + 'schema' => ['description' => '域名id。', 'type' => 'string', 'required' => true, 'example' => 'd-cpqnfn5lhtgqbga95svg'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cr68g1dlhtgm31f***', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => 'A60EE5CA-1294-532A-9775-8D2FD1C6EFBF'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除域名', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDomain'], + ], + ], + 'ramActions' => [ [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码,从1开始,不填默认1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A60EE5CA-1294-532A-9775-8D2FD1C6EFBF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteEnvironment' => [ + 'path' => '/v1/environments/{environmentId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小,有效范围[1, 100],不填默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'AK' => [], ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219215', + 'abilityTreeNodes' => ['FEATUREapigatewayN14L0I'], + ], + 'parameters' => [ [ 'name' => 'environmentId', - 'in' => 'query', + 'in' => 'path', + 'schema' => ['description' => '环境id。', 'type' => 'string', 'required' => true, 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '环境id。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cpqnr6tlhtgubc***', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯请求链路。', 'type' => 'string', 'example' => 'C61E30D3-579A-5B43-994E-31E02EDC9129'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => '删除环境', + 'summary' => '删除环境。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEnvironment'], + ], + ], + 'ramActions' => [ [ - 'name' => 'deployStatuses', - 'in' => 'query', - 'schema' => [ - 'description' => '路由的部署状态。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Deploying' => '发布中', - 'DeployedWithChanges' => '已发布但有修改', - 'Undeploying' => '下线中', - 'NotDeployed' => '未发布', - 'Deployed' => '已发布', - 'UndeployFailed' => '下线失败', - 'DeployFailed' => '发布失败', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], ], - 'example' => 'NotDeployed', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C61E30D3-579A-5B43-994E-31E02EDC9129\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteGateway' => [ + 'summary' => '删除网关。', + 'path' => '/v1/gateways/{gatewayId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'description' => '路由名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'itemcenter-gateway', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + ], + 'parameters' => [ [ - 'name' => 'nameLike', - 'in' => 'query', + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['description' => '云原生API网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl*****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '按路由名称模糊查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'item', + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'DE97DFDB-7DF0-5AB9-941C-10D27D769E4B'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除网关', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteGateway'], + ], + ], + 'ramActions' => [ [ - 'name' => 'pathLike', - 'in' => 'query', - 'schema' => [ - 'description' => '按路由路径模糊查询。', - 'type' => 'string', - 'required' => false, - 'example' => '/v1', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DE97DFDB-7DF0-5AB9-941C-10D27D769E4B\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + ], + 'DeleteGatewayQuotaRule' => [ + 'summary' => '删除网关某条配额限流规则。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules/{ruleId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayC93I4Z'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '云原生API网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl****', - ], + 'in' => 'path', + 'schema' => ['title' => '网关ID', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], ], [ - 'name' => 'withConsumerInfoById', - 'in' => 'query', + 'name' => 'ruleId', + 'in' => 'path', + 'schema' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'required' => false, 'example' => 'qr-d8j7fpmm1hks65kxxxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '响应中每个路由信息携带指定消费者ID的授权规则列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-xxx', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => '请求唯一标识', 'description' => '请求唯一标识', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码或错误代码', 'description' => '状态码或错误代码', 'type' => 'string', 'example' => '200, 404, 500'], + 'message' => ['title' => '消息内容', 'description' => '消息内容', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除消费者配额规则', + 'description' => '该接口用于对 AI 网关删除某条基于消费者的配额规则。注意,只针对于版本大于 2.1.19 的 AI 网关生效。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'consumerAuthorizationRuleId', - 'in' => 'query', - 'schema' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'cas-xxx', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200, 404, 500\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteGatewaySecurityGroupRule' => [ + 'summary' => '删除网关安全组规则。', + 'path' => '/v1/gateways/{gatewayId}/security-group-rules/{securityGroupRuleId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'withAuthPolicyInfo', - 'in' => 'query', - 'schema' => [ - 'description' => '响应中携带消费者授权信息。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigateway9H5FFP'], + ], + 'parameters' => [ [ - 'name' => 'withPluginAttachmentByPluginId', - 'in' => 'query', - 'schema' => [ - 'description' => '响应中每个路由信息携带指定的插件ID的挂载信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'pl-xxx', - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['description' => '云原生API网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl*****'], ], [ - 'name' => 'domainId', - 'in' => 'query', - 'schema' => [ - 'description' => '根据域名ID过滤路由信息。', - 'type' => 'string', - 'required' => false, - 'example' => 'd-xxx', - ], + 'name' => 'securityGroupRuleId', + 'in' => 'path', + 'schema' => ['description' => '云原生API网关安全规则ID。', 'type' => 'string', 'required' => false, 'example' => 'gsgr-cpqnj1llht***'], ], [ - 'name' => 'forDeploy', + 'name' => 'cascadingDelete', 'in' => 'query', - 'schema' => [ - 'description' => '是否为部署场景', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '是否级联删除安全组规则。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'CBEEB8C1-108E-50F0-9BEA-DED79553C309', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9', - ], - 'items' => [ - 'description' => '路由列表。', - 'type' => 'array', - 'items' => [ - 'description' => '路由信息。', - '$ref' => '#/components/schemas/HttpRoute', - ], - ], - ], - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8F94B3CC-F4BA-511E-8367-ECBBE486E595'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CBEEB8C1-108E-50F0-9BEA-DED79553C309\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 20,\\n \\"totalSize\\": 9,\\n \\"items\\": [\\n {\\n \\"routeId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"deployStatus\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n },\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"mcpServerInfo\\": {\\n \\"importInstanceId\\": \\"\\",\\n \\"importNamespace\\": \\"\\",\\n \\"importMcpServerId\\": \\"\\",\\n \\"createFromType\\": \\"\\",\\n \\"mcpServerConfig\\": \\"\\",\\n \\"mcpRouteConfig\\": {\\n \\"protocol\\": \\"\\",\\n \\"exposedUriPath\\": \\"\\"\\n }\\n },\\n \\"domainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"gatewayStatus\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"builtin\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询路由列表', - ], - 'GetService' => [ - 'summary' => 'Get Service Details。', - 'path' => '/v1/services/{serviceId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除网关安全组规则', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteGatewaySecurityGroupRule'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteGatewaySecurityGroupRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8F94B3CC-F4BA-511E-8367-ECBBE486E595\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteHttpApi' => [ + 'summary' => '删除指定的HTTP API。', + 'path' => '/v1/http-apis/{httpApiId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237762', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'abilityTreeCode' => '218999', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'serviceId', + 'name' => 'httpApiId', 'in' => 'path', - 'schema' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-cr6pk4tlhtgm58e***', - ], + 'schema' => ['title' => 'API ID。', 'description' => '待删除的HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结构体', + 'description' => '返回体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8FA9BB94-915B-5299-A694-49FCC7F5DD00', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '服务详情数据。', - '$ref' => '#/components/schemas/Service', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '5B626361-070A-56A7-B127-ADAC8F3655DB'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FA9BB94-915B-5299-A694-49FCC7F5DD00\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"serviceId\\": \\"\\",\\n \\"sourceType\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"namespace\\": \\"\\",\\n \\"addresses\\": [\\n \\"\\"\\n ],\\n \\"ports\\": [\\n {\\n \\"port\\": 0,\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"unhealthyEndpoints\\": [\\n \\"\\"\\n ],\\n \\"outlierEndpoints\\": [\\n \\"\\"\\n ],\\n \\"healthCheck\\": {\\n \\"protocol\\": \\"TCP\\",\\n \\"timeout\\": 0,\\n \\"interval\\": 0,\\n \\"healthyThreshold\\": 0,\\n \\"unhealthyThreshold\\": 0,\\n \\"httpPath\\": \\"\\",\\n \\"httpHost\\": \\"\\",\\n \\"enable\\": true\\n },\\n \\"healthStatus\\": \\"\\",\\n \\"qualifier\\": \\"LATEST\\",\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"protocol\\": \\"HTTP\\",\\n \\"gatewayId\\": \\"gw-xxxx\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"groupName\\": \\"publich\\",\\n \\"aiServiceConfig\\": {\\n \\"provider\\": \\"qwen\\",\\n \\"address\\": \\"https://dashscope.aliyun.com\\",\\n \\"enableHealthCheck\\": true,\\n \\"paiEASServiceConfig\\": {\\n \\"workspaceId\\": \\"\\",\\n \\"serviceId\\": \\"\\",\\n \\"serviceName\\": \\"\\",\\n \\"endpointType\\": \\"\\"\\n },\\n \\"bedrockServiceConfig\\": {\\n \\"awsRegion\\": \\"\\",\\n \\"awsAccessKey\\": \\"\\",\\n \\"awsSecretKey\\": \\"\\"\\n },\\n \\"ApiKeyGenerateMode\\": \\"\\",\\n \\"defaultModelName\\": \\"\\",\\n \\"enableOutlierDetection\\": true,\\n \\"vertexServiceConfig\\": {\\n \\"vertexAuthKey\\": \\"\\",\\n \\"vertexRegion\\": \\"\\",\\n \\"vertexProjectId\\": \\"\\",\\n \\"vertexAuthServiceName\\": \\"\\",\\n \\"geminiSafetySetting\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"vertexTokenRefreshAhead\\": 0\\n },\\n \\"protocols\\": [\\n \\"OpenAI/v1\\"\\n ],\\n \\"apiKeys\\": [\\n \\"\\"\\n ],\\n \\"compatibleProtocols\\": [\\n \\"\\"\\n ]\\n },\\n \\"labelDetails\\": [\\n {\\n \\"key\\": \\"\\",\\n \\"values\\": [\\n \\"\\"\\n ]\\n }\\n ],\\n \\"agentServiceConfig\\": {\\n \\"address\\": \\"https://dashscope.aliyuncs.com/api/v1\\",\\n \\"dashScopeConfig\\": {\\n \\"appCredentials\\": [\\n {\\n \\"apiKey\\": \\"\\",\\n \\"appId\\": \\"\\"\\n }\\n ]\\n },\\n \\"enableHealthCheck\\": true,\\n \\"provider\\": \\"\\",\\n \\"difyConfig\\": {\\n \\"botType\\": \\"\\",\\n \\"apiKey\\": \\"\\"\\n },\\n \\"enableOutlierDetection\\": true,\\n \\"customConfig\\": {\\n \\"apiKey\\": \\"\\",\\n \\"apiKeyGenerateMode\\": \\"\\"\\n },\\n \\"protocols\\": [\\n \\"DashScope\\"\\n ]\\n },\\n \\"expressType\\": \\"StartExecution\\"\\n }\\n}","type":"json"}]', - 'title' => 'Query Service Details', - ], - 'CreateService' => [ - 'summary' => '创建服务。', - 'path' => '/v1/services', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除HTTP API', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHttpApi'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"5B626361-070A-56A7-B127-ADAC8F3655DB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteHttpApiOperation' => [ + 'path' => '/v1/http-apis/{httpApiId}/operations/{operationId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237749', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayVWMWWM', - ], + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq7l5s5lhtg***', - ], - 'sourceType' => [ - 'description' => '服务来源:'."\n" - .'- MSE_NACOS: MSE Nacos里的服务。'."\n" - .'- K8S: 容器服务里K8S集群里的服务。'."\n" - .'- VIP: 固定地址服务。'."\n" - .'- DNS: DNS域名服务。'."\n" - .'- FC3: 函数计算里的服务。'."\n" - .'- SAE_K8S_SERVICE: SAE K8S服务'."\n" - .'- AI: AI服务'."\n" - .'- AGENT: Agent服务', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AGENT' => 'Agent服务', - 'SAE_K8S_SERVICE' => 'SAE_K8S_SERVICE', - 'K8S' => '容器服务', - 'FC3' => '函数计算服务', - 'DNS' => 'DNS 域名', - 'AI' => 'AI服务', - 'VIP' => '固定地址', - 'MSE_NACOS' => 'MSE Nacos', - ], - 'example' => 'MSE_NACOS', - ], - 'serviceConfigs' => [ - 'description' => '服务配置列表,至少包含一个服务配置'."\n", - 'type' => 'array', - 'items' => [ - 'description' => '服务配置信息。', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '服务名。', - 'type' => 'string', - 'required' => false, - 'example' => 'user-service', - ], - 'namespace' => [ - 'description' => '服务的命名空间:'."\n" - ."\n" - .'- sourceType为K8S时,表示是K8S服务所在的命名空间。'."\n" - .'- sourceType为MSE_NACOS时, 表示是Nacos里的命名空间。'."\n" - ."\n" - .'当sourceType为K8S和MSE_NACOS时, 需要指定。', - 'type' => 'string', - 'required' => false, - 'example' => 'PUBLIC', - ], - 'groupName' => [ - 'description' => '服务分组名。'."\n" - .'当sourceType为MSE_NACOS时, 需要指定。', - 'type' => 'string', - 'required' => false, - 'example' => 'DEFAULT_GROUP', - ], - 'addresses' => [ - 'description' => '域名或固定地址列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名或固定地址。', - 'type' => 'string', - 'required' => false, - 'example' => 'dev.com:8080', - ], - 'required' => false, - ], - 'qualifier' => [ - 'description' => '函数版本或别名。', - 'type' => 'string', - 'required' => false, - 'example' => 'LATEST', - ], - 'aiServiceConfig' => [ - 'description' => 'AI服务配置。', - 'required' => false, - '$ref' => '#/components/schemas/AiServiceConfig', - ], - 'agentServiceConfig' => [ - 'description' => 'Agent服务配置,当`sourceType`为`AGENT`时必填'."\n", - 'required' => false, - '$ref' => '#/components/schemas/AgentServiceConfig', - ], - 'dnsServers' => [ - 'description' => 'dns服务地址列表', - 'type' => 'array', - 'items' => [ - 'description' => 'DNS服务地址', - 'type' => 'string', - 'required' => false, - 'example' => '100.100.1.156:53', - ], - 'required' => false, - ], - 'sourceId' => [ - 'description' => '服务来源ID,多Nacos实例场景下必填'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'nacos-instance-001', - ], - 'validationOptions' => [ - 'description' => '验证选项,服务验证相关配置选项'."\n", - 'type' => 'object', - 'properties' => [ - 'skipVerifyAIChatCompletion' => [ - 'description' => '是否跳过AI聊天完成验证', - 'type' => 'boolean', - 'required' => false, - ], - ], - 'required' => false, - ], - 'expressType' => [ - 'description' => '服务表达类型,标识服务的特殊类型或模式'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'Standard', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-xxx', - ], - ], - 'required' => false, - ], + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['title' => 'API ID。', 'description' => '待删除的接口所属HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], ], [ - 'name' => 'clientToken', - 'in' => 'query', - 'schema' => [ - 'description' => '客户端令牌', - 'type' => 'string', - 'required' => false, - 'example' => 'xxx', - ], + 'name' => 'operationId', + 'in' => 'path', + 'schema' => ['title' => '接口ID。', 'description' => '接口ID。', 'type' => 'string', 'required' => true, 'example' => 'op-xxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应体', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'serviceIds' => [ - 'description' => '服务ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'svc-crbgq0dlhtgrdb***', - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息,', 'description' => '响应消息,', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"serviceIds\\": [\\n \\"svc-crbgq0dlhtgrdb***\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => '创建服务', - 'description' => '接口支持创建多个服务。', - ], - 'ListServices' => [ - 'summary' => '获取服务列表。', - 'path' => '/v1/services', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除接口', + 'summary' => '删除指定的接口。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHttpApiOperation'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteHttpApiRoute' => [ + 'summary' => '删除HttpApi的路由。', + 'path' => '/v1/http-apis/{httpApiId}/routes/{routeId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '237750', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '237784', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码,从1开始,不填默认1.', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小,有效范围[1, 100],不填默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['description' => '路由所属的HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cqoub6tlhtgv***'], ], [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'description' => '根据服务名精确查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'user-service', - ], + 'name' => 'routeId', + 'in' => 'path', + 'schema' => ['description' => '路由ID。', 'type' => 'string', 'required' => false, 'example' => 'hr-cr82undlhtgr***'], ], - [ - 'name' => 'sourceType', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '根据服务来源类型查询, 服务来源:'."\n" - .'- MSE_NACOS: 来源为MSE Nacos里的服务。'."\n" - .'- K8S: 来源为容器服务里K8S集群里的服务。'."\n" - .'- FC3: 来源为函数计算里的服务。'."\n" - .'- VIP: 来源为固定地址的服务。'."\n" - .'- DNS: 来源为域名的服务。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'K8S' => '容器服务', - 'FC3' => '函数计算服务', - 'DNS' => 'DNS 域名', - 'VIP' => '固定地址', - 'MSE_NACOS' => 'MSE Nacos', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '0F138FFC-6E2B-56C1-9BAB-A67462E339D1'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], - 'example' => 'MSE_NACOS', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除路由', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHttpApiRoute'], + ], + ], + 'ramActions' => [ [ - 'name' => 'sourceTypes', - 'in' => 'query', - 'schema' => [ - 'description' => '服务来源类型列表', - 'type' => 'string', - 'required' => false, - 'example' => '["K8S", "FC3"]', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0F138FFC-6E2B-56C1-9BAB-A67462E339D1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteMcpServer' => [ + 'path' => '/v1/mcp-servers/{mcpServerId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '云原生API网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl*****', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '281131', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], + ], + 'parameters' => [ [ - 'name' => 'resourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-acfmxxe5rc6cvla', - ], + 'name' => 'mcpServerId', + 'in' => 'path', + 'schema' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-adfefz24afg'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '18', - ], - 'items' => [ - 'description' => '服务列表。', - 'type' => 'array', - 'items' => [ - 'description' => '服务信息。', - '$ref' => '#/components/schemas/Service', - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息', 'type' => 'string', 'example' => 'Success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 18,\\n \\"items\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"sourceType\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"namespace\\": \\"\\",\\n \\"addresses\\": [\\n \\"\\"\\n ],\\n \\"ports\\": [\\n {\\n \\"port\\": 0,\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"unhealthyEndpoints\\": [\\n \\"\\"\\n ],\\n \\"outlierEndpoints\\": [\\n \\"\\"\\n ],\\n \\"healthCheck\\": {\\n \\"protocol\\": \\"TCP\\",\\n \\"timeout\\": 0,\\n \\"interval\\": 0,\\n \\"healthyThreshold\\": 0,\\n \\"unhealthyThreshold\\": 0,\\n \\"httpPath\\": \\"\\",\\n \\"httpHost\\": \\"\\",\\n \\"enable\\": true\\n },\\n \\"healthStatus\\": \\"\\",\\n \\"qualifier\\": \\"LATEST\\",\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"protocol\\": \\"HTTP\\",\\n \\"gatewayId\\": \\"gw-xxxx\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"groupName\\": \\"publich\\",\\n \\"aiServiceConfig\\": {\\n \\"provider\\": \\"qwen\\",\\n \\"address\\": \\"https://dashscope.aliyun.com\\",\\n \\"enableHealthCheck\\": true,\\n \\"paiEASServiceConfig\\": {\\n \\"workspaceId\\": \\"\\",\\n \\"serviceId\\": \\"\\",\\n \\"serviceName\\": \\"\\",\\n \\"endpointType\\": \\"\\"\\n },\\n \\"bedrockServiceConfig\\": {\\n \\"awsRegion\\": \\"\\",\\n \\"awsAccessKey\\": \\"\\",\\n \\"awsSecretKey\\": \\"\\"\\n },\\n \\"ApiKeyGenerateMode\\": \\"\\",\\n \\"defaultModelName\\": \\"\\",\\n \\"enableOutlierDetection\\": true,\\n \\"vertexServiceConfig\\": {\\n \\"vertexAuthKey\\": \\"\\",\\n \\"vertexRegion\\": \\"\\",\\n \\"vertexProjectId\\": \\"\\",\\n \\"vertexAuthServiceName\\": \\"\\",\\n \\"geminiSafetySetting\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"vertexTokenRefreshAhead\\": 0\\n },\\n \\"protocols\\": [\\n \\"OpenAI/v1\\"\\n ],\\n \\"apiKeys\\": [\\n \\"\\"\\n ],\\n \\"compatibleProtocols\\": [\\n \\"\\"\\n ]\\n },\\n \\"labelDetails\\": [\\n {\\n \\"key\\": \\"\\",\\n \\"values\\": [\\n \\"\\"\\n ]\\n }\\n ],\\n \\"agentServiceConfig\\": {\\n \\"address\\": \\"https://dashscope.aliyuncs.com/api/v1\\",\\n \\"dashScopeConfig\\": {\\n \\"appCredentials\\": [\\n {\\n \\"apiKey\\": \\"\\",\\n \\"appId\\": \\"\\"\\n }\\n ]\\n },\\n \\"enableHealthCheck\\": true,\\n \\"provider\\": \\"\\",\\n \\"difyConfig\\": {\\n \\"botType\\": \\"\\",\\n \\"apiKey\\": \\"\\"\\n },\\n \\"enableOutlierDetection\\": true,\\n \\"customConfig\\": {\\n \\"apiKey\\": \\"\\",\\n \\"apiKeyGenerateMode\\": \\"\\"\\n },\\n \\"protocols\\": [\\n \\"DashScope\\"\\n ]\\n },\\n \\"expressType\\": \\"StartExecution\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询服务列表', - ], - 'UpdateService' => [ - 'summary' => '更新服务。支持更新服务健康检查配置, DNS 域名和固定地址的地址配置信息。', - 'path' => '/v1/services/{serviceId}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除MCP Server', + 'summary' => '删除MCP server。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Success\\"\\n}","type":"json"}]', + ], + 'DeletePluginAttachment' => [ + 'summary' => '删除插件挂载。', + 'path' => '/v1/plugin-attachments/{pluginAttachmentId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237752', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'abilityTreeNodes' => ['FEATUREapigateway216K2A'], ], 'parameters' => [ [ - 'name' => 'serviceId', + 'name' => 'pluginAttachmentId', 'in' => 'path', - 'schema' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-cr6pk4tlhtgm58e***', - ], - ], - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'addresses' => [ - 'description' => '域名或固定地址列表。', - 'type' => 'array', - 'items' => [ - 'description' => '域名或固定地址。', - 'type' => 'string', - 'required' => false, - 'example' => '127.0.0.1:8080', - ], - 'required' => false, - ], - 'healthCheckConfig' => [ - 'description' => '服务的健康检查配置。', - 'type' => 'object', - 'properties' => [ - 'enable' => [ - 'description' => '是否开启服务的健康检查。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'protocol' => [ - 'description' => '健康检查的协议。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'TCP' => 'TCP', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', - ], - 'timeout' => [ - 'description' => '健康检查响应超时时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'interval' => [ - 'description' => '健康检查间隔时间。单位:秒。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'healthyThreshold' => [ - 'description' => '健康检查健康阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2', - ], - 'unhealthyThreshold' => [ - 'description' => '健康检查不健康阈值。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '22', - ], - 'httpPath' => [ - 'description' => '健康检查的请求路径。当协议为HTTP的时候,需要填写。', - 'type' => 'string', - 'required' => false, - 'example' => '/healthz', - ], - 'httpHost' => [ - 'description' => '健康检查域名。可选。当协议为HTTP时候,可以配置。', - 'type' => 'string', - 'required' => false, - 'example' => 'dev.itemcener.com', - ], - 'expectedStatuses' => [ - 'description' => '请求返回正常状态码列表。当协议为HTTP时,需要配置。', - 'type' => 'array', - 'items' => [ - 'description' => '请求返回正常的状态码。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 200 => 'http_2xx', - 300 => 'http_3xx', - 400 => 'http_4xx', - 500 => 'http_5xx', - ], - 'example' => '200', - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'protocol' => [ - 'description' => '服务的协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'HTTP', - ], - 'aiServiceConfig' => [ - 'description' => 'AI 服务配置', - 'required' => false, - '$ref' => '#/components/schemas/AiServiceConfig', - ], - 'agentServiceConfig' => [ - 'description' => 'Agent 服务配置', - 'required' => false, - '$ref' => '#/components/schemas/AgentServiceConfig', - ], - 'dnsServers' => [ - 'description' => 'DNS服务地址', - 'type' => 'array', - 'items' => [ - 'description' => 'DNS服务地址', - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1', - ], - 'required' => false, - ], - 'ports' => [ - 'description' => '端口信息。', - 'type' => 'array', - 'items' => [ - 'description' => '端口信息。', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '端口名称', - 'type' => 'string', - 'required' => false, - 'example' => 'catalog', - ], - 'port' => [ - 'description' => '端口。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'protocol' => [ - 'description' => '协议。', - 'type' => 'string', - 'required' => false, - 'example' => 'TCP|UDP', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - 'healthyPanicThreshold' => [ - 'description' => '健康检查阈值', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '80', - ], - 'outlierDetectionConfig' => [ - 'description' => '被动健康检查参数配置', - 'type' => 'object', - 'properties' => [ - 'enable' => [ - 'description' => 'enable', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'baseEjectionTime' => [ - 'description' => '初始隔离时长,节点被弹出后的初始隔离时长(如 30 秒)。隔离时间计算公式:k * base_ejection_time(k 初始值为1),每次弹出会延长隔离时间(k 加一),若连续检测正常则逐步缩短隔离时间(k 减一)。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - 'failurePercentageThreshold' => [ - 'description' => '失败率阈值,当某节点失败请求占比达到此阈值,系统将触发该节点的弹出机制。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '80', - ], - 'failurePercentageMinimumHosts' => [ - 'description' => '恐慌阈值'."\n" - ."\n" - .'当服务中健康节点比例大于恐慌阈值的时候,健康检测正常生效,请求只被发送到健康节点,不发送到被弹出节点;'."\n" - .'当服务中健康节点比例小于等于恐慌阈值的时候,健康检测相当于被禁用,请求被发送到所有节点,包括已被弹出节点。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - 'interval' => [ - 'description' => '检测间隔时间', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '30', - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'schema' => ['description' => '插件挂载ID。', 'type' => 'string', 'required' => false, 'example' => 'pa-cvlkefmm1hkkc90m8vq0'], ], ], 'responses' => [ @@ -12812,68 +6953,59 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'B725275B-50C6-5A49-A9FD-F0332FCB3351', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '76BDFFC7-0764-5168-B047-92EE0BC7FDDE'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B725275B-50C6-5A49-A9FD-F0332FCB3351\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新服务', - ], - 'DeleteService' => [ - 'summary' => '删除服务。', - 'path' => '/v1/services/{serviceId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除插件挂载', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeletePluginAttachment'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeletePluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"76BDFFC7-0764-5168-B047-92EE0BC7FDDE\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeletePluginClass' => [ + 'summary' => '删除自定义插件类。', + 'path' => '/v1/plugin-classes/{pluginClassId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '237763', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigateway216K2A'], ], 'parameters' => [ [ - 'name' => 'serviceId', + 'name' => 'pluginClassId', 'in' => 'path', - 'schema' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'svc-cr6pk4tlhtgm***', - ], + 'schema' => ['description' => '插件类 ID', 'type' => 'string', 'required' => false, 'example' => 'pls-a1b2c3d4e5f6'], ], ], 'responses' => [ @@ -12883,298 +7015,279 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '3C3B9A12-3868-5EB9-8BEA-F99E03DD125C', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '3699C3E4-19D8-5475-A9B8-4524E6C3D855'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除自定义插件类', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3C3B9A12-3868-5EB9-8BEA-F99E03DD125C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除服务', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3699C3E4-19D8-5475-A9B8-4524E6C3D855\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', ], - 'CreateServiceVersion' => [ - 'summary' => '创建服务版本。', - 'path' => '/v1/services/{serviceId}/versions', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeletePolicy' => [ + 'summary' => '删除策略。', + 'path' => '/v2/policies/{policyId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', + 'operationType' => 'delete', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '238203', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'abilityTreeCode' => '262551', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], ], 'parameters' => [ [ - 'name' => 'serviceId', + 'name' => 'policyId', 'in' => 'path', - 'schema' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'gs-cpvj7dtlh******', - ], + 'schema' => ['title' => '策略ID', 'description' => '策略ID', 'type' => 'string', 'required' => true, 'example' => 'p-cq7l5s5bblhtgi6qas***'], ], - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求Body。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '版本名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'v1', - ], - 'labels' => [ - 'description' => '服务标签。', - 'type' => 'array', - 'items' => [ - 'description' => '标签信息。', - 'type' => 'object', - 'properties' => [ - 'key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'required' => true, - 'example' => 'topology.kubernetes.io/zone', - ], - 'value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-j', - ], - ], - 'required' => false, - ], - 'required' => true, - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E7406754***'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], - 'required' => false, ], ], ], + 'title' => '删除策略', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeletePolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E7406754***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeletePolicyAttachment' => [ + 'summary' => '删除策略资源挂载。', + 'path' => '/v1/policy-attachments/{policyAttachmentId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '262556', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], + ], + 'parameters' => [ + [ + 'name' => 'policyAttachmentId', + 'in' => 'path', + 'schema' => ['title' => '策略挂载ID', 'description' => '策略挂载ID', 'type' => 'string', 'required' => true, 'example' => 'pr-ctd4j9mmahko5fb4***'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0B373A13-9BB8-5068-9C94-AD6D39E6BBA2', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'Success', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'CE857A85-251D-5018-8103-A38957D71***'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0B373A13-9BB8-5068-9C94-AD6D39E6BBA2\\",\\n \\"message\\": \\"Success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', - 'title' => '创建服务版本', - ], - 'UpdateServiceVersion' => [ - 'summary' => '更新服务版本。', - 'path' => '/v1/services/{serviceId}/versions/{name}', - 'methods' => [ - 'put', + 'title' => '删除策略挂载', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeletePolicyAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71***\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteSecret' => [ + 'path' => '/v1/secrets/{secretId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '238219', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'abilityTreeCode' => '280148', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'serviceId', + 'name' => 'secretId', 'in' => 'path', - 'schema' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'svc-xxx', - ], + 'schema' => ['description' => '密钥ID。', 'type' => 'string', 'required' => false, 'example' => 'sec-d5e6shmm1hkoxxxxxxxxx'], ], - [ - 'name' => 'name', - 'in' => 'path', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '版本名称。', - 'description' => '版本名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'v1', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'DD4F1D33-7267-5596-8F5D-C593xxxxxxxx'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除密钥值', + 'summary' => '删除密钥值。', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'labels' => [ - 'title' => '标签列表。', - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'title' => '单个标签配置。', - 'description' => '单个标签配置。', - 'type' => 'object', - 'properties' => [ - 'key' => [ - 'title' => '标签键。', - 'description' => '标签键。', - 'type' => 'string', - 'required' => true, - 'example' => 'topology.kubernetes.io/zone', - ], - 'value' => [ - 'title' => '标签值。', - 'description' => '标签值。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou-k', - ], - ], - 'required' => false, - ], - 'required' => true, - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], ], - 'required' => false, ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD4F1D33-7267-5596-8F5D-C593xxxxxxxx\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeleteService' => [ + 'summary' => '删除服务。', + 'path' => '/v1/services/{serviceId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '237763', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], + ], + 'parameters' => [ + [ + 'name' => 'serviceId', + 'in' => 'path', + 'schema' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-cr6pk4tlhtgm***'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A60EE5CA-1294-532A-9775-8D2FD1C6EFBF', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '3C3B9A12-3868-5EB9-8BEA-F99E03DD125C'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除服务', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A60EE5CA-1294-532A-9775-8D2FD1C6EFBF\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', - 'title' => '更新服务版本', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3C3B9A12-3868-5EB9-8BEA-F99E03DD125C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', ], 'DeleteServiceVersion' => [ 'summary' => '删除服务版本。', 'path' => '/v1/services/{serviceId}/versions/{name}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ @@ -13182,32 +7295,18 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '238221', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ 'name' => 'serviceId', 'in' => 'path', - 'schema' => [ - 'title' => '服务ID。', - 'description' => '服务ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'svc-xxx', - ], + 'schema' => ['title' => '服务ID。', 'description' => '服务ID。', 'type' => 'string', 'required' => true, 'example' => 'svc-xxx'], ], [ 'name' => 'name', 'in' => 'path', - 'schema' => [ - 'title' => '版本名称。', - 'description' => '版本名称。', - 'type' => 'string', - 'required' => true, - 'example' => 'v1', - ], + 'schema' => ['title' => '版本名称。', 'description' => '版本名称。', 'type' => 'string', 'required' => true, 'example' => 'v1'], ], ], 'responses' => [ @@ -13217,127 +7316,230 @@ 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'A1994B10-C6A8-58FA-8347-6A08B0D4EFDE', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'A1994B10-C6A8-58FA-8347-6A08B0D4EFDE'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A1994B10-C6A8-58FA-8347-6A08B0D4EFDE\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '删除服务版本', - ], - 'CreateSource' => [ - 'summary' => '创建来源。', - 'path' => '/v1/sources', - 'methods' => [ - 'post', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteServiceVersion'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteServiceVersion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A1994B10-C6A8-58FA-8347-6A08B0D4EFDE\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + ], + 'DeleteSource' => [ + 'summary' => '删除服务来源。', + 'path' => '/v1/sources/{sourceId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '237746', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '237748', + 'abilityTreeNodes' => ['FEATUREapigatewayVWMWWM', 'FEATUREapigatewayAGWW5S'], + ], + 'parameters' => [ + [ + 'name' => 'sourceId', + 'in' => 'path', + 'schema' => ['description' => '来源ID。', 'type' => 'string', 'required' => false, 'example' => 'src-crdddallhtgtriah***'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Response schema', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除来源', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSource'], ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteSource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Source', 'arn' => 'acs:apig:{#regionId}:{#accountId}:source/{#SourceId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DeployHttpApi' => [ + 'summary' => '发布HTTP API。包括Rest API 和HTTP API里的路由。', + 'path' => '/v1/http-apis/{httpApiId}/deploy', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'paid', + 'abilityTreeCode' => '237786', + 'abilityTreeNodes' => ['FEATUREapigatewayTZMIOF'], + ], 'parameters' => [ [ + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['title' => 'HTTP API ID。', 'description' => 'HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cr68g1dlhtgm31fb***'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ + 'title' => '请求Body。', 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq7l5s5lhtgi6q***', - ], - 'type' => [ - 'description' => '来源类型:'."\n" - .'- MSE_NACOS: MSE Nacos。'."\n" - .'- K8S: 容器服务。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'K8S' => '容器服务', - 'MSE_NACOS' => 'MSE Nacos', - ], - 'example' => 'MSE_NACOS', - ], - 'k8sSourceConfig' => [ - 'description' => '容器服务来源配置。', + 'routeId' => ['title' => '路由ID。当发布HTTP API的路由时候,必须传入。', 'description' => '路由ID。当发布HTTP API的路由时候,必须传入。', 'type' => 'string', 'required' => false, 'example' => 'hr-cr82undlhtgrl***'], + 'restApiConfig' => [ + 'title' => 'Rest API部署配置。当发布HTTP API为Rest API必填。', + 'description' => 'Rest API部署配置。当发布HTTP API为Rest API必填。', 'type' => 'object', 'properties' => [ - 'clusterId' => [ - 'description' => '容器服务集群ID。', - 'type' => 'string', + 'revisionId' => ['title' => '历史版本号,若指定该字段,发布信息以历史版本信息为准。', 'description' => '历史版本号,若指定该字段,发布信息以历史版本信息为准。', 'type' => 'string', 'required' => false, 'example' => 'apr-xxx'."\n"], + 'description' => ['title' => '发布描述。', 'description' => '发布描述。', 'type' => 'string', 'required' => false, 'example' => '用户服务API发布。'], + 'environment' => [ + 'title' => '发布环境配置。', + 'description' => '发布环境配置。', + 'type' => 'object', + 'properties' => [ + 'environmentId' => ['title' => '环境ID。', 'description' => '环境ID。', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => 'env-cpqnr6tlhtgubc***'], + 'customDomainIds' => [ + 'title' => '域名ID。', + 'description' => '用户域名列表。', + 'type' => 'array', + 'items' => ['title' => '域名ID。', 'description' => '域名ID。', 'type' => 'string', 'required' => false, 'example' => 'd-cr62ts5lhtgln***'], + 'required' => false, + ], + 'backendScene' => [ + 'title' => 'API发布场景。', + 'description' => 'API发布场景。', + 'type' => 'string', + 'deprecated' => true, + 'required' => false, + 'enumValueTitles' => ['SingleService' => '单服务', 'MultiServiceByRatio' => '按比例灰度', 'MultiServiceByContent' => '按内容', 'Mock' => 'Mock'], + 'example' => 'SingleService', + ], + 'serviceConfigs' => [ + 'title' => '已有服务配置。', + 'description' => '已有服务配置,单服务场景下仅允许配置一个条目,按比例、按内容等场景下允许配置多个条目。', + 'type' => 'array', + 'items' => [ + 'title' => '已有服务配置。', + 'description' => '已有服务配置。', + 'type' => 'object', + 'properties' => [ + 'serviceId' => ['title' => '服务ID。', 'description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-cr6pk4tlhtgm58e***'], + 'protocol' => [ + 'title' => '服务协议:'."\n" + .'- HTTP。'."\n" + .'- HTTPS。', + 'description' => '服务协议:'."\n" + .'- HTTP。'."\n" + .'- HTTPS。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['HTTPS' => 'HTTPS协议', 'HTTP' => 'HTTP协议'], + 'example' => 'HTTP', + ], + 'port' => ['title' => '服务端口, 动态端口不传入。', 'description' => '服务端口, 动态端口不传入。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'weight' => ['title' => '权重,范围[1,100],仅在按比例场景下有效。', 'description' => '权重,范围[1,100],仅在按比例场景下有效。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '49'], + 'version' => ['title' => '服务版本。', 'description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => 'v1'], + 'match' => ['title' => 'API发布相关的匹配条件配置。', 'description' => 'API发布相关的匹配条件配置。', 'required' => false, 'example' => '{\\"change_order_revision\\":\\"3.657.33_fc-hz-yunqi.1662568293908382_faas-eerouter\\"}', '$ref' => '#/components/schemas/HttpApiBackendMatchConditions'], + ], + 'required' => false, + ], + 'deprecated' => true, + 'required' => false, + ], + ], 'required' => false, - 'example' => 'c3fbe6caaaece4062b*****', ], - 'authorizeSecurityGroupRules' => [ - 'description' => '网关安全组授权规则配置列表。', + 'operationIds' => [ + 'description' => '操作 ID', + 'type' => 'array', + 'items' => ['description' => '参数', 'type' => 'string', 'required' => false, 'example' => 'xxxxxx'], + 'deprecated' => true, + 'required' => false, + ], + 'gatewayId' => ['title' => '网关实例ID。', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-cvn2u46m1hkun04oll8g'], + 'operationDeployments' => [ + 'title' => '接口发布配置', + 'description' => 'Operation级别的发布控制列表', 'type' => 'array', 'items' => [ - 'description' => '网关安全组授权规则配置。', + 'title' => '接口发布配置对象', + 'description' => '参数', 'type' => 'object', 'properties' => [ - 'securityGroupId' => [ - 'description' => '安全组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'sg-bp14w4fa4j***', - ], - 'portRanges' => [ - 'description' => '端口范围列表。', - 'type' => 'array', - 'items' => [ - 'description' => '端口范围。', - 'type' => 'string', - 'required' => false, - 'example' => '8080/8082', - ], - 'required' => false, - ], - 'description' => [ - 'description' => '规则描述。', + 'operationId' => ['title' => '接口ID。', 'description' => 'Operation的唯一标识', 'type' => 'string', 'required' => false, 'example' => 'op-xxx'], + 'action' => [ + 'title' => '预检后将执行的动作。'."\n" + .'- Create:创建。'."\n" + .'- Update: 更新。', + 'description' => '操作类型', 'type' => 'string', 'required' => false, - 'example' => '预发网关访问安全组', + 'enumValueTitles' => ['Unpublish' => '下线接口,将接口从环境中移除', 'Publish' => '发布接口,将接口部署到指定环境'], + 'example' => 'Publish', + 'enum' => ['Publish', 'Unpublish'], ], ], 'required' => false, @@ -13347,27 +7549,24 @@ ], 'required' => false, ], - 'nacosSourceConfig' => [ - 'description' => 'MSE Nacos来源配置。', + 'httpApiConfig' => [ + 'description' => 'Http API 部署配置', 'type' => 'object', 'properties' => [ - 'instanceId' => [ - 'description' => 'Nacos实例ID。', - 'type' => 'string', + 'gatewayId' => ['title' => '网关id。', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-csrhgfmm1hknf0hu6o3g'], + 'routeIds' => [ + 'description' => '路由 ID', + 'type' => 'array', + 'items' => ['description' => '参数', 'type' => 'string', 'required' => false, 'example' => 'xxxxxx'], 'required' => false, - 'example' => 'mse-cn-0dw3w***', ], ], + 'deprecated' => true, 'required' => false, ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-xxx', - ], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -13378,79 +7577,71 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '0C2D1C68-0D93-5561-8EE6-FDB7BF067A30'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'sourceId' => [ - 'description' => '来源ID', - 'type' => 'string', - 'example' => 'src-crdddallhtgt***', - ], + 'httpApiId' => ['description' => 'HTTP API ID。', 'type' => 'string', 'example' => 'api-xxx'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0C2D1C68-0D93-5561-8EE6-FDB7BF067A30\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"httpApiId\\": \\"api-xxx\\"\\n }\\n}","type":"json"}]', + 'title' => '发布API', + 'changeSet' => [ + ['createdAt' => '2026-04-21T08:47:34.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2026-02-09T13:46:05.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"sourceId\\": \\"src-crdddallhtgt***\\"\\n }\\n}","type":"json"}]', - 'title' => '创建来源', - ], - 'GetSource' => [ - 'summary' => '获取服务来源详情。', - 'path' => '/v1/sources/{sourceId}', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeployHttpApi'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeployHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + ], + 'DeployMcpServer' => [ + 'summary' => '发布MCP server。', + 'path' => '/v1/mcp-servers/{mcpServerId}/deploy', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '247800', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayNPQVBL', - ], + 'abilityTreeCode' => '281132', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], ], 'parameters' => [ [ - 'name' => 'sourceId', + 'name' => 'mcpServerId', 'in' => 'path', - 'schema' => [ - 'title' => '资源一级ID', - 'description' => '资源一级ID', - 'type' => 'string', - 'required' => false, - 'example' => 'src-d1596kem1hkv3o72qkdg', - ], + 'schema' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-adfefz24afg'], ], ], 'responses' => [ @@ -13460,391 +7651,247 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'ID of the request', - 'type' => 'string', - 'example' => 'DE10E3C0-A676-5169-812D-6610AACBFAFF', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'sourceId' => [ - 'description' => '来源ID', - 'type' => 'string', - 'example' => 'src-crdddallhtgt***', - ], - 'name' => [ - 'description' => '名称。', - 'type' => 'string', - 'example' => 'import-test', - ], - 'k8SSourceInfo' => [ - 'description' => 'K8S 来源信息', - 'type' => 'object', - 'properties' => [ - 'clusterId' => [ - 'description' => '容器服务集群ID。', - 'type' => 'string', - 'example' => 'c2d290b2d8b5d4935864cace5f0173f31', - ], - ], - ], - 'nacosSourceInfo' => [ - 'description' => 'MSE Nacos来源信息。', - 'type' => 'object', - 'properties' => [ - 'instanceId' => [ - 'description' => 'Nacos实例ID。', - 'type' => 'string', - 'example' => 'hgprecn-cn-cfn47q7oh001', - ], - 'clusterId' => [ - 'description' => '集群ID。', - 'type' => 'string', - 'example' => 'fluss-cn-w7k4hann601', - ], - 'address' => [ - 'description' => 'Nacos实例访问地址。', - 'type' => 'string', - 'example' => 'mse', - ], - ], - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'example' => 'gw-cq2vundlhtg***', - ], - 'type' => [ - 'description' => '类型。', - 'type' => 'string', - 'example' => 'K8S', - ], - 'resourceGroupId' => [ - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-aekz4us4iruleja', - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DE10E3C0-A676-5169-812D-6610AACBFAFF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"sourceId\\": \\"src-crdddallhtgt***\\",\\n \\"name\\": \\"import-test\\",\\n \\"k8SSourceInfo\\": {\\n \\"clusterId\\": \\"c2d290b2d8b5d4935864cace5f0173f31\\"\\n },\\n \\"nacosSourceInfo\\": {\\n \\"instanceId\\": \\"hgprecn-cn-cfn47q7oh001\\",\\n \\"clusterId\\": \\"fluss-cn-w7k4hann601\\",\\n \\"address\\": \\"mse\\"\\n },\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"type\\": \\"K8S\\",\\n \\"resourceGroupId\\": \\"rg-aekz4us4iruleja\\"\\n }\\n}","type":"json"}]', - 'title' => '获取服务来源详情', - ], - 'DeleteSource' => [ - 'summary' => '删除服务来源。', - 'path' => '/v1/sources/{sourceId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '发布MCP Server', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeployMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'DescribeRegions' => [ + 'summary' => '查询当前账号可见的云原生API网关开服地域', + 'path' => '/v1/regions', + 'methods' => ['get', 'post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/x-www-form-urlencoded', 'application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '237748', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayVWMWWM', - 'FEATUREapigatewayAGWW5S', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'sourceId', - 'in' => 'path', - 'schema' => [ - 'description' => '来源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'src-crdddallhtgtriah***', - ], + 'name' => 'language', + 'in' => 'query', + 'schema' => ['title' => '返回结果语言,取值:zh、en。', 'description' => '返回结果语言,取值:zh、en。', 'type' => 'string', 'required' => false, 'example' => 'zh'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Response schema', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => '请求唯一标识。', 'description' => '请求唯一标识。', 'type' => 'string', 'example' => 'E6BD6C79-32B1-5D7E-A89A-93C5A6B7xxxx'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['title' => '响应信息。', 'description' => '响应信息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'title' => '地域列表。', + 'description' => '地域列表。', + 'type' => 'array', + 'items' => [ + 'title' => '地域详情。', + 'description' => '地域详情。', + 'type' => 'object', + 'properties' => [ + 'regionId' => ['title' => '地域ID。', 'description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'localName' => ['title' => '地域展示名称。', 'description' => '地域展示名称。', 'type' => 'string', 'example' => 'China (Beijing)'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询APIG的Region列表', + 'changeSet' => [ + ['createdAt' => '2026-06-15T11:25:26.000Z', 'description' => '响应参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除来源', - ], - 'CreateGateway' => [ - 'summary' => '创建云原生网关。', - 'path' => '/v1/gateways', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"E6BD6C79-32B1-5D7E-A89A-93C5A6B7xxxx\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": [\\n {\\n \\"regionId\\": \\"cn-hangzhou\\",\\n \\"localName\\": \\"China (Beijing)\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ExportHttpApi' => [ + 'summary' => '导出指定的HTTP API。', + 'path' => '/v1/http-apis/{httpApiId}/export', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'none', + 'operationType' => 'none', + 'riskType' => 'high', 'chargeType' => 'paid', - 'abilityTreeCode' => '220852', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'abilityTreeNodes' => ['FEATUREapigateway9WMX21'], ], 'parameters' => [ [ + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['title' => 'API ID。', 'description' => 'HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body。', + 'title' => '导出配置', + 'description' => '导出配置', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '网关名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test-ceshi', - ], - 'chargeType' => [ - 'description' => '付费类型。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'POSTPAY' => '包年包月', - 'PREPAY' => '按量付费', - ], - 'example' => 'POSTPAY', - ], - 'gatewayType' => [ - 'description' => '网关类型。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AI' => 'AI网关', - 'API' => '云原生API网关', - ], - 'example' => 'API', - ], - 'spec' => [ - 'description' => '节点规格。', - 'type' => 'string', - 'required' => false, - 'example' => 'apigw.dev.x2', - ], - 'vpcId' => [ - 'description' => '专有网络ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vpc-zm0x16tomfiat1mk9f6rs', - ], - 'networkAccessConfig' => [ - 'description' => '网络访问配置。', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => '网络访问类型。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'InternetAndIntranet' => '公网+私网', - 'Intranet' => '私网', - 'Internet' => '公网', - ], - 'example' => 'Internet', - ], - ], + 'gatewayId' => ['title' => '导出网关拓展信息时,需指定网关实例ID', 'description' => '导出网关拓展信息时,需指定网关实例ID', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx'], + 'operationIds' => [ + 'title' => '导出REST API时选择导出某几个接口', + 'description' => '导出REST API时选择导出某几个接口', + 'type' => 'array', + 'items' => ['title' => '网关拓展信息配置', 'description' => '网关拓展信息配置', 'type' => 'string', 'required' => false, 'example' => 'op-xxxx'], 'required' => false, ], - 'zoneConfig' => [ - 'description' => '可用区配置。', + 'extensionConfig' => [ + 'title' => '是否到处插件配置', + 'description' => '是否到处插件配置', 'type' => 'object', 'properties' => [ - 'selectOption' => [ - 'description' => '可用区选项。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Auto' => '自动', - 'Manual' => '手动', - ], - 'example' => 'Manual', - ], - 'vSwitchId' => [ - 'description' => '虚拟交换机ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-xxx', - ], - 'zones' => [ - 'description' => '支持的可用区列表。', - 'type' => 'array', - 'items' => [ - 'description' => '可用区信息。', - 'type' => 'object', - 'properties' => [ - 'zoneId' => [ - 'description' => '可用区ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-wulanchabu-a', - ], - 'vSwitchId' => [ - 'description' => '虚拟交换机ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'vsw-xx', - ], - ], - 'required' => false, - ], - 'required' => false, - ], + 'withPlugin' => ['title' => '是否到处插件配置', 'description' => '是否到处插件配置', 'type' => 'boolean', 'required' => false], + 'withPolicy' => ['title' => '是否到处策略配置', 'description' => '是否到处策略配置', 'type' => 'boolean', 'required' => false], + 'withService' => ['title' => '是否到处后端服务', 'description' => '是否到处后端服务', 'type' => 'boolean', 'required' => false], + 'withAuthConfig' => ['title' => '是否到处接口或路由的消费者授权配置', 'description' => '是否到处接口或路由的消费者授权配置', 'type' => 'boolean', 'required' => false, 'default' => 'false'], + 'withAuthConsumer' => ['title' => '是否到处授权的消费者', 'description' => '是否到处授权的消费者', 'type' => 'boolean', 'required' => false], ], 'required' => false, ], - 'logConfig' => [ - 'description' => '网关日志配置。', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '响应。', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '4BACB05C-3FE2-588F-9148-700C5C026B74'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'title' => 'API定义信息。', + 'description' => 'API定义信息。', 'type' => 'object', 'properties' => [ - 'sls' => [ - 'description' => 'sls日志配置。', - 'type' => 'object', - 'properties' => [ - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], - ], - 'required' => false, - ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-ahr5uil8raz0rq3b', - ], - 'tag' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签值。', - 'type' => 'object', - 'properties' => [ - 'key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'required' => false, - 'example' => 'key', - ], - 'value' => [ - 'description' => '标签value。', - 'type' => 'string', - 'required' => false, - 'example' => 'value', - ], - ], - 'required' => false, + 'specContentBase64' => ['title' => 'Base64编码的API定义。', 'description' => 'Base64编码的API定义。', 'type' => 'string', 'example' => 'b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo='], ], - 'required' => false, - ], - 'gatewayEdition' => [ - 'title' => '网关实例版本:'."\n" - ."\n" - .'- 普通实例:Professional'."\n" - ."\n" - .'- Serverless:Serverless(当前只支持AI网关)', - 'type' => 'string', - 'required' => false, - 'default' => 'Professional', - 'example' => 'Professional', ], ], - 'required' => false, ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"4BACB05C-3FE2-588F-9148-700C5C026B74\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"specContentBase64\\": \\"b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo=\\"\\n }\\n}","type":"json"}]', + 'title' => '导出HTTP API', + 'changeSet' => [ + ['createdAt' => '2026-04-02T09:33:06.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportHttpApi'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ExportHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + ], + ], + 'GetConsumer' => [ + 'summary' => '获取消费者。', + 'path' => '/v1/consumers/{consumerId}', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '248090', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + ], + 'parameters' => [ + [ + 'name' => 'consumerId', + 'in' => 'path', + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-ctb92p6m1hkqu85iph8g'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ @@ -13852,30 +7899,42 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '9CDE3E69-69C2-5402-83AD-ACA80B1AF35B', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '880C61B3-7B90-5570-A3F7-D6D92C0E2D36'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'example' => 'gw-cq2vundlhtg***', + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-cvgbtk6m1hkji5sb8dr0'], + 'name' => ['description' => '消费者名称。', 'type' => 'string', 'example' => 'consumer-1'], + 'description' => ['description' => '描述。', 'type' => 'string', 'example' => '测试专用消费者'], + 'jwtIdentityConfig' => ['description' => 'JWT身份鉴权配置。', '$ref' => '#/components/schemas/JwtIdentityConfig'], + 'apiKeyIdentityConfig' => ['description' => 'APIKEY身份鉴权配置。', '$ref' => '#/components/schemas/ApiKeyIdentityConfig'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'example' => 'true'], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => '""'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'akSkIdentityConfigs' => [ + 'description' => 'AKSK身份鉴权配置。', + 'type' => 'array', + 'items' => ['description' => '参数', '$ref' => '#/components/schemas/AkSkIdentityConfig'], + ], + 'consumerGroups' => [ + 'title' => '消费者所属的消费者组列表。', + 'description' => '消费者所属的消费者组列表。', + 'type' => 'array', + 'items' => [ + 'title' => '消费者所属消费者组列表项。', + 'description' => '消费者所属消费者组列表项。', + 'type' => 'object', + 'properties' => [ + 'consumerGroupId' => ['title' => '消费者组ID。', 'description' => '消费者组ID。', 'type' => 'string', 'example' => 'csg-8c13d2b4f8a1'], + 'name' => ['title' => '消费者组名称。', 'description' => '消费者组名称。', 'type' => 'string', 'example' => 'api-consumer-group'], + 'description' => ['title' => '消费者组描述。', 'description' => '消费者组描述。', 'type' => 'string', 'example' => '用于线上 API 调用方分组'], + 'joinTimestamp' => ['title' => '加入消费者组的时间,Unix 毫秒时间戳。', 'description' => '加入消费者组的时间,Unix 毫秒时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1715769600000'], + ], + ], ], ], ], @@ -13883,288 +7942,525 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"880C61B3-7B90-5570-A3F7-D6D92C0E2D36\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerId\\": \\"cs-cvgbtk6m1hkji5sb8dr0\\",\\n \\"name\\": \\"consumer-1\\",\\n \\"description\\": \\"测试专用消费者\\",\\n \\"jwtIdentityConfig\\": {\\n \\"type\\": \\"Jwt\\",\\n \\"secretType\\": \\"Symmetry\\",\\n \\"remoteJwks\\": \\"{\\\\\\"uri\\\\\\":\\\\\\"https://example.com/.well-known/jwks.json\\\\\\"}\\",\\n \\"jwks\\": \\"xxxx\\",\\n \\"jwtTokenConfig\\": {\\n \\"position\\": \\"HEADER\\",\\n \\"key\\": \\"Authorization\\",\\n \\"prefix\\": \\"test\\",\\n \\"pass\\": true\\n },\\n \\"jwtPayloadConfig\\": {\\n \\"payloadKeyName\\": \\"uid\\",\\n \\"payloadKeyValue\\": \\"2222\\"\\n },\\n \\"claimsToHeadersConfigs\\": [\\n {\\n \\"claim\\": \\"sub\\",\\n \\"header\\": \\"X-Consumer-Id\\",\\n \\"override\\": true\\n }\\n ]\\n },\\n \\"apiKeyIdentityConfig\\": {\\n \\"type\\": \\"Apikey\\",\\n \\"apikeySource\\": {\\n \\"source\\": \\"Default\\",\\n \\"value\\": \\"xxxx\\"\\n },\\n \\"credentials\\": [\\n {\\n \\"generateMode\\": \\"System\\",\\n \\"apikey\\": \\"xxxxx\\"\\n }\\n ]\\n },\\n \\"enable\\": true,\\n \\"deployStatus\\": \\"\\\\\\"\\\\\\"\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"akSkIdentityConfigs\\": [\\n {\\n \\"type\\": \\"Jwt\\",\\n \\"generateMode\\": \\"System\\",\\n \\"ak\\": \\"xxxx\\",\\n \\"sk\\": \\"xxxx\\"\\n }\\n ],\\n \\"consumerGroups\\": [\\n {\\n \\"consumerGroupId\\": \\"csg-8c13d2b4f8a1\\",\\n \\"name\\": \\"api-consumer-group\\",\\n \\"description\\": \\"用于线上 API 调用方分组\\",\\n \\"joinTimestamp\\": 1715769600000\\n }\\n ]\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9CDE3E69-69C2-5402-83AD-ACA80B1AF35B\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\"\\n }\\n}","type":"json"}]', - 'title' => '创建网关', - ], - 'UpdateGatewayName' => [ - 'summary' => '修改网关名称。', - 'path' => '/v1/gateways/{gatewayId}/name', - 'methods' => [ - 'put', + 'title' => '获取消费者', + 'changeSet' => [ + ['createdAt' => '2026-01-23T09:12:29.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + ], + ], + 'GetConsumerAuthorizationRule' => [ + 'summary' => '获取消费者授权规则。', + 'path' => '/v1/consumers/{consumerId}/authorization-rules/{consumerAuthorizationRuleId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '248110', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'gatewayId', + 'name' => 'consumerAuthorizationRuleId', 'in' => 'path', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl****', - ], + 'schema' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'required' => false, 'example' => 'car-ctgdn8em1hko5krqq03g'], ], [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'description' => '网关名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'dev-itemcenter-router', - ], + 'name' => 'consumerId', + 'in' => 'path', + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-ctgdn2um1hkossul8gvg'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '53102737-1E4E-5A8B-8E0A-4184B0959B84'], + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-ctgdn2um1hkossul8gvg'], + 'consumerAuthorizationRuleId' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'example' => 'car-ctgdn8em1hko5krqq03g'], + 'apiInfo' => ['description' => 'API信息。', '$ref' => '#/components/schemas/HttpApiApiInfo'], + 'environmentInfo' => ['description' => '环境信息。', '$ref' => '#/components/schemas/EnvironmentInfo'], + 'gatewayInfo' => ['description' => '网关信息。', '$ref' => '#/components/schemas/GatewayInfo'], + 'resourceType' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'API'], + 'expireStatus' => ['description' => '失效状态。', 'type' => 'string', 'example' => 'true'], + 'expireMode' => ['description' => '失效模式。LongTerm、ShortTerm,二选一。', 'type' => 'string', 'example' => 'LongTerm'], + 'expireTimestamp' => ['description' => '到期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750852089975'], + 'createTimestamp' => ['description' => '创建时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750852089975'], + 'updateTimestamp' => ['description' => '更新时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1750852089975'], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => '""'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '修改网关名称', - ], - 'UpdateGatewayFeature' => [ - 'summary' => '更新网关特性参数。', - 'path' => '/v1/gateways/{gatewayId}/gateway-features/{name}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取消费者授权规则', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetConsumerAuthorizationRule'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"53102737-1E4E-5A8B-8E0A-4184B0959B84\\",\\n \\"consumerId\\": \\"cs-ctgdn2um1hkossul8gvg\\",\\n \\"consumerAuthorizationRuleId\\": \\"car-ctgdn8em1hko5krqq03g\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": false,\\n \\"createTimestamp\\": 1721116090326,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"resourceType\\": \\"API\\",\\n \\"expireStatus\\": \\"true\\",\\n \\"expireMode\\": \\"LongTerm\\",\\n \\"expireTimestamp\\": 1750852089975,\\n \\"createTimestamp\\": 1750852089975,\\n \\"updateTimestamp\\": 1750852089975,\\n \\"deployStatus\\": \\"\\\\\\"\\\\\\"\\"\\n}","type":"json"}]', + ], + 'GetDashboard' => [ + 'summary' => '获取监控日志大盘接口。', + 'path' => '/v1/gateways/{gatewayId}/dashboards', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '220139', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '224658', + 'abilityTreeNodes' => ['FEATUREapigatewayVA59LH'], ], 'parameters' => [ [ 'name' => 'gatewayId', 'in' => 'path', + 'schema' => ['title' => '网关唯一标识', 'description' => '网关唯一标识', 'type' => 'string', 'required' => false, 'example' => 'gw-co370icmjeu****'], + ], + [ + 'name' => 'pluginClassId', + 'in' => 'query', + 'schema' => ['description' => '插件类型ID', 'type' => 'string', 'required' => false, 'example' => 'pls-dn82a9djd8z****'], + ], + [ + 'name' => 'apiId', + 'in' => 'query', + 'schema' => ['description' => 'API唯一ID。', 'type' => 'string', 'required' => false, 'example' => 'api-ctl7no6m1h****'], + ], + [ + 'name' => 'routeId', + 'in' => 'query', + 'schema' => ['description' => '路由ID', 'type' => 'string', 'required' => false, 'example' => 'route-xxx'], + ], + [ + 'name' => 'source', + 'in' => 'query', 'schema' => [ - 'description' => '网关ID。', + 'title' => '大盘来源:'."\n" + .'- SLS:日志大盘', + 'description' => '大盘来源:'."\n" + .'- SLS:日志大盘', 'type' => 'string', 'required' => false, - 'example' => 'gw-cq2avtllh****', + 'enumValueTitles' => ['CMS' => 'CMS', 'ARMS' => 'ARMS', 'SLS' => 'SLS'], + 'example' => 'SLS', ], ], [ 'name' => 'name', - 'in' => 'path', - 'schema' => [ - 'description' => '特性参数名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'enable-gzip', - ], + 'in' => 'query', + 'schema' => ['title' => '大盘名称:'."\n" + .'- LOG:访问日志'."\n" + .'- PLUGIN:插件日志', 'description' => '大盘名称:'."\n" + .'- LOG:访问日志'."\n" + .'- PLUGIN:插件日志', 'type' => 'string', 'required' => false, 'example' => 'PLUGIN'], ], [ - 'name' => 'body', - 'in' => 'body', + 'name' => 'filter', + 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => '请求Body。', + 'title' => '过滤配置', + 'description' => '过滤配置', 'type' => 'object', 'properties' => [ - 'value' => [ - 'description' => '参数值。', - 'type' => 'string', - 'required' => false, - 'example' => '"true"', - ], + 'routeName' => ['title' => '路由名称', 'description' => '路由名称', 'type' => 'string', 'required' => false, 'example' => 'test-route'], ], 'required' => false, ], ], + [ + 'name' => 'acceptLanguage', + 'in' => 'query', + 'schema' => ['description' => 'zh: 中文'."\n" + .'en: 英文', 'type' => 'string', 'required' => false, 'example' => 'zh'], + ], + [ + 'name' => 'upstreamCluster', + 'in' => 'query', + 'schema' => ['description' => 'AI服务标识', 'type' => 'string', 'required' => false, 'example' => 'outbound|443||ds.ai'], + ], + [ + 'name' => 'pluginId', + 'in' => 'query', + 'schema' => ['description' => '插件ID', 'type' => 'string', 'required' => false, 'example' => 'inner-ai-search-cvd3mcum1hks660icn10'], + ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '043360DA-ED3B-5386-9B7A-D94DECF99A30', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C'], + 'code' => ['title' => '响应码', 'description' => '响应码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'success' => ['title' => '请求是否成功', 'description' => '请求是否成功', 'type' => 'boolean', 'example' => 'true'], + 'errorCode' => ['title' => '后端错误码', 'description' => '后端错误码', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '错误信息', 'description' => '错误信息', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'title' => '响应数据', + 'description' => '响应数据', + 'type' => 'object', + 'properties' => [ + 'name' => ['title' => '大盘名称', 'description' => '大盘名称', 'type' => 'string', 'example' => 'PLUGIN'], + 'title' => ['title' => '大盘标题', 'description' => '大盘标题', 'type' => 'string', 'example' => 'APIG Plugin'], + 'url' => ['title' => '大盘URL链接', 'description' => '大盘URL链接', 'type' => 'string', 'example' => 'https://sls.console.aliyun.com/lognext/project/xxxxx'], + 'gatewayId' => ['title' => '网关唯一标识', 'description' => '网关唯一标识', 'type' => 'string', 'example' => 'gw-co370icmjeu****'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取监控大盘', + 'changeSet' => [ + ['createdAt' => '2025-07-24T12:32:04.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-03-31T08:14:19.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-24T03:18:06.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"043360DA-ED3B-5386-9B7A-D94DECF99A30\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', - 'title' => '更新网关特性参数', - ], - 'UpgradeGateway' => [ - 'summary' => '升级网关版本。', - 'path' => '/v1/gateways/{gatewayId}/upgrade', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDashboard'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetDashboard', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C\\",\\n \\"code\\": 200,\\n \\"success\\": true,\\n \\"errorCode\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"name\\": \\"PLUGIN\\",\\n \\"title\\": \\"APIG Plugin\\",\\n \\"url\\": \\"https://sls.console.aliyun.com/lognext/project/xxxxx\\",\\n \\"gatewayId\\": \\"gw-co370icmjeu****\\"\\n }\\n}","type":"json"}]', + ], + 'GetDomain' => [ + 'summary' => '查询域名。', + 'path' => '/v1/domains/{domainId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219001', + 'abilityTreeNodes' => ['FEATUREapigatewayLPOSXV'], ], 'parameters' => [ [ - 'name' => 'gatewayId', + 'name' => 'domainId', 'in' => 'path', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq2avtllh****', - ], + 'schema' => ['description' => '域名id。', 'type' => 'string', 'required' => true, 'example' => 'd-cpqnfn5lhtgqbga95sv1'], ], [ - 'name' => 'version', + 'name' => 'withStatistics', 'in' => 'query', + 'schema' => ['description' => '是否返回线上资源信息。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '网关版本。', - 'type' => 'string', - 'required' => false, - 'example' => '2.0.2', + 'title' => 'Schema of Response', + 'description' => '返回结构体', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'domainId' => ['description' => '域名id。', 'type' => 'string', 'example' => 'd-cq1m3utlhtgvgkv7sitg'], + 'name' => ['description' => '域名。', 'type' => 'string', 'example' => 'abc.com'], + 'protocol' => ['description' => '域名支持的协议类型。'."\n" + ."\n" + .'- HTTP:仅支持HTTP协议。'."\n" + .'- HTTPS:仅支持HTTPS协议。', 'type' => 'string', 'example' => 'HTTP'], + 'domainScope' => ['title' => '域名作用域', 'description' => '域名作用域', 'type' => 'string', 'example' => 'Serverless'], + 'createFrom' => [ + 'description' => '从哪里创建。', + 'type' => 'string', + 'enumValueTitles' => ['Console' => 'Console', 'Ingress' => 'Ingress'], + 'example' => 'Console', + ], + 'forceHttps' => ['description' => '设置HTTPS协议类型,是否开启强制HTTPS跳转。', 'type' => 'boolean', 'example' => 'false'], + 'certIdentifier' => ['description' => '证书标识', 'type' => 'string', 'example' => '2382***-cn-hangzhou'], + 'certDetailStatus' => ['description' => '证书详情状态', 'type' => 'string', 'example' => '-'], + 'certDetailErrorCode' => ['description' => '证书详情错误码', 'type' => 'string', 'example' => '-'], + 'certDetailErrorMessage' => ['description' => '证书详情错误信息', 'type' => 'string', 'example' => '-'], + 'caCertIdentifier' => ['description' => 'CA证书标识。', 'type' => 'string', 'example' => '8237***-cn-hangzhou'], + 'default' => ['description' => '是否默认域名。', 'type' => 'boolean', 'example' => 'false'], + 'http2Option' => [ + 'description' => 'http2设置。', + 'type' => 'string', + 'enumValueTitles' => ['GlobalConfig' => 'GlobalConfig', 'Close' => 'Close', 'Open' => 'Open'], + 'example' => 'Open', + ], + 'tlsMax' => ['description' => 'TLS协议最大版本,最大支持TLS 1.3。', 'type' => 'string', 'example' => 'TLS 1.3'], + 'tlsMin' => ['description' => 'TLS协议最小版本,最小支持TLS 1.0', 'type' => 'string', 'example' => 'TLS 1.0'."\n"], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updatetimestamp' => ['description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'certName' => ['description' => '证书名称', 'type' => 'string', 'example' => 'test-cert'], + 'sans' => ['description' => '证书绑定的所有域名。', 'type' => 'string', 'example' => 'aliyun.com'], + 'notAfterTimstamp' => ['description' => '证书过期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'notBeforeTimestamp' => ['description' => '证书生效时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'algorithm' => ['description' => '加密算法名称', 'type' => 'string', 'example' => 'RSA'], + 'issuer' => ['description' => '证书颁发机构。', 'type' => 'string', 'example' => 'Alibaba'], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-aekztduhoagat4y'], + 'statisticsInfo' => [ + 'description' => '线上资源信息。', + 'type' => 'object', + 'properties' => [ + 'totalCount' => ['description' => '总数量。', 'type' => 'string', 'example' => '30'], + 'resourceStatistics' => [ + 'description' => '资源统计。', + 'type' => 'array', + 'items' => ['description' => '资源统计。', '$ref' => '#/components/schemas/ResourceStatistic'], + ], + ], + ], + 'tlsCipherSuitesConfig' => ['description' => '加密套件配置。', '$ref' => '#/components/schemas/TlsCipherSuitesConfig'], + 'mTLSEnabled' => [ + 'description' => '是否开启mTLS双向认证', + 'type' => 'boolean', + 'enumValueTitles' => ['false' => 'false', 'true' => 'true'], + 'example' => 'false', + ], + 'clientCACert' => ['description' => '客户端CA证书', 'type' => 'string', 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/mpTQwDQYJKoZIhvcNAQEL'."\n" + .'BxSbrGeJ8i0576Gn7Qezyho9abZOUhGaPeoB'."\n" + .'AIHWWl428uUSG/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'."\n" + .'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+ZMJ8r4swA4swHwYDVR0jBBgwFoAU'."\n" + .'qroVyYKk7ylhcSn+ZMJ8r4swA4swDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B'."\n" + .'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx='."\n" + .'-----END CERTIFICATE-----'], + ], + ], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], ], ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"data\\": {\\n \\"domainId\\": \\"d-cq1m3utlhtgvgkv7sitg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"domainScope\\": \\"Serverless\\",\\n \\"createFrom\\": \\"Console\\",\\n \\"forceHttps\\": false,\\n \\"certIdentifier\\": \\"2382***-cn-hangzhou\\",\\n \\"certDetailStatus\\": \\"-\\",\\n \\"certDetailErrorCode\\": \\"-\\",\\n \\"certDetailErrorMessage\\": \\"-\\",\\n \\"caCertIdentifier\\": \\"8237***-cn-hangzhou\\",\\n \\"default\\": false,\\n \\"http2Option\\": \\"Open\\",\\n \\"tlsMax\\": \\"TLS 1.3\\",\\n \\"tlsMin\\": \\"TLS 1.0\\\\n\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updatetimestamp\\": 1719386834548,\\n \\"certName\\": \\"test-cert\\",\\n \\"sans\\": \\"aliyun.com\\",\\n \\"notAfterTimstamp\\": 1719386834548,\\n \\"notBeforeTimestamp\\": 1719386834548,\\n \\"algorithm\\": \\"RSA\\",\\n \\"issuer\\": \\"Alibaba\\",\\n \\"resourceGroupId\\": \\"rg-aekztduhoagat4y\\",\\n \\"statisticsInfo\\": {\\n \\"totalCount\\": \\"30\\",\\n \\"resourceStatistics\\": [\\n {\\n \\"resourceType\\": \\"HttpApi\\",\\n \\"resourceCount\\": 10\\n }\\n ]\\n },\\n \\"tlsCipherSuitesConfig\\": {\\n \\"configType\\": \\"Default\\",\\n \\"tlsCipherSuite\\": [\\n {\\n \\"name\\": \\"ECDHE-ECDSA-AES256-GCM-SHA384\\",\\n \\"supportVersions\\": [\\n \\"TLS 1.2\\"\\n ]\\n }\\n ]\\n },\\n \\"mTLSEnabled\\": false,\\n \\"clientCACert\\": \\"-----BEGIN CERTIFICATE-----\\\\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/mpTQwDQYJKoZIhvcNAQEL\\\\nBxSbrGeJ8i0576Gn7Qezyho9abZOUhGaPeoB\\\\nAIHWWl428uUSG/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\\\nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+ZMJ8r4swA4swHwYDVR0jBBgwFoAU\\\\nqroVyYKk7ylhcSn+ZMJ8r4swA4swDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\\\\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=\\\\n-----END CERTIFICATE-----\\"\\n },\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => '查询域名', + 'changeSet' => [ + ['createdAt' => '2026-06-17T12:19:57.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-02-27T07:54:23.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-01-13T02:40:31.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-28T10:53:18.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-20T09:31:24.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-01T11:55:08.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDomain'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], + ], + ], + ], + ], + ], + 'GetEnvironment' => [ + 'summary' => '查询环境。', + 'path' => '/v1/environments/{environmentId}', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => true, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219213', + 'abilityTreeNodes' => ['FEATUREapigatewayN14L0I'], + ], + 'parameters' => [ + [ + 'name' => 'environmentId', + 'in' => 'path', + 'schema' => ['description' => '环境id。', 'type' => 'string', 'required' => true, 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + ], + [ + 'name' => 'withVpcInfo', + 'in' => 'query', + 'schema' => ['description' => '标志是否携带VPC信息。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'withStatistics', + 'in' => 'query', + 'schema' => ['description' => '是否返回线上资源信息。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '043360DA-ED3B-5386-9B7A-D94DECF99A30', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '3F8EE674-BB08-5E92-BE6F-E4756A748B0F'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'."\n"], + 'name' => ['description' => '环境名称。', 'type' => 'string', 'example' => 'test'], + 'alias' => ['description' => '环境别名。', 'type' => 'string', 'example' => '测试环境'], + 'description' => ['description' => '环境描述信息。', 'type' => 'string', 'example' => '这是xxx的xx项目测试环境'], + 'gatewayInfo' => ['description' => '网关信息', '$ref' => '#/components/schemas/GatewayInfo'], + 'subDomainInfos' => [ + 'description' => '子域名列表。', + 'type' => 'array', + 'items' => ['description' => '子域名信息。', '$ref' => '#/components/schemas/SubDomainInfo'], + ], + 'default' => ['description' => '是否默认环境。', 'type' => 'boolean', 'example' => 'true'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-aekz4us4iruleja'], + 'statisticsInfo' => [ + 'description' => '线上资源信息。', + 'type' => 'object', + 'properties' => [ + 'totalCount' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'resourceStatistics' => [ + 'description' => '线上资源数量。', + 'type' => 'array', + 'items' => ['description' => '资源统计。', '$ref' => '#/components/schemas/ResourceStatistic'], + ], + ], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => '查询环境', + 'changeSet' => [ + ['createdAt' => '2024-11-20T09:31:24.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-01T11:55:07.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2024-09-06T06:02:52.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"043360DA-ED3B-5386-9B7A-D94DECF99A30\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '升级网关', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEnvironment'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3F8EE674-BB08-5E92-BE6F-E4756A748B0F\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\\\n\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"resourceGroupId\\": \\"rg-aekz4us4iruleja\\",\\n \\"statisticsInfo\\": {\\n \\"totalCount\\": 1,\\n \\"resourceStatistics\\": [\\n {\\n \\"resourceType\\": \\"HttpApi\\",\\n \\"resourceCount\\": 10\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', ], 'GetGateway' => [ 'summary' => '获取网关的所属VPC,所属交换机, 网关入口等基本信息。', 'path' => '/v1/gateways/{gatewayId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ @@ -14172,20 +8468,13 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '219658', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ 'name' => 'gatewayId', 'in' => 'path', - 'schema' => [ - 'description' => '云原生API网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl*****', - ], + 'schema' => ['description' => '云原生API网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl*****'], ], ], 'responses' => [ @@ -14195,45 +8484,21 @@ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '0F138FFC-6E2B-56C1-9BAB-A67462E339D1', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '0F138FFC-6E2B-56C1-9BAB-A67462E339D1'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'example' => 'gw-cq2vundlhtg***', - ], - 'name' => [ - 'description' => '网关名称。', - 'type' => 'string', - 'example' => 'itemcenter-gateway', - ], + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'example' => 'gw-cq2vundlhtg***'], + 'name' => ['description' => '网关名称。', 'type' => 'string', 'example' => 'itemcenter-gateway'], 'chargeType' => [ 'description' => '付费类型'."\n" .'- POSTPAY 后付费(按量付费)'."\n" .'- PREPAY 预付费(包年包月)', 'type' => 'string', - 'enumValueTitles' => [ - 'POSTPAY' => '按量付费', - 'PREPAY' => '包年包月', - ], + 'enumValueTitles' => ['POSTPAY' => '按量付费', 'PREPAY' => '包年包月'], 'example' => 'POSTPAY', ], 'gatewayType' => [ @@ -14241,10 +8506,7 @@ .'- API:表示 API 网关'."\n" .'- AI: 表示 AI网关', 'type' => 'string', - 'enumValueTitles' => [ - 'AI' => 'AI', - 'API' => 'API', - ], + 'enumValueTitles' => ['AI' => 'AI网关', 'API' => 'API网关'], 'example' => 'API', ], 'status' => [ @@ -14259,70 +8521,29 @@ .'- Deleting: 释放中。'."\n" .'- DeleteFailed: 释放失败。', 'type' => 'string', - 'enumValueTitles' => [ - 'Restarting' => '重启中', - 'Creating' => '创建中', - 'Upgrading' => '升级中', - 'DeleteFailed' => '释放失败', - 'Running' => '运行中', - 'RestartFailed' => '重启失败', - 'Deleting' => '释放中', - 'CreateFailed' => '创建失败', - 'UpgradeFailed' => '升级失败', - ], + 'enumValueTitles' => ['Restarting' => '重启中', 'Creating' => '创建中', 'Upgrading' => '升级中', 'DeleteFailed' => '释放失败', 'Running' => '运行中', 'RestartFailed' => '重启失败', 'Deleting' => '释放中', 'CreateFailed' => '创建失败', 'UpgradeFailed' => '升级失败'], 'example' => 'Running', ], 'spec' => [ 'description' => '网关规格:'."\n" .'- apigw.small.x1: 小规格。', 'type' => 'string', - 'enumValueTitles' => [ - 'apigw.small.x1' => 'apigw.small.x1', - ], + 'enumValueTitles' => ['apigw.small.x1' => '小规格'], 'example' => 'apigw.small.x1', ], - 'replicas' => [ - 'description' => '网关实例节点数。', - 'type' => 'string', - 'example' => '2', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。 单位:毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。 单位:毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'expireTimestamp' => [ - 'description' => '包年包月到期时间戳。 单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], + 'replicas' => ['description' => '网关实例节点数。', 'type' => 'string', 'example' => '2'], + 'createTimestamp' => ['description' => '创建时间戳。 单位:毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。 单位:毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'expireTimestamp' => ['description' => '包年包月到期时间戳。 单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], 'createFrom' => [ 'description' => '网关创建来源:'."\n" .'- Console: 控制台。', 'type' => 'string', - 'enumValueTitles' => [ - 'Console' => '控制台', - ], + 'enumValueTitles' => ['Console' => '控制台'], 'example' => 'Console', ], - 'version' => [ - 'description' => '网关版本。', - 'type' => 'string', - 'example' => '2.0.2', - ], - 'targetVersion' => [ - 'description' => '网关的目标版本。当和version不一致时, 可以进行版本升级。', - 'type' => 'string', - 'example' => '2.0.2', - ], + 'version' => ['description' => '网关版本。', 'type' => 'string', 'example' => '2.0.2'], + 'targetVersion' => ['description' => '网关的目标版本。当和version不一致时, 可以进行版本升级。', 'type' => 'string', 'example' => '2.0.2'], 'environments' => [ 'description' => '网关关联的环境列表。', 'type' => 'array', @@ -14330,21 +8551,9 @@ 'description' => '环境信息。', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'description' => '环境ID。', - 'type' => 'string', - 'example' => 'env-cp9uhudlht***', - ], - 'name' => [ - 'description' => '环境名称。', - 'type' => 'string', - 'example' => 'default-gw-cp9ugg5***', - ], - 'alias' => [ - 'description' => '环境别名', - 'type' => 'string', - 'example' => '默认环境', - ], + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'example' => 'env-cp9uhudlht***'], + 'name' => ['description' => '环境名称。', 'type' => 'string', 'example' => 'default-gw-cp9ugg5***'], + 'alias' => ['description' => '环境别名', 'type' => 'string', 'example' => '默认环境'], ], ], ], @@ -14352,48 +8561,24 @@ 'description' => '网关的安全组。', 'type' => 'object', 'properties' => [ - 'securityGroupId' => [ - 'description' => '安全组ID。', - 'type' => 'string', - 'example' => 'sg-bp16tafq9***', - ], - 'name' => [ - 'description' => '安全组名称。', - 'type' => 'string', - 'example' => 'APIG-sg-gw-cq7ke5ll***', - ], + 'securityGroupId' => ['description' => '安全组ID。', 'type' => 'string', 'example' => 'sg-bp16tafq9***'], + 'name' => ['description' => '安全组名称。', 'type' => 'string', 'example' => 'APIG-sg-gw-cq7ke5ll***'], ], ], 'vSwitch' => [ 'description' => '网关关联的虚拟交换机。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '虚拟交换机名称。', - 'type' => 'string', - 'example' => '杭州VPC虚拟交换机', - ], - 'vSwitchId' => [ - 'description' => '虚拟交换机ID。', - 'type' => 'string', - 'example' => 'vsw-bp1c7ggkj***', - ], + 'name' => ['description' => '虚拟交换机名称。', 'type' => 'string', 'example' => '杭州VPC虚拟交换机'], + 'vSwitchId' => ['description' => '虚拟交换机ID。', 'type' => 'string', 'example' => 'vsw-bp1c7ggkj***'], ], ], 'vpc' => [ 'description' => '网关关联的专有网络。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'VPC网关名称。', - 'type' => 'string', - 'example' => '杭州VPC', - ], - 'vpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-bp1llj52lvj6xc***', - ], + 'name' => ['description' => 'VPC网关名称。', 'type' => 'string', 'example' => '杭州VPC'], + 'vpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-bp1llj52lvj6xc***'], ], ], 'zones' => [ @@ -14407,28 +8592,12 @@ 'description' => '虚拟交换机。', 'type' => 'object', 'properties' => [ - 'vSwitchId' => [ - 'description' => '虚拟交换机ID。', - 'type' => 'string', - 'example' => 'vsw-bp1c7ggkj***', - ], - 'name' => [ - 'description' => '虚拟交换机名称。', - 'type' => 'string', - 'example' => '杭州VPC虚拟交换机'."\n", - ], + 'vSwitchId' => ['description' => '虚拟交换机ID。', 'type' => 'string', 'example' => 'vsw-bp1c7ggkj***'], + 'name' => ['description' => '虚拟交换机名称。', 'type' => 'string', 'example' => '杭州VPC虚拟交换机'."\n"], ], ], - 'name' => [ - 'description' => '可用区名称。', - 'type' => 'string', - 'example' => '杭州可用区E', - ], - 'zoneId' => [ - 'description' => '可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-e', - ], + 'name' => ['description' => '可用区名称。', 'type' => 'string', 'example' => '杭州可用区E'], + 'zoneId' => ['description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-e'], ], ], ], @@ -14443,30 +8612,17 @@ 'description' => '网关的负载均衡提供模式:'."\n" .'- Managed: 云原生API网关管理的。', 'type' => 'string', - 'enumValueTitles' => [ - 'Managed' => 'Managed', - ], + 'enumValueTitles' => ['Managed' => '云原生API网关管理的负载均衡'], 'example' => 'Managed', ], - 'loadBalancerId' => [ - 'description' => '负载均衡ID。', - 'type' => 'string', - 'example' => 'nlb-xoh3pghru7c***', - ], - 'address' => [ - 'description' => '负载均衡地址。', - 'type' => 'string', - 'example' => 'nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com', - ], + 'loadBalancerId' => ['description' => '负载均衡ID。', 'type' => 'string', 'example' => 'nlb-xoh3pghru7c***'], + 'address' => ['description' => '负载均衡地址。', 'type' => 'string', 'example' => 'nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com'], 'addressType' => [ 'description' => '负载均衡地址类型:'."\n" .'- Internet: 公网。'."\n" .'- Intranet: 私网。', 'type' => 'string', - 'enumValueTitles' => [ - 'Intranet' => '私网', - 'Internet' => '公网', - ], + 'enumValueTitles' => ['Intranet' => '私网', 'Internet' => '公网'], 'example' => 'Internet', ], 'addressIpVersion' => [ @@ -14474,26 +8630,16 @@ .'- ipv4: ipv4类型。'."\n" .'- ipv6: ipv6类型。', 'type' => 'string', - 'enumValueTitles' => [ - 'ipv4' => 'ipv4', - 'ipv6' => 'ipv6', - ], + 'enumValueTitles' => ['ipv4' => 'IPv4类型', 'ipv6' => 'IPv6类型'], 'example' => 'ipv4', ], - 'gatewayDefault' => [ - 'description' => '是否是网关默认的入口地址。', - 'type' => 'boolean', - 'example' => 'true', - ], + 'gatewayDefault' => ['description' => '是否是网关默认的入口地址。', 'type' => 'boolean', 'example' => 'true'], 'type' => [ 'description' => '负载均衡类型'."\n" .'- NLB: 网络型负载均衡。'."\n" .'- CLB: 传统型负载均衡。', 'type' => 'string', - 'enumValueTitles' => [ - 'NLB' => '网络型负载均衡', - 'CLB' => '传统型负载均衡', - ], + 'enumValueTitles' => ['NLB' => '网络型负载均衡', 'CLB' => '传统型负载均衡'], 'example' => 'NLB', ], 'ports' => [ @@ -14508,18 +8654,10 @@ .'- TCP'."\n" .'- UDP', 'type' => 'string', - 'enumValueTitles' => [ - 'TCP' => 'TCP', - 'UDP' => 'UDP', - ], + 'enumValueTitles' => ['TCP' => 'TCP协议', 'UDP' => 'UDP协议'], 'example' => 'TCP', ], - 'port' => [ - 'description' => '端口号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], + 'port' => ['description' => '端口号。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], ], ], ], @@ -14528,37 +8666,23 @@ .'- Ready: 可用。'."\n" .'- NotCreate: 未关联实例。', 'type' => 'string', - 'enumValueTitles' => [ - 'Ready' => 'Ready', - ], + 'enumValueTitles' => ['Ready' => '可用', 'NotCreate' => '未关联实例'], 'example' => 'Ready', ], 'ipv4Addresses' => [ 'description' => 'IPv4地址列表', 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["47.xx.xx.xx", "47.xx.xx.yy"]', - ], + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '["47.xx.xx.xx", "47.xx.xx.yy"]'], ], 'ipv6Addresses' => [ 'description' => 'IPv6地址列表', 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["2408:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx"]', - ], + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '["2408:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx"]'], ], ], ], ], - 'resourceGroupId' => [ - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-acfm2ij6pwxsvua', - ], + 'resourceGroupId' => ['description' => '资源组ID', 'type' => 'string', 'example' => 'rg-acfm2ij6pwxsvua'], 'tags' => [ 'description' => '资源标签。', 'type' => 'array', @@ -14566,24 +8690,12 @@ 'description' => '资源标签。', 'type' => 'object', 'properties' => [ - 'value' => [ - 'description' => '资源标签value值。', - 'type' => 'string', - 'example' => 'zhangsan', - ], - 'key' => [ - 'description' => '资源标签key值。', - 'type' => 'string', - 'example' => 'owner', - ], + 'value' => ['description' => '资源标签value值。', 'type' => 'string', 'example' => 'zhangsan'], + 'key' => ['description' => '资源标签key值。', 'type' => 'string', 'example' => 'owner'], ], ], ], - 'isp' => [ - 'description' => '网络运营商类型', - 'type' => 'string', - 'example' => 'BGP', - ], + 'isp' => ['description' => '网络运营商类型', 'type' => 'string', 'example' => 'BGP'], 'gatewayEdition' => [ 'title' => '网关实例版本:'."\n" ."\n" @@ -14596,6 +8708,7 @@ ."\n" .'- Serverless:Serverless', 'type' => 'string', + 'enumValueTitles' => ['Professional' => '普通实例', 'Serverless' => 'Serverless实例'], 'example' => 'Serverless', ], 'maintenancePeriod' => [ @@ -14603,18 +8716,8 @@ 'description' => '运维窗口', 'type' => 'object', 'properties' => [ - 'startTime' => [ - 'title' => '运维开始时间', - 'description' => '运维开始时间', - 'type' => 'string', - 'example' => '02:00', - ], - 'endTime' => [ - 'title' => '运维结束时间', - 'description' => '运维结束时间', - 'type' => 'string', - 'example' => '06:00', - ], + 'startTime' => ['title' => '运维开始时间', 'description' => '运维开始时间(HH:mm)', 'type' => 'string', 'example' => '02:00'], + 'endTime' => ['title' => '运维结束时间', 'description' => '运维结束时间(HH:mm)', 'type' => 'string', 'example' => '06:00'], ], ], ], @@ -14623,150 +8726,83 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0F138FFC-6E2B-56C1-9BAB-A67462E339D1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"name\\": \\"itemcenter-gateway\\",\\n \\"chargeType\\": \\"POSTPAY\\",\\n \\"gatewayType\\": \\"API\\",\\n \\"status\\": \\"Running\\",\\n \\"spec\\": \\"apigw.small.x1\\",\\n \\"replicas\\": \\"2\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"expireTimestamp\\": 1719386834548,\\n \\"createFrom\\": \\"Console\\",\\n \\"version\\": \\"2.0.2\\",\\n \\"targetVersion\\": \\"2.0.2\\",\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-cp9uhudlht***\\",\\n \\"name\\": \\"default-gw-cp9ugg5***\\",\\n \\"alias\\": \\"默认环境\\"\\n }\\n ],\\n \\"securityGroup\\": {\\n \\"securityGroupId\\": \\"sg-bp16tafq9***\\",\\n \\"name\\": \\"APIG-sg-gw-cq7ke5ll***\\"\\n },\\n \\"vSwitch\\": {\\n \\"name\\": \\"杭州VPC虚拟交换机\\",\\n \\"vSwitchId\\": \\"vsw-bp1c7ggkj***\\"\\n },\\n \\"vpc\\": {\\n \\"name\\": \\"杭州VPC\\",\\n \\"vpcId\\": \\"vpc-bp1llj52lvj6xc***\\"\\n },\\n \\"zones\\": [\\n {\\n \\"vSwitch\\": {\\n \\"vSwitchId\\": \\"vsw-bp1c7ggkj***\\",\\n \\"name\\": \\"杭州VPC虚拟交换机\\\\n\\"\\n },\\n \\"name\\": \\"杭州可用区E\\",\\n \\"zoneId\\": \\"cn-hangzhou-e\\"\\n }\\n ],\\n \\"loadBalancers\\": [\\n {\\n \\"mode\\": \\"Managed\\",\\n \\"loadBalancerId\\": \\"nlb-xoh3pghru7c***\\",\\n \\"address\\": \\"nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com\\",\\n \\"addressType\\": \\"Internet\\",\\n \\"addressIpVersion\\": \\"ipv4\\",\\n \\"gatewayDefault\\": true,\\n \\"type\\": \\"NLB\\",\\n \\"ports\\": [\\n {\\n \\"protocol\\": \\"TCP\\",\\n \\"port\\": 443\\n }\\n ],\\n \\"status\\": \\"Ready\\",\\n \\"ipv4Addresses\\": [\\n \\"[\\\\\\"47.xx.xx.xx\\\\\\", \\\\\\"47.xx.xx.yy\\\\\\"]\\"\\n ],\\n \\"ipv6Addresses\\": [\\n \\"[\\\\\\"2408:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"resourceGroupId\\": \\"rg-acfm2ij6pwxsvua\\",\\n \\"tags\\": [\\n {\\n \\"value\\": \\"zhangsan\\",\\n \\"key\\": \\"owner\\"\\n }\\n ],\\n \\"isp\\": \\"BGP\\",\\n \\"gatewayEdition\\": \\"Serverless\\",\\n \\"maintenancePeriod\\": {\\n \\"startTime\\": \\"02:00\\",\\n \\"endTime\\": \\"06:00\\"\\n }\\n }\\n}","type":"json"}]', 'title' => '查询网关详情', - ], - 'ListGateways' => [ - 'summary' => '查询网关列表。', - 'path' => '/v1/gateways', - 'methods' => [ - 'get', + 'changeSet' => [ + ['createdAt' => '2025-10-29T07:31:47.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-09-18T12:49:49.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-07-18T06:03:14.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-06-11T08:29:16.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-21T02:42:08.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-11-20T08:54:08.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetGateway'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + ], + ], + 'GetGatewayQuotaRule' => [ + 'summary' => '查询网关配额限流规则详情。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules/{ruleId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/x-www-form-urlencoded', - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '218454', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '根据网关ID精确查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl****', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'description' => '根据网关名称精确查询。', - 'type' => 'string', - 'required' => false, - 'example' => 'itemcenter-gateway', - ], + 'in' => 'path', + 'schema' => ['title' => '网关ID', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], ], [ - 'name' => 'keyword', - 'in' => 'query', - 'schema' => [ - 'description' => '关键字,按照全匹配搜索,不区分大小写。', - 'type' => 'string', - 'required' => false, - 'example' => 'dev', - ], + 'name' => 'ruleId', + 'in' => 'path', + 'schema' => ['description' => '策略ID', 'type' => 'string', 'required' => false, 'example' => 'qr-d8j7fpmm1hks65xxxxx'], ], [ - 'name' => 'gatewayType', + 'name' => 'withConsumers', 'in' => 'query', - 'schema' => [ - 'description' => '网关类型', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AI' => 'AI 网关', - 'API' => 'API 网关', - ], - 'example' => 'API', - ], + 'schema' => ['title' => '是否输出消费者列表', 'description' => '是否输出消费者列表', 'type' => 'boolean', 'required' => false], ], [ - 'name' => 'resourceGroupId', + 'name' => 'consumerPageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '资源组。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzq6bzz5uyg2q', - ], + 'schema' => ['title' => '消费者页数', 'description' => '消费者页数', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => '1'], ], [ - 'name' => 'tag', + 'name' => 'consumerPageSize', 'in' => 'query', - 'style' => 'json', - 'schema' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签。', - 'type' => 'object', - 'properties' => [ - 'key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'required' => false, - 'example' => 'owner', - ], - 'value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'required' => false, - 'example' => 'zhangsan', - ], - ], - 'required' => false, - ], - 'required' => false, - 'maxItems' => 20, - ], + 'schema' => ['title' => '消费者页大小', 'description' => '消费者页大小', 'type' => 'string', 'deprecated' => true, 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -14776,868 +8812,433 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '5B626361-070A-56A7-B127-ADAC8F3655DB', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码', 'description' => '状态码', 'type' => 'string', 'example' => '200'], + 'message' => ['title' => '响应信息', 'description' => '响应信息', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '网关列表查询结果。', + 'title' => '响应数据', + 'description' => '响应数据', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '6', - ], - 'items' => [ - 'description' => '网关列表', + 'ruleId' => ['description' => '规则ID', 'type' => 'string', 'example' => 'qr-d8j7fpmm1hks65xxxxxx'], + 'ruleName' => ['title' => '规则名称', 'description' => '规则名称', 'type' => 'string', 'example' => 'daily-token-limit'], + 'quotaDimension' => ['title' => '配额维度', 'description' => '配额维度', 'type' => 'string', 'example' => 'token'], + 'quotaLimit' => ['title' => '限制额度', 'description' => '限制额度', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'ruleStatus' => [ + 'title' => '规则状态', + 'description' => '规则状态', + 'type' => 'string', + 'enumValueTitles' => ['disabled' => 'disabled', 'enabled' => 'enabled'], + 'example' => 'enabled', + ], + 'periodType' => ['title' => '配额周期类型', 'description' => '配额周期类型', 'type' => 'string', 'example' => 'day'], + 'windowAlignment' => ['title' => '窗口对齐方式', 'description' => '重置周期类型', 'type' => 'string', 'example' => 'calendar'], + 'timezone' => ['title' => '时区', 'description' => '自然周期对应的时区(UTC+x 格式)', 'type' => 'string', 'example' => 'GMT+8'], + 'baseTimestamp' => ['title' => '周期基准时间戳', 'description' => '周期基准时间戳', 'type' => 'integer', 'format' => 'int64', 'example' => '1745846400000'], + 'consumerCount' => ['title' => '关联消费者数量', 'description' => '规则关联消费者数量', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'consumers' => [ + 'title' => '绑定在此规则上的主体(消费者)列表', + 'description' => '绑定在此规则上的主体(消费者)列表', 'type' => 'array', 'items' => [ - 'description' => '网关信息。', + 'title' => '绑定在此规则的主体(消费者)', + 'description' => '绑定在此规则的主体(消费者)', 'type' => 'object', 'properties' => [ - 'gatewayId' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'example' => 'gw-cpv54p5***', - ], - 'name' => [ - 'description' => '网关名称。', - 'type' => 'string', - 'example' => 'itemcenter-gateway', - ], - 'chargeType' => [ - 'description' => '付费类型:'."\n" - ."\n" - .'- POSTPAY 后付费(按量付费)。'."\n" - .'- PREPAY 预付费(包年包月)。', - 'type' => 'string', - 'enumValueTitles' => [ - 'PREPAY' => '包年包月', - 'POSTPAY' => '按量付费', - ], - 'example' => 'POSTPAY', - ], - 'gatewayType' => [ - 'description' => '网关类型', - 'type' => 'string', - 'enumValueTitles' => [ - 'AI' => 'AI网关', - 'API' => 'API网关', - ], - 'example' => 'API', - ], - 'status' => [ - 'description' => '网关状态:'."\n" - .'- Running:运行中。'."\n" - .'- Creating:创建中。'."\n" - .'- CreateFailed:创建失败。'."\n" - .'- Upgrading:升级中。'."\n" - .'- UpgradeFailed:升级失败。'."\n" - .'- Restarting:重启中。'."\n" - .'- RestartFailed:重启失败。'."\n" - .'- Deleting:释放中。'."\n" - .'- DeleteFailed:释放失败。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Restarting' => '重启中', - 'Creating' => '创建中', - 'Upgrading' => '升级中', - 'DeleteFailed' => '释放失败', - 'Running' => '运行中', - 'RestartFailed' => '重启失败', - 'Deleting' => '释放中', - 'CreateFailed' => '创建失败', - 'UpgradeFailed' => '升级失败', - ], - 'example' => 'Running', - ], - 'spec' => [ - 'description' => '网关规格:'."\n" - .'- apigw.small.x1:小规格。', - 'type' => 'string', - 'enumValueTitles' => [ - 'apigw.small.x1' => 'apigw.small.x1', - ], - 'example' => 'apigw.small.x1', - ], - 'replicas' => [ - 'description' => '网关实例节点数。', - 'type' => 'string', - 'example' => '2', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳,单位:毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'expireTimestamp' => [ - 'description' => '包年包月到期时间戳。 单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '172086834548', - ], - 'createFrom' => [ - 'description' => '网关创建来源:'."\n" - .'- Console: 控制台。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Console' => '控制台', - ], - 'example' => 'Console', - ], - 'version' => [ - 'description' => '网关版本。', - 'type' => 'string', - 'example' => '2.0.2', - ], - 'targetVersion' => [ - 'description' => '网关的目标版本。当和version不一致时, 可以进行版本升级。', - 'type' => 'string', - 'example' => '2.0.2', - ], - 'loadBalancers' => [ - 'description' => '网关的入口地址列表。', - 'type' => 'array', - 'items' => [ - 'description' => '网关的入口地址信息。', - 'type' => 'object', - 'properties' => [ - 'loadBalancerId' => [ - 'description' => '负载均衡ID。', - 'type' => 'string', - 'example' => 'nlb-xqwioje1c91r***', - ], - 'addressType' => [ - 'description' => '负载均衡地址类型:'."\n" - .'- Internet: 公网。'."\n" - .'- Intranet: 私网。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Intranet' => '私网', - 'Internet' => '公网', - ], - 'example' => 'Internet', - ], - 'type' => [ - 'description' => '网关的负载均衡类型:'."\n" - .'- NLB: 网络型负载均衡。'."\n" - .'- CLB: 传统型负载均衡。', - 'type' => 'string', - 'enumValueTitles' => [ - 'NLB' => '网络型负载均衡', - 'CLB' => '传统型负载均衡', - ], - 'example' => 'NLB', - ], - 'status' => [ - 'description' => '负载均衡的状态:'."\n" - .'- Ready: 可用。'."\n" - .'- NotCreate: 未关联实例。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Ready' => 'Ready', - 'NotCreate' => 'NotCreate', - ], - 'example' => 'Ready', - ], - 'address' => [ - 'description' => '负载均衡地址。', - 'type' => 'string', - 'example' => 'nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com'."\n", - ], - 'addressIpVersion' => [ - 'description' => '协议版本:'."\n" - .'- ipv4: ipv4。'."\n" - .'- ipv6: ipv6。', - 'type' => 'string', - 'enumValueTitles' => [ - 'ipv4' => 'ipv4', - 'ipv6' => 'ipv6', - ], - 'example' => 'ipv4', - ], - 'mode' => [ - 'description' => '网关的负载均衡提供模式:'."\n" - .'- Managed: 云原生API网关管理的。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Managed' => 'Managed', - ], - 'example' => 'Managed', - ], - 'gatewayDefault' => [ - 'description' => '是否是网关默认的入口地址。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'ports' => [ - 'description' => '监听的端口列表。', - 'type' => 'array', - 'items' => [ - 'description' => '监听的端口信息。', - 'type' => 'object', - 'properties' => [ - 'protocol' => [ - 'description' => '协议:'."\n" - .'- TCP。'."\n" - .'- UDP。', - 'type' => 'string', - 'enumValueTitles' => [ - 'TCP' => 'TCP', - 'UDP' => 'UDP', - ], - 'example' => 'TCP', - ], - 'port' => [ - 'description' => '端口号。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '443', - ], - ], - ], - ], - 'ipv4Addresses' => [ - 'description' => 'IPv4地址列表', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["47.100.100.100"]', - ], - ], - 'ipv6Addresses' => [ - 'description' => 'IPv6地址列表', - 'type' => 'array', - 'items' => [ - 'description' => '参数', - 'type' => 'string', - 'example' => '["2408:4000:0:0:0:0:0:1"]', - ], - ], - ], - ], - ], - 'securityGroup' => [ - 'description' => '网关安全组信息。', - 'type' => 'object', - 'properties' => [ - 'securityGroupId' => [ - 'description' => '安全组ID。', - 'type' => 'string', - 'example' => 'sg-bp1apxihjdbt3***', - ], - ], - ], - 'zones' => [ - 'description' => '网关的可用区信息。', - 'type' => 'array', - 'items' => [ - 'description' => '可用区信息。', - 'type' => 'object', - 'properties' => [ - 'zoneId' => [ - 'description' => '可用区ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou-i', - ], - 'vSwitch' => [ - 'description' => '虚拟交换机。', - 'type' => 'object', - 'properties' => [ - 'vSwitchId' => [ - 'description' => '虚拟交换机id', - 'type' => 'string', - 'example' => 'vsw-bp14efvkcfbrt4***', - ], - ], - ], - ], - ], - ], - 'vSwitch' => [ - 'description' => '虚拟交换机信息。', - 'type' => 'object', - 'properties' => [ - 'vSwitchId' => [ - 'description' => '虚拟交换机ID。', - 'type' => 'string', - 'example' => 'vsw-bp14efv***', - ], - ], - ], - 'vpc' => [ - 'description' => '网关的VPC信息。', - 'type' => 'object', - 'properties' => [ - 'vpcId' => [ - 'description' => 'VPC网络ID。', - 'type' => 'string', - 'example' => 'vpc-uf664ny***', - ], - ], - ], - 'resourceGroupId' => [ - 'description' => '资源组ID', - 'type' => 'string', - 'example' => 'rg-xxxx', - ], - 'tags' => [ - 'description' => '标签列表。', - 'type' => 'array', - 'items' => [ - 'description' => '标签。', - 'type' => 'object', - 'properties' => [ - 'key' => [ - 'description' => '标签键。', - 'type' => 'string', - 'example' => 'owner', - ], - 'value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'zhangsan', - ], - ], - ], - ], - 'subDomainInfos' => [ - 'description' => '二级域名列表', - 'type' => 'array', - 'items' => [ - 'description' => '二级域名信息', - '$ref' => '#/components/schemas/SubDomainInfo', - ], - ], - 'legacy' => [ - 'description' => '是否是AI网关上线前创建的网关实例', - 'type' => 'boolean', - 'example' => 'true', - ], - 'gatewayEdition' => [ - 'title' => '网关实例版本:'."\n" - ."\n" - .'- 普通实例:Professional'."\n" - ."\n" - .'- Serverless:Serverless', - 'description' => '网关实例版本:'."\n" - ."\n" - .'- 普通实例:Professional'."\n" - ."\n" - .'- Serverless:Serverless', - 'type' => 'string', - 'example' => 'Serverless', - ], + 'id' => ['title' => '主体(消费者)ID', 'description' => '主体(消费者)ID', 'type' => 'string', 'example' => 'c-aaa'], + 'name' => ['title' => '主体(消费者)名称', 'description' => '主体(消费者)名称', 'type' => 'string', 'example' => 'consumer-a'], ], ], ], ], + 'example' => '{"ruleId":1001}', ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"5B626361-070A-56A7-B127-ADAC8F3655DB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 6,\\n \\"items\\": [\\n {\\n \\"gatewayId\\": \\"gw-cpv54p5***\\",\\n \\"name\\": \\"itemcenter-gateway\\",\\n \\"chargeType\\": \\"POSTPAY\\",\\n \\"gatewayType\\": \\"API\\",\\n \\"status\\": \\"Running\\",\\n \\"spec\\": \\"apigw.small.x1\\",\\n \\"replicas\\": \\"2\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"expireTimestamp\\": 172086834548,\\n \\"createFrom\\": \\"Console\\",\\n \\"version\\": \\"2.0.2\\",\\n \\"targetVersion\\": \\"2.0.2\\",\\n \\"loadBalancers\\": [\\n {\\n \\"loadBalancerId\\": \\"nlb-xqwioje1c91r***\\",\\n \\"addressType\\": \\"Internet\\",\\n \\"type\\": \\"NLB\\",\\n \\"status\\": \\"Ready\\",\\n \\"address\\": \\"nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com\\\\n\\",\\n \\"addressIpVersion\\": \\"ipv4\\",\\n \\"mode\\": \\"Managed\\",\\n \\"gatewayDefault\\": true,\\n \\"ports\\": [\\n {\\n \\"protocol\\": \\"TCP\\",\\n \\"port\\": 443\\n }\\n ],\\n \\"ipv4Addresses\\": [\\n \\"[\\\\\\"47.100.100.100\\\\\\"]\\"\\n ],\\n \\"ipv6Addresses\\": [\\n \\"[\\\\\\"2408:4000:0:0:0:0:0:1\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"securityGroup\\": {\\n \\"securityGroupId\\": \\"sg-bp1apxihjdbt3***\\"\\n },\\n \\"zones\\": [\\n {\\n \\"zoneId\\": \\"cn-hangzhou-i\\",\\n \\"vSwitch\\": {\\n \\"vSwitchId\\": \\"vsw-bp14efvkcfbrt4***\\"\\n }\\n }\\n ],\\n \\"vSwitch\\": {\\n \\"vSwitchId\\": \\"vsw-bp14efv***\\"\\n },\\n \\"vpc\\": {\\n \\"vpcId\\": \\"vpc-uf664ny***\\"\\n },\\n \\"resourceGroupId\\": \\"rg-xxxx\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"owner\\",\\n \\"value\\": \\"zhangsan\\"\\n }\\n ],\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"legacy\\": true,\\n \\"gatewayEdition\\": \\"Serverless\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询网关列表', - ], - 'AddGatewaySecurityGroupRule' => [ - 'summary' => '授权网关访问服务的安全组。', - 'path' => '/v1/gateways/{gatewayId}/security-group-rules', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询消费者配额规则详情', + 'description' => '该接口用于查询 AI 网关上某条消费者配额规则。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"ruleId\\": \\"qr-d8j7fpmm1hks65xxxxxx\\",\\n \\"ruleName\\": \\"daily-token-limit\\",\\n \\"quotaDimension\\": \\"token\\",\\n \\"quotaLimit\\": 1000,\\n \\"ruleStatus\\": \\"enabled\\",\\n \\"periodType\\": \\"day\\",\\n \\"windowAlignment\\": \\"calendar\\",\\n \\"timezone\\": \\"GMT+8\\",\\n \\"baseTimestamp\\": 1745846400000,\\n \\"consumerCount\\": 20,\\n \\"consumers\\": [\\n {\\n \\"id\\": \\"c-aaa\\",\\n \\"name\\": \\"consumer-a\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetGatewayQuotaRuleSubjectUsage' => [ + 'summary' => '查询网关配额限流规则主体用量详情,包括已用配额、总配额、是否超限、用量详情及消费记录等。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules/{ruleId}/subjects/{subjectId}/usage', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '222348', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayPVG2GF', - ], + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'gatewayId', 'in' => 'path', - 'schema' => [ - 'description' => '云原生API网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdlh***', - ], + 'schema' => ['title' => '网关ID', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'securityGroupId' => [ - 'description' => '安全组ID。'."\n" - ."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'sg-wz929kxhcdp****', - ], - 'portRanges' => [ - 'description' => '端口范围。', - 'type' => 'array', - 'items' => [ - 'description' => '端口范围。', - 'type' => 'string', - 'required' => false, - 'example' => '1/65535', - ], - 'required' => false, - ], - 'description' => [ - 'description' => '安全组规则描述。', - 'type' => 'string', - 'required' => false, - 'example' => '商品中心访问安全组', - ], - ], - 'required' => false, - ], + 'name' => 'ruleId', + 'in' => 'path', + 'schema' => ['description' => '规则ID', 'type' => 'string', 'required' => false, 'example' => 'qr-d8j7fpmm1hks65kxxxxx'], + ], + [ + 'name' => 'subjectId', + 'in' => 'path', + 'schema' => ['title' => '主体ID', 'description' => '主体(消费者)ID', 'type' => 'string', 'required' => false, 'example' => 'cs-d8kkaium1xxxxxxxxxxx'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['title' => '页码', 'description' => '对应消费者在周期内详细消费(请求)记录的页码', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '每页数量', 'description' => '对应消费者在周期内详细消费(请求)记录的每页数量(最大限制为10)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '响应结果。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '2A6E90D5-A711-54F4-A489-E33C2021EDDF', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码', 'description' => '状态码', 'type' => 'string', 'example' => '200'], + 'message' => ['title' => '响应信息', 'description' => '响应信息', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'title' => '响应数据', + 'description' => '响应数据', + 'type' => 'object', + 'properties' => [ + 'usedAmount' => ['title' => '主体已用总额度', 'description' => '主体已用总额度', 'type' => 'integer', 'format' => 'int64', 'example' => '500'], + 'totalQuota' => ['title' => '主体总配额', 'description' => '主体总配额', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'overLimit' => ['title' => '是否超限', 'description' => '是否超限', 'type' => 'boolean', 'example' => 'false'], + 'inputAmount' => ['title' => '输入token总消耗', 'description' => '输入token总消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '300'], + 'outputAmount' => ['title' => '输出token总消耗', 'description' => '输出token总消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '180'], + 'cachedAmount' => ['title' => '缓存token总消耗', 'description' => '缓存token总消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '20'], + 'details' => [ + 'title' => '消费明细分页', + 'description' => '消费明细分页', + 'type' => 'object', + 'properties' => [ + 'totalSize' => ['title' => '总条数', 'description' => '总条数', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'pageNumber' => ['title' => '当前页码', 'description' => '当前页码', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['title' => '当前页大小', 'description' => '当前页大小', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'title' => '用量明细列表', + 'description' => '用量明细列表', + 'type' => 'array', + 'items' => [ + 'title' => '消费明细条目', + 'description' => '消费明细条目', + 'type' => 'object', + 'properties' => [ + 'model' => ['title' => '模型名称', 'description' => '模型名称', 'type' => 'string', 'example' => 'qwen-plus'], + 'inputAmount' => ['title' => '输入token消耗', 'description' => '输入token消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '120'], + 'outputAmount' => ['title' => '输出token消耗', 'description' => '输出token消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '80'], + 'cachedAmount' => ['title' => '缓存token消耗', 'description' => '缓存token消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '10'], + 'usedAmount' => ['title' => '总消耗', 'description' => '总消耗', 'type' => 'integer', 'format' => 'int64', 'example' => '210'], + 'startTime' => ['title' => '统计窗口起始时间', 'description' => '消费(请求)时间 (YYYY-MM-DD)', 'type' => 'string', 'example' => '2026-06-05'], + ], + 'example' => '{\'model\':\'qwen-plus\',\'usedAmount\':210}', + ], + 'example' => '[{"model":"qwen-plus",\'usedAmount\':210}]', + ], + ], + 'example' => '{"totalSize":100}', + ], + ], + 'example' => '{"usedAmount":500}', ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取配额规则下某个消费者用量详情', + 'description' => '该接口用于获取配额规则下的某个消费者用量详情。注意,只针对于版本大于 2.1.19 的 AI 网关生效。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2A6E90D5-A711-54F4-A489-E33C2021EDDF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '添加网关安全组规则', - ], - 'DeleteGateway' => [ - 'summary' => '删除网关。', - 'path' => '/v1/gateways/{gatewayId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetGatewayQuotaRuleSubjectUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"usedAmount\\": 500,\\n \\"totalQuota\\": 1000,\\n \\"overLimit\\": false,\\n \\"inputAmount\\": 300,\\n \\"outputAmount\\": 180,\\n \\"cachedAmount\\": 20,\\n \\"details\\": {\\n \\"totalSize\\": 100,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"model\\": \\"qwen-plus\\",\\n \\"inputAmount\\": 120,\\n \\"outputAmount\\": 80,\\n \\"cachedAmount\\": 10,\\n \\"usedAmount\\": 210,\\n \\"startTime\\": \\"2026-06-05\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'GetHttpApi' => [ + 'summary' => '读取HTTP API信息。', + 'path' => '/v1/http-apis/{httpApiId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '218957', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'gatewayId', + 'name' => 'httpApiId', 'in' => 'path', - 'schema' => [ - 'description' => '云原生API网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl*****', - ], + 'schema' => ['title' => 'API ID。', 'description' => '目标HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '响应数据。', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'DE97DFDB-7DF0-5AB9-941C-10D27D769E4B', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '8FA9BB94-915B-5299-A694-49FCC7F5DD00'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'data' => ['title' => 'API信息。', 'description' => 'API信息。', '$ref' => '#/components/schemas/HttpApiApiInfo'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DE97DFDB-7DF0-5AB9-941C-10D27D769E4B\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', - 'title' => '删除网关', - ], - 'DeleteGatewaySecurityGroupRule' => [ - 'summary' => '删除网关安全组规则。', - 'path' => '/v1/gateways/{gatewayId}/security-group-rules/{securityGroupRuleId}', - 'methods' => [ - 'delete', + 'title' => '获取HTTP API', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHttpApi'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FA9BB94-915B-5299-A694-49FCC7F5DD00\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + ], + 'GetHttpApiOperation' => [ + 'path' => '/v1/http-apis/{httpApiId}/operations/{operationId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219803', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'gatewayId', + 'name' => 'httpApiId', 'in' => 'path', - 'schema' => [ - 'description' => '云原生API网关ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl*****', - ], + 'schema' => ['title' => 'API ID。', 'description' => '接口所属的HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], ], [ - 'name' => 'securityGroupRuleId', + 'name' => 'operationId', 'in' => 'path', - 'schema' => [ - 'description' => '云原生API网关安全规则ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gsgr-cpqnj1llht***', - ], - ], - [ - 'name' => 'cascadingDelete', - 'in' => 'query', - 'schema' => [ - 'description' => '是否级联删除安全组规则。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['title' => '接口ID。', 'description' => '接口ID。', 'type' => 'string', 'required' => true, 'example' => 'op-xxx'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'description' => '响应数据。', + 'title' => 'Schema of Response', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '8F94B3CC-F4BA-511E-8367-ECBBE486E595', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'B725275B-50C6-5A49-A9FD-F0332FCB3351'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => ['title' => '接口信息。', 'description' => '接口信息。', '$ref' => '#/components/schemas/HttpApiOperationInfo'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8F94B3CC-F4BA-511E-8367-ECBBE486E595\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除网关安全组规则', - ], - 'ListZones' => [ - 'summary' => '获取云原生API网关region下的可用区。', - 'path' => '/v1/zones', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '226563', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayC93I4Z', + 'title' => '获取接口信息', + 'summary' => '获取接口信息。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHttpApiOperation'], ], ], - 'parameters' => [], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '返回结构体。', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'E8079207-B651-592A-A565-23E9EE5673B0', - ], - 'code' => [ - 'title' => '响应状态码。', - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '响应信息。', - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'title' => '返回数据。', - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'items' => [ - 'title' => '可用区列表。', - 'description' => '可用区列表。', - 'type' => 'array', - 'items' => [ - 'title' => '可用区ID。', - 'description' => '可用区ID。', - 'type' => 'object', - 'properties' => [ - 'zoneId' => [ - 'title' => '可用区ID。', - 'description' => '可用区ID。', - 'type' => 'string', - 'example' => 'cn-shenzhen-c', - ], - 'supportQat' => [ - 'description' => '是否支持QAT', - 'type' => 'string', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"E8079207-B651-592A-A565-23E9EE5673B0\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"items\\": [\\n {\\n \\"zoneId\\": \\"cn-shenzhen-c\\",\\n \\"supportQat\\": \\"true\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取可用区', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B725275B-50C6-5A49-A9FD-F0332FCB3351\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', ], - 'RestartGateway' => [ - 'summary' => '重启网关。', - 'path' => '/v1/gateways/{gatewayId}/restart', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetHttpApiRoute' => [ + 'summary' => '获取HttpApi的路由详情。', + 'path' => '/v1/http-apis/{httpApiId}/routes/{routeId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '237782', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'gatewayId', + 'name' => 'httpApiId', 'in' => 'path', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq2avtllh****', - ], + 'schema' => ['description' => 'HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cqu95allhtgii6***'], + ], + [ + 'name' => 'routeId', + 'in' => 'path', + 'schema' => ['description' => '路由ID。', 'type' => 'string', 'required' => false, 'example' => 'hr-cr82undlhtgrl***'], ], ], 'responses' => [ 200 => [ 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '结构体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '路由详情数据。', '$ref' => '#/components/schemas/HttpRoute'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '重启网关', - ], - 'ListGatewayFeatures' => [ - 'summary' => '查询网关特性参数配置列表。', - 'path' => '/v1/gateways/{gatewayId}/gateway-features', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询路由详情', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHttpApiRoute'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'GetMcpServer' => [ + 'path' => '/v1/mcp-servers/{mcpServerId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '281126', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], ], 'parameters' => [ [ - 'name' => 'gatewayId', + 'name' => 'mcpServerId', 'in' => 'path', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cpv4sqdl****', - ], + 'schema' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-adfefz24afg'], ], ], 'responses' => [ @@ -15647,214 +9248,170 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2A6E90D5-A711-54F4-A489-E33C2021EDDF'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息', 'type' => 'string', 'example' => 'Success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'items' => [ - 'description' => '参数配置列表。', + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'example' => 'mcp-adfefz24afg'], + 'name' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'test-mcp'], + 'type' => ['description' => 'MCP Server类型', 'type' => 'string', 'example' => 'RealMCP'], + 'description' => ['description' => '描述。', 'type' => 'string', 'example' => '测试专用MCP Server'], + 'gatewayId' => ['description' => '网关实例ID', 'type' => 'string', 'example' => 'gw-cq2vundlhtg***'], + 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'."\n"], + 'routeId' => ['description' => '路由ID。', 'type' => 'string', 'example' => 'hr-cr82undlhtgrlej***'], + 'createFromType' => ['description' => '创建来源类型'."\n" + ."\n" + .'ApiGatewayHttpToMCP 网关托管HTTP转MCP'."\n" + .'ApiGatewayMcpHosting 网关托管MCP直接代理'."\n" + .'ApiGatewayAssembly 网关MCP组装'."\n" + .'NacosHttpToMCP 网关托管NACOS同步HTTP转MCP'."\n" + .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', 'type' => 'string', 'example' => 'ApiGatewayHttpToMCP'], + 'backend' => ['description' => '路由的后端服务。', '$ref' => '#/components/schemas/Backend'], + 'match' => ['description' => '路由Match规则。', 'example' => '{\\"product_code\\":\\"apigw\\"}', '$ref' => '#/components/schemas/HttpRouteMatch'], + 'domainIds' => [ + 'description' => '域名ID列表。', + 'type' => 'array', + 'items' => ['description' => '域名ID。', 'type' => 'string', 'example' => 'd-aafefqefz'], + ], + 'domainInfos' => [ + 'description' => '域名信息列表', 'type' => 'array', 'items' => [ - 'description' => '参数配置信息。', 'type' => 'object', 'properties' => [ - 'definition' => [ - 'description' => '参数定义。', + 'protocol' => ['description' => '协议。', 'type' => 'string', 'example' => 'HTTP,HTTPS'], + 'name' => ['description' => '域名', 'type' => 'string', 'example' => 'verifyicket'], + 'domainId' => ['description' => '域名ID。', 'type' => 'string', 'example' => 'www.abc.com'], + ], + 'description' => '', + ], + ], + 'protocol' => ['description' => '服务协议', 'type' => 'string', 'example' => 'HTTP'], + 'mcpServerPath' => ['description' => '网关提供的MCP Server访问路径', 'type' => 'string', 'example' => '/mcp-servers/test-mcp'], + 'exposedUriPath' => ['description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', 'type' => 'string', 'example' => '/sse'], + 'nacosMcpSyncInfo' => [ + 'description' => 'Nacos同步托管MCP 信息', + 'type' => 'object', + 'properties' => [ + 'importInstanceId' => ['description' => 'Nacos实例', 'type' => 'string', 'example' => 'mse-xxxxx'], + 'importNamespace' => ['description' => 'Nacos命名空间', 'type' => 'string', 'example' => 'test-ns'], + 'importMcpServerId' => ['description' => '同步的MCP Server ID', 'type' => 'string', 'example' => 'test-mcp'], + ], + ], + 'assembledSources' => [ + 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'type' => 'array', + 'items' => [ + 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'type' => 'object', + 'properties' => [ + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'test-mcp'], + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'example' => 'mcp-xdafeafzz'], + 'tools' => [ + 'description' => 'MCP工具列表', + 'type' => 'array', + 'items' => ['description' => 'MCP工具列表', 'type' => 'string', 'example' => 'test-tool'], + ], + ], + ], + ], + 'mcpServerConfig' => ['description' => 'HTTP转MCP Config', 'type' => 'string', 'example' => 'MCP Server配置 base64'], + 'mcpServerConfigPluginAttachmentId' => ['description' => 'MCP Server插件配置挂载ID', 'type' => 'string', 'example' => 'pa-adfaefwaef'], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => 'Deployed'], + 'mcpStatisticsEnable' => ['description' => '是否启用MCP可观测,默认false', 'type' => 'boolean', 'example' => 'false'], + 'grayMcpServerConfigs' => [ + 'description' => '灰度路由配置', + 'type' => 'array', + 'items' => [ + 'description' => '参数', + 'type' => 'object', + 'properties' => [ + 'routeId' => ['description' => '灰度路由ID', 'type' => 'string', 'example' => 'gray-route-xxx'], + 'match' => ['description' => '灰度路由匹配规则', '$ref' => '#/components/schemas/HttpRouteMatch'], + 'backendConfig' => [ + 'description' => '灰度路由后端配置', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '参数名称。', - 'type' => 'string', - 'example' => 'enable-gzip', - ], - 'displayName' => [ - 'description' => '参数的显示名。', - 'type' => 'string', - 'example' => 'EnableGzip', - ], - 'valueType' => [ - 'description' => '参数值支持的类型:'."\n" - .'- bool: 布尔类型。'."\n" - .'- string: 字符串类型。'."\n" - .'- int32: 整型。'."\n" - .'- int64: 长整型。'."\n" - .'- json: json格式。'."\n" - .'- array: json数组格式。'."\n" - .'- float: 浮点型。', - 'type' => 'string', - 'enumValueTitles' => [ - 'bool' => 'bool', - 'string' => 'string', - 'int32' => 'int32', - 'array' => 'array', - 'int64' => 'int64', - 'float' => 'float', - ], - 'example' => 'bool', - ], - 'description' => [ - 'description' => '参数描述。', - 'type' => 'string', - 'example' => '作用于请求与响应环节,启用gzip会对请求响应进行压缩,会减少网关流量,增加网关cpu消耗', - ], - 'group' => [ - 'description' => '参数分组:'."\n" - .'- Telemetry: 属于可观测类型的参数。'."\n" - .'- Engine: 属于引擎类型的参数。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Telemetry' => 'Telemetry', - 'Engine' => 'Engine', - ], - 'example' => 'Engine', - ], - 'defaultValue' => [ - 'description' => '默认值。', - 'type' => 'string', - 'example' => '"true"', - ], - 'valueUnit' => [ - 'description' => '单位。', - 'type' => 'string', - 'example' => 'byte', - ], - 'readOnly' => [ - 'description' => '是否只读。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'regex' => [ - 'description' => '参数值需要满足的正则表达式。当参数值类型为string的时候有效。', - 'type' => 'string', - 'example' => '[a-z].*', - ], - 'minValue' => [ - 'description' => '参数值支持的最小值。当值类型为int32, int64, float的时候有效。', - 'type' => 'string', - 'example' => '100', - ], - 'maxValue' => [ - 'description' => '参数值支持的最大值。当值类型为int32, int64, float的时候有效。', - 'type' => 'string', - 'example' => '65535', - ], - 'minLength' => [ - 'description' => '参数值支持的最小长度。当值类型为string时有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '8', - ], - 'maxLength' => [ - 'description' => '参数值支持的最大长度。当值类型为string时有效。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '64', - ], - 'valueOptions' => [ - 'description' => '参数值支持的选项列表。', + 'scene' => ['description' => '后端场景', 'type' => 'string', 'example' => 'SingleService'], + 'services' => [ + 'description' => '服务配置列表', 'type' => 'array', 'items' => [ - 'description' => '选项信息。', + 'description' => '参数', 'type' => 'object', 'properties' => [ - 'label' => [ - 'description' => '显示值。', - 'type' => 'string', - 'example' => '保持不变', - ], - 'key' => [ - 'description' => '传参key。', - 'type' => 'string', - 'example' => 'KEEP_UNCHANGED', - ], + 'protocol' => ['description' => '服务协议', 'type' => 'string', 'example' => 'HTTP'], + 'port' => ['description' => '服务端口', 'type' => 'integer', 'format' => 'int32', 'example' => '8080'], + 'weight' => ['description' => '服务权重', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'example' => 'svc-xxx'], + 'version' => ['description' => '服务版本', 'type' => 'string', 'example' => 'v2.0.0'], ], ], ], - 'inputType' => [ - 'description' => '参数的输入类型:'."\n" - .'- Trigger: 开关型。'."\n" - .'- Input: 输入型。'."\n" - .'- SingleSelect: 单选型。'."\n" - .'- MultiSelect: 多选型。', - 'type' => 'string', - 'enumValueTitles' => [ - 'SingleSelect' => 'SingleSelect', - 'MultiSelect' => 'MultiSelect', - 'Input' => 'Input', - 'Trigger' => 'Trigger', - ], - 'example' => 'Trigger', - ], ], ], - 'value' => [ - 'description' => '参数值。', - 'type' => 'string', - 'example' => '"true"', - ], ], ], ], + 'apiId' => ['description' => 'API ID。', 'type' => 'string', 'example' => 'api-xxx'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询MCP Server详情', + 'summary' => '获取MCP server。', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [ + ['createdAt' => '2026-06-05T07:26:38.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-12-05T07:15:33.000Z', 'description' => '响应参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"items\\": [\\n {\\n \\"definition\\": {\\n \\"name\\": \\"enable-gzip\\",\\n \\"displayName\\": \\"EnableGzip\\",\\n \\"valueType\\": \\"bool\\",\\n \\"description\\": \\"作用于请求与响应环节,启用gzip会对请求响应进行压缩,会减少网关流量,增加网关cpu消耗\\",\\n \\"group\\": \\"Engine\\",\\n \\"defaultValue\\": \\"\\\\\\"true\\\\\\"\\",\\n \\"valueUnit\\": \\"byte\\",\\n \\"readOnly\\": false,\\n \\"regex\\": \\"[a-z].*\\",\\n \\"minValue\\": \\"100\\",\\n \\"maxValue\\": \\"65535\\",\\n \\"minLength\\": 8,\\n \\"maxLength\\": 64,\\n \\"valueOptions\\": [\\n {\\n \\"label\\": \\"保持不变\\",\\n \\"key\\": \\"KEEP_UNCHANGED\\"\\n }\\n ],\\n \\"inputType\\": \\"Trigger\\"\\n },\\n \\"value\\": \\"\\\\\\"true\\\\\\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询网关特性参数配置列表', - ], - 'RemoveConsumerAuthorizationRule' => [ - 'summary' => '删除消费者授权规则。', - 'path' => '/v1/authorization-rules/{consumerAuthorizationRuleId}', - 'methods' => [ - 'delete', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2A6E90D5-A711-54F4-A489-E33C2021EDDF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"mcpServerId\\": \\"mcp-adfefz24afg\\",\\n \\"name\\": \\"test-mcp\\",\\n \\"type\\": \\"RealMCP\\",\\n \\"description\\": \\"测试专用MCP Server\\",\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\\\n\\",\\n \\"routeId\\": \\"hr-cr82undlhtgrlej***\\",\\n \\"createFromType\\": \\"ApiGatewayHttpToMCP\\",\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"domainIds\\": [\\n \\"d-aafefqefz\\"\\n ],\\n \\"domainInfos\\": [\\n {\\n \\"protocol\\": \\"HTTP,HTTPS\\",\\n \\"name\\": \\"verifyicket\\",\\n \\"domainId\\": \\"www.abc.com\\"\\n }\\n ],\\n \\"protocol\\": \\"HTTP\\",\\n \\"mcpServerPath\\": \\"/mcp-servers/test-mcp\\",\\n \\"exposedUriPath\\": \\"/sse\\",\\n \\"nacosMcpSyncInfo\\": {\\n \\"importInstanceId\\": \\"mse-xxxxx\\",\\n \\"importNamespace\\": \\"test-ns\\",\\n \\"importMcpServerId\\": \\"test-mcp\\"\\n },\\n \\"assembledSources\\": [\\n {\\n \\"mcpServerName\\": \\"test-mcp\\",\\n \\"mcpServerId\\": \\"mcp-xdafeafzz\\",\\n \\"tools\\": [\\n \\"test-tool\\"\\n ]\\n }\\n ],\\n \\"mcpServerConfig\\": \\"MCP Server配置 base64\\",\\n \\"mcpServerConfigPluginAttachmentId\\": \\"pa-adfaefwaef\\",\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"mcpStatisticsEnable\\": false,\\n \\"grayMcpServerConfigs\\": [\\n {\\n \\"routeId\\": \\"gray-route-xxx\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"backendConfig\\": {\\n \\"scene\\": \\"SingleService\\",\\n \\"services\\": [\\n {\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 8080,\\n \\"weight\\": 100,\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"version\\": \\"v2.0.0\\"\\n }\\n ]\\n }\\n }\\n ],\\n \\"apiId\\": \\"api-xxx\\"\\n }\\n}","type":"json"}]', + ], + 'GetPluginAttachment' => [ + 'path' => '/v1/plugin-attachments/{pluginAttachmentId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '260504', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '253923', + 'abilityTreeNodes' => ['FEATUREapigatewayIRO3QE'], ], 'parameters' => [ [ - 'name' => 'consumerAuthorizationRuleId', + 'name' => 'pluginAttachmentId', 'in' => 'path', - 'schema' => [ - 'description' => '消费者授权规则ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'car-ctgdn8em1hko5krqq03g', - ], + 'schema' => ['description' => '插件挂载ID。', 'type' => 'string', 'required' => false, 'example' => 'pa-cvl541em1hkk7n8vq810'], ], ], 'responses' => [ @@ -15864,299 +9421,353 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '5B626361-070A-56A7-B127-ADAC8F3655DB', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'C61E30D3-579A-5B43-994E-31E02EDC9129'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'pluginAttachmentId' => ['description' => '插件挂载ID。', 'type' => 'string', 'example' => 'pa-d05f1tmm1hku195dd8j0'], + 'parentResourceInfo' => ['description' => '父级挂载资源信息。', '$ref' => '#/components/schemas/ParentResourceInfo'], + 'resourceInfos' => [ + 'description' => '挂载资源信息列表。', + 'type' => 'array', + 'items' => ['description' => '挂载资源信息。', '$ref' => '#/components/schemas/ResourceInfo'], + ], + 'environmentInfo' => ['description' => '环境信息。', '$ref' => '#/components/schemas/EnvironmentInfo'], + 'pluginConfig' => ['description' => '插件配置原文的base64内容', 'type' => 'string', 'example' => 'cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvo8ub6m1hkvgv03r3k0'], + 'pluginClassInfo' => ['description' => '插件类型信息', '$ref' => '#/components/schemas/PluginClassInfo'], + 'gatewayInfo' => ['description' => '网关信息。', '$ref' => '#/components/schemas/GatewayInfo'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"5B626361-070A-56A7-B127-ADAC8F3655DB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除消费者授权规则', - ], - 'QueryConsumerAuthorizationRules' => [ - 'summary' => '查询消费者授权规则列表。', - 'path' => '/v1/authorization-rules', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询插件挂载', + 'summary' => '查询插件挂载。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 3000, 'regionId' => '*', 'api' => 'GetPluginAttachment'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetPluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C61E30D3-579A-5B43-994E-31E02EDC9129\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pluginAttachmentId\\": \\"pa-d05f1tmm1hku195dd8j0\\",\\n \\"parentResourceInfo\\": {\\n \\"resourceType\\": \\"Gateway\\"\\n },\\n \\"resourceInfos\\": [\\n {\\n \\"resourceType\\": \\"HttpApi\\",\\n \\"resourceId\\": \\"api-1nsu2d****\\",\\n \\"resourceName\\": \\"test1023\\",\\n \\"resourceVersion\\": \\"1.0.0\\"\\n }\\n ],\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": false,\\n \\"createTimestamp\\": 1721116090326,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"pluginConfig\\": \\"cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K\\",\\n \\"enable\\": true,\\n \\"pluginId\\": \\"pl-cvo8ub6m1hkvgv03r3k0\\",\\n \\"pluginClassInfo\\": {\\n \\"pluginClassId\\": \\"cls-xxx\\",\\n \\"type\\": \\"AI\\",\\n \\"mode\\": \\"Wasm\\",\\n \\"name\\": \\"ai-security-guard\\",\\n \\"alias\\": \\"AI安全护栏\\",\\n \\"description\\": \\"AI请求内容安全检测插件\\",\\n \\"source\\": \\"HigressOfficial\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"versionDescription\\": \\"初始版本\\",\\n \\"executeStage\\": \\"AUTHN\\",\\n \\"executePriority\\": 100,\\n \\"configExample\\": \\"{\\\\\\"checkRequest\\\\\\":true}\\",\\n \\"imageName\\": \\"higress-registry.tencentcloudcr.com/ai-security-guard\\",\\n \\"wasmLanguage\\": \\"Rust\\",\\n \\"supportedMinGatewayVersion\\": \\"2.1.11\\",\\n \\"wasmUrl\\": \\"https://...\\",\\n \\"innerPlugin\\": false\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'GetPluginClass' => [ + 'summary' => '获取自定义插件类。', + 'path' => '/v1/plugin-classes/{pluginClassId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '260503', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '231536', + 'abilityTreeNodes' => ['FEATUREapigateway3F24ZP', 'FEATUREapigateway2AMEZG'], ], 'parameters' => [ [ - 'name' => 'apiNameLike', - 'in' => 'query', - 'schema' => [ - 'description' => 'API名。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-xx', - ], + 'name' => 'pluginClassId', + 'in' => 'path', + 'schema' => ['description' => '插件类 ID', 'type' => 'string', 'required' => false, 'example' => 'pls-a1b2c3d4e5f6'], ], - [ - 'name' => 'pageNumber', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '29D8B6AE-326F-51AA-83F8-CC00DAF513F8'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '插件名称', 'type' => 'string', 'example' => 'key-auth'], + 'alias' => ['description' => '插件别名', 'type' => 'string', 'example' => 'Key Auth'], + 'description' => ['description' => '插件描述', 'type' => 'string', 'example' => 'Authentication based on API Key'], + 'type' => ['description' => '插件类型', 'type' => 'string', 'example' => 'Auth'], + 'wasmLanguage' => ['description' => 'Wasm 插件编程语言', 'type' => 'string', 'example' => 'TinyGo'], + 'document' => ['description' => '文档 Key', 'type' => 'string', 'example' => 'doc-key-auth'], + 'publishStatus' => ['description' => '发布状态', 'type' => 'string', 'example' => 'Success'], + ], + ], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"29D8B6AE-326F-51AA-83F8-CC00DAF513F8\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"name\\": \\"key-auth\\",\\n \\"alias\\": \\"Key Auth\\",\\n \\"description\\": \\"Authentication based on API Key\\",\\n \\"type\\": \\"Auth\\",\\n \\"wasmLanguage\\": \\"TinyGo\\",\\n \\"document\\": \\"doc-key-auth\\",\\n \\"publishStatus\\": \\"Success\\"\\n }\\n}","type":"json"}]', + 'title' => '获取自定义插件类', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetPluginClass', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'GetPolicy' => [ + 'summary' => '获取策略。', + 'path' => '/v2/policies/{policyId}', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'consumerId', - 'in' => 'query', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-ct21c16m1hkp64hk6qmg', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '227516', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], + ], + 'parameters' => [ [ - 'name' => 'resourceId', - 'in' => 'query', + 'name' => 'policyId', + 'in' => 'path', + 'schema' => ['title' => '策略ID', 'description' => '策略ID', 'type' => 'string', 'required' => true, 'example' => 'p-cu85bamm1hkrn5g6o***'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ha-cn-li942gy8p03', + 'title' => 'Schema of Response', + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32A***'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '响应数据。', '$ref' => '#/components/schemas/PolicyDetailInfo'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取策略', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicy'], + ], + ], + 'ramActions' => [ [ - 'name' => 'resourceType', - 'in' => 'query', - 'schema' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'HttpApiRoute', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/{#PolicyId}'], + ], ], ], + ], + ], + 'GetPolicyAttachment' => [ + 'path' => '/v1/policy-attachments/{policyAttachmentId}', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'environmentId', - 'in' => 'query', - 'schema' => [ - 'description' => '环境 ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cpqnr6tlhtgubc***', - ], + 'AK' => [], ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '262557', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], + ], + 'parameters' => [ [ - 'name' => 'groupByApi', - 'in' => 'query', + 'name' => 'policyAttachmentId', + 'in' => 'path', + 'schema' => ['title' => '策略挂载ID', 'description' => '策略挂载ID', 'type' => 'string', 'required' => true, 'example' => 'pr-ctd4j9mmahko5fb4***'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '通过API分组。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2C3B9A12-3868-5EB9-fBEA-F99E03DD1***'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'policyAttachmentId' => ['title' => '策略挂载ID', 'description' => '策略挂载ID', 'type' => 'string', 'example' => 'pr-cqoojualhtgquuj***'], + 'policyId' => ['title' => '策略ID', 'description' => '策略ID', 'type' => 'string', 'example' => 'p-cq7l5s5bblhtgi6qas***'."\n"], + 'attachResourceId' => ['title' => '挂载资源ID', 'description' => '挂载资源ID', 'type' => 'string', 'example' => 'op-csbkd9llhtgqhqua***'], + 'attachResourceType' => ['title' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', 'description' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', 'type' => 'string', 'example' => 'Operation'], + 'environmentId' => ['title' => '环境ID', 'description' => '环境ID', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qa***'], + 'gatewayId' => ['title' => '网关实例ID', 'description' => '网关实例ID', 'type' => 'string', 'example' => 'gw-cq2vundlhtg***'], + 'config' => ['title' => '挂载策略配置', 'description' => '挂载策略配置', 'type' => 'string', 'example' => '{"unitNum":1,"timeUnit":"s","enable":true}'], + ], + ], + ], ], ], + ], + 'title' => '查询策略挂载', + 'summary' => '查询策略资源挂载。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'parentResourceId', - 'in' => 'query', - 'schema' => [ - 'description' => '父项资源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ha-cn-li942gy8p01', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetPolicyAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2C3B9A12-3868-5EB9-fBEA-F99E03DD1***\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyAttachmentId\\": \\"pr-cqoojualhtgquuj***\\",\\n \\"policyId\\": \\"p-cq7l5s5bblhtgi6qas***\\\\n\\",\\n \\"attachResourceId\\": \\"op-csbkd9llhtgqhqua***\\",\\n \\"attachResourceType\\": \\"Operation\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qa***\\",\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"config\\": \\"{\\\\\\"unitNum\\\\\\":1,\\\\\\"timeUnit\\\\\\":\\\\\\"s\\\\\\",\\\\\\"enable\\\\\\":true}\\"\\n }\\n}","type":"json"}]', + ], + 'GetResourceOverview' => [ + 'path' => '/v1/overview/resources', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'consumerNameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '消费者名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'consumer-xxx', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '222857', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + ], + 'parameters' => [ [ - 'name' => 'resourceTypes', + 'name' => 'gatewayType', 'in' => 'query', - 'schema' => [ - 'description' => '服务来源类型', - 'type' => 'string', - 'required' => false, - 'example' => 'K8S', - ], + 'schema' => ['title' => '网关类型', 'description' => '网关类型', 'type' => 'string', 'required' => false, 'example' => 'AI'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回结构体。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'A60EE5CA-1294-532A-9775-8D2FD1C6EFBF', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'DD19A442-93C5-5C97-AFA0-B9C57EBD781B'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '资源信息。', 'type' => 'object', 'properties' => [ - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'string', - 'example' => '6', - ], - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + 'api' => [ + 'description' => 'API信息。', + 'type' => 'object', + 'properties' => [ + 'totalCount' => ['description' => 'API数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'publishedCount' => ['description' => '已发布API数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + ], ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', + 'gateway' => [ + 'description' => '网关信息。', + 'type' => 'object', + 'properties' => [ + 'totalCount' => ['description' => '网关实例数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'runningCount' => ['description' => '运行中的网关数。', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + ], ], - 'items' => [ - 'description' => '消费者规则列表。', + 'riskOverview' => [ + 'title' => '风险概览', + 'description' => '风险概览', 'type' => 'array', 'items' => [ - 'description' => '消费者鉴权规则详情。', + 'title' => '某个风险等级下对应的风险详情', + 'description' => '某个风险等级下对应的风险详情', 'type' => 'object', 'properties' => [ - 'consumerAuthorizationRuleId' => [ - 'description' => '消费者授权规则ID。', - 'type' => 'string', - 'example' => 'car-csgeka5lhtggrjcprok0', - ], - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-csheiftlhtgmp0j0hp4g', - ], - 'apiInfo' => [ - 'description' => 'API信息详情。', - '$ref' => '#/components/schemas/HttpApiApiInfo', - ], - 'environmentInfo' => [ - 'description' => '环境信息。', - '$ref' => '#/components/schemas/EnvironmentInfo', - ], - 'gatewayInfo' => [ - 'description' => '网关信息。', - '$ref' => '#/components/schemas/GatewayInfo', - ], - 'resourceId' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'example' => '2351944', - ], - 'resourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'HttpApiRoute', - ], - 'expireStatus' => [ - 'description' => '失效状态。', - 'type' => 'string', - 'example' => 'InEffect', - ], - 'expireMode' => [ - 'description' => '失效模式。LongTerm、ShortTerm,二选一。', - 'type' => 'string', - 'example' => 'ShortTerm', - ], - 'expireTimestamp' => [ - 'description' => '到期时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '172086834548', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => '{}', - ], - 'consumerInfo' => [ - 'description' => '消费者信息详情。', - '$ref' => '#/components/schemas/ConsumerInfo', - ], - 'resourceInfo' => [ - 'description' => '资源信息详情。', - 'type' => 'object', - 'properties' => [ - 'route' => [ - 'description' => '路由规则。', - '$ref' => '#/components/schemas/HttpRoute', - ], - 'operationInfo' => [ - 'description' => '接口信息。', - '$ref' => '#/components/schemas/HttpApiOperationInfo', + 'riskLevel' => ['title' => '风险等级', 'description' => '风险等级', 'type' => 'string', 'example' => 'LOW'], + 'count' => ['title' => '该风险等级下的实例数量', 'description' => '该风险等级下的实例数量', 'type' => 'string', 'example' => '1'], + 'riskDetails' => [ + 'title' => '风险详情列表', + 'description' => '风险详情列表', + 'type' => 'array', + 'items' => [ + 'title' => '风险详情', + 'description' => '风险详情', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['title' => '网关id', 'description' => '网关id', 'type' => 'string', 'example' => 'gw-xxxxxx'], + 'gatewayName' => ['title' => '网关名称', 'description' => '网关名称', 'type' => 'string', 'example' => 'test-gateway'], + 'score' => ['title' => '风险分数', 'description' => '风险分数', 'type' => 'string', 'example' => '100'], + 'riskLevel' => ['title' => '风险等级', 'description' => '风险等级', 'type' => 'string', 'example' => 'LOW'], + 'riskNames' => [ + 'title' => '风险名称列表', + 'description' => '风险名称列表', + 'type' => 'array', + 'items' => ['title' => '风险名称', 'description' => '风险名称', 'type' => 'string', 'example' => '网关实例为单节点'], + ], ], ], ], @@ -16169,120 +9780,56 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取资源概览', + 'summary' => '获取资源概览信息。', + 'changeSet' => [ + ['createdAt' => '2025-12-18T12:15:40.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2025-04-24T16:41:33.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A60EE5CA-1294-532A-9775-8D2FD1C6EFBF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": \\"6\\",\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"consumerAuthorizationRuleId\\": \\"car-csgeka5lhtggrjcprok0\\",\\n \\"consumerId\\": \\"cs-csheiftlhtgmp0j0hp4g\\",\\n \\"apiInfo\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n },\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"resourceId\\": \\"2351944\\",\\n \\"resourceType\\": \\"HttpApiRoute\\",\\n \\"expireStatus\\": \\"InEffect\\",\\n \\"expireMode\\": \\"ShortTerm\\",\\n \\"expireTimestamp\\": 172086834548,\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"deployStatus\\": \\"{}\\",\\n \\"consumerInfo\\": {\\n \\"consumerId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"enable\\": true\\n },\\n \\"resourceInfo\\": {\\n \\"route\\": {\\n \\"routeId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"deployStatus\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n },\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"mcpServerInfo\\": {\\n \\"importInstanceId\\": \\"\\",\\n \\"importNamespace\\": \\"\\",\\n \\"importMcpServerId\\": \\"\\",\\n \\"createFromType\\": \\"\\",\\n \\"mcpServerConfig\\": \\"\\",\\n \\"mcpRouteConfig\\": {\\n \\"protocol\\": \\"\\",\\n \\"exposedUriPath\\": \\"\\"\\n }\\n },\\n \\"domainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"gatewayStatus\\": {\\n \\"key\\": \\"\\"\\n },\\n \\"builtin\\": \\"\\"\\n },\\n \\"operationInfo\\": {\\n \\"operationId\\": \\"op-xxx\\",\\n \\"method\\": \\"GET\\",\\n \\"name\\": \\"GetUserInfo\\",\\n \\"path\\": \\"/user/123\\",\\n \\"description\\": \\"获取用户信息\\",\\n \\"response\\": {\\n \\"contentType\\": \\"application/json\\",\\n \\"items\\": [\\n {\\n \\"code\\": 200,\\n \\"example\\": \\"{\\\\\\"result\\\\\\": \\\\\\"ok\\\\\\"}\\",\\n \\"description\\": \\"正常接口响应\\",\\n \\"jsonSchema\\": \\"\\"\\n }\\n ]\\n },\\n \\"request\\": {\\n \\"headerParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"queryParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"pathParameters\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"required\\": false,\\n \\"type\\": \\"string\\",\\n \\"defaultValue\\": \\"\\",\\n \\"exampleValue\\": \\"\\",\\n \\"description\\": \\"\\"\\n }\\n ],\\n \\"body\\": {\\n \\"description\\": \\"\\",\\n \\"example\\": \\"{\\\\\\"key\\\\\\":\\\\\\"value\\\\\\"}\\",\\n \\"contentType\\": \\"application/json\\",\\n \\"jsonSchema\\": \\"\\"\\n }\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"createTimestamp\\": 1719386834548,\\n \\"enableAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"status\\": \\"Deployed\\",\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ]\\n }\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询消费者授权规则列表', - ], - 'CreateConsumerAuthorizationRules' => [ - 'summary' => '创建消费者授权规则。', - 'path' => '/v1/authorization-rules', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceOverview'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetResourceOverview', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD19A442-93C5-5C97-AFA0-B9C57EBD781B\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"api\\": {\\n \\"totalCount\\": 1,\\n \\"publishedCount\\": 1\\n },\\n \\"gateway\\": {\\n \\"totalCount\\": 1,\\n \\"runningCount\\": 1\\n },\\n \\"riskOverview\\": [\\n {\\n \\"riskLevel\\": \\"LOW\\",\\n \\"count\\": \\"1\\",\\n \\"riskDetails\\": [\\n {\\n \\"gatewayId\\": \\"gw-xxxxxx\\",\\n \\"gatewayName\\": \\"test-gateway\\",\\n \\"score\\": \\"100\\",\\n \\"riskLevel\\": \\"LOW\\",\\n \\"riskNames\\": [\\n \\"网关实例为单节点\\"\\n ]\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetSecret' => [ + 'path' => '/v1/secrets/{secretId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '259035', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], - 'tenantRelevance' => 'tenant', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '280144', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求体参数。', - 'type' => 'object', - 'properties' => [ - 'authorizationRules' => [ - 'description' => '消费者鉴权规则。', - 'type' => 'array', - 'items' => [ - 'description' => '消费者鉴权规则。', - 'type' => 'object', - 'properties' => [ - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-******', - ], - 'resourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'HttpApiRoute', - ], - 'resourceIdentifier' => [ - 'description' => '资源标识,提供给非标代码源作为空间复用的唯一标识 ', - 'type' => 'object', - 'properties' => [ - 'resourceId' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'ha-cn-li942gy8p03', - ], - 'environmentId' => [ - 'description' => '环境ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-******', - ], - 'resources' => [ - 'description' => '资源信息。', - 'type' => 'array', - 'items' => [ - 'description' => '资源信息。', - 'type' => 'string', - 'required' => false, - 'example' => '[]', - ], - 'required' => false, - ], - 'parentResourceId' => [ - 'description' => '父资源ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-******', - ], - ], - 'required' => false, - ], - 'expireMode' => [ - 'description' => '失效模式,LongTerm、ShortTerm,二选一。', - 'type' => 'string', - 'required' => false, - 'example' => 'LongTerm', - ], - 'expireTimestamp' => [ - 'description' => '失效时间。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '174116222x', - ], - ], - 'required' => false, - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'name' => 'secretId', + 'in' => 'path', + 'schema' => ['description' => '密钥ID。', 'type' => 'string', 'required' => false, 'example' => 'sec-d5e6shmm1hkoxxxxxxxx'], ], ], 'responses' => [ @@ -16292,79 +9839,80 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'ID of the request.', 'type' => 'string', 'example' => 'CE857A85-251D-5018-8103-A38957D71E20'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '密钥信息。', 'type' => 'object', 'properties' => [ - 'consumerAuthorizationRuleIds' => [ - 'description' => '消费者授权规则ID列表。', - 'type' => 'array', - 'items' => [ - 'description' => '消费者授权规则ID。', - 'type' => 'string', - 'example' => 'car-cus2d1em1hkg7732kuk0', - ], - ], + 'secretId' => ['description' => '密钥ID。', 'type' => 'string', 'example' => 'sec-d5e6shmm1hkoxxxxxxxx'], + 'name' => ['description' => '名称。', 'type' => 'string', 'example' => 'mysecret'], + 'secretSource' => ['description' => '密钥来源。', 'type' => 'string', 'example' => 'KMS'], + 'kmsConfig' => ['description' => 'KMS配置信息。', '$ref' => '#/components/schemas/KMSConfig'], + 'gatewayType' => ['description' => '网关类型,分以下两种:'."\n" + .'- API:表示 API 网关'."\n" + .'- AI: 表示 AI网关', 'type' => 'string', 'example' => 'API'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1725868548440'], + 'status' => ['description' => '密钥状态:'."\n" + .'- ENALBE: 已启用。'."\n" + .'- DISABLE: 不可用。'."\n" + .'- DELETED: 已删除。', 'type' => 'string', 'example' => 'ENALBE'], + 'referenceCount' => ['description' => '引用当前密钥的资源数。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerAuthorizationRuleIds\\": [\\n \\"car-cus2d1em1hkg7732kuk0\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => '创建消费者授权规则', - ], - 'BatchDeleteConsumerAuthorizationRule' => [ - 'summary' => '批量解除消费者授权规则。', - 'path' => '/v1/authorization-rules', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取密钥', + 'summary' => '获取密钥。', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"secretId\\": \\"sec-d5e6shmm1hkoxxxxxxxx\\",\\n \\"name\\": \\"mysecret\\",\\n \\"secretSource\\": \\"KMS\\",\\n \\"kmsConfig\\": {\\n \\"kmsInstanceId\\": \\"kst-xxxxxxxx\\",\\n \\"kmsKeyId\\": \\"key-xxxxxxxx\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1725868548440,\\n \\"status\\": \\"ENALBE\\",\\n \\"referenceCount\\": 1\\n }\\n}","type":"json"}]', + ], + 'GetSecretValue' => [ + 'summary' => '获取密钥值。', + 'path' => '/v1/secrets/name/{name}/value', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '259028', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '280144', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'consumerAuthorizationRuleIds', - 'in' => 'query', - 'schema' => [ - 'description' => '消费者授权规则ID列表。', - 'type' => 'string', - 'required' => false, - 'example' => 'car-cus2d1em1hkg7732kuk0', - ], + 'name' => 'name', + 'in' => 'path', + 'schema' => ['description' => '密钥名称。', 'type' => 'string', 'required' => false, 'example' => 'my_secret'], ], ], 'responses' => [ @@ -16374,173 +9922,134 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '464F9EA0-1052-51BD-8187-D292AA2D8D24', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '479AE38F-A574-52F7-87EA-E91199999F9E'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'secretData' => ['description' => '密钥值。', 'type' => 'string', 'example' => 'apikey-xxxxxxxx'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"464F9EA0-1052-51BD-8187-D292AA2D8D24\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '批量解除消费者授权规则', - ], - 'DeleteConsumer' => [ - 'summary' => '删除消费者。', - 'path' => '/v1/consumers/{consumerId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取密钥值', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetSecretValue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"479AE38F-A574-52F7-87EA-E91199999F9E\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"secretData\\": \\"apikey-xxxxxxxx\\"\\n }\\n}","type":"json"}]', + ], + 'GetService' => [ + 'path' => '/v1/services/{serviceId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '248086', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '237762', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'consumerId', + 'name' => 'serviceId', 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-cv8em6um1hku2shkv19g', - ], + 'schema' => ['description' => '服务唯一 ID', 'type' => 'string', 'required' => false, 'example' => 'svc-cr6pk4tlhtgm58e***'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应结果', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '40C8A4FF-7AF1-5B52-A662-02EEE24C6908', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Request ID.', 'type' => 'string', 'example' => '8FA9BB94-915B-5299-A694-49FCC7F5DD00'], + 'code' => ['description' => '响应状态码', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '服务详情数据', '$ref' => '#/components/schemas/Service'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"40C8A4FF-7AF1-5B52-A662-02EEE24C6908\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除消费者', - ], - 'ListConsumers' => [ - 'summary' => '获取消费者列表。', - 'path' => '/v1/consumers', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取服务详情', + 'summary' => 'Get Service Details。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetService'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetService', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'apig:GatewayId', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"8FA9BB94-915B-5299-A694-49FCC7F5DD00\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"serviceId\\": \\"svc-cr6pk4tlhtgm***\\",\\n \\"sourceType\\": \\"MSE_NACOS\\",\\n \\"name\\": \\"user-service\\",\\n \\"namespace\\": \\"PUBLIC\\",\\n \\"healthCheck\\": {\\n \\"protocol\\": \\"TCP\\",\\n \\"timeout\\": 5,\\n \\"interval\\": 10,\\n \\"healthyThreshold\\": 2,\\n \\"unhealthyThreshold\\": 3,\\n \\"httpPath\\": \\"/health\\",\\n \\"httpHost\\": \\"example.com\\",\\n \\"enable\\": true\\n },\\n \\"healthStatus\\": \\"Healthy\\",\\n \\"qualifier\\": \\"LATEST\\",\\n \\"createTimestamp\\": 1725617840096,\\n \\"updateTimestamp\\": 1725868548440,\\n \\"protocol\\": \\"HTTP\\",\\n \\"gatewayId\\": \\"gw-xxxx\\",\\n \\"modelProviderId\\": \\"mp-xxxx\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"groupName\\": \\"publich\\",\\n \\"aiServiceConfig\\": {\\n \\"provider\\": \\"qwen\\\\nmoonshot\\\\nbaichuan\\\\nyi\\\\nzhipuai\\\\n360ai\\\\nhunyuan\\\\nstepfun\\\\nspark\\\\nopenai\\\\nclaude\\\\nanthropic\\\\ndoubao\\\\nminimax\\\\ngemini\\\\nazure\\\\ndeepseek\\\\ncustom\\\\npai-eas\\\\nbedrock\\\\nvertex\\",\\n \\"address\\": \\"https://dashscope.aliyun.com\\",\\n \\"enableHealthCheck\\": true,\\n \\"paiEASServiceConfig\\": {\\n \\"workspaceId\\": \\"cb89d4de30042df4459442589664e00d\\",\\n \\"serviceId\\": \\"svc-cvaeb0um1hkqp79k72v0\\",\\n \\"serviceName\\": \\"auto-ai-service\\",\\n \\"endpointType\\": \\"\\\\\\"public\\\\\\",\\\\\\"private\\\\\\"\\"\\n },\\n \\"bedrockServiceConfig\\": {\\n \\"awsRegion\\": \\"us-east-1\\",\\n \\"awsAccessKey\\": \\"AKIAIOSFODNN7EXAMPLE\\",\\n \\"awsSecretKey\\": \\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\\"\\n },\\n \\"ApiKeyGenerateMode\\": \\"Custom\\",\\n \\"defaultModelName\\": \\"gpt-4\\",\\n \\"enableOutlierDetection\\": true,\\n \\"vertexServiceConfig\\": {\\n \\"vertexAuthKey\\": \\"{\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"service_account\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"project_id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"my-project\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"private_key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"-----BEGIN PRIVATE KEY-----...\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"client_email\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"xxx@xxx.iam.gserviceaccount.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"token_uri\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://oauth2.googleapis.com/token\\\\\\\\\\\\\\"}\\",\\n \\"vertexRegion\\": \\"us-central1\\",\\n \\"vertexProjectId\\": \\"my-project\\",\\n \\"vertexAuthServiceName\\": \\"google-oauth2\\",\\n \\"geminiSafetySetting\\": {\\n \\"key\\": \\"{\\\\\\"BLOCK_NONE\\\\\\": \\\\\\"true\\\\\\"}\\"\\n },\\n \\"vertexTokenRefreshAhead\\": 300\\n },\\n \\"protocols\\": [\\n \\"OpenAI/v1\\"\\n ],\\n \\"apiKeys\\": [\\n \\"sk-xxx\\"\\n ],\\n \\"compatibleProtocols\\": [\\n \\"\\\\\\"openai\\\\\\", \\\\\\"anthropic\\\\\\"\\"\\n ]\\n },\\n \\"agentServiceConfig\\": {\\n \\"address\\": \\"https://dashscope.aliyuncs.com/api/v1\\",\\n \\"dashScopeConfig\\": {\\n \\"appCredentials\\": [\\n {\\n \\"apiKey\\": \\"sk-xxx\\",\\n \\"appId\\": \\"app-xxx\\"\\n }\\n ]\\n },\\n \\"enableHealthCheck\\": true,\\n \\"provider\\": \\"qwen\\",\\n \\"difyConfig\\": {\\n \\"botType\\": \\"chatbot\\",\\n \\"apiKey\\": \\"app-xxx\\"\\n },\\n \\"enableOutlierDetection\\": true,\\n \\"customConfig\\": {\\n \\"apiKey\\": \\"app-xxx\\\\n\\",\\n \\"apiKeyGenerateMode\\": \\"Reference\\"\\n },\\n \\"protocols\\": [\\n \\"DashScope\\"\\n ]\\n },\\n \\"expressType\\": \\"StartExecution\\",\\n \\"addresses\\": [\\n \\"127.0.0.1:8080\\"\\n ],\\n \\"ports\\": [\\n {\\n \\"port\\": 8080,\\n \\"name\\": \\"user-service\\",\\n \\"protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"unhealthyEndpoints\\": [\\n \\"192.168.1.12:8080\\"\\n ],\\n \\"outlierEndpoints\\": [\\n \\"[\\\\\\"10.0.0.2:8080\\\\\\"]\\"\\n ],\\n \\"labelDetails\\": [\\n {\\n \\"key\\": \\"version\\",\\n \\"values\\": [\\n \\"[\\\\\\"v1.0.0\\\\\\", \\\\\\"v2.0.0\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"versions\\": [\\n {\\n \\"name\\": \\"v1\\",\\n \\"labels\\": [\\n {\\n \\"key\\": \\"version\\",\\n \\"value\\": \\"v1\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'GetSource' => [ + 'summary' => '获取服务来源详情。', + 'path' => '/v1/sources/{sourceId}', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '248113', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '247800', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'nameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '按接口名称模糊搜索接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'UI-test', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码,从1开始,不填默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'gatewayType', - 'in' => 'query', - 'schema' => [ - 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'AI', - ], + 'name' => 'sourceId', + 'in' => 'path', + 'schema' => ['title' => '资源一级ID', 'description' => '资源一级ID', 'type' => 'string', 'required' => false, 'example' => 'src-d1596kem1hkv3o72qkdg'], ], ], 'responses' => [ @@ -16550,211 +10059,185 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '9BDD6A7C-CBA7-504F-B8C5-51B9F16590F7', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'ID of the request', 'type' => 'string', 'example' => 'DE10E3C0-A676-5169-812D-6610AACBFAFF'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '18', - ], - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', + 'sourceId' => ['description' => '来源ID', 'type' => 'string', 'example' => 'src-crdddallhtgt***'], + 'name' => ['description' => '名称。', 'type' => 'string', 'example' => 'import-test'], + 'k8SSourceInfo' => [ + 'description' => 'K8S 来源信息', + 'type' => 'object', + 'properties' => [ + 'clusterId' => ['description' => '容器服务集群ID。', 'type' => 'string', 'example' => 'c2d290b2d8b5d4935864cace5f0173f31'], + ], ], - 'items' => [ - 'description' => '消费者信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '消费者信息。', - 'type' => 'object', - 'properties' => [ - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-csheiftlhtgmp0j0hp4g', - ], - 'name' => [ - 'description' => '消费者名称。', - 'type' => 'string', - 'example' => 'user-service', - ], - 'description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => '测试消费者', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1721097861050', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1721123855214', - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => '{}', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], + 'nacosSourceInfo' => [ + 'description' => 'MSE Nacos来源信息。', + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['description' => 'Nacos实例ID。', 'type' => 'string', 'example' => 'hgprecn-cn-cfn47q7oh001'], + 'clusterId' => ['description' => '集群ID。', 'type' => 'string', 'example' => 'fluss-cn-w7k4hann601'], + 'address' => ['description' => 'Nacos实例访问地址。', 'type' => 'string', 'example' => 'mse'], ], ], + 'associationStatus' => ['title' => 'The association status of the source', 'description' => 'The association status of the source', 'type' => 'string', 'example' => 'ASSOCIATED'], + 'associationReason' => ['title' => 'The reason for the association status', 'description' => 'The reason for the association status', 'type' => 'string', 'example' => 'Association completed'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'example' => 'gw-cq2vundlhtg***'], + 'type' => ['description' => '类型。', 'type' => 'string', 'example' => 'K8S'], + 'resourceGroupId' => ['description' => '资源组ID', 'type' => 'string', 'example' => 'rg-aekz4us4iruleja'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DE10E3C0-A676-5169-812D-6610AACBFAFF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"sourceId\\": \\"src-crdddallhtgt***\\",\\n \\"name\\": \\"import-test\\",\\n \\"k8SSourceInfo\\": {\\n \\"clusterId\\": \\"c2d290b2d8b5d4935864cace5f0173f31\\"\\n },\\n \\"nacosSourceInfo\\": {\\n \\"instanceId\\": \\"hgprecn-cn-cfn47q7oh001\\",\\n \\"clusterId\\": \\"fluss-cn-w7k4hann601\\",\\n \\"address\\": \\"mse\\"\\n },\\n \\"associationStatus\\": \\"ASSOCIATED\\",\\n \\"associationReason\\": \\"Association completed\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"type\\": \\"K8S\\",\\n \\"resourceGroupId\\": \\"rg-aekz4us4iruleja\\"\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BDD6A7C-CBA7-504F-B8C5-51B9F16590F7\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 18,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"consumerId\\": \\"cs-csheiftlhtgmp0j0hp4g\\",\\n \\"name\\": \\"user-service\\",\\n \\"description\\": \\"测试消费者\\",\\n \\"createTimestamp\\": 1721097861050,\\n \\"updateTimestamp\\": 1721123855214,\\n \\"deployStatus\\": \\"{}\\",\\n \\"enable\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取消费者列表', - ], - 'DeleteConsumerAuthorizationRule' => [ - 'summary' => '删除消费者授权规则。', - 'path' => '/v1/consumers/{consumerId}/authorization-rules/{consumerAuthorizationRuleId}', - 'methods' => [ - 'delete', + 'title' => '获取服务来源详情', + 'changeSet' => [ + ['createdAt' => '2026-06-17T12:19:57.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSource'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetSource', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'apig:GatewayId', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'GetTraceConfig' => [ + 'summary' => '获取链路追踪配置。', + 'path' => '/v1/gateways/{gatewayId}/trace', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '248109', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigatewayWECSVA'], ], 'parameters' => [ [ - 'name' => 'consumerAuthorizationRuleId', + 'name' => 'gatewayId', 'in' => 'path', - 'schema' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'cas-xxx', - ], + 'schema' => ['description' => '网关实例ID', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx'], ], [ - 'name' => 'consumerId', - 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-cukm3imm1hkh1e2m4rqg', - ], + 'name' => 'acceptLanguage', + 'in' => 'query', + 'schema' => ['description' => '语言类型:'."\n" + .'zh:中文'."\n" + .'en:英文', 'type' => 'string', 'required' => false, 'example' => 'zh'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回参数', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3C3B9A12-3868-5EB9-8BEA-F99E03DD125C', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'ok', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C'], + 'code' => ['description' => '请求响应码', 'type' => 'integer', 'format' => 'int32', 'example' => '200'], + 'success' => ['description' => 'boolean 请求结果,取值如下:'."\n" + .'true:请求成功。'."\n" + .'false:请求失败。', 'type' => 'boolean', 'example' => 'true'], + 'message' => ['description' => '错误信息', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据', + 'type' => 'object', + 'properties' => [ + 'enable' => ['description' => '是否开启链路追踪:'."\n" + .'true:开启'."\n" + .'false:关闭', 'type' => 'boolean', 'example' => 'true'], + 'sampleRatio' => ['description' => '采样率', 'type' => 'integer', 'format' => 'int32', 'example' => '50'], + 'traceType' => ['description' => '链路追踪类型:'."\n" + .'- XTRACE'."\n" + .'- SKYWALKING'."\n" + .'- OPENTELEMETRY'."\n" + .'- OTSKYWALKING', 'type' => 'string', 'example' => 'SKYWALKING'], + 'serviceId' => ['description' => '服务ID,链路追踪类型为SKYWALKING时存在该参数', 'type' => 'string', 'example' => 'ss-co370icmjeu****'], + 'servicePort' => ['description' => '服务端口,链路追踪类型为SKYWALKING时存在该参数', 'type' => 'string', 'example' => '8090'], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3C3B9A12-3868-5EB9-8BEA-F99E03DD125C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]', - 'title' => '删除消费者授权规则', - ], - 'CreateConsumer' => [ - 'summary' => '创建消费者。', - 'path' => '/v1/consumers', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取trace配置', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTraceConfig'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetTraceConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C\\",\\n \\"code\\": 200,\\n \\"success\\": true,\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"enable\\": true,\\n \\"sampleRatio\\": 50,\\n \\"traceType\\": \\"SKYWALKING\\",\\n \\"serviceId\\": \\"ss-co370icmjeu****\\",\\n \\"servicePort\\": \\"8090\\"\\n }\\n}","type":"json"}]', + ], + 'ImportHttpApi' => [ + 'summary' => '导入HTTP API,支持将OpenAPI 2.0和 OpenAPI 3.0.x版本的定义文件导入为REST类型的API。', + 'path' => '/v1/http-apis/import', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '248083', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '220978', + 'abilityTreeNodes' => ['FEATUREapigateway9WMX21'], ], 'parameters' => [ [ @@ -16762,55 +10245,52 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body。', + 'description' => '请求体参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '消费者名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => '消费者描述。', + 'specContentBase64' => ['title' => 'Bse64编码的API定义,支持OAS2.0和OAS3.0规范,支持YAML格式和JSON格式。', 'description' => 'Bse64编码的API定义,支持OAS2.0和OAS3.0规范,支持YAML格式和JSON格式。优先级高于specFileUrl参数。 若文件大小超过10MB请使用specFileUrl参数传递。', 'type' => 'string', 'required' => false, 'example' => 'b3BlbmFwaTogMy4wLjAKaW5mbzoKICAgIHRpdGxlOiBkZW1vCiAgICBkZXNjcmlwdGlvbjogdGhpc2lzZGVtbwogICAgdmVyc2lvbjogIiIKcGF0aHM6CiAgICAvdXNlci97dXNlcklkfToKICAgICAgICBnZXQ6CiAgICAgICAgICAgIHN1bW1hcnk6IOiOt+WPlueUqOaIt+S/oeaBrwogICAgICAgICAgICBkZXNjcmlwdGlvbjog6I635Y+W55So5oi35L+h5oGvCiAgICAgICAgICAgIG9wZXJhdGlvbklkOiBHZXRVc2VySW5mbwogICAgICAgICAgICByZXNwb25zZXM6CiAgICAgICAgICAgICAgICAiMjAwIjoKICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbjog5oiQ5YqfCiAgICAgICAgICAgICAgICAgICAgY29udGVudDoKICAgICAgICAgICAgICAgICAgICAgICAgYXBwbGljYXRpb24vanNvbjtjaGFyc2V0PXV0Zi04OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1hOiBudWxsCnNlcnZlcnM6CiAgICAtIHVybDogaHR0cDovL2FwaS5leGFtcGxlLmNvbS92MQo='], + 'specFileUrl' => ['title' => 'OAS文件的下载地址,需要支持免验证下载。优先级低于specContentBase64字段。', 'description' => 'API定义文件的下载地址,需要公网可以下载或使用相同region的OSS内网下载地址。文件地址要求拥有下载权限,对于OSS非公开读的文件链接,请参考文档[使用预签名URL下载文件](~~39607~~),填写带有下载权限的地址。目前仅支持OSS上存储的API定义文件。', 'type' => 'string', 'required' => false, 'example' => 'https://bucket.oss-cn-hangzhou.aliyuncs.com/**/*.yaml'], + 'name' => ['title' => 'API名称。', 'description' => '导入的API名称,若不填则从API定义文件中提取。若API名称与版本化配置已存在,则本次导入会根据strategy字段对已有API定义做更新。', 'type' => 'string', 'required' => false, 'example' => 'import-test'], + 'description' => ['title' => 'API描述。', 'description' => '导入的API描述字段,若未填写则从API定义中提取。限制长度255字节。', 'type' => 'string', 'required' => false, 'example' => '测试专用API'], + 'versionConfig' => ['description' => 'API版本化配置,若开启版本化配置,则版本号API名称与已存在API相同时,本次导入将视为更新动作。若未开启版本化配置,则API名称与已存在API相同时,本次导入将视为更新动作。', 'required' => false, '$ref' => '#/components/schemas/HttpApiVersionConfig'], + 'dryRun' => ['title' => '预检功能,不进行导入只检查Swagger定义。', 'description' => '导入预检,若开启则仅进行检测,不进行导入动作。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'strategy' => [ + 'title' => '导入时的冲突合并策略,为空默ExistFirst', + 'description' => '当导入的API名称与版本管理与已存在API相同时,需要指定更新策略。'."\n" + .'- SpecOnly:完全以导入文件为准。'."\n" + .'- SpecFirst:以导入文件为优先,新增接口与更新已有接口,文件中未提及的接口保持不动。'."\n" + .'- ExistFirst:以存在的API为优先,只新增接口,不更新已有接口。'."\n" + .'为空时默认ExistFirst策略。', 'type' => 'string', 'required' => false, - 'example' => 'consumer for test', - ], - 'jwtIdentityConfig' => [ - 'description' => 'JWT身份配置。', - 'required' => false, - '$ref' => '#/components/schemas/JwtIdentityConfig', + 'enumValueTitles' => ['SpecFirst' => '以导入文件为优先,新增接口与更新已有接口,文件中未提及的接口保持不动', 'SpecOnly' => '完全以导入文件为准', 'ExistFirst' => '以存在的API为优先,只新增接口,不更新已有接口'], + 'example' => 'ExistFirst', + 'enum' => ['SpecFirst', 'SpecOnly', 'ExistFirst'], ], - 'akSkIdentityConfigs' => [ - 'description' => 'AK/SK身份配置列表。', - 'type' => 'array', - 'items' => [ - 'description' => 'AK/SK身份配置。', - 'required' => false, - '$ref' => '#/components/schemas/AkSkIdentityConfig', + 'withGatewayExtension' => ['title' => '是否携带网关扩展配置导入。导入HTTP API网关扩展配置时需设置为true。', 'description' => '是否导入网关扩展信息', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'targetHttpApiId' => ['title' => '导入覆盖指定的HTTP API。若指定该字段,则name和versionConfig字段失效。', 'description' => '若指定该字段,则本次导入将更新指定API而非导入或根据API名称与版本管理配置搜索已存在API。目标API必须是REST类型。', 'type' => 'string', 'required' => false, 'example' => 'api-xxxx'], + 'resourceGroupId' => ['description' => '[资源组ID](~~151181~~)。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek23nsa353vmra'], + 'specOssConfig' => [ + 'description' => 'OSS信息。', + 'type' => 'object', + 'properties' => [ + 'regionId' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-shanghai'], + 'bucketName' => ['description' => 'bucket名称。', 'type' => 'string', 'required' => false, 'example' => 'gms-service-prod'], + 'objectKey' => ['description' => '文件完整路径。', 'type' => 'string', 'required' => false, 'example' => '/test/swagger.json'], ], 'required' => false, ], - 'apikeyIdentityConfig' => [ - 'description' => 'APIKEY鉴权方式身份配置。', - 'required' => false, - '$ref' => '#/components/schemas/ApiKeyIdentityConfig', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'gatewayType' => [ - 'description' => '网关类型。', - 'type' => 'string', + 'deployConfigs' => [ + 'description' => 'API部署配置。', + 'type' => 'array', + 'items' => ['description' => '参数', 'required' => false, '$ref' => '#/components/schemas/HttpApiDeployConfig'], 'required' => false, - 'example' => 'API', ], + 'mcpRouteId' => ['description' => 'MCP路由ID。', 'type' => 'string', 'required' => false, 'example' => 'xxx'], + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-xxx'], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -16818,33 +10298,124 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '479AE38F-A574-52F7-87EA-E91199999F9E', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'CE857A85-251D-5018-8103-A38957D71E20'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => 'API信息。', 'type' => 'object', 'properties' => [ - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-cvnjramm1hks1r3fmmug', + 'name' => ['description' => 'API名称。', 'type' => 'string', 'example' => 'import-test'], + 'httpApiId' => ['description' => 'HTTP API 唯一ID。', 'type' => 'string', 'example' => 'api-xxx'], + 'dryRunInfo' => [ + 'description' => '预检结果。', + 'type' => 'object', + 'properties' => [ + 'successOperations' => [ + 'description' => '预检成功的接口列表。', + 'type' => 'array', + 'items' => [ + 'description' => '接口信息。', + 'type' => 'object', + 'properties' => [ + 'action' => [ + 'description' => '预检后将执行的动作。'."\n" + .'- Create:创建。'."\n" + .'- Update: 更新。', + 'type' => 'string', + 'enumValueTitles' => ['Create' => 'Create', 'Update' => 'Update'], + 'example' => 'Create', + ], + 'name' => ['description' => '接口名称。', 'type' => 'string', 'example' => 'CreateUser'], + 'path' => ['description' => '接口路径。', 'type' => 'string', 'example' => '/v1/users'], + 'method' => ['description' => '接口方法。', 'type' => 'string', 'example' => 'POST'], + ], + ], + ], + 'failureOperations' => [ + 'description' => '预检失败的接口列表。', + 'type' => 'array', + 'items' => [ + 'description' => '接口信息。', + 'type' => 'object', + 'properties' => [ + 'path' => ['description' => '接口路径。', 'type' => 'string', 'example' => '/v1/orders'], + 'method' => ['description' => '接口方法。', 'type' => 'string', 'example' => 'GET'], + 'errorMessage' => ['description' => '错误信息', 'type' => 'string', 'example' => '缺少响应定义。'], + ], + ], + ], + 'successComponents' => [ + 'description' => '预检成功的数据结构列表。', + 'type' => 'array', + 'items' => [ + 'description' => '数据结构信息。', + 'type' => 'object', + 'properties' => [ + 'action' => [ + 'description' => '预检后将执行的动作。'."\n" + .'- Create:创建。'."\n" + .'- Update: 更新。', + 'type' => 'string', + 'enumValueTitles' => ['Create' => 'Create', 'Update' => 'Update'], + 'example' => 'Create', + ], + 'name' => ['description' => '数据结构名称。', 'type' => 'string', 'example' => 'userDTO'], + ], + ], + ], + 'failureComponents' => [ + 'description' => '预检失败的数据结构列表。', + 'type' => 'array', + 'items' => [ + 'description' => '数据结构信息。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '数据结构名称。', 'type' => 'string', 'example' => 'orderDTO'], + 'errorMessage' => ['description' => '错误信息。', 'type' => 'string', 'example' => '数据结构定义有误。'], + ], + ], + ], + 'successRoutes' => [ + 'description' => '成功导入的路由列表', + 'type' => 'array', + 'items' => [ + 'description' => '路由列表', + 'type' => 'object', + 'properties' => [ + 'action' => ['description' => '操作类型', 'type' => 'string', 'example' => 'Create'], + 'name' => ['description' => '名称', 'type' => 'string', 'example' => 'user-route'], + ], + ], + ], + 'failureRoutes' => [ + 'description' => '失败的路由列表', + 'type' => 'array', + 'items' => [ + 'description' => '路由列表', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '参数名称。', 'type' => 'string', 'example' => 'admin-route'], + 'errorMessage' => ['description' => '错误信息', 'type' => 'string', 'example' => 'conflict'], + ], + ], + ], + 'errorMessages' => [ + 'description' => '错误信息,若错误信息非空,则无法成功导入API。', + 'type' => 'array', + 'items' => ['description' => '单个错误信息。', 'type' => 'string', 'example' => 'OpenAPI 3.1.x 版本不支持。'], + ], + 'warningMessages' => [ + 'description' => '告警信息,告警信息非空,则部分接口/数据接口可能导入不成功。', + 'type' => 'array', + 'items' => ['description' => '单个告警信息。', 'type' => 'string', 'example' => 'GET /v1/orders 参数定义不完整。'], + ], + 'existHttpApiInfo' => ['description' => '已存在的API信息。若该字段非空,则导入动作将更新该API。', '$ref' => '#/components/schemas/HttpApiApiInfo'], + 'mcpToolsDefinition' => ['title' => 'MCP工具定义信息', 'description' => 'MCP工具定义信息', 'type' => 'string', 'example' => '...'], + ], ], ], ], @@ -16852,84 +10423,68 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"name\\": \\"import-test\\",\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"dryRunInfo\\": {\\n \\"successOperations\\": [\\n {\\n \\"action\\": \\"Create\\",\\n \\"name\\": \\"CreateUser\\",\\n \\"path\\": \\"/v1/users\\",\\n \\"method\\": \\"POST\\"\\n }\\n ],\\n \\"failureOperations\\": [\\n {\\n \\"path\\": \\"/v1/orders\\",\\n \\"method\\": \\"GET\\",\\n \\"errorMessage\\": \\"缺少响应定义。\\"\\n }\\n ],\\n \\"successComponents\\": [\\n {\\n \\"action\\": \\"Create\\",\\n \\"name\\": \\"userDTO\\"\\n }\\n ],\\n \\"failureComponents\\": [\\n {\\n \\"name\\": \\"orderDTO\\",\\n \\"errorMessage\\": \\"数据结构定义有误。\\"\\n }\\n ],\\n \\"successRoutes\\": [\\n {\\n \\"action\\": \\"Create\\",\\n \\"name\\": \\"user-route\\"\\n }\\n ],\\n \\"failureRoutes\\": [\\n {\\n \\"name\\": \\"admin-route\\",\\n \\"errorMessage\\": \\"conflict\\"\\n }\\n ],\\n \\"errorMessages\\": [\\n \\"OpenAPI 3.1.x 版本不支持。\\"\\n ],\\n \\"warningMessages\\": [\\n \\"GET /v1/orders 参数定义不完整。\\"\\n ],\\n \\"mcpToolsDefinition\\": \\"...\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => '导入HTTP API', + 'changeSet' => [ + ['createdAt' => '2026-06-12T06:33:31.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2026-03-25T04:56:11.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-08-13T01:56:38.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-08-12T05:56:38.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-04-24T16:41:32.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"479AE38F-A574-52F7-87EA-E91199999F9E\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerId\\": \\"cs-cvnjramm1hks1r3fmmug\\"\\n }\\n}","type":"json"}]', - 'title' => '创建消费者', - ], - 'UpdateConsumer' => [ - 'summary' => '更新消费者。', - 'path' => '/v1/consumers/{consumerId}', - 'methods' => [ - 'put', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportHttpApi'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ImportHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'InstallPlugin' => [ + 'path' => '/v1/plugins/', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '248085', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '231541', + 'abilityTreeNodes' => ['FEATUREapigateway3F24ZP', 'FEATUREapigateway2AMEZG', 'FEATUREapigateway216K2A'], ], 'parameters' => [ [ - 'name' => 'consumerId', - 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-cvfmq9um1hkg1teictkg', - ], - ], - [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数。', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'description' => [ - 'description' => '描述', - 'type' => 'string', - 'required' => false, - 'example' => '测试消费者', - ], - 'jwtIdentityConfig' => [ - 'description' => 'JWT身份鉴权配置。', - 'required' => false, - '$ref' => '#/components/schemas/JwtIdentityConfig', - ], - 'akSkIdentityConfigs' => [ - 'description' => 'AKSK身份鉴权配置列表。', + 'pluginClassId' => ['description' => '插件类型ID', 'type' => 'string', 'required' => false, 'example' => 'pls-csqmjndlhtguk0loef21'], + 'gatewayIds' => [ + 'description' => '网关id列表。', 'type' => 'array', - 'items' => [ - 'description' => 'AKSK身份鉴权配置。', - 'required' => false, - '$ref' => '#/components/schemas/AkSkIdentityConfig', - ], - 'required' => false, - ], - 'apikeyIdentityConfig' => [ - 'description' => 'APIKEY身份鉴权配置。', + 'items' => ['description' => '网关id。', 'type' => 'string', 'required' => false, 'example' => 'gw-d28mjcmm1hkub84mdbi0'."\n"], 'required' => false, - '$ref' => '#/components/schemas/ApiKeyIdentityConfig', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', ], ], 'required' => false, @@ -16943,41 +10498,59 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'B917B12C-030A-597A-AF2B-6C4353FC9F10', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'ok', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '201CFCA0-3AF5-52D0-A0F3-FBA697AF55CB'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'Success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'installPluginResults' => [ + 'description' => '安装结果', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvs7gbum1hkhs6us6vbg'], + 'gatewayId' => ['description' => '网关id。', 'type' => 'string', 'example' => 'gw-d28mjcmm1hkub84mdbi0'], + ], + 'description' => '', + ], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B917B12C-030A-597A-AF2B-6C4353FC9F10\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]', - 'title' => '更新消费者', - ], - 'GetConsumer' => [ - 'summary' => '获取消费者。', - 'path' => '/v1/consumers/{consumerId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '安装插件', + 'summary' => '安装插件。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InstallPlugin'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:InstallPlugin', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"201CFCA0-3AF5-52D0-A0F3-FBA697AF55CB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"installPluginResults\\": [\\n {\\n \\"pluginId\\": \\"pl-cvs7gbum1hkhs6us6vbg\\",\\n \\"gatewayId\\": \\"gw-d28mjcmm1hkub84mdbi0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListConsumerAuthorizationRules' => [ + 'path' => '/v1/consumers/{consumerId}/authorization-rules', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -16989,21 +10562,29 @@ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '248090', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'abilityTreeCode' => '248112', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ + 'name' => 'apiNameLike', + 'in' => 'query', + 'schema' => ['description' => 'api名称模糊搜索参数。', 'type' => 'string', 'required' => false, 'example' => 'qwen3'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小,不填默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ 'name' => 'consumerId', 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-ctb92p6m1hkqu85iph8g', - ], + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-csgdi45lhtggrjcpriug'], ], ], 'responses' => [ @@ -17013,77 +10594,37 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '880C61B3-7B90-5570-A3F7-D6D92C0E2D36', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '294382D9-EE60-5735-A4CD-F2AC2840423D'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-cvgbtk6m1hkji5sb8dr0', - ], - 'name' => [ - 'description' => '消费者名称。', - 'type' => 'string', - 'example' => 'consumer-1', - ], - 'description' => [ - 'description' => '描述。', - 'type' => 'string', - 'example' => '测试专用消费者', - ], - 'jwtIdentityConfig' => [ - 'description' => 'JWT身份鉴权配置。', - '$ref' => '#/components/schemas/JwtIdentityConfig', - ], - 'apiKeyIdentityConfig' => [ - 'description' => 'APIKEY身份鉴权配置。', - '$ref' => '#/components/schemas/ApiKeyIdentityConfig', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => '""', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'akSkIdentityConfigs' => [ - 'description' => 'AKSK身份鉴权配置。', + 'totalSize' => ['description' => '总数量。', 'type' => 'string', 'example' => '9'], + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => '消费者授权信息列表。', 'type' => 'array', 'items' => [ - 'description' => '参数', - '$ref' => '#/components/schemas/AkSkIdentityConfig', + 'description' => '消费者授权信息。', + 'type' => 'object', + 'properties' => [ + 'consumerAuthorizationRuleId' => ['description' => '消费者授权规则ID。', 'type' => 'string', 'example' => 'car-csgeka5lhtggrjcprok0'], + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-csheiftlhtgmp0j0hp4g'], + 'apiInfo' => ['description' => 'API信息。', '$ref' => '#/components/schemas/HttpApiApiInfo'], + 'environmentInfo' => ['description' => '环境信息。', '$ref' => '#/components/schemas/EnvironmentInfo'], + 'gatewayInfo' => ['description' => '网关信息。', '$ref' => '#/components/schemas/GatewayInfo'], + 'resourceId' => ['description' => '资源ID。', 'type' => 'string', 'example' => '2351944'], + 'resourceType' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'HttpApiRoute'], + 'expireStatus' => ['description' => '失效状态。', 'type' => 'string', 'example' => 'InEffect'], + 'expireMode' => ['description' => '失效模式。LongTerm、ShortTerm,二选一。', 'type' => 'string', 'example' => 'ShortTerm'], + 'expireTimestamp' => ['description' => '到期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '172086834548'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1721116090326'], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => '{}'], + ], ], ], ], @@ -17092,92 +10633,75 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"880C61B3-7B90-5570-A3F7-D6D92C0E2D36\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerId\\": \\"cs-cvgbtk6m1hkji5sb8dr0\\",\\n \\"name\\": \\"consumer-1\\",\\n \\"description\\": \\"测试专用消费者\\",\\n \\"jwtIdentityConfig\\": {\\n \\"type\\": \\"\\",\\n \\"secretType\\": \\"\\",\\n \\"jwks\\": \\"\\",\\n \\"jwtTokenConfig\\": {\\n \\"position\\": \\"\\",\\n \\"key\\": \\"\\",\\n \\"prefix\\": \\"\\",\\n \\"pass\\": true\\n },\\n \\"jwtPayloadConfig\\": {\\n \\"payloadKeyName\\": \\"\\",\\n \\"payloadKeyValue\\": \\"\\"\\n }\\n },\\n \\"apiKeyIdentityConfig\\": {\\n \\"type\\": \\"\\",\\n \\"apikeySource\\": {\\n \\"source\\": \\"\\",\\n \\"value\\": \\"\\"\\n },\\n \\"credentials\\": [\\n {\\n \\"generateMode\\": \\"\\",\\n \\"apikey\\": \\"\\"\\n }\\n ]\\n },\\n \\"enable\\": true,\\n \\"deployStatus\\": \\"\\\\\\"\\\\\\"\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"akSkIdentityConfigs\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"generateMode\\": \\"\\",\\n \\"ak\\": \\"\\",\\n \\"sk\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取消费者', - ], - 'CreateConsumerAuthorizationRule' => [ - 'summary' => '创建消费者授权规则。', - 'path' => '/v1/consumers/{consumerId}/authorization-rules', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取消费者授权规则列表', + 'summary' => '获取消费者授权规则列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListConsumerAuthorizationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"294382D9-EE60-5735-A4CD-F2AC2840423D\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": \\"9\\",\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"consumerAuthorizationRuleId\\": \\"car-csgeka5lhtggrjcprok0\\",\\n \\"consumerId\\": \\"cs-csheiftlhtgmp0j0hp4g\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": false,\\n \\"createTimestamp\\": 1721116090326,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"resourceId\\": \\"2351944\\",\\n \\"resourceType\\": \\"HttpApiRoute\\",\\n \\"expireStatus\\": \\"InEffect\\",\\n \\"expireMode\\": \\"ShortTerm\\",\\n \\"expireTimestamp\\": 172086834548,\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"deployStatus\\": \\"{}\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListConsumerQuotaRules' => [ + 'summary' => '查询某个消费者上已配置的配额规则列表。', + 'path' => '/v1/consumers/{consumerId}/quota-rules', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '248099', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ 'name' => 'consumerId', 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-ctd4l1um1hkph7ki1k80', - ], + 'schema' => ['title' => '消费者ID', 'description' => '消费者ID', 'type' => 'string', 'required' => false, 'example' => 'cs-d8kkaium1hks607xxxxx'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求参数。', - 'type' => 'object', - 'properties' => [ - 'resourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'API', - ], - 'parentResourceType' => [ - 'description' => '父资源类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'API', - ], - 'authorizationResourceInfos' => [ - 'description' => '资源授权信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '资源授权信息。', - 'required' => false, - '$ref' => '#/components/schemas/AuthorizationResourceInfo', - ], - 'required' => false, - ], - 'expireMode' => [ - 'description' => '失效模式。LongTerm、ShortTerm,二选一。', - 'type' => 'string', - 'required' => false, - 'example' => 'LongTerm', - ], - 'expireTimestamp' => [ - 'description' => '到期时间。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1750852089975', - ], - ], - 'required' => false, - ], + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['title' => '网关ID,可选', 'description' => '网关ID,可选', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], + ], + [ + 'name' => 'keyword', + 'in' => 'query', + 'schema' => ['title' => '规则名称关键词', 'description' => '规则名称关键词,用于模糊匹配', 'type' => 'string', 'required' => false, 'example' => 'daily'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['title' => '页码', 'description' => '页码', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '每页数量', 'description' => '每页数量', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -17187,120 +10711,117 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '6CC83C32-3B5A-57EE-9AFE-D0D51822C7BA', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码', 'description' => '状态码', 'type' => 'string', 'example' => '200'], + 'message' => ['title' => '响应信息', 'description' => '响应信息', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'title' => '响应数据', + 'description' => '响应数据', 'type' => 'object', 'properties' => [ - 'consumerAuthorizationRuleId' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'example' => 'car-d06p196m1hkg9ukum5pg', + 'totalSize' => ['title' => '总条数', 'description' => '配置的配额规则总条数', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'pageNumber' => ['title' => '当前页码', 'description' => '当前页码', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['title' => '当前页大小', 'description' => '当前页大小', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'title' => '规则列表', + 'description' => '规则列表', + 'type' => 'array', + 'items' => [ + 'title' => '规则条目', + 'description' => '规则条目', + 'type' => 'object', + 'properties' => [ + 'ruleId' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'example' => 'qr-d8j7fpmm1hksxxxxxx'], + 'ruleName' => ['title' => '规则名称', 'description' => '规则名称', 'type' => 'string', 'example' => 'daily-token-limit'], + 'gatewayId' => ['title' => '网关ID', 'description' => '规则所属的网关ID', 'type' => 'string', 'example' => 'gw-123456'], + 'gatewayName' => ['title' => '网关名称', 'description' => '规则所属的网关名称', 'type' => 'string', 'example' => 'prod-gateway'], + 'quotaDimension' => ['title' => '配额维度', 'description' => '配额维度', 'type' => 'string', 'example' => 'token'], + 'quotaLimit' => ['title' => '限制额度', 'description' => '限制额度', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'windowAlignment' => ['title' => '周期类型。calendar代表自然周期;epoch代表自定义周期。', 'description' => '周期类型。calendar代表自然周期;epoch代表自定义周期。', 'type' => 'string', 'example' => 'calendar'], + 'ruleStatus' => [ + 'title' => '规则状态', + 'description' => '规则状态', + 'type' => 'string', + 'enumValueTitles' => ['disabled' => 'disabled', 'enbaled' => 'enbaled'], + 'example' => 'enabled', + ], + 'periodType' => ['title' => '周期类型', 'description' => '周期类型', 'type' => 'string', 'example' => 'week'], + 'periodMultiplier' => ['title' => '周期倍数,代表每多少个周期进行配额重置。当规则为自定义周期时返回,最小为1,最大为60。', 'description' => '周期倍数,代表每多少个周期进行配额重置。当规则为自定义周期时返回,最小为1,最大为60。', 'type' => 'string', 'example' => '30'], + 'timezone' => ['title' => '时区', 'description' => '自然周期对应的时区(UTC+x 格式)', 'type' => 'string', 'example' => 'UTC+8'], + ], + 'example' => '{\'ruleId\':\'rule-001\',\'ruleName\':\'daily-token-limit\'}', + ], + 'example' => '[{"ruleId":"rule-001"}]', ], ], + 'example' => '{"totalSize":100}', ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"6CC83C32-3B5A-57EE-9AFE-D0D51822C7BA\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"consumerAuthorizationRuleId\\": \\"car-d06p196m1hkg9ukum5pg\\"\\n }\\n}","type":"json"}]', - 'title' => '创建消费者授权规则', - ], - 'UpdateConsumerAuthorizationRule' => [ - 'summary' => '更新消费者授权规则。', - 'path' => '/v1/consumers/{consumerId}/authorization-rules/{consumerAuthorizationRuleId}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询消费者上已配置的配额规则列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListConsumerQuotaRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 100,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"ruleId\\": \\"qr-d8j7fpmm1hksxxxxxx\\",\\n \\"ruleName\\": \\"daily-token-limit\\",\\n \\"gatewayId\\": \\"gw-123456\\",\\n \\"gatewayName\\": \\"prod-gateway\\",\\n \\"quotaDimension\\": \\"token\\",\\n \\"quotaLimit\\": 1000,\\n \\"windowAlignment\\": \\"calendar\\",\\n \\"ruleStatus\\": \\"enabled\\",\\n \\"periodType\\": \\"week\\",\\n \\"periodMultiplier\\": \\"30\\",\\n \\"timezone\\": \\"UTC+8\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListConsumers' => [ + 'path' => '/v1/consumers', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '248108', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '248113', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'consumerId', - 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-cvs7kbem1hkiit4ivhu0', - ], + 'name' => 'nameLike', + 'in' => 'query', + 'schema' => ['description' => '按接口名称模糊搜索接口。', 'type' => 'string', 'required' => false, 'example' => 'UI-test'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求体参数。', - 'type' => 'object', - 'properties' => [ - 'expireMode' => [ - 'description' => '失效模式。LongTerm、ShortTerm,二选一。', - 'type' => 'string', - 'required' => false, - 'example' => 'LongTerm', - ], - 'expireTimestamp' => [ - 'description' => '到期时间。', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1750852089975', - ], - 'authorizationResourceInfos' => [ - 'description' => '资源授权信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '资源授权信息。', - 'required' => false, - '$ref' => '#/components/schemas/AuthorizationResourceInfo', - ], - 'required' => false, - ], - ], - 'required' => false, - ], + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码,从1开始,不填默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'consumerAuthorizationRuleId', - 'in' => 'path', - 'schema' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'cas-xxx', - ], + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小,默认10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', + 'schema' => ['description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', 'type' => 'string', 'required' => false, 'example' => 'AI'], ], ], 'responses' => [ @@ -17310,73 +10831,120 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '9BDD6A7C-CBA7-504F-B8C5-51B9F16590F7'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '18'], + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => '消费者信息列表。', + 'type' => 'array', + 'items' => [ + 'description' => '消费者信息。', + 'type' => 'object', + 'properties' => [ + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-csheiftlhtgmp0j0hp4g'], + 'name' => ['description' => '消费者名称。', 'type' => 'string', 'example' => 'user-service'], + 'description' => ['description' => '描述。', 'type' => 'string', 'example' => '测试消费者'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1721097861050'], + 'updateTimestamp' => ['description' => '更新时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1721123855214'], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => '{}'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'example' => 'true'], + ], + ], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新消费者授权规则', - ], - 'GetConsumerAuthorizationRule' => [ - 'summary' => '获取消费者授权规则。', - 'path' => '/v1/consumers/{consumerId}/authorization-rules/{consumerAuthorizationRuleId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取消费者列表', + 'summary' => '获取消费者列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListConsumers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9BDD6A7C-CBA7-504F-B8C5-51B9F16590F7\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 18,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"consumerId\\": \\"cs-csheiftlhtgmp0j0hp4g\\",\\n \\"name\\": \\"user-service\\",\\n \\"description\\": \\"测试消费者\\",\\n \\"createTimestamp\\": 1721097861050,\\n \\"updateTimestamp\\": 1721123855214,\\n \\"deployStatus\\": \\"{}\\",\\n \\"enable\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListDomains' => [ + 'summary' => '查询域名列表。', + 'path' => '/v1/domains', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '248110', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219198', + 'abilityTreeNodes' => ['FEATUREapigatewayLPOSXV'], ], 'parameters' => [ [ - 'name' => 'consumerAuthorizationRuleId', - 'in' => 'path', - 'schema' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'required' => false, - 'example' => 'car-ctgdn8em1hko5krqq03g', - ], + 'name' => 'nameLike', + 'in' => 'query', + 'schema' => ['description' => '域名,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'consumerId', - 'in' => 'path', + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页条数,默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码,默认1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-xxxxxx'], + ], + [ + 'name' => 'domainScope', + 'in' => 'query', + 'schema' => ['title' => '域名作用域', 'description' => '域名作用域', 'type' => 'string', 'required' => false, 'example' => 'Serverless'], + ], + [ + 'name' => 'resourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID', 'type' => 'string', 'required' => false, 'example' => 'rg-aek27lpqyiie6qy'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', 'schema' => [ - 'description' => '消费者ID。', + 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', 'type' => 'string', 'required' => false, - 'example' => 'cs-ctgdn2um1hkossul8gvg', + 'enumValueTitles' => ['AI' => 'AI', 'API' => 'API'], + 'example' => 'API', ], ], ], @@ -17384,176 +10952,117 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回数据体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '53102737-1E4E-5A8B-8E0A-4184B0959B84', - ], - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-ctgdn2um1hkossul8gvg', - ], - 'consumerAuthorizationRuleId' => [ - 'description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', - 'type' => 'string', - 'example' => 'car-ctgdn8em1hko5krqq03g', - ], - 'apiInfo' => [ - 'description' => 'API信息。', - '$ref' => '#/components/schemas/HttpApiApiInfo', - ], - 'environmentInfo' => [ - 'description' => '环境信息。', - '$ref' => '#/components/schemas/EnvironmentInfo', - ], - 'gatewayInfo' => [ - 'description' => '网关信息。', - '$ref' => '#/components/schemas/GatewayInfo', - ], - 'resourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'API', - ], - 'expireStatus' => [ - 'description' => '失效状态。', - 'type' => 'string', - 'example' => 'true', - ], - 'expireMode' => [ - 'description' => '失效模式。LongTerm、ShortTerm,二选一。', - 'type' => 'string', - 'example' => 'LongTerm', - ], - 'expireTimestamp' => [ - 'description' => '到期时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1750852089975', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1750852089975', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1750852089975', - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', - 'type' => 'string', - 'example' => '""', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => 'C61E30D3-579A-5B43-994E-31E02EDC9129'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应描述。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '每页条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '9'], + 'items' => [ + 'description' => '域名信息列表。', + 'type' => 'array', + 'items' => ['description' => '域名信息。', '$ref' => '#/components/schemas/DomainInfo'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询域名列表', + 'changeSet' => [ + ['createdAt' => '2026-06-17T12:19:57.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-04-24T16:41:35.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-20T09:31:25.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-07-29T12:43:13.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"53102737-1E4E-5A8B-8E0A-4184B0959B84\\",\\n \\"consumerId\\": \\"cs-ctgdn2um1hkossul8gvg\\",\\n \\"consumerAuthorizationRuleId\\": \\"car-ctgdn8em1hko5krqq03g\\",\\n \\"apiInfo\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n },\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"resourceType\\": \\"API\\",\\n \\"expireStatus\\": \\"true\\",\\n \\"expireMode\\": \\"LongTerm\\",\\n \\"expireTimestamp\\": 1750852089975,\\n \\"createTimestamp\\": 1750852089975,\\n \\"updateTimestamp\\": 1750852089975,\\n \\"deployStatus\\": \\"\\\\\\"\\\\\\"\\"\\n}","type":"json"}]', - 'title' => '获取消费者授权规则', - ], - 'ListPolicies' => [ - 'summary' => '查询策略列表。', - 'path' => '/v1/policies', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDomains'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C61E30D3-579A-5B43-994E-31E02EDC9129\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 9,\\n \\"items\\": [\\n {\\n \\"domainId\\": \\"d-cq1lthllhtgja4dk54eg\\",\\n \\"status\\": \\"Published\\",\\n \\"createFrom\\": \\"Console\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"domainScope\\": \\"Dedicated\\",\\n \\"forceHttps\\": false,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"createTimestamp\\": 1719386834548,\\n \\"certIdentifier\\": \\"235556-cn-hangzhou\\",\\n \\"resourceGroupId\\": \\"rg-xxxx\\",\\n \\"mTLSEnabled\\": true,\\n \\"clientCACert\\": \\"-----BEGIN CERTIFICATE-----\\\\nMIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL\\\\nBQAwE************************************************2VwVOJ2gqX3\\\\nYuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4=\\\\n-----END CERTIFICATE-----\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListEnvironments' => [ + 'summary' => '查询环境列表。', + 'path' => '/v1/environments', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'read', - 'deprecated' => false, + 'deprecated' => true, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '228407', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219218', + 'abilityTreeNodes' => ['FEATUREapigatewayPE3NRT'], ], 'parameters' => [ [ - 'name' => 'withAttachments', + 'name' => 'nameLike', 'in' => 'query', - 'schema' => [ - 'description' => '是否返回挂载信息。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '环境名称,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'attachResourceId', + 'name' => 'aliasLike', 'in' => 'query', - 'schema' => [ - 'description' => '挂载点id。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cq7l5s5lhtgi6qasrdc0', - ], + 'schema' => ['description' => '环境别名,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => '测试'], ], [ - 'name' => 'attachResourceType', + 'name' => 'gatewayId', 'in' => 'query', - 'schema' => [ - 'description' => '策略支持挂载点类型。'."\n" - ."\n" - .'- HttpApi:HttpApi。'."\n" - .'- Operation:HttpApi的Operation。'."\n" - .'- GatewayRoute:网关路由。'."\n" - .'- GatewayService:网关服务。'."\n" - .'- GatewayServicePort:网关服务端口。'."\n" - .'- Domain:网关域名。'."\n" - .'- Gateway:网关。', - 'type' => 'string', - 'required' => false, - 'example' => 'HttpApi', - ], + 'schema' => ['description' => '网关id,精确搜索。', 'type' => 'string', 'required' => false, 'example' => 'gw-cptv6ktlhtgnqr73h8d1'], ], [ - 'name' => 'environmentId', + 'name' => 'gatewayNameLike', 'in' => 'query', - 'schema' => [ - 'description' => '环境id。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], + 'schema' => ['description' => '网关名称,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'test-gw'], ], [ - 'name' => 'gatewayId', + 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '网关id。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq2fm65lhtgm9nrrl7ag', - ], + 'schema' => ['description' => '页码,默认1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'withSystemPolicy', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '是否是系统策略。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], + 'schema' => ['description' => '每页大小,默认10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'resourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-aek2nqpppkzplmq'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', + 'schema' => ['description' => '网关类型', 'type' => 'string', 'required' => false, 'example' => 'APIGateway'], ], ], 'responses' => [ @@ -17563,51 +11072,20 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E740675491A', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯调用链路。', 'type' => 'string', 'example' => 'CE857A85-251D-5018-8103-A38957D71E20'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '分页查询环境列表响应。', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '每页条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '18', - ], + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '每页条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '25'], 'items' => [ - 'description' => '策略信息列表。', + 'description' => '环境信息列表。', 'type' => 'array', - 'items' => [ - 'description' => '策略信息。', - '$ref' => '#/components/schemas/PolicyInfo', - ], + 'items' => ['description' => '环境信息。', '$ref' => '#/components/schemas/EnvironmentInfo'], ], ], ], @@ -17615,170 +11093,125 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => '查询环境列表', + 'changeSet' => [ + ['createdAt' => '2025-04-24T16:41:33.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-20T09:31:23.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 18,\\n \\"items\\": [\\n {\\n \\"policyId\\": \\"\\",\\n \\"direction\\": \\"\\",\\n \\"className\\": \\"\\",\\n \\"classAlias\\": \\"\\",\\n \\"config\\": \\"\\",\\n \\"attachments\\": [\\n {\\n \\"policyAttachmentId\\": \\"\\",\\n \\"attachResourceIds\\": [\\n \\"\\"\\n ],\\n \\"attachResourceType\\": \\"\\",\\n \\"environmentId\\": \\"\\",\\n \\"gatewayId\\": \\"\\"\\n }\\n ],\\n \\"name\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"executeStage\\": \\"\\",\\n \\"executePriority\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询策略列表', - ], - 'ListPolicyClasses' => [ - 'summary' => '获取策略模板。', - 'path' => '/v1/policy-classes', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEnvironments'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListEnvironments', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 25,\\n \\"items\\": [\\n {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": false,\\n \\"createTimestamp\\": 1721116090326,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListExternalServices' => [ + 'path' => '/v1/gateways/{gatewayId}/external-services', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '223018', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayE6KZ22', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '228569', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'type', - 'in' => 'query', - 'schema' => [ - 'description' => '策略模板类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'FlowControl', - ], - ], - [ - 'name' => 'direction', - 'in' => 'query', - 'schema' => [ - 'description' => '策略出入站方向。'."\n" - .'- 出站:OutBound。'."\n" - .'- 入栈:InBound。'."\n" - .'- 双方向:Both。', - 'type' => 'string', - 'required' => false, - 'example' => 'InBound', - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['description' => '网关id,精确搜索。', 'type' => 'string', 'required' => false, 'example' => 'gw-d76t026m1hkv70tla0e0'], ], [ - 'name' => 'attachResourceType', + 'name' => 'sourceType', 'in' => 'query', - 'schema' => [ - 'description' => '策略支持挂载点类型。'."\n" - ."\n" - .'- HttpApi:HttpApi。'."\n" - .'- Operation:HttpApi的Operation。'."\n" - .'- GatewayRoute:网关路由。'."\n" - .'- GatewayService:网关服务。'."\n" - .'- GatewayServicePort:网关服务端口。'."\n" - .'- Domain:网关域名。'."\n" - .'- Gateway:网关。', - 'type' => 'string', - 'required' => false, - 'example' => 'Operation', - ], + 'schema' => ['description' => '根据服务来源类型查询, 服务来源:'."\n" + .'- MSE_NACOS: 来源为MSE Nacos里的服务。'."\n" + .'- K8S: 来源为容器服务里K8S集群里的服务。'."\n" + .'- FC3: 来源为函数计算里的服务。'."\n" + .'- VIP: 来源为固定地址的服务。'."\n" + .'- DNS: 来源为域名的服务。', 'type' => 'string', 'required' => false, 'example' => 'FC3'], ], [ - 'name' => 'pageNumber', + 'name' => 'limit', 'in' => 'query', - 'schema' => [ - 'description' => '页码,默认1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '限制返回数量,有效范围(0, 100],不填默认10', 'description' => '限制返回数量,有效范围(0, 100],不填默认10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], ], [ - 'name' => 'pageSize', + 'name' => 'nameLike', 'in' => 'query', - 'schema' => [ - 'description' => '分页大小', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '按接口名称模糊搜索', 'type' => 'string', 'required' => false, 'example' => 'imah'], ], [ - 'name' => 'attachResourceId', + 'name' => 'importableOnly', 'in' => 'query', - 'schema' => [ - 'description' => '挂载资源ID', - 'type' => 'string', - 'required' => false, - 'example' => 'route-001', - ], + 'schema' => ['description' => '是否只返回"尚未导入"的服务', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], [ - 'name' => 'gatewayId', + 'name' => 'paiWorkspaceId', 'in' => 'query', - 'schema' => [ - 'description' => '网关ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-001', - ], + 'schema' => ['description' => 'PAI-EAS服务的工作空间id', 'type' => 'string', 'required' => false, 'example' => '667435'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结构体。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '23B45FA9-7208-5E55-B5CE-B6B2567DD822', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'D9B03B59-B2D6-51B0-A7E9-AF8466E320CA'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'Failed to upload data. Please try again'], 'data' => [ - 'description' => '策略模板信息。', + 'description' => '接口列表。', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], 'items' => [ - 'description' => '策略模板列表。', + 'description' => '服务信息。', 'type' => 'array', 'items' => [ - 'description' => '策略模板信息。', - '$ref' => '#/components/schemas/PolicyClassInfo', + 'description' => '可用区ID。', + 'type' => 'object', + 'properties' => [ + 'namespace' => ['description' => '命名空间', 'type' => 'string', 'example' => 'PUBLIC'], + 'namespaceShowName' => ['description' => '命名空间的展示名', 'type' => 'string', 'example' => 'PUBLIC'], + 'services' => [ + 'description' => '后端服务。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '名称', 'type' => 'string', 'example' => 'enable-slash-merge'], + 'namespace' => ['description' => '命名空间。', 'type' => 'string', 'example' => 'public'], + ], + ], + ], + ], ], ], ], @@ -17787,105 +11220,53 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"23B45FA9-7208-5E55-B5CE-B6B2567DD822\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"classId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"direction\\": \\"\\",\\n \\"attachableResourceTypes\\": [\\n \\"\\"\\n ],\\n \\"executeStage\\": \\"\\",\\n \\"executePriority\\": \\"\\",\\n \\"enableLog\\": true,\\n \\"deprecated\\": true,\\n \\"configExample\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取策略模板', - ], - 'CreatePolicy' => [ - 'summary' => '创建策略。', - 'path' => '/v2/policies', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取外部服务', + 'summary' => '获取网关的外部服务信息。', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListExternalServices', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"D9B03B59-B2D6-51B0-A7E9-AF8466E320CA\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Failed to upload data. Please try again\\",\\n \\"data\\": {\\n \\"items\\": [\\n {\\n \\"namespace\\": \\"PUBLIC\\",\\n \\"namespaceShowName\\": \\"PUBLIC\\",\\n \\"services\\": [\\n {\\n \\"name\\": \\"enable-slash-merge\\",\\n \\"namespace\\": \\"public\\"\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListGatewayFeatures' => [ + 'path' => '/v1/gateways/{gatewayId}/gateway-features', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '262548', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREapigatewayU6ME97'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'title' => '策略名称', - 'description' => '策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'test-policy', - ], - 'className' => [ - 'title' => '策略类型,RateLimit、ConcurrencyLimit、CircuitBreaker、HttpRewrite、HeaderModify、Cors、Authentication、FlowCopy、Timeout、Retry、IpAccessControl、DirectResponse、Redirect、Fallback、ServiceTls、ServiceLb、ServicePortTls、Waf、JWTAuth、OIDCAuth、ExternalZAuth、AiProxy、ModelRouter、AiStatistics、AiSecurityGuard、AiFallback、ModelMapper、AiTokenRateLimit、AiCache、DynamicRoute', - 'description' => '策略类型,RateLimit、ConcurrencyLimit、CircuitBreaker、HttpRewrite、HeaderModify、Cors、Authentication、FlowCopy、Timeout、Retry、IpAccessControl、DirectResponse、Redirect、Fallback、ServiceTls、ServiceLb、ServicePortTls、Waf、JWTAuth、OIDCAuth、ExternalZAuth、AiProxy、ModelRouter、AiStatistics、AiSecurityGuard、AiFallback、ModelMapper、AiTokenRateLimit、AiCache、DynamicRoute', - 'type' => 'string', - 'required' => true, - 'example' => 'Timeout', - 'enum' => [ - 'ConcurrencyLimit', - 'RateLimit', - 'CircuitBreaker', - 'IpAccessControl', - 'Timeout', - 'Retry', - 'Cors', - 'FlowCopy', - 'HeaderModify', - 'HttpRewrite', - 'Fallback', - 'DirectResponse', - 'Redirect', - 'ServiceTls', - 'ServiceLb', - 'ServicePortTls', - 'JWTAuth', - 'OIDCAuth', - 'ExternalZAuth', - 'Waf', - 'Authentication', - 'AiFallback', - 'AiSecurityGuard', - 'AiCache', - 'AiTokenRateLimit', - ], - ], - 'config' => [ - 'title' => '策略配置', - 'description' => '策略配置', - 'type' => 'string', - 'required' => true, - 'example' => '{"unitNum":1,"timeUnit":"s","enable":true}', - ], - 'description' => [ - 'title' => '描述', - 'description' => '描述', - 'type' => 'string', - 'required' => false, - 'example' => '超时策略', - ], - ], - 'required' => false, - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl****'], ], ], 'responses' => [ @@ -17895,31 +11276,83 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E7406754***', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'policyId' => [ - 'title' => '策略ID', - 'description' => '策略ID', - 'type' => 'string', - 'example' => 'p-cq7l5s5lhtgi6qasr***'."\n", + 'items' => [ + 'description' => '参数配置列表。', + 'type' => 'array', + 'items' => [ + 'description' => '参数配置信息。', + 'type' => 'object', + 'properties' => [ + 'definition' => [ + 'description' => '参数定义。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '参数名称。', 'type' => 'string', 'example' => 'enable-gzip'], + 'displayName' => ['description' => '参数的显示名。', 'type' => 'string', 'example' => 'EnableGzip'], + 'valueType' => [ + 'description' => '参数值支持的类型:'."\n" + .'- bool: 布尔类型。'."\n" + .'- string: 字符串类型。'."\n" + .'- int32: 整型。'."\n" + .'- int64: 长整型。'."\n" + .'- json: json格式。'."\n" + .'- array: json数组格式。'."\n" + .'- float: 浮点型。', + 'type' => 'string', + 'enumValueTitles' => ['bool' => 'bool', 'string' => 'string', 'int32' => 'int32', 'array' => 'array', 'int64' => 'int64', 'float' => 'float'], + 'example' => 'bool', + ], + 'description' => ['description' => '参数描述。', 'type' => 'string', 'example' => '作用于请求与响应环节,启用gzip会对请求响应进行压缩,会减少网关流量,增加网关cpu消耗'], + 'group' => [ + 'description' => '参数分组:'."\n" + .'- Telemetry: 属于可观测类型的参数。'."\n" + .'- Engine: 属于引擎类型的参数。', + 'type' => 'string', + 'enumValueTitles' => ['Telemetry' => 'Telemetry', 'Engine' => 'Engine'], + 'example' => 'Engine', + ], + 'defaultValue' => ['description' => '默认值。', 'type' => 'string', 'example' => '"true"'], + 'valueUnit' => ['description' => '单位。', 'type' => 'string', 'example' => 'byte'], + 'readOnly' => ['description' => '是否只读。', 'type' => 'boolean', 'example' => 'false'], + 'regex' => ['description' => '参数值需要满足的正则表达式。当参数值类型为string的时候有效。', 'type' => 'string', 'example' => '[a-z].*'], + 'minValue' => ['description' => '参数值支持的最小值。当值类型为int32, int64, float的时候有效。', 'type' => 'string', 'example' => '100'], + 'maxValue' => ['description' => '参数值支持的最大值。当值类型为int32, int64, float的时候有效。', 'type' => 'string', 'example' => '65535'], + 'minLength' => ['description' => '参数值支持的最小长度。当值类型为string时有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '8'], + 'maxLength' => ['description' => '参数值支持的最大长度。当值类型为string时有效。', 'type' => 'integer', 'format' => 'int32', 'example' => '64'], + 'valueOptions' => [ + 'description' => '参数值支持的选项列表。', + 'type' => 'array', + 'items' => [ + 'description' => '选项信息。', + 'type' => 'object', + 'properties' => [ + 'label' => ['description' => '显示值。', 'type' => 'string', 'example' => '保持不变'], + 'key' => ['description' => '传参key。', 'type' => 'string', 'example' => 'KEEP_UNCHANGED'], + ], + ], + ], + 'inputType' => [ + 'description' => '参数的输入类型:'."\n" + .'- Trigger: 开关型。'."\n" + .'- Input: 输入型。'."\n" + .'- SingleSelect: 单选型。'."\n" + .'- MultiSelect: 多选型。', + 'type' => 'string', + 'enumValueTitles' => ['SingleSelect' => 'SingleSelect', 'MultiSelect' => 'MultiSelect', 'Input' => 'Input', 'Trigger' => 'Trigger'], + 'example' => 'Trigger', + ], + ], + ], + 'value' => ['description' => '参数值。', 'type' => 'string', 'example' => '"true"'], + ], + ], ], ], ], @@ -17927,151 +11360,235 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E7406754***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyId\\": \\"p-cq7l5s5lhtgi6qasr***\\\\n\\"\\n }\\n}","type":"json"}]', - 'title' => '创建策略', - ], - 'GetPolicy' => [ - 'summary' => '获取策略。', - 'path' => '/v2/policies/{policyId}', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询网关特性参数配置列表', + 'summary' => '查询网关特性参数配置列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGatewayFeatures'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListGatewayFeatures', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"items\\": [\\n {\\n \\"definition\\": {\\n \\"name\\": \\"enable-gzip\\",\\n \\"displayName\\": \\"EnableGzip\\",\\n \\"valueType\\": \\"bool\\",\\n \\"description\\": \\"作用于请求与响应环节,启用gzip会对请求响应进行压缩,会减少网关流量,增加网关cpu消耗\\",\\n \\"group\\": \\"Engine\\",\\n \\"defaultValue\\": \\"\\\\\\"true\\\\\\"\\",\\n \\"valueUnit\\": \\"byte\\",\\n \\"readOnly\\": false,\\n \\"regex\\": \\"[a-z].*\\",\\n \\"minValue\\": \\"100\\",\\n \\"maxValue\\": \\"65535\\",\\n \\"minLength\\": 8,\\n \\"maxLength\\": 64,\\n \\"valueOptions\\": [\\n {\\n \\"label\\": \\"保持不变\\",\\n \\"key\\": \\"KEEP_UNCHANGED\\"\\n }\\n ],\\n \\"inputType\\": \\"Trigger\\"\\n },\\n \\"value\\": \\"\\\\\\"true\\\\\\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListGatewayQuotaRules' => [ + 'summary' => '查询网关上绑定的消费者配额规则列表。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '227516', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'policyId', + 'name' => 'gatewayId', 'in' => 'path', - 'schema' => [ - 'title' => '策略ID', - 'description' => '策略ID', - 'type' => 'string', - 'required' => true, - 'example' => 'p-cu85bamm1hkrn5g6o***', - ], + 'schema' => ['title' => '网关ID', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], + ], + [ + 'name' => 'keyword', + 'in' => 'query', + 'schema' => ['title' => '规则名称关键词', 'description' => '规则名称关键词,用于模糊匹配', 'type' => 'string', 'required' => false, 'example' => 'daily'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['title' => '页码', 'description' => '页码', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '每页数量', 'description' => '每页数量', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['description' => '一次获取的最大记录数(暂不支持)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['description' => '分页游标(暂不支持)', 'type' => 'string', 'required' => false, 'example' => 'C4tM8BlBJwHSNyjWpGaci4/7dKNGp1JMgsKtvCagmtY='], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回数据', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32A***', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码', 'description' => '状态码', 'type' => 'string', 'example' => '200'], + 'message' => ['title' => '响应信息', 'description' => '响应信息', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', - '$ref' => '#/components/schemas/PolicyDetailInfo', + 'title' => '响应数据', + 'description' => '响应数据', + 'type' => 'object', + 'properties' => [ + 'totalSize' => ['title' => '总条数', 'description' => '总条数', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'pageNumber' => ['title' => '当前页码', 'description' => '当前页码', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['title' => '当前页大小', 'description' => '当前页大小', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'title' => '规则列表', + 'description' => '规则列表', + 'type' => 'array', + 'items' => [ + 'title' => '规则条目', + 'description' => '规则条目', + 'type' => 'object', + 'properties' => [ + 'ruleId' => ['title' => '规则id', 'description' => '规则id', 'type' => 'string', 'example' => 'qr-xxxxx'], + 'ruleName' => ['title' => '规则名称', 'description' => '规则名称', 'type' => 'string', 'example' => 'daily-token-limit'], + 'quotaDimension' => ['title' => '配额维度', 'description' => '配额维度', 'type' => 'string', 'example' => 'token'], + 'quotaLimit' => ['title' => '限制额度', 'description' => '限制额度', 'type' => 'integer', 'format' => 'int64', 'example' => '1000'], + 'ruleStatus' => ['title' => '规则状态', 'description' => '规则状态', 'type' => 'string', 'example' => 'enabled'], + 'periodType' => ['title' => '周期类型', 'description' => '周期类型', 'type' => 'string', 'example' => 'week'], + 'timezone' => ['title' => '时区', 'description' => '自然周期对应的时区(UTC+x 格式)', 'type' => 'string', 'example' => 'GMT+8'], + 'windowAlignment' => ['title' => '窗口对齐方式', 'description' => '重置周期类型', 'type' => 'string', 'example' => 'calendar'], + ], + 'example' => '{\'ruleId\':\'rule-001\',\'ruleName\':\'daily-token-limit\'}', + ], + 'example' => '[{"ruleId":"rule-001"}]', + ], + ], + 'example' => '{"totalSize":100}', ], + 'maxResults' => ['description' => '一次获取的最大记录数(暂不支持)', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'nextToken' => ['description' => '分页游标(暂不支持)', 'type' => 'string', 'example' => '762b1fa4e2434fd3959b1f66481979cf'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32A***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyId\\": \\"\\",\\n \\"classId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"className\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"config\\": \\"\\"\\n }\\n}","type":"json"}]', - 'title' => '获取策略', - ], - 'UpdatePolicy' => [ - 'summary' => '更新策略。', - 'path' => '/v2/policies/{policyId}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询消费者配额规则列表', + 'description' => '该接口用于查询网关上绑定的消费者配额规则列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListGatewayQuotaRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 100,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"ruleId\\": \\"qr-xxxxx\\",\\n \\"ruleName\\": \\"daily-token-limit\\",\\n \\"quotaDimension\\": \\"token\\",\\n \\"quotaLimit\\": 1000,\\n \\"ruleStatus\\": \\"enabled\\",\\n \\"periodType\\": \\"week\\",\\n \\"timezone\\": \\"GMT+8\\",\\n \\"windowAlignment\\": \\"calendar\\"\\n }\\n ]\\n },\\n \\"maxResults\\": 100,\\n \\"nextToken\\": \\"762b1fa4e2434fd3959b1f66481979cf\\"\\n}","type":"json"}]', + ], + 'ListGateways' => [ + 'path' => '/v1/gateways', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/x-www-form-urlencoded', 'application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'high', + 'operationType' => 'list', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '262552', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'abilityTreeCode' => '218454', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ - 'name' => 'policyId', - 'in' => 'path', + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '根据网关ID精确查询。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl****'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['description' => '根据网关名称精确查询。', 'type' => 'string', 'required' => false, 'example' => 'itemcenter-gateway'], + ], + [ + 'name' => 'keyword', + 'in' => 'query', + 'schema' => ['description' => '关键字,按照全匹配搜索,不区分大小写。', 'type' => 'string', 'required' => false, 'example' => 'dev'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', 'schema' => [ - 'description' => '策略id。', + 'description' => '网关类型', 'type' => 'string', - 'required' => true, - 'example' => 'p-cq7l5s5bblhtgi6qas***', + 'required' => false, + 'enumValueTitles' => ['AI' => 'AI 网关', 'API' => 'API 网关'], + 'example' => 'API', ], ], [ - 'name' => 'body', - 'in' => 'body', + 'name' => 'resourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组。', 'type' => 'string', 'required' => false, 'example' => 'rg-aekzq6bzz5uyg2q'], + ], + [ + 'name' => 'tag', + 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数。', - 'type' => 'object', - 'properties' => [ - 'description' => [ - 'title' => '描述', - 'description' => '描述', - 'type' => 'string', - 'required' => false, - 'example' => '这是一条网关超时策略', - ], - 'config' => [ - 'title' => '策略配置', - 'description' => '策略配置', - 'type' => 'string', - 'required' => true, - 'example' => '{"unitNum":1,"timeUnit":"s","enable":true}', - ], - 'name' => [ - 'title' => '策略名称', - 'description' => '策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'celue-timeout-test', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键。', 'type' => 'string', 'required' => false, 'example' => 'owner'], + 'value' => ['description' => '标签值。', 'type' => 'string', 'required' => false, 'example' => 'zhangsan'], ], + 'required' => false, ], 'required' => false, + 'maxItems' => 20, ], ], ], @@ -18082,215 +11599,387 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854C***', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '5B626361-070A-56A7-B127-ADAC8F3655DB'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '网关列表查询结果。', + 'type' => 'object', + 'properties' => [ + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int64', 'example' => '6'], + 'items' => [ + 'description' => '网关列表', + 'type' => 'array', + 'items' => [ + 'description' => '网关信息。', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'example' => 'gw-cpv54p5***'], + 'name' => ['description' => '网关名称。', 'type' => 'string', 'example' => 'itemcenter-gateway'], + 'chargeType' => [ + 'description' => '付费类型:'."\n" + ."\n" + .'- POSTPAY 后付费(按量付费)。'."\n" + .'- PREPAY 预付费(包年包月)。', + 'type' => 'string', + 'enumValueTitles' => ['PREPAY' => '包年包月', 'POSTPAY' => '按量付费'], + 'example' => 'POSTPAY', + ], + 'gatewayType' => [ + 'description' => '网关类型', + 'type' => 'string', + 'enumValueTitles' => ['AI' => 'AI网关', 'API' => 'API网关'], + 'example' => 'API', + ], + 'status' => [ + 'description' => '网关状态:'."\n" + .'- Running:运行中。'."\n" + .'- Creating:创建中。'."\n" + .'- CreateFailed:创建失败。'."\n" + .'- Upgrading:升级中。'."\n" + .'- UpgradeFailed:升级失败。'."\n" + .'- Restarting:重启中。'."\n" + .'- RestartFailed:重启失败。'."\n" + .'- Deleting:释放中。'."\n" + .'- DeleteFailed:释放失败。', + 'type' => 'string', + 'enumValueTitles' => ['Restarting' => '重启中', 'Creating' => '创建中', 'Upgrading' => '升级中', 'DeleteFailed' => '释放失败', 'Running' => '运行中', 'RestartFailed' => '重启失败', 'Deleting' => '释放中', 'CreateFailed' => '创建失败', 'UpgradeFailed' => '升级失败'], + 'example' => 'Running', + ], + 'spec' => [ + 'description' => '网关规格:'."\n" + .'- apigw.small.x1:小规格。', + 'type' => 'string', + 'enumValueTitles' => ['apigw.small.x1' => 'apigw.small.x1'], + 'example' => 'apigw.small.x1', + ], + 'replicas' => ['description' => '网关实例节点数。', 'type' => 'string', 'example' => '2'], + 'createTimestamp' => ['description' => '创建时间戳,单位:毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'expireTimestamp' => ['description' => '包年包月到期时间戳。 单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '172086834548'], + 'createFrom' => [ + 'description' => '网关创建来源:'."\n" + .'- Console: 控制台。', + 'type' => 'string', + 'enumValueTitles' => ['Console' => '控制台'], + 'example' => 'Console', + ], + 'version' => ['description' => '网关版本。', 'type' => 'string', 'example' => '2.0.2'], + 'targetVersion' => ['description' => '网关的目标版本。当和version不一致时, 可以进行版本升级。', 'type' => 'string', 'example' => '2.0.2'], + 'loadBalancers' => [ + 'description' => '网关的入口地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => '网关的入口地址信息。', + 'type' => 'object', + 'properties' => [ + 'loadBalancerId' => ['description' => '负载均衡ID。', 'type' => 'string', 'example' => 'nlb-xqwioje1c91r***'], + 'addressType' => [ + 'description' => '负载均衡地址类型:'."\n" + .'- Internet: 公网。'."\n" + .'- Intranet: 私网。', + 'type' => 'string', + 'enumValueTitles' => ['Intranet' => '私网', 'Internet' => '公网'], + 'example' => 'Internet', + ], + 'type' => [ + 'description' => '网关的负载均衡类型:'."\n" + .'- NLB: 网络型负载均衡。'."\n" + .'- CLB: 传统型负载均衡。', + 'type' => 'string', + 'enumValueTitles' => ['NLB' => '网络型负载均衡', 'CLB' => '传统型负载均衡'], + 'example' => 'NLB', + ], + 'status' => [ + 'description' => '负载均衡的状态:'."\n" + .'- Ready: 可用。'."\n" + .'- NotCreate: 未关联实例。', + 'type' => 'string', + 'enumValueTitles' => ['Ready' => 'Ready', 'NotCreate' => 'NotCreate'], + 'example' => 'Ready', + ], + 'address' => ['description' => '负载均衡地址。', 'type' => 'string', 'example' => 'nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com'."\n"], + 'addressIpVersion' => [ + 'description' => '协议版本:'."\n" + .'- ipv4: ipv4。'."\n" + .'- ipv6: ipv6。', + 'type' => 'string', + 'enumValueTitles' => ['ipv4' => 'ipv4', 'ipv6' => 'ipv6'], + 'example' => 'ipv4', + ], + 'mode' => [ + 'description' => '网关的负载均衡提供模式:'."\n" + .'- Managed: 云原生API网关管理的。', + 'type' => 'string', + 'enumValueTitles' => ['Managed' => 'Managed'], + 'example' => 'Managed', + ], + 'gatewayDefault' => ['description' => '是否是网关默认的入口地址。', 'type' => 'boolean', 'example' => 'true'], + 'ports' => [ + 'description' => '监听的端口列表。', + 'type' => 'array', + 'items' => [ + 'description' => '监听的端口信息。', + 'type' => 'object', + 'properties' => [ + 'protocol' => [ + 'description' => '协议:'."\n" + .'- TCP。'."\n" + .'- UDP。', + 'type' => 'string', + 'enumValueTitles' => ['TCP' => 'TCP', 'UDP' => 'UDP'], + 'example' => 'TCP', + ], + 'port' => ['description' => '端口号。', 'type' => 'integer', 'format' => 'int32', 'example' => '443'], + ], + ], + ], + 'ipv4Addresses' => [ + 'description' => 'IPv4地址列表', + 'type' => 'array', + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '["47.100.100.100"]'], + ], + 'ipv6Addresses' => [ + 'description' => 'IPv6地址列表', + 'type' => 'array', + 'items' => ['description' => '参数', 'type' => 'string', 'example' => '["2408:4000:0:0:0:0:0:1"]'], + ], + ], + ], + ], + 'securityGroup' => [ + 'description' => '网关安全组信息。', + 'type' => 'object', + 'properties' => [ + 'securityGroupId' => ['description' => '安全组ID。', 'type' => 'string', 'example' => 'sg-bp1apxihjdbt3***'], + ], + ], + 'zones' => [ + 'description' => '网关的可用区信息。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区信息。', + 'type' => 'object', + 'properties' => [ + 'zoneId' => ['description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-i'], + 'vSwitch' => [ + 'description' => '虚拟交换机。', + 'type' => 'object', + 'properties' => [ + 'vSwitchId' => ['description' => '虚拟交换机id', 'type' => 'string', 'example' => 'vsw-bp14efvkcfbrt4***'], + ], + ], + ], + ], + ], + 'vSwitch' => [ + 'description' => '虚拟交换机信息。', + 'type' => 'object', + 'properties' => [ + 'vSwitchId' => ['description' => '虚拟交换机ID。', 'type' => 'string', 'example' => 'vsw-bp14efv***'], + ], + ], + 'vpc' => [ + 'description' => '网关的VPC信息。', + 'type' => 'object', + 'properties' => [ + 'vpcId' => ['description' => 'VPC网络ID。', 'type' => 'string', 'example' => 'vpc-uf664ny***'], + ], + ], + 'resourceGroupId' => ['description' => '资源组ID', 'type' => 'string', 'example' => 'rg-xxxx'], + 'tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键。', 'type' => 'string', 'example' => 'owner'], + 'value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'zhangsan'], + ], + ], + ], + 'subDomainInfos' => [ + 'description' => '二级域名列表', + 'type' => 'array', + 'items' => ['description' => '二级域名信息', '$ref' => '#/components/schemas/SubDomainInfo'], + ], + 'legacy' => ['description' => '是否是AI网关上线前创建的网关实例', 'type' => 'boolean', 'example' => 'true'], + 'gatewayEdition' => ['title' => '网关实例版本:'."\n" + ."\n" + .'- 普通实例:Professional'."\n" + ."\n" + .'- Serverless:Serverless', 'description' => '网关实例版本:'."\n" + ."\n" + .'- 普通实例:Professional'."\n" + ."\n" + .'- Serverless:Serverless', 'type' => 'string', 'example' => 'Serverless'], + ], + ], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854C***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新策略', - ], - 'DeletePolicy' => [ - 'summary' => '删除策略。', - 'path' => '/v2/policies/{policyId}', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询网关列表', + 'summary' => '查询网关列表。', + 'changeSet' => [ + ['createdAt' => '2025-11-25T11:28:51.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-09-18T12:49:49.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-04-25T08:44:47.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-04-24T16:41:34.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2025-01-22T13:46:44.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2024-12-03T13:33:00.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2024-11-20T08:54:08.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2024-08-06T03:33:59.000Z', 'description' => '响应参数发生变更'], ], - 'operationType' => 'readAndWrite', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', - 'chargeType' => 'free', - 'abilityTreeCode' => '262551', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGateways'], ], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'policyId', - 'in' => 'path', - 'schema' => [ - 'title' => '策略ID', - 'description' => '策略ID', - 'type' => 'string', - 'required' => true, - 'example' => 'p-cq7l5s5bblhtgi6qas***', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '393E2630-DBE7-5221-AB35-9E7406754***', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListGateways', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/*'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E7406754***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除策略', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"5B626361-070A-56A7-B127-ADAC8F3655DB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 6,\\n \\"items\\": [\\n {\\n \\"gatewayId\\": \\"gw-cpv54p5***\\",\\n \\"name\\": \\"itemcenter-gateway\\",\\n \\"chargeType\\": \\"POSTPAY\\",\\n \\"gatewayType\\": \\"API\\",\\n \\"status\\": \\"Running\\",\\n \\"spec\\": \\"apigw.small.x1\\",\\n \\"replicas\\": \\"2\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"expireTimestamp\\": 172086834548,\\n \\"createFrom\\": \\"Console\\",\\n \\"version\\": \\"2.0.2\\",\\n \\"targetVersion\\": \\"2.0.2\\",\\n \\"loadBalancers\\": [\\n {\\n \\"loadBalancerId\\": \\"nlb-xqwioje1c91r***\\",\\n \\"addressType\\": \\"Internet\\",\\n \\"type\\": \\"NLB\\",\\n \\"status\\": \\"Ready\\",\\n \\"address\\": \\"nlb-xoh3pghr***.cn-hangzhou.nlb.aliyuncs.com\\\\n\\",\\n \\"addressIpVersion\\": \\"ipv4\\",\\n \\"mode\\": \\"Managed\\",\\n \\"gatewayDefault\\": true,\\n \\"ports\\": [\\n {\\n \\"protocol\\": \\"TCP\\",\\n \\"port\\": 443\\n }\\n ],\\n \\"ipv4Addresses\\": [\\n \\"[\\\\\\"47.100.100.100\\\\\\"]\\"\\n ],\\n \\"ipv6Addresses\\": [\\n \\"[\\\\\\"2408:4000:0:0:0:0:0:1\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"securityGroup\\": {\\n \\"securityGroupId\\": \\"sg-bp1apxihjdbt3***\\"\\n },\\n \\"zones\\": [\\n {\\n \\"zoneId\\": \\"cn-hangzhou-i\\",\\n \\"vSwitch\\": {\\n \\"vSwitchId\\": \\"vsw-bp14efvkcfbrt4***\\"\\n }\\n }\\n ],\\n \\"vSwitch\\": {\\n \\"vSwitchId\\": \\"vsw-bp14efv***\\"\\n },\\n \\"vpc\\": {\\n \\"vpcId\\": \\"vpc-uf664ny***\\"\\n },\\n \\"resourceGroupId\\": \\"rg-xxxx\\",\\n \\"tags\\": [\\n {\\n \\"key\\": \\"owner\\",\\n \\"value\\": \\"zhangsan\\"\\n }\\n ],\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"legacy\\": true,\\n \\"gatewayEdition\\": \\"Serverless\\"\\n }\\n ]\\n }\\n}","type":"json"}]', ], - 'CreatePolicyAttachment' => [ - 'summary' => '创建策略资源挂载。', - 'path' => '/v1/policy-attachments', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListHttpApiOperations' => [ + 'path' => '/v1/http-apis/{httpApiId}/operations', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', + 'operationType' => 'list', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '262555', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'abilityTreeCode' => '219808', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['title' => 'API ID。', 'description' => '目标HTTP API ID。', 'type' => 'string', 'required' => true, 'example' => 'api-xxx'], + ], + [ + 'name' => 'method', + 'in' => 'query', 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'policyId' => [ - 'title' => '策略ID', - 'description' => '策略ID', - 'type' => 'string', - 'required' => true, - 'example' => 'p-cq787etlhtghrptjg***', - ], - 'gatewayId' => [ - 'title' => '网关实例ID', - 'description' => '网关实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'gw-cq7l5s5lhtgi6qas***', - ], - 'environmentId' => [ - 'title' => '环境ID', - 'description' => '环境ID', - 'type' => 'string', - 'required' => true, - 'example' => 'env-cquqsollhtgid***', - ], - 'attachResourceId' => [ - 'title' => '挂载资源ID', - 'description' => '挂载资源ID', - 'type' => 'string', - 'required' => true, - 'example' => 'api-cu07jj6m1hkokaus***', - ], - 'attachResourceType' => [ - 'title' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', - 'description' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', - 'type' => 'string', - 'required' => true, - 'docRequired' => false, - 'example' => 'HttpApi', - 'enum' => [ - 'Domain', - 'Gateway', - 'GatewayRoute', - 'GatewayService', - 'HttpApi', - 'Operation', - 'Route', - 'Service', - 'ServicePort', - 'LLMApi', - ], - ], - ], + 'title' => '按Method列举接口。', + 'description' => '按Method列举接口。', + 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['TRACE' => 'TRACE', 'HEAD' => 'HEAD', 'DELETE' => 'DELETE', 'POST' => 'POST', 'GET' => 'GET', 'CONNECT' => 'CONNECT', 'OPTIONS' => 'OPTIONS', 'PUT' => 'PUT', 'PATCH' => 'PATCH'], + 'example' => 'GET', ], ], + [ + 'name' => 'pathLike', + 'in' => 'query', + 'schema' => ['title' => '按路径前缀匹配搜索接口。', 'description' => '按路径前缀匹配搜索接口。', 'type' => 'string', 'required' => false, 'example' => '/v1'], + ], + [ + 'name' => 'nameLike', + 'in' => 'query', + 'schema' => ['title' => '按接口名称前缀搜索接口。', 'description' => '按接口名称前缀搜索接口。', 'type' => 'string', 'required' => false, 'example' => 'GetUser'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['title' => '分页页码,从1开始,不填默认1。', 'description' => '分页页码,从1开始,不填默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '分页大小,有效范围[1, 100],不填默认10。', 'description' => '分页大小,有效范围[1, 100],不填默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['title' => '按照名称精确搜索。', 'description' => '按照名称精确搜索。', 'type' => 'string', 'required' => false, 'example' => 'getUserInfo'], + ], + [ + 'name' => 'withConsumerInEnvironmentId', + 'in' => 'query', + 'schema' => ['description' => '响应中每个接口信息携带指定环境ID下的指定消费者的授权规则列表。需要额外指定withConsumerInfoById字段。', 'type' => 'string', 'required' => false, 'example' => 'env-xxx'], + ], + [ + 'name' => 'withConsumerInfoById', + 'in' => 'query', + 'schema' => ['description' => '响应中每个接口信息携带指定环境ID下的指定消费者的授权规则列表。需要额外指定withConsumerInEnvironmentId字段。', 'type' => 'string', 'required' => false, 'example' => 'cs-xxx'], + ], + [ + 'name' => 'consumerAuthorizationRuleId', + 'in' => 'query', + 'schema' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'required' => false, 'example' => 'cas-xxx'], + ], + [ + 'name' => 'withPluginAttachmentByPluginId', + 'in' => 'query', + 'schema' => ['description' => '插件ID,根据此插件ID获取插件发布信息。', 'type' => 'string', 'required' => false, 'example' => 'pl-xxx'], + ], + [ + 'name' => 'forDeploy', + 'in' => 'query', + 'schema' => ['description' => '是否为部署场景', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '网关ID过滤器', 'type' => 'string', 'required' => false, 'example' => 'gw-001'], + ], + [ + 'name' => 'enableAuth', + 'in' => 'query', + 'schema' => ['description' => '启用认证过滤器', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C64***', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息,', 'description' => '响应消息,', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'title' => '接口列表。', + 'description' => '接口列表。', 'type' => 'object', 'properties' => [ - 'policyAttachmentId' => [ - 'title' => '策略挂载ID', - 'description' => '策略挂载ID', - 'type' => 'string', - 'example' => 'pr-cqooju5lhtgquuj6***', + 'pageNumber' => ['title' => '分页页码。', 'description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['title' => '分页大小。', 'description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['title' => '总数量。', 'description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'title' => '接口列表。', + 'description' => '接口列表。', + 'type' => 'array', + 'items' => ['title' => '接口信息。', 'description' => '接口信息。', '$ref' => '#/components/schemas/HttpApiOperationInfo'], ], ], ], @@ -18298,46 +11987,142 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C64***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyAttachmentId\\": \\"pr-cqooju5lhtgquuj6***\\"\\n }\\n}","type":"json"}]', - 'title' => '创建策略挂载', - ], - 'GetPolicyAttachment' => [ - 'summary' => '查询策略资源挂载。', - 'path' => '/v1/policy-attachments/{policyAttachmentId}', - 'methods' => [ - 'get', + 'title' => '获取接口列表', + 'summary' => '获取接口列表。', + 'changeSet' => [ + ['createdAt' => '2025-08-22T05:38:39.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-28T12:56:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-10-24T05:48:18.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-08-05T11:39:48.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHttpApiOperations'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListHttpApiOperations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": []\\n }\\n}","type":"json"}]', + ], + 'ListHttpApiRoutes' => [ + 'summary' => '查询HTTP API的路由列表。', + 'path' => '/v1/http-apis/{httpApiId}/routes', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '262557', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'abilityTreeCode' => '237771', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'policyAttachmentId', + 'name' => 'httpApiId', 'in' => 'path', + 'schema' => ['description' => 'HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cr68g1dlhtgm31f***'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码,从1开始,不填默认1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小,有效范围[1, 100],不填默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'environmentId', + 'in' => 'query', + 'schema' => ['description' => '环境id。', 'type' => 'string', 'required' => false, 'example' => 'env-cpqnr6tlhtgubc***'], + ], + [ + 'name' => 'deployStatuses', + 'in' => 'query', 'schema' => [ - 'title' => '策略挂载ID', - 'description' => '策略挂载ID', + 'description' => '路由的部署状态。', 'type' => 'string', - 'required' => true, - 'example' => 'pr-ctd4j9mmahko5fb4***', + 'required' => false, + 'enumValueTitles' => ['Deploying' => '发布中', 'DeployedWithChanges' => '已发布但有修改', 'Undeploying' => '下线中', 'NotDeployed' => '未发布', 'Deployed' => '已发布', 'UndeployFailed' => '下线失败', 'DeployFailed' => '发布失败'], + 'example' => 'NotDeployed', ], ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['description' => '路由名称。', 'type' => 'string', 'required' => false, 'example' => 'itemcenter-gateway'], + ], + [ + 'name' => 'nameLike', + 'in' => 'query', + 'schema' => ['description' => '按路由名称模糊查询。', 'type' => 'string', 'required' => false, 'example' => 'item'], + ], + [ + 'name' => 'pathLike', + 'in' => 'query', + 'schema' => ['description' => '按路由路径模糊查询。', 'type' => 'string', 'required' => false, 'example' => '/v1'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '云原生API网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl****'], + ], + [ + 'name' => 'withConsumerInfoById', + 'in' => 'query', + 'schema' => ['description' => '响应中每个路由信息携带指定消费者ID的授权规则列表。', 'type' => 'string', 'required' => false, 'example' => 'cs-xxx'], + ], + [ + 'name' => 'consumerAuthorizationRuleId', + 'in' => 'query', + 'schema' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'required' => false, 'example' => 'cas-xxx'], + ], + [ + 'name' => 'withAuthPolicyInfo', + 'in' => 'query', + 'schema' => ['description' => '响应中携带消费者授权信息。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'withPluginAttachmentByPluginId', + 'in' => 'query', + 'schema' => ['description' => '响应中每个路由信息携带指定的插件ID的挂载信息。', 'type' => 'string', 'required' => false, 'example' => 'pl-xxx'], + ], + [ + 'name' => 'domainId', + 'in' => 'query', + 'schema' => ['description' => '根据域名ID过滤路由信息。', 'type' => 'string', 'required' => false, 'example' => 'd-xxx'], + ], + [ + 'name' => 'forDeploy', + 'in' => 'query', + 'schema' => ['description' => '是否为部署场景', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'backendServiceName', + 'in' => 'query', + 'schema' => ['title' => '后端服务名称,可根据该名称过滤路由', 'description' => '后端服务名称,可根据该名称过滤路由', 'type' => 'string', 'required' => false, 'example' => 'test-svc'], + ], ], 'responses' => [ 200 => [ @@ -18346,67 +12131,20 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2C3B9A12-3868-5EB9-fBEA-F99E03DD1***', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => '200', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'CBEEB8C1-108E-50F0-9BEA-DED79553C309'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'policyAttachmentId' => [ - 'title' => '策略挂载ID', - 'description' => '策略挂载ID', - 'type' => 'string', - 'example' => 'pr-cqoojualhtgquuj***', - ], - 'policyId' => [ - 'title' => '策略ID', - 'description' => '策略ID', - 'type' => 'string', - 'example' => 'p-cq7l5s5bblhtgi6qas***'."\n", - ], - 'attachResourceId' => [ - 'title' => '挂载资源ID', - 'description' => '挂载资源ID', - 'type' => 'string', - 'example' => 'op-csbkd9llhtgqhqua***', - ], - 'attachResourceType' => [ - 'title' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', - 'description' => '挂载资源类型,HttpApi、GatewayRoute、Operation、GatewayService、GatewayServicePort、Gateway、Domain', - 'type' => 'string', - 'example' => 'Operation', - ], - 'environmentId' => [ - 'title' => '环境ID', - 'description' => '环境ID', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qa***', - ], - 'gatewayId' => [ - 'title' => '网关实例ID', - 'description' => '网关实例ID', - 'type' => 'string', - 'example' => 'gw-cq2vundlhtg***', - ], - 'config' => [ - 'title' => '挂载策略配置', - 'description' => '挂载策略配置', - 'type' => 'string', - 'example' => '{"unitNum":1,"timeUnit":"s","enable":true}', + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '9'], + 'items' => [ + 'description' => '路由列表。', + 'type' => 'array', + 'items' => ['description' => '路由信息。', '$ref' => '#/components/schemas/HttpRoute'], ], ], ], @@ -18414,44 +12152,145 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2C3B9A12-3868-5EB9-fBEA-F99E03DD1***\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyAttachmentId\\": \\"pr-cqoojualhtgquuj***\\",\\n \\"policyId\\": \\"p-cq7l5s5bblhtgi6qas***\\\\n\\",\\n \\"attachResourceId\\": \\"op-csbkd9llhtgqhqua***\\",\\n \\"attachResourceType\\": \\"Operation\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qa***\\",\\n \\"gatewayId\\": \\"gw-cq2vundlhtg***\\",\\n \\"config\\": \\"{\\\\\\"unitNum\\\\\\":1,\\\\\\"timeUnit\\\\\\":\\\\\\"s\\\\\\",\\\\\\"enable\\\\\\":true}\\"\\n }\\n}","type":"json"}]', - 'title' => '查询策略挂载', - ], - 'DeletePolicyAttachment' => [ - 'summary' => '删除策略资源挂载。', - 'path' => '/v1/policy-attachments/{policyAttachmentId}', - 'methods' => [ - 'delete', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CBEEB8C1-108E-50F0-9BEA-DED79553C309\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 20,\\n \\"totalSize\\": 9,\\n \\"items\\": []\\n }\\n}","type":"json"}]', + 'title' => '查询路由列表', + 'changeSet' => [ + ['createdAt' => '2026-05-14T01:54:21.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHttpApiRoutes'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListHttpApiRoutes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + ], + 'ListHttpApis' => [ + 'path' => '/v1/http-apis', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', - 'riskType' => 'high', + 'operationType' => 'list', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '262556', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'abilityTreeCode' => '219000', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'policyAttachmentId', - 'in' => 'path', + 'name' => 'keyword', + 'in' => 'query', + 'schema' => ['title' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', 'description' => '搜索关键词,支持API名称模糊搜索或API ID精确搜索。', 'type' => 'string', 'required' => false, 'example' => 'test-'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['title' => '分页页码,从1开始,不填默认1.', 'description' => '分页页码,从1开始,不填默认1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '分页大小,有效范围[1, 100],不填默认10。', 'description' => '分页大小,有效范围[1, 100],不填默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['title' => '按照名称精确搜索。', 'description' => '按照名称精确搜索。', 'type' => 'string', 'required' => false, 'example' => 'login'], + ], + [ + 'name' => 'types', + 'in' => 'query', + 'schema' => ['description' => 'HTTP API的类型。支持传入多个类型,采用","分割。'."\n" + .'- Http'."\n" + .'- Rest'."\n" + .'- WebSocket'."\n" + .'- HttpIngress', 'type' => 'string', 'required' => false, 'example' => 'Http,Rest'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '云原生API网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq2avtllh****'], + ], + [ + 'name' => 'withAuthPolicyInEnvironmentId', + 'in' => 'query', + 'schema' => ['description' => '响应中每个API信息携带指定环境ID下的消费者认证策略信息。', 'type' => 'string', 'required' => false, 'example' => 'env-xxx'], + ], + [ + 'name' => 'withConsumerInfoById', + 'in' => 'query', + 'schema' => ['description' => '响应中每个API信息携带指定消费者ID的授权规则列表。', 'type' => 'string', 'required' => false, 'example' => 'cs-xxx'], + ], + [ + 'name' => 'withEnvironmentInfo', + 'in' => 'query', + 'schema' => ['description' => '环境信息', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'withPluginAttachmentByPluginId', + 'in' => 'query', + 'schema' => ['description' => '插件ID,根据此插件ID获取插件发布信息。', 'type' => 'string', 'required' => false, 'example' => 'pl-ct9qn3um1hktue8dqol0'], + ], + [ + 'name' => 'resourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-ahr5uil8raz0rq3b'], + ], + [ + 'name' => 'withEnvironmentInfoById', + 'in' => 'query', + 'schema' => ['description' => '环境ID', 'type' => 'string', 'required' => false, 'example' => 'env-ctovu5mm1hksb4q8ln40'], + ], + [ + 'name' => 'withAuthPolicyList', + 'in' => 'query', + 'schema' => ['description' => '是否开启了权限认证策略', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'withIngressInfo', + 'in' => 'query', + 'schema' => ['description' => '是否包含ingress信息', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'withPolicyConfigs', + 'in' => 'query', + 'schema' => ['description' => '是否包含策略信息', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'withAPIsPublishedToEnvironment', + 'in' => 'query', + 'schema' => ['description' => '是否返回已发布到指定环境的API信息', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', 'schema' => [ - 'title' => '策略挂载ID', - 'description' => '策略挂载ID', + 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', 'type' => 'string', - 'required' => true, - 'example' => 'pr-ctd4j9mmahko5fb4***', + 'required' => false, + 'enumValueTitles' => ['AI' => 'AI', 'API' => 'API'], + 'example' => 'API', ], ], ], @@ -18459,166 +12298,123 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CE857A85-251D-5018-8103-A38957D71***', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'title' => 'API列表。', + 'description' => 'API列表。', + 'type' => 'object', + 'properties' => [ + 'pageNumber' => ['title' => '分页页码。', 'description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['title' => '分页大小。', 'description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['title' => '总数量。', 'description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'title' => 'API信息。', + 'description' => 'API信息。', + 'type' => 'array', + 'items' => ['title' => '按照API名进行分组的API信息。', 'description' => '按照API名进行分组的API信息。', '$ref' => '#/components/schemas/HttpApiInfoByName'], + ], + ], ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71***\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除策略挂载', - ], - 'ListPlugins' => [ - 'summary' => '获取插件列表。', - 'path' => '/v1/plugins', - 'methods' => [ - 'get', + 'title' => '获取HTTP API列表', + 'summary' => '获取HTTP API列表。', + 'changeSet' => [ + ['createdAt' => '2025-04-24T16:41:33.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-03-31T08:14:19.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-26T11:51:24.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-28T12:56:58.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-20T04:02:26.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-18T13:36:05.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-10-24T05:48:18.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-09-11T08:21:12.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-09-06T08:03:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-08-05T11:39:48.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-07-26T14:58:54.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHttpApis'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListHttpApis', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": []\\n }\\n}","type":"json"}]', + ], + 'ListMcpServers' => [ + 'summary' => '获取MCP server列表。', + 'path' => '/v1/mcp-servers', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '231543', - 'abilityTreeNodes' => [ - 'FEATUREapigateway216K2A', - 'FEATUREapigateway2AMEZG', - 'FEATUREapigateway3F24ZP', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '281128', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], ], 'parameters' => [ [ 'name' => 'gatewayId', 'in' => 'query', - 'schema' => [ - 'description' => '网关实例id过滤参数', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-csrhgn6m1hkt65qbxxgg', - ], - ], - [ - 'name' => 'pluginClassId', - 'in' => 'query', - 'schema' => [ - 'description' => '插件类型id过滤参数', - 'type' => 'string', - 'required' => false, - 'example' => 'pls-dn82a9djd8z****', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => true, 'example' => 'gw-co370icmjeu****'], ], [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'pluginClassName', + 'name' => 'nameLike', 'in' => 'query', - 'schema' => [ - 'description' => '插件类型名称过滤参数', - 'type' => 'string', - 'required' => false, - 'example' => 'key-auth', - ], + 'schema' => ['description' => '按接口名称模糊搜索MCP Server。', 'type' => 'string', 'required' => false, 'example' => 'test'], ], [ - 'name' => 'withAttachmentInfo', + 'name' => 'type', 'in' => 'query', - 'schema' => [ - 'description' => '返回结果是否需要包含attachResourceId对应的插件挂载信息', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'MCP Server类型', 'type' => 'string', 'required' => false, 'example' => 'RealMCP'], ], [ - 'name' => 'attachResourceId', + 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '挂载资源ID', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cuip2pum1hksng6oni3g', - ], + 'schema' => ['description' => '分页页码,从1开始,不填默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '1'], ], [ - 'name' => 'attachResourceType', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '策略支持挂载点类型。'."\n" - ."\n" - .'- HttpApi:HttpApi。'."\n" - .'- Operation:HttpApi的Operation。'."\n" - .'- GatewayRoute:网关路由。'."\n" - .'- GatewayService:网关服务。'."\n" - .'- GatewayServicePort:网关服务端口。'."\n" - .'- Domain:网关域名。'."\n" - .'- Gateway:网关。', - 'type' => 'string', - 'required' => false, - 'example' => 'HttpApi', - ], + 'schema' => ['description' => '每页大小,默认10', 'type' => 'integer', 'format' => 'int32', 'required' => true, 'example' => '10'], ], [ - 'name' => 'gatewayType', + 'name' => 'createFromTypes', 'in' => 'query', - 'schema' => [ - 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'AI', - ], + 'schema' => ['description' => '创建来源类型', 'type' => 'string', 'required' => false, 'example' => 'ApiGatewayHttpToMCP'], ], [ - 'name' => 'includeBuiltinAiGateway', + 'name' => 'deployStatuses', 'in' => 'query', - 'schema' => [ - 'description' => '返回结果是否需要包含系统内置安装的AI插件,默认false', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => 'MCP Server的部署状态。', 'type' => 'string', 'required' => false, 'example' => 'Deployed'], ], ], 'responses' => [ @@ -18628,134 +12424,83 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求 ID。', - 'type' => 'string', - 'example' => '168BA42D-F822-569D-A67F-FC59E6ABC2B1', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '返回数据', + 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '25'], 'items' => [ - 'description' => '插件列表信息。', + 'description' => 'MCP Server列表信息。', 'type' => 'array', 'items' => [ - 'description' => '插件信息。', + 'description' => '服务信息。', 'type' => 'object', 'properties' => [ - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvu6r4um1hko3b3ti0a0', - ], - 'gatewayInfo' => [ - 'description' => '网关信息。', - 'type' => 'object', - 'properties' => [ - 'gatewayId' => [ - 'description' => '网关id。', - 'type' => 'string', - 'example' => 'gw-cq7og15lhtxx6qasrj60', - ], - 'name' => [ - 'description' => '网关名称。', - 'type' => 'string', - 'example' => 'apitest-gw', + 'mcpServerPath' => ['description' => '网关提供的MCP Server访问路径', 'type' => 'string', 'example' => '/mcp-servers/test-mcp'], + 'mcpServerConfig' => ['description' => 'HTTP转MCP Config', 'type' => 'string', 'example' => 'HTTP转MCP Config base64值'], + 'match' => ['description' => '路由Match规则。', '$ref' => '#/components/schemas/HttpRouteMatch'], + 'description' => ['description' => '描述。', 'type' => 'string', 'example' => '这是xxx的xx项目测试环境'], + 'type' => ['description' => 'MCP Server类型', 'type' => 'string', 'example' => '可选值:RealMCP、AssemblyMCP'], + 'createFromType' => ['description' => '创建来源类型'."\n" + ."\n" + .'ApiGatewayHttpToMCP 网关托管HTTP转MCP'."\n" + .'ApiGatewayMcpHosting 网关托管MCP直接代理'."\n" + .'ApiGatewayAssembly 网关MCP组装'."\n" + .'NacosHttpToMCP 网关托管NACOS同步HTTP转MCP'."\n" + .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', 'type' => 'string', 'example' => 'ApiGatewayHttpToMCP'], + 'domainIds' => [ + 'description' => '域名ID列表。', + 'type' => 'array', + 'items' => ['description' => '域名ID列表。', 'type' => 'string', 'example' => 'd-faefqfargz'], + ], + 'protocol' => ['description' => '服务协议', 'type' => 'string', 'example' => 'HTTP'], + 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + 'routeId' => ['description' => 'MCP Server关联路由ID', 'type' => 'string', 'example' => 'hr-d11cj86m1hkvop6mp42g'], + 'mcpStatisticsEnable' => ['description' => '是否启用MCP可观测,默认false', 'type' => 'boolean', 'example' => 'false'], + 'name' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'itemcenter-dev-cluster'], + 'exposedUriPath' => ['description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', 'type' => 'string', 'example' => '/sse'], + 'assembledSources' => [ + 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'type' => 'array', + 'items' => [ + 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'type' => 'object', + 'properties' => [ + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'test-mcp'], + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'example' => 'mcp-adfef2334fa'], + 'tools' => [ + 'description' => 'MCP工具列表', + 'type' => 'array', + 'items' => ['description' => 'MCP工具列表', 'type' => 'string', 'example' => 'tool-1'], + ], ], ], ], - 'pluginClassInfo' => [ - 'description' => '插件类型信息', + 'backend' => ['description' => '路由的后端服务。', '$ref' => '#/components/schemas/Backend'], + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'example' => 'mcp-feaff34va'], + 'nacosMcpSyncInfo' => [ + 'description' => 'Nacos同步托管MCP 信息', 'type' => 'object', 'properties' => [ - 'version' => [ - 'description' => '版本。', - 'type' => 'string', - 'example' => '2.0.3', - ], - 'versionDescription' => [ - 'description' => '版本描述', - 'type' => 'string', - 'example' => '版本描述', - ], - 'executeStage' => [ - 'description' => '执行阶段。', - 'type' => 'string', - 'example' => 'AUTHZ', - ], - 'executePriority' => [ - 'description' => '执行优先级。', - 'type' => 'string', - 'example' => '999', - ], - 'name' => [ - 'description' => '插件名称', - 'type' => 'string', - 'example' => 'key-rate-limit', - ], - 'alias' => [ - 'description' => '别名', - 'type' => 'string', - 'example' => '基于 Key 限流', - ], - 'source' => [ - 'description' => '插件来源', - 'type' => 'string', - 'example' => 'HigressOfficial', - ], - 'pluginClassId' => [ - 'description' => '插件类型ID', - 'type' => 'string', - 'example' => 'pls-cqebrgh46ppatmpri', - ], + 'importMcpServerId' => ['description' => '同步的MCP Server ID', 'type' => 'string', 'example' => '同步的MCP Server ID'."\n" + ."\n"], + 'importNamespace' => ['description' => 'Nacos命名空间', 'type' => 'string', 'example' => 'test-ns'], + 'importInstanceId' => ['description' => 'Nacos实例', 'type' => 'string', 'example' => 'mse-faefrefxz'], ], ], - 'attachmentInfo' => [ - 'description' => '插件挂载信息', - 'type' => 'object', - 'properties' => [ - 'pluginAttachmentId' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'example' => 'pa-ct2irn6m1hkreaen0t40', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'string', - 'example' => 'false', - ], - ], + 'gatewayId' => ['description' => '网关实例ID', 'type' => 'string', 'example' => 'gw-cpv54p5***'], + 'domainInfos' => [ + 'description' => '域名信息列表', + 'type' => 'array', + 'items' => ['description' => '域名信息列表', '$ref' => '#/components/schemas/HttpApiDomainInfo'], ], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => 'Deployed'], + 'apiId' => ['description' => 'API ID。', 'type' => 'string', 'example' => 'api-xxx'], ], ], ], @@ -18765,92 +12510,100 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"168BA42D-F822-569D-A67F-FC59E6ABC2B1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"pluginId\\": \\"pl-cvu6r4um1hko3b3ti0a0\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtxx6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\"\\n },\\n \\"pluginClassInfo\\": {\\n \\"version\\": \\"2.0.3\\",\\n \\"versionDescription\\": \\"版本描述\\",\\n \\"executeStage\\": \\"AUTHZ\\",\\n \\"executePriority\\": \\"999\\",\\n \\"name\\": \\"key-rate-limit\\",\\n \\"alias\\": \\"基于 Key 限流\\",\\n \\"source\\": \\"HigressOfficial\\",\\n \\"pluginClassId\\": \\"pls-cqebrgh46ppatmpri\\"\\n },\\n \\"attachmentInfo\\": {\\n \\"pluginAttachmentId\\": \\"pa-ct2irn6m1hkreaen0t40\\",\\n \\"enable\\": \\"false\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取插件列表', - ], - 'CreatePluginAttachment' => [ - 'summary' => '挂载插件。', - 'path' => '/v1/plugin-attachments', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询MCP Server列表', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [ + ['createdAt' => '2025-10-29T07:31:47.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListMcpServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 25,\\n \\"items\\": [\\n {\\n \\"mcpServerPath\\": \\"/mcp-servers/test-mcp\\",\\n \\"mcpServerConfig\\": \\"HTTP转MCP Config base64值\\",\\n \\"match\\": {\\n \\"ignoreUriCase\\": true,\\n \\"path\\": {\\n \\"type\\": \\"Prefix\\",\\n \\"value\\": \\"/user\\"\\n },\\n \\"headers\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"dev\\",\\n \\"value\\": \\"true\\"\\n }\\n ],\\n \\"methods\\": [\\n \\"GET\\"\\n ],\\n \\"queryParams\\": [\\n {\\n \\"type\\": \\"Exact\\",\\n \\"name\\": \\"age\\",\\n \\"value\\": \\"17\\"\\n }\\n ]\\n },\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"type\\": \\"可选值:RealMCP、AssemblyMCP\\",\\n \\"createFromType\\": \\"ApiGatewayHttpToMCP\\",\\n \\"domainIds\\": [\\n \\"d-faefqfargz\\"\\n ],\\n \\"protocol\\": \\"HTTP\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"routeId\\": \\"hr-d11cj86m1hkvop6mp42g\\",\\n \\"mcpStatisticsEnable\\": false,\\n \\"name\\": \\"itemcenter-dev-cluster\\",\\n \\"exposedUriPath\\": \\"/sse\\",\\n \\"assembledSources\\": [\\n {\\n \\"mcpServerName\\": \\"test-mcp\\",\\n \\"mcpServerId\\": \\"mcp-adfef2334fa\\",\\n \\"tools\\": [\\n \\"tool-1\\"\\n ]\\n }\\n ],\\n \\"backend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"mcpServerId\\": \\"mcp-feaff34va\\",\\n \\"nacosMcpSyncInfo\\": {\\n \\"importMcpServerId\\": \\"同步的MCP Server ID\\\\n\\\\n\\",\\n \\"importNamespace\\": \\"test-ns\\",\\n \\"importInstanceId\\": \\"mse-faefrefxz\\"\\n },\\n \\"gatewayId\\": \\"gw-cpv54p5***\\",\\n \\"domainInfos\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"apiId\\": \\"api-xxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListPluginAttachments' => [ + 'path' => '/v1/plugin-attachments', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '231606', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayIRO3QE', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '231615', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'attachResourceId', + 'in' => 'query', + 'schema' => ['description' => '挂载资源ID', 'type' => 'string', 'required' => false, 'example' => 'hr-cv2h58em1hkg7c6vt43g'], + ], + [ + 'name' => 'attachResourceType', + 'in' => 'query', 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'required' => false, - 'example' => 'pl-cvo8udem1hkob1qd67i0', - ], - 'pluginConfig' => [ - 'description' => '插件配置原文的base64内容', - 'type' => 'string', - 'required' => false, - 'example' => 'cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K', - ], - 'attachResourceIds' => [ - 'description' => '挂载点id列表。', - 'type' => 'array', - 'items' => [ - 'description' => '挂载点id。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-xafjieoafpjb', - ], - 'required' => false, - ], - 'attachResourceType' => [ - 'description' => '插件挂载资源类型,GatewayRoute、Gateway、GatewayDomain、HttpApi、Operation', - 'type' => 'string', - 'required' => false, - 'example' => 'HttpApi', - ], - 'environmentId' => [ - 'description' => '环境 ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-xxx', - ], - 'gatewayId' => [ - 'description' => '网关实例ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq7l5s5lhtg***', - ], - 'enable' => [ - 'description' => '是否启用,默认值为false。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], + 'description' => '插件挂载点类型,暂未启用', + 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['GatewayDomain' => 'GatewayDomain', 'Gateway' => 'Gateway', 'GatewayRoute' => 'GatewayRoute', 'HttpApi' => 'HttpApi', 'Operation' => 'Operation'], + 'example' => 'GatewayRoute', ], ], + [ + 'name' => 'environmentId', + 'in' => 'query', + 'schema' => ['description' => '环境 ID。', 'type' => 'string', 'required' => false, 'example' => 'env-crlnqhtlhtgqflkqislg'], + ], + [ + 'name' => 'pluginId', + 'in' => 'query', + 'schema' => ['description' => '插件ID', 'type' => 'string', 'required' => false, 'example' => 'pl-ct8181um1hkiqns9f6e0'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cr79f75lhtgme744084g'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码,默认1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'attachResourceTypes', + 'in' => 'query', + 'schema' => ['description' => '挂载点类型,多个以逗号隔开', 'type' => 'string', 'required' => false, 'example' => 'GatewayRoute'], + ], + [ + 'name' => 'withParentResource', + 'in' => 'query', + 'schema' => ['description' => '是否需要返回父级资源挂载', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], ], 'responses' => [ 200 => [ @@ -18859,30 +12612,38 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'EBCB8485-24F9-54CD-B258-CB15FDB27677', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '9640D776-794A-5077-9184-A247CA4B45C1'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'pluginAttachmentId' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'example' => 'pa-cvs7jpmm1hkgihaqv4a0', + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => 'Item详情。', + 'type' => 'array', + 'items' => [ + 'description' => '结果对象', + 'type' => 'object', + 'properties' => [ + 'pluginAttachmentId' => ['description' => '插件挂载ID。', 'type' => 'string', 'example' => 'pa-d0j9t5em1hkncrlo51mg'], + 'parentResourceInfo' => ['description' => '父级资源信息', '$ref' => '#/components/schemas/ParentResourceInfo'], + 'resourceInfos' => [ + 'description' => '挂载资源信息。', + 'type' => 'array', + 'items' => ['description' => '挂载资源信息。', '$ref' => '#/components/schemas/ResourceInfo'], + ], + 'environmentInfo' => ['description' => '环境信息。', '$ref' => '#/components/schemas/EnvironmentInfo'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'example' => 'true'], + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvu6r4um1hko3b3ti0a0'], + 'pluginConfig' => ['description' => '插件配置原文的base64内容', 'type' => 'string', 'example' => 'bGltaXRfYnlfaGVhZGVyOiB4LWFwaS1rZXkKbGltaXRfa2V5czoKLSBrZXk6IGV4YW1wbGUta2V5LWEKICBxdWVyeV9wZXJfc2Vjb25kOiAxMAotIGtleTogZXhhbXBsZS1rZXktYgogIHF1ZXJ5X3Blcl9zZWNvbmQ6IDEK'], + 'pluginClassInfo' => ['description' => '插件类型信息', '$ref' => '#/components/schemas/PluginClassInfo'], + 'attachResourceType' => ['description' => '插件挂载资源类型,GatewayRoute、Gateway、GatewayDomain、HttpApi、Operation', 'type' => 'string', 'example' => 'GatewayRoute'], + ], + ], ], ], ], @@ -18890,250 +12651,253 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"EBCB8485-24F9-54CD-B258-CB15FDB27677\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pluginAttachmentId\\": \\"pa-cvs7jpmm1hkgihaqv4a0\\"\\n }\\n}","type":"json"}]', - 'title' => '挂载插件', - ], - 'GetPluginAttachment' => [ - 'summary' => '查询插件挂载。', - 'path' => '/v1/plugin-attachments/{pluginAttachmentId}', - 'methods' => [ - 'get', + 'title' => '获取插件挂载列表', + 'summary' => '获取插件挂载列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPluginAttachments'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPluginAttachments', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9640D776-794A-5077-9184-A247CA4B45C1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"pluginAttachmentId\\": \\"pa-d0j9t5em1hkncrlo51mg\\",\\n \\"parentResourceInfo\\": {\\n \\"resourceType\\": \\"Gateway\\"\\n },\\n \\"resourceInfos\\": [\\n {\\n \\"resourceType\\": \\"HttpApi\\",\\n \\"resourceId\\": \\"api-1nsu2d****\\",\\n \\"resourceName\\": \\"test1023\\",\\n \\"resourceVersion\\": \\"1.0.0\\"\\n }\\n ],\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": false,\\n \\"createTimestamp\\": 1721116090326,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"enable\\": true,\\n \\"pluginId\\": \\"pl-cvu6r4um1hko3b3ti0a0\\",\\n \\"pluginConfig\\": \\"bGltaXRfYnlfaGVhZGVyOiB4LWFwaS1rZXkKbGltaXRfa2V5czoKLSBrZXk6IGV4YW1wbGUta2V5LWEKICBxdWVyeV9wZXJfc2Vjb25kOiAxMAotIGtleTogZXhhbXBsZS1rZXktYgogIHF1ZXJ5X3Blcl9zZWNvbmQ6IDEK\\",\\n \\"pluginClassInfo\\": {\\n \\"pluginClassId\\": \\"cls-xxx\\",\\n \\"type\\": \\"AI\\",\\n \\"mode\\": \\"Wasm\\",\\n \\"name\\": \\"ai-security-guard\\",\\n \\"alias\\": \\"AI安全护栏\\",\\n \\"description\\": \\"AI请求内容安全检测插件\\",\\n \\"source\\": \\"HigressOfficial\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"versionDescription\\": \\"初始版本\\",\\n \\"executeStage\\": \\"AUTHN\\",\\n \\"executePriority\\": 100,\\n \\"configExample\\": \\"{\\\\\\"checkRequest\\\\\\":true}\\",\\n \\"imageName\\": \\"higress-registry.tencentcloudcr.com/ai-security-guard\\",\\n \\"wasmLanguage\\": \\"Rust\\",\\n \\"supportedMinGatewayVersion\\": \\"2.1.11\\",\\n \\"wasmUrl\\": \\"https://...\\",\\n \\"innerPlugin\\": false\\n },\\n \\"attachResourceType\\": \\"GatewayRoute\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListPluginClasses' => [ + 'path' => '/v1/plugin-classes', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '253923', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayIRO3QE', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '231537', + 'abilityTreeNodes' => ['FEATUREapigateway216K2A'], ], 'parameters' => [ [ - 'name' => 'pluginAttachmentId', - 'in' => 'path', - 'schema' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'pa-cvl541em1hkk7n8vq810', - ], + 'name' => 'nameLike', + 'in' => 'query', + 'schema' => ['description' => '插件名称,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'oauth'], + ], + [ + 'name' => 'aliasLike', + 'in' => 'query', + 'schema' => ['description' => '插件别名,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'OAuth2 认证'], + ], + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => ['description' => '插件类型。', 'type' => 'string', 'required' => false, 'example' => 'Auth'], + ], + [ + 'name' => 'source', + 'in' => 'query', + 'schema' => ['description' => '插件来源:'."\n" + .'- Higress 官方:HigressOfficial'."\n" + .'- Higress 社区:HigressCommunity'."\n" + .'- 自定义:Custom', 'type' => 'string', 'required' => false, 'example' => 'HigressOfficial'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码,默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '网关id。', 'type' => 'string', 'required' => false, 'example' => 'gw-d1j8tjum1hkhxxxxxxxx'], + ], + [ + 'name' => 'installed', + 'in' => 'query', + 'schema' => ['description' => '是否已安装。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + [ + 'name' => 'direction', + 'in' => 'query', + 'schema' => ['description' => '出入站方向:'."\n" + .'- 出站:OutBound。'."\n" + .'- 入栈:InBound。'."\n" + .'- 双方向:Both。', 'type' => 'string', 'required' => false, 'example' => 'InBound'], + ], + [ + 'name' => 'excludeBuiltinAiProxy', + 'in' => 'query', + 'allowEmptyValue' => true, + 'schema' => ['description' => '是否排除内置的插件', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', + 'schema' => ['description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', 'type' => 'string', 'required' => false, 'example' => 'API'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应信息。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'C61E30D3-579A-5B43-994E-31E02EDC9129', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '61EBF577-1601-51E1-B136-9CD6xxxxxxxx'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => '200'], + 'message' => ['description' => '错误消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '响应结果。', 'type' => 'object', 'properties' => [ - 'pluginAttachmentId' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'example' => 'pa-d05f1tmm1hku195dd8j0', - ], - 'parentResourceInfo' => [ - 'description' => '父级挂载资源信息。', - '$ref' => '#/components/schemas/ParentResourceInfo', - ], - 'resourceInfos' => [ - 'description' => '挂载资源信息列表。', + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '每页条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => '结果对象', 'type' => 'array', 'items' => [ - 'description' => '挂载资源信息。', - '$ref' => '#/components/schemas/ResourceInfo', + 'description' => '插件信息。', + 'type' => 'object', + 'properties' => [ + 'pluginClassId' => ['description' => '插件类型id', 'type' => 'string', 'example' => 'pls-d4ghv6em1hkixxxxxxxx'], + 'name' => ['description' => '插件名称。', 'type' => 'string', 'example' => 'oauth'], + 'alias' => ['description' => '插件别名。', 'type' => 'string', 'example' => 'OAuth2 认证'], + 'description' => ['description' => '插件描述。', 'type' => 'string', 'example' => '基于 OAuth2 实现身份认证和鉴权。'], + 'version' => ['description' => '插件版本。', 'type' => 'string', 'example' => '1.0.0'], + 'type' => ['description' => '插件类型。', 'type' => 'string', 'example' => 'Auth'], + 'source' => ['description' => '插件来源。', 'type' => 'string', 'example' => 'HigressOfficial'], + 'supportedMinGatewayVersion' => ['description' => '插件支持的网关的最低版本。', 'type' => 'string', 'example' => '2.0.0'], + 'publishStatus' => ['description' => '发布状态。', 'type' => 'string', 'example' => 'Success'], + 'pluginId' => ['description' => '插件ID。', 'type' => 'string', 'example' => 'pl-cvu6r4um1hkoxxxxxxxx'], + 'installed' => ['description' => '是否安装。', 'type' => 'boolean', 'example' => 'true'], + ], ], ], - 'environmentInfo' => [ - 'description' => '环境信息。', - '$ref' => '#/components/schemas/EnvironmentInfo', - ], - 'pluginConfig' => [ - 'description' => '插件配置原文的base64内容', - 'type' => 'string', - 'example' => 'cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvo8ub6m1hkvgv03r3k0', - ], - 'pluginClassInfo' => [ - 'description' => '插件类型信息', - '$ref' => '#/components/schemas/PluginClassInfo', - ], - 'gatewayInfo' => [ - 'description' => '网关信息。', - '$ref' => '#/components/schemas/GatewayInfo', - ], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C61E30D3-579A-5B43-994E-31E02EDC9129\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pluginAttachmentId\\": \\"pa-d05f1tmm1hku195dd8j0\\",\\n \\"parentResourceInfo\\": {\\n \\"resourceType\\": \\"\\",\\n \\"apiInfo\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n }\\n },\\n \\"resourceInfos\\": [\\n {\\n \\"resourceType\\": \\"\\",\\n \\"resourceId\\": \\"\\",\\n \\"resourceName\\": \\"\\",\\n \\"resourceVersion\\": \\"\\"\\n }\\n ],\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"pluginConfig\\": \\"cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K\\",\\n \\"enable\\": true,\\n \\"pluginId\\": \\"pl-cvo8ub6m1hkvgv03r3k0\\",\\n \\"pluginClassInfo\\": {\\n \\"pluginClassId\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"mode\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"source\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"versionDescription\\": \\"\\",\\n \\"executeStage\\": \\"\\",\\n \\"executePriority\\": 0,\\n \\"configExample\\": \\"\\",\\n \\"imageName\\": \\"\\",\\n \\"wasmLanguage\\": \\"\\",\\n \\"supportedMinGatewayVersion\\": \\"\\",\\n \\"wasmUrl\\": \\"\\",\\n \\"innerPlugin\\": true\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => '查询插件挂载', - ], - 'ListPluginAttachments' => [ - 'summary' => '获取插件挂载列表。', - 'path' => '/v1/plugin-attachments', - 'methods' => [ - 'get', + 'title' => '获取插件列表', + 'summary' => '获取插件。', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPluginClasses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"61EBF577-1601-51E1-B136-9CD6xxxxxxxx\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"pluginClassId\\": \\"pls-d4ghv6em1hkixxxxxxxx\\",\\n \\"name\\": \\"oauth\\",\\n \\"alias\\": \\"OAuth2 认证\\",\\n \\"description\\": \\"基于 OAuth2 实现身份认证和鉴权。\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"type\\": \\"Auth\\",\\n \\"source\\": \\"HigressOfficial\\",\\n \\"supportedMinGatewayVersion\\": \\"2.0.0\\",\\n \\"publishStatus\\": \\"Success\\",\\n \\"pluginId\\": \\"pl-cvu6r4um1hkoxxxxxxxx\\",\\n \\"installed\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListPlugins' => [ + 'path' => '/v1/plugins', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '231615', - 'abilityTreeNodes' => [ - 'FEATUREapigateway910B7T', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '231543', + 'abilityTreeNodes' => ['FEATUREapigateway216K2A', 'FEATUREapigateway2AMEZG', 'FEATUREapigateway3F24ZP'], ], 'parameters' => [ [ - 'name' => 'attachResourceId', + 'name' => 'gatewayId', 'in' => 'query', - 'schema' => [ - 'description' => '挂载资源ID', - 'type' => 'string', - 'required' => false, - 'example' => 'hr-cv2h58em1hkg7c6vt43g', - ], + 'schema' => ['description' => '网关实例id过滤参数', 'type' => 'string', 'required' => false, 'example' => 'gw-csrhgn6m1hkt65qbxxgg'], ], [ - 'name' => 'attachResourceType', + 'name' => 'pluginClassId', 'in' => 'query', - 'schema' => [ - 'description' => '插件挂载点类型,暂未启用', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'GatewayDomain' => 'GatewayDomain', - 'Gateway' => 'Gateway', - 'GatewayRoute' => 'GatewayRoute', - 'HttpApi' => 'HttpApi', - 'Operation' => 'Operation', - ], - 'example' => 'GatewayRoute', - ], + 'schema' => ['description' => '插件类型id过滤参数', 'type' => 'string', 'required' => false, 'example' => 'pls-dn82a9djd8z****'], ], [ - 'name' => 'environmentId', + 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '环境 ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-crlnqhtlhtgqflkqislg', - ], + 'schema' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'pluginId', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '插件ID', - 'type' => 'string', - 'required' => false, - 'example' => 'pl-ct8181um1hkiqns9f6e0', - ], + 'schema' => ['description' => '分页大小', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'gatewayId', + 'name' => 'pluginClassName', 'in' => 'query', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cr79f75lhtgme744084g', - ], + 'schema' => ['description' => '插件类型名称过滤参数', 'type' => 'string', 'required' => false, 'example' => 'key-auth'], ], [ - 'name' => 'pageNumber', + 'name' => 'withAttachmentInfo', 'in' => 'query', - 'schema' => [ - 'description' => '页码,默认1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '返回结果是否需要包含attachResourceId对应的插件挂载信息', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'pageSize', + 'name' => 'attachResourceId', 'in' => 'query', - 'schema' => [ - 'description' => '分页大小', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '挂载资源ID', 'type' => 'string', 'required' => false, 'example' => 'api-cuip2pum1hksng6oni3g'], ], [ - 'name' => 'attachResourceTypes', + 'name' => 'attachResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '挂载点类型,多个以逗号隔开', - 'type' => 'string', - 'required' => false, - 'example' => 'GatewayRoute', - ], + 'schema' => ['description' => '策略支持挂载点类型。'."\n" + ."\n" + .'- HttpApi:HttpApi。'."\n" + .'- Operation:HttpApi的Operation。'."\n" + .'- GatewayRoute:网关路由。'."\n" + .'- GatewayService:网关服务。'."\n" + .'- GatewayServicePort:网关服务端口。'."\n" + .'- Domain:网关域名。'."\n" + .'- Gateway:网关。', 'type' => 'string', 'required' => false, 'example' => 'HttpApi'], ], [ - 'name' => 'withParentResource', + 'name' => 'gatewayType', 'in' => 'query', - 'schema' => [ - 'description' => '是否需要返回父级资源挂载', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], + 'schema' => ['description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', 'type' => 'string', 'required' => false, 'example' => 'AI'], + ], + [ + 'name' => 'includeBuiltinAiGateway', + 'in' => 'query', + 'schema' => ['description' => '返回结果是否需要包含系统内置安装的AI插件,默认false', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], ], 'responses' => [ @@ -19143,95 +12907,53 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '9640D776-794A-5077-9184-A247CA4B45C1', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求 ID。', 'type' => 'string', 'example' => '168BA42D-F822-569D-A67F-FC59E6ABC2B1'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'items' => [ - 'description' => 'Item详情。', + 'description' => '插件列表信息。', 'type' => 'array', 'items' => [ - 'description' => '结果对象', + 'description' => '插件信息。', 'type' => 'object', 'properties' => [ - 'pluginAttachmentId' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'example' => 'pa-d0j9t5em1hkncrlo51mg', - ], - 'parentResourceInfo' => [ - 'description' => '父级资源信息', - '$ref' => '#/components/schemas/ParentResourceInfo', - ], - 'resourceInfos' => [ - 'description' => '挂载资源信息。', - 'type' => 'array', - 'items' => [ - 'description' => '挂载资源信息。', - '$ref' => '#/components/schemas/ResourceInfo', + 'pluginId' => ['description' => '插件ID', 'type' => 'string', 'example' => 'pl-cvu6r4um1hko3b3ti0a0'], + 'gatewayInfo' => [ + 'description' => '网关信息。', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['description' => '网关id。', 'type' => 'string', 'example' => 'gw-cq7og15lhtxx6qasrj60'], + 'name' => ['description' => '网关名称。', 'type' => 'string', 'example' => 'apitest-gw'], ], ], - 'environmentInfo' => [ - 'description' => '环境信息。', - '$ref' => '#/components/schemas/EnvironmentInfo', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvu6r4um1hko3b3ti0a0', - ], - 'pluginConfig' => [ - 'description' => '插件配置原文的base64内容', - 'type' => 'string', - 'example' => 'bGltaXRfYnlfaGVhZGVyOiB4LWFwaS1rZXkKbGltaXRfa2V5czoKLSBrZXk6IGV4YW1wbGUta2V5LWEKICBxdWVyeV9wZXJfc2Vjb25kOiAxMAotIGtleTogZXhhbXBsZS1rZXktYgogIHF1ZXJ5X3Blcl9zZWNvbmQ6IDEK', - ], 'pluginClassInfo' => [ 'description' => '插件类型信息', - '$ref' => '#/components/schemas/PluginClassInfo', + 'type' => 'object', + 'properties' => [ + 'pluginClassId' => ['description' => '插件类型ID', 'type' => 'string', 'example' => 'pls-cqebrgh46ppatmpri'], + 'name' => ['description' => '插件名称', 'type' => 'string', 'example' => 'key-rate-limit'], + 'version' => ['description' => '版本。', 'type' => 'string', 'example' => '2.0.3'], + 'versionDescription' => ['description' => '版本描述', 'type' => 'string', 'example' => '版本描述'], + 'executeStage' => ['description' => '执行阶段。', 'type' => 'string', 'example' => 'AUTHZ'], + 'executePriority' => ['description' => '执行优先级。', 'type' => 'string', 'example' => '999'], + 'alias' => ['description' => '别名', 'type' => 'string', 'example' => '基于 Key 限流'], + 'source' => ['description' => '插件来源', 'type' => 'string', 'example' => 'HigressOfficial'], + ], ], - 'attachResourceType' => [ - 'description' => '插件挂载资源类型,GatewayRoute、Gateway、GatewayDomain、HttpApi、Operation', - 'type' => 'string', - 'example' => 'GatewayRoute', + 'attachmentInfo' => [ + 'description' => '插件挂载信息', + 'type' => 'object', + 'properties' => [ + 'pluginAttachmentId' => ['description' => '插件挂载ID。', 'type' => 'string', 'example' => 'pa-ct2irn6m1hkreaen0t40'], + 'enable' => ['description' => '是否启用。', 'type' => 'string', 'example' => 'false'], + ], ], ], ], @@ -19242,78 +12964,87 @@ ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"9640D776-794A-5077-9184-A247CA4B45C1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"pluginAttachmentId\\": \\"pa-d0j9t5em1hkncrlo51mg\\",\\n \\"parentResourceInfo\\": {\\n \\"resourceType\\": \\"\\",\\n \\"apiInfo\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n }\\n },\\n \\"resourceInfos\\": [\\n {\\n \\"resourceType\\": \\"\\",\\n \\"resourceId\\": \\"\\",\\n \\"resourceName\\": \\"\\",\\n \\"resourceVersion\\": \\"\\"\\n }\\n ],\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"enable\\": true,\\n \\"pluginId\\": \\"pl-cvu6r4um1hko3b3ti0a0\\",\\n \\"pluginConfig\\": \\"bGltaXRfYnlfaGVhZGVyOiB4LWFwaS1rZXkKbGltaXRfa2V5czoKLSBrZXk6IGV4YW1wbGUta2V5LWEKICBxdWVyeV9wZXJfc2Vjb25kOiAxMAotIGtleTogZXhhbXBsZS1rZXktYgogIHF1ZXJ5X3Blcl9zZWNvbmQ6IDEK\\",\\n \\"pluginClassInfo\\": {\\n \\"pluginClassId\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"mode\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"source\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"versionDescription\\": \\"\\",\\n \\"executeStage\\": \\"\\",\\n \\"executePriority\\": 0,\\n \\"configExample\\": \\"\\",\\n \\"imageName\\": \\"\\",\\n \\"wasmLanguage\\": \\"\\",\\n \\"supportedMinGatewayVersion\\": \\"\\",\\n \\"wasmUrl\\": \\"\\",\\n \\"innerPlugin\\": true\\n },\\n \\"attachResourceType\\": \\"GatewayRoute\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取插件挂载列表', - ], - 'UpdatePluginAttachment' => [ - 'summary' => '更新插件挂载。', - 'path' => '/v1/plugin-attachments/{pluginAttachmentId}', - 'methods' => [ - 'put', + 'title' => '获取插件列表', + 'summary' => '获取插件列表。', + 'changeSet' => [ + ['createdAt' => '2025-06-03T12:43:26.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPlugins'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPlugins', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"168BA42D-F822-569D-A67F-FC59E6ABC2B1\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"pluginId\\": \\"pl-cvu6r4um1hko3b3ti0a0\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtxx6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\"\\n },\\n \\"pluginClassInfo\\": {\\n \\"pluginClassId\\": \\"pls-cqebrgh46ppatmpri\\",\\n \\"name\\": \\"key-rate-limit\\",\\n \\"version\\": \\"2.0.3\\",\\n \\"versionDescription\\": \\"版本描述\\",\\n \\"executeStage\\": \\"AUTHZ\\",\\n \\"executePriority\\": \\"999\\",\\n \\"alias\\": \\"基于 Key 限流\\",\\n \\"source\\": \\"HigressOfficial\\"\\n },\\n \\"attachmentInfo\\": {\\n \\"pluginAttachmentId\\": \\"pa-ct2irn6m1hkreaen0t40\\",\\n \\"enable\\": \\"false\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListPolicies' => [ + 'path' => '/v1/policies', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '231611', - 'abilityTreeNodes' => [ - 'FEATUREapigateway216K2A', - 'FEATUREapigateway2AMEZG', - 'FEATUREapigateway3F24ZP', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '228407', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], ], 'parameters' => [ [ - 'name' => 'pluginAttachmentId', - 'in' => 'path', - 'schema' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'pa-cri2uq5lhtgkq0ldllj0', - ], + 'name' => 'withAttachments', + 'in' => 'query', + 'schema' => ['description' => '是否返回挂载信息。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'attachResourceIds' => [ - 'description' => '挂载点id列表。', - 'type' => 'array', - 'items' => [ - 'description' => '挂载点id。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-axvafaefafxx', - ], - 'required' => false, - ], - 'pluginConfig' => [ - 'description' => '插件配置原文的base64内容', - 'type' => 'string', - 'required' => false, - 'example' => 'cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K', - ], - 'enable' => [ - 'description' => '是否启用。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - ], - 'required' => false, - ], + 'name' => 'attachResourceId', + 'in' => 'query', + 'schema' => ['description' => '挂载点id。', 'type' => 'string', 'required' => false, 'example' => 'api-cq7l5s5lhtgi6qasrdc0'], + ], + [ + 'name' => 'attachResourceType', + 'in' => 'query', + 'schema' => ['description' => '策略支持挂载点类型。'."\n" + ."\n" + .'- HttpApi:HttpApi。'."\n" + .'- Operation:HttpApi的Operation。'."\n" + .'- GatewayRoute:网关路由。'."\n" + .'- GatewayService:网关服务。'."\n" + .'- GatewayServicePort:网关服务端口。'."\n" + .'- Domain:网关域名。'."\n" + .'- Gateway:网关。', 'type' => 'string', 'required' => false, 'example' => 'HttpApi'], + ], + [ + 'name' => 'environmentId', + 'in' => 'query', + 'schema' => ['description' => '环境id。', 'type' => 'string', 'required' => false, 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '网关id。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq2fm65lhtgm9nrrl7ag'], + ], + [ + 'name' => 'withSystemPolicy', + 'in' => 'query', + 'schema' => ['description' => '是否是系统策略。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ @@ -19323,152 +13054,343 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'F330090D-80F8-557B-8610-7EC7E386B4A4', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '每页条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '18'], + 'items' => [ + 'description' => '策略信息列表。', + 'type' => 'array', + 'items' => ['description' => '策略信息。', '$ref' => '#/components/schemas/PolicyInfo'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"F330090D-80F8-557B-8610-7EC7E386B4A4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新插件挂载', - ], - 'DeletePluginAttachment' => [ - 'summary' => '删除插件挂载。', - 'path' => '/v1/plugin-attachments/{pluginAttachmentId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '查询策略列表', + 'summary' => '查询策略列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPolicies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 18,\\n \\"items\\": [\\n {\\n \\"policyId\\": \\"p-cq7l5s5lhtgi6qasrdc0\\",\\n \\"direction\\": \\"InBound\\",\\n \\"className\\": \\"RateLimit\\",\\n \\"classAlias\\": \\"流量控制\\",\\n \\"config\\": \\"{\\\\\\"enable\\\\\\":false}\\",\\n \\"attachments\\": [\\n {\\n \\"policyAttachmentId\\": \\"pr-cq7l5s5lhtgi6qasrdc0\\",\\n \\"attachResourceId\\": \\"gw-xxx\\",\\n \\"attachResourceType\\": \\"HttpApi\\",\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"gatewayId\\": \\"gw-cpr4f9dlhtgq5ksfgmb0\\",\\n \\"attachResourceIds\\": [\\n \\"api-cq7l5s5lhtgi6qasrdc0\\"\\n ],\\n \\"attachResourceParentIds\\": [\\n \\"[\\\\\\"api-xxx\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"name\\": \\"test-policy\\",\\n \\"type\\": \\"策略类型\\",\\n \\"executeStage\\": \\"PluginPost\\",\\n \\"executePriority\\": \\"310\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListPolicyClasses' => [ + 'summary' => '获取策略模板。', + 'path' => '/v1/policy-classes', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '223018', + 'abilityTreeNodes' => ['FEATUREapigatewayE6KZ22'], ], 'parameters' => [ [ - 'name' => 'pluginAttachmentId', - 'in' => 'path', - 'schema' => [ - 'description' => '插件挂载ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'pa-cvlkefmm1hkkc90m8vq0', - ], + 'name' => 'type', + 'in' => 'query', + 'schema' => ['description' => '策略模板类型。', 'type' => 'string', 'required' => false, 'example' => 'FlowControl'], + ], + [ + 'name' => 'direction', + 'in' => 'query', + 'schema' => ['description' => '策略出入站方向。'."\n" + .'- 出站:OutBound。'."\n" + .'- 入栈:InBound。'."\n" + .'- 双方向:Both。', 'type' => 'string', 'required' => false, 'example' => 'InBound'], + ], + [ + 'name' => 'attachResourceType', + 'in' => 'query', + 'schema' => ['description' => '策略支持挂载点类型。'."\n" + ."\n" + .'- HttpApi:HttpApi。'."\n" + .'- Operation:HttpApi的Operation。'."\n" + .'- GatewayRoute:网关路由。'."\n" + .'- GatewayService:网关服务。'."\n" + .'- GatewayServicePort:网关服务端口。'."\n" + .'- Domain:网关域名。'."\n" + .'- Gateway:网关。', 'type' => 'string', 'required' => false, 'example' => 'Operation'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '页码,默认1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'attachResourceId', + 'in' => 'query', + 'schema' => ['description' => '挂载资源ID', 'type' => 'string', 'required' => false, 'example' => 'route-001'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-001'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回结构体。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '76BDFFC7-0764-5168-B047-92EE0BC7FDDE', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '23B45FA9-7208-5E55-B5CE-B6B2567DD822'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '策略模板信息。', + 'type' => 'object', + 'properties' => [ + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => '策略模板列表。', + 'type' => 'array', + 'items' => ['description' => '策略模板信息。', '$ref' => '#/components/schemas/PolicyClassInfo'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取策略模板', + 'changeSet' => [ + ['createdAt' => '2025-07-25T02:07:37.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"76BDFFC7-0764-5168-B047-92EE0BC7FDDE\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除插件挂载', - ], - 'InstallPlugin' => [ - 'summary' => '安装插件。', - 'path' => '/v1/plugins/', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPolicyClasses'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPolicyClasses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"23B45FA9-7208-5E55-B5CE-B6B2567DD822\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"classId\\": \\"pc-cpqm0s94ckt1displ8ng\\",\\n \\"name\\": \\"ConcurrencyLimit\\",\\n \\"alias\\": \\"并发控制\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"description\\": \\"通过控制并发线程数以保证系统的稳定性。适用于应用内部或下游依赖出现不稳定的场景,例如慢SQL、下游应用响应时间变长等。\\",\\n \\"type\\": \\"FlowControl\\",\\n \\"direction\\": \\"InBound\\",\\n \\"attachableResourceTypes\\": [\\n \\"Gateway\\"\\n ],\\n \\"executeStage\\": \\"POST\\",\\n \\"executePriority\\": \\"1\\",\\n \\"enableLog\\": true,\\n \\"deprecated\\": false,\\n \\"configExample\\": \\"{}\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListSecretReferences' => [ + 'summary' => '列出密钥引用。', + 'path' => '/v1/secrets/{secretId}/references', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '231541', - 'abilityTreeNodes' => [ - 'FEATUREapigateway3F24ZP', - 'FEATUREapigateway2AMEZG', - 'FEATUREapigateway216K2A', - ], + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '280247', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码。从1开始,不填默认1。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'secretId', + 'in' => 'path', + 'schema' => ['description' => '密钥ID。', 'type' => 'string', 'required' => false, 'example' => 'sec-d5e6shmm1hkoxxxxxxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求Body。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'pluginClassId' => [ - 'description' => '插件类型ID', - 'type' => 'string', - 'required' => false, - 'example' => 'pls-csqmjndlhtguk0loef21', - ], - 'gatewayIds' => [ - 'description' => '网关id列表。', - 'type' => 'array', - 'items' => [ - 'description' => '网关id。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-d28mjcmm1hkub84mdbi0'."\n", + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'CE857A85-251D-5018-8103-A38957D71***'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '25'], + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => '引用详情列表。', + 'type' => 'array', + 'items' => [ + 'description' => '引用详情。', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['description' => '网关实例ID', 'type' => 'string', 'example' => 'gw-xxxx'], + 'resourceType' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'Plugin'], + 'mcpServerConfig' => [ + 'description' => '引用当前密钥的MCP服务信息。', + 'type' => 'object', + 'properties' => [ + 'routeId' => ['description' => '路由ID。', 'type' => 'string', 'example' => 'hr-cv0i5oum1hkhxxxxxxxx'], + 'name' => ['description' => '路由名称。', 'type' => 'string', 'example' => 'mcp'], + 'httpApiId' => ['description' => 'HTTP API ID。', 'type' => 'string', 'example' => 'api-d2vv43em201hxxxxxxxx'], + ], + ], + 'consumerConfig' => [ + 'description' => '引用当前密钥的消费者信息。', + 'type' => 'object', + 'properties' => [ + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-d0iltnem1hkhxxxxxxxx'], + 'name' => ['description' => '消费者名称。', 'type' => 'string', 'example' => 'myconsumer'], + ], + ], + 'PluginConfig' => [ + 'description' => '引用当前密钥的插件信息。', + 'type' => 'object', + 'properties' => [ + 'pluginId' => ['description' => '插件ID。', 'type' => 'string', 'example' => 'pl-d4ijk56m1hkhxxxxxxxx'], + 'name' => ['description' => '插件名称。', 'type' => 'string', 'example' => 'oauth'], + 'pluginClassId' => ['description' => '插件类型id', 'type' => 'string', 'example' => 'pls-xxxxxxxx'], + ], + ], + 'ServiceConfig' => [ + 'description' => '引用当前密钥的服务信息。', + 'type' => 'object', + 'properties' => [ + 'serviceId' => ['description' => '服务ID。', 'type' => 'string', 'example' => 'svc-cvgbtcmm1hkmxxxxxxxx'], + 'name' => ['description' => '服务名称。', 'type' => 'string', 'example' => 'myService'], + ], + ], + ], + ], + ], ], - 'required' => false, ], ], - 'required' => false, ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '列出密钥引用', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListSecretReferences', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 25,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"gatewayId\\": \\"gw-xxxx\\",\\n \\"resourceType\\": \\"Plugin\\",\\n \\"mcpServerConfig\\": {\\n \\"routeId\\": \\"hr-cv0i5oum1hkhxxxxxxxx\\",\\n \\"name\\": \\"mcp\\",\\n \\"httpApiId\\": \\"api-d2vv43em201hxxxxxxxx\\"\\n },\\n \\"consumerConfig\\": {\\n \\"consumerId\\": \\"cs-d0iltnem1hkhxxxxxxxx\\",\\n \\"name\\": \\"myconsumer\\"\\n },\\n \\"PluginConfig\\": {\\n \\"pluginId\\": \\"pl-d4ijk56m1hkhxxxxxxxx\\",\\n \\"name\\": \\"oauth\\",\\n \\"pluginClassId\\": \\"pls-xxxxxxxx\\"\\n },\\n \\"ServiceConfig\\": {\\n \\"serviceId\\": \\"svc-cvgbtcmm1hkmxxxxxxxx\\",\\n \\"name\\": \\"myService\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListSecrets' => [ + 'summary' => '列出密钥。', + 'path' => '/v1/secrets', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '280145', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'nameLike', + 'in' => 'query', + 'schema' => ['description' => '密钥名称,模糊搜索。', 'type' => 'string', 'required' => false, 'example' => 'my_secret'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小,有效范围[1, 100],不填默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'gatewayType', + 'in' => 'query', + 'schema' => ['description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', 'type' => 'string', 'required' => false, 'example' => 'AI'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ @@ -19476,42 +13398,35 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '201CFCA0-3AF5-52D0-A0F3-FBA697AF55CB', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'Success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '3A3D1392-0F71-5A10-9AE8-89C434696966'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息,', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '密钥信息列表。', 'type' => 'object', 'properties' => [ - 'installPluginResults' => [ - 'description' => '安装结果', + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'items' => [ + 'description' => '密钥详情列表。', 'type' => 'array', 'items' => [ + 'description' => '密钥详情。', 'type' => 'object', 'properties' => [ - 'pluginId' => [ - 'description' => '插件ID', - 'type' => 'string', - 'example' => 'pl-cvs7gbum1hkhs6us6vbg', - ], - 'gatewayId' => [ - 'description' => '网关id。', - 'type' => 'string', - 'example' => 'gw-d28mjcmm1hkub84mdbi0', - ], + 'secretId' => ['description' => '密钥ID。', 'type' => 'string', 'example' => 'sec-d5e6shmm1hkoxxxxxxxx'], + 'name' => ['description' => '密钥名称。', 'type' => 'string', 'example' => 'my_secret'], + 'secretSource' => ['description' => '密钥来源。', 'type' => 'string', 'example' => 'KMS'], + 'createTimestamp' => ['description' => '创建时间戳。', 'type' => 'integer', 'format' => 'int64', 'example' => '1725617840096'], + 'updateTimestamp' => ['description' => '更新时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1721116090326'], + 'kmsConfig' => ['description' => 'KMS配置信息。', '$ref' => '#/components/schemas/KMSConfig'], + 'gatewayType' => ['description' => '网关类型。', 'type' => 'string', 'example' => 'API'], + 'status' => ['description' => '密钥状态:'."\n" + .'- ENABLE:已启用;'."\n" + .'- DISABLE:不可用;'."\n" + .'- DELETED:已删除。', 'type' => 'string', 'example' => 'ENABLE'], + 'referenceCount' => ['description' => '引用当前密钥的资源数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '3'], ], ], ], @@ -19521,85 +13436,158 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"201CFCA0-3AF5-52D0-A0F3-FBA697AF55CB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"installPluginResults\\": [\\n {\\n \\"pluginId\\": \\"pl-cvs7gbum1hkhs6us6vbg\\",\\n \\"gatewayId\\": \\"gw-d28mjcmm1hkub84mdbi0\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '安装插件', - ], - 'UninstallPlugin' => [ - 'summary' => '卸载插件。', - 'path' => '/v1/plugins/{pluginId}', - 'methods' => [ - 'delete', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '列出密钥', + 'description' => '接口支持创建多个服务。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListSecrets', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3A3D1392-0F71-5A10-9AE8-89C434696966\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 10,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"secretId\\": \\"sec-d5e6shmm1hkoxxxxxxxx\\",\\n \\"name\\": \\"my_secret\\",\\n \\"secretSource\\": \\"KMS\\",\\n \\"createTimestamp\\": 1725617840096,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"kmsConfig\\": {\\n \\"kmsInstanceId\\": \\"kst-xxxxxxxx\\",\\n \\"kmsKeyId\\": \\"key-xxxxxxxx\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"status\\": \\"ENABLE\\",\\n \\"referenceCount\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'ListServices' => [ + 'path' => '/v1/services', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '237750', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'pluginId', - 'in' => 'path', + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码,从1开始,不填默认1.', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '分页大小,有效范围[1, 100],不填默认10。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['description' => '根据服务名精确查询。', 'type' => 'string', 'required' => false, 'example' => 'user-service'], + ], + [ + 'name' => 'sourceType', + 'in' => 'query', 'schema' => [ - 'description' => '插件ID', + 'description' => '根据服务来源类型查询, 服务来源:'."\n" + .'- MSE_NACOS: 来源为MSE Nacos里的服务。'."\n" + .'- K8S: 来源为容器服务里K8S集群里的服务。'."\n" + .'- FC3: 来源为函数计算里的服务。'."\n" + .'- VIP: 来源为固定地址的服务。'."\n" + .'- DNS: 来源为域名的服务。', 'type' => 'string', 'required' => false, - 'example' => 'pl-cvd2b36m1hkhdosfhar0', + 'enumValueTitles' => ['K8S' => '容器服务', 'FC3' => '函数计算服务', 'DNS' => 'DNS 域名', 'VIP' => '固定地址', 'MSE_NACOS' => 'MSE Nacos'], + 'example' => 'MSE_NACOS', ], ], + [ + 'name' => 'sourceTypes', + 'in' => 'query', + 'schema' => ['description' => '服务来源类型列表', 'type' => 'string', 'required' => false, 'example' => '["K8S", "FC3"]'], + ], + [ + 'name' => 'gatewayId', + 'in' => 'query', + 'schema' => ['description' => '云原生API网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl*****'], + ], + [ + 'name' => 'resourceGroupId', + 'in' => 'query', + 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-acfmxxe5rc6cvla'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'F61D96E8-4E6D-5896-86E7-F1202AC31280', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'data' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '18'], + 'items' => [ + 'description' => '服务列表。', + 'type' => 'array', + 'items' => ['description' => '服务信息。', '$ref' => '#/components/schemas/Service'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"F61D96E8-4E6D-5896-86E7-F1202AC31280\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '卸载插件', + 'title' => '查询服务列表', + 'summary' => '获取服务列表。', + 'changeSet' => [ + ['createdAt' => '2025-04-14T12:43:31.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListServices'], + ], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListServices', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 18,\\n \\"items\\": [\\n {\\n \\"serviceId\\": \\"svc-cr6pk4tlhtgm***\\",\\n \\"sourceType\\": \\"MSE_NACOS\\",\\n \\"name\\": \\"user-service\\",\\n \\"namespace\\": \\"PUBLIC\\",\\n \\"healthCheck\\": {\\n \\"protocol\\": \\"TCP\\",\\n \\"timeout\\": 5,\\n \\"interval\\": 10,\\n \\"healthyThreshold\\": 2,\\n \\"unhealthyThreshold\\": 3,\\n \\"httpPath\\": \\"/health\\",\\n \\"httpHost\\": \\"example.com\\",\\n \\"enable\\": true\\n },\\n \\"healthStatus\\": \\"Healthy\\",\\n \\"qualifier\\": \\"LATEST\\",\\n \\"createTimestamp\\": 1725617840096,\\n \\"updateTimestamp\\": 1725868548440,\\n \\"protocol\\": \\"HTTP\\",\\n \\"gatewayId\\": \\"gw-xxxx\\",\\n \\"modelProviderId\\": \\"mp-xxxx\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"groupName\\": \\"publich\\",\\n \\"aiServiceConfig\\": {\\n \\"provider\\": \\"qwen\\\\nmoonshot\\\\nbaichuan\\\\nyi\\\\nzhipuai\\\\n360ai\\\\nhunyuan\\\\nstepfun\\\\nspark\\\\nopenai\\\\nclaude\\\\nanthropic\\\\ndoubao\\\\nminimax\\\\ngemini\\\\nazure\\\\ndeepseek\\\\ncustom\\\\npai-eas\\\\nbedrock\\\\nvertex\\",\\n \\"address\\": \\"https://dashscope.aliyun.com\\",\\n \\"enableHealthCheck\\": true,\\n \\"paiEASServiceConfig\\": {\\n \\"workspaceId\\": \\"cb89d4de30042df4459442589664e00d\\",\\n \\"serviceId\\": \\"svc-cvaeb0um1hkqp79k72v0\\",\\n \\"serviceName\\": \\"auto-ai-service\\",\\n \\"endpointType\\": \\"\\\\\\"public\\\\\\",\\\\\\"private\\\\\\"\\"\\n },\\n \\"bedrockServiceConfig\\": {\\n \\"awsRegion\\": \\"us-east-1\\",\\n \\"awsAccessKey\\": \\"AKIAIOSFODNN7EXAMPLE\\",\\n \\"awsSecretKey\\": \\"wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY\\"\\n },\\n \\"ApiKeyGenerateMode\\": \\"Custom\\",\\n \\"defaultModelName\\": \\"gpt-4\\",\\n \\"enableOutlierDetection\\": true,\\n \\"vertexServiceConfig\\": {\\n \\"vertexAuthKey\\": \\"{\\\\\\\\\\\\\\"type\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"service_account\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"project_id\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"my-project\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"private_key\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"-----BEGIN PRIVATE KEY-----...\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"client_email\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"xxx@xxx.iam.gserviceaccount.com\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"token_uri\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"https://oauth2.googleapis.com/token\\\\\\\\\\\\\\"}\\",\\n \\"vertexRegion\\": \\"us-central1\\",\\n \\"vertexProjectId\\": \\"my-project\\",\\n \\"vertexAuthServiceName\\": \\"google-oauth2\\",\\n \\"geminiSafetySetting\\": {\\n \\"key\\": \\"{\\\\\\"BLOCK_NONE\\\\\\": \\\\\\"true\\\\\\"}\\"\\n },\\n \\"vertexTokenRefreshAhead\\": 300\\n },\\n \\"protocols\\": [\\n \\"OpenAI/v1\\"\\n ],\\n \\"apiKeys\\": [\\n \\"sk-xxx\\"\\n ],\\n \\"compatibleProtocols\\": [\\n \\"\\\\\\"openai\\\\\\", \\\\\\"anthropic\\\\\\"\\"\\n ]\\n },\\n \\"agentServiceConfig\\": {\\n \\"address\\": \\"https://dashscope.aliyuncs.com/api/v1\\",\\n \\"dashScopeConfig\\": {\\n \\"appCredentials\\": [\\n {\\n \\"apiKey\\": \\"sk-xxx\\",\\n \\"appId\\": \\"app-xxx\\"\\n }\\n ]\\n },\\n \\"enableHealthCheck\\": true,\\n \\"provider\\": \\"qwen\\",\\n \\"difyConfig\\": {\\n \\"botType\\": \\"chatbot\\",\\n \\"apiKey\\": \\"app-xxx\\"\\n },\\n \\"enableOutlierDetection\\": true,\\n \\"customConfig\\": {\\n \\"apiKey\\": \\"app-xxx\\\\n\\",\\n \\"apiKeyGenerateMode\\": \\"Reference\\"\\n },\\n \\"protocols\\": [\\n \\"DashScope\\"\\n ]\\n },\\n \\"expressType\\": \\"StartExecution\\",\\n \\"addresses\\": [\\n \\"127.0.0.1:8080\\"\\n ],\\n \\"ports\\": [\\n {\\n \\"port\\": 8080,\\n \\"name\\": \\"user-service\\",\\n \\"protocol\\": \\"TCP\\"\\n }\\n ],\\n \\"unhealthyEndpoints\\": [\\n \\"192.168.1.12:8080\\"\\n ],\\n \\"outlierEndpoints\\": [\\n \\"[\\\\\\"10.0.0.2:8080\\\\\\"]\\"\\n ],\\n \\"labelDetails\\": [\\n {\\n \\"key\\": \\"version\\",\\n \\"values\\": [\\n \\"[\\\\\\"v1.0.0\\\\\\", \\\\\\"v2.0.0\\\\\\"]\\"\\n ]\\n }\\n ],\\n \\"runtimeDetailStatus\\": \\"Available\\",\\n \\"runtimeDetailErrorCode\\": \\"RuntimeEndpointTimeout\\",\\n \\"versions\\": [\\n {\\n \\"name\\": \\"v1\\",\\n \\"labels\\": [\\n {\\n \\"key\\": \\"version\\",\\n \\"value\\": \\"v1\\"\\n }\\n ]\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', ], 'ListSslCerts' => [ 'summary' => '获取证书列表。', 'path' => '/v1/ssl/certs', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -19609,49 +13597,30 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigatewayLPOSXV'], ], 'parameters' => [ [ 'name' => 'certNameLike', 'in' => 'query', - 'schema' => [ - 'description' => '名称匹配关键词。', - 'type' => 'string', - 'required' => false, - 'example' => 'ali', - ], + 'schema' => ['description' => '名称匹配关键词。', 'type' => 'string', 'required' => false, 'example' => 'ali'], ], [ 'name' => 'domainName', 'in' => 'query', - 'schema' => [ - 'description' => '域名名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'fun.iot.evideocloud.com.cn', - ], + 'schema' => ['description' => '域名名称。', 'type' => 'string', 'required' => false, 'example' => 'fun.iot.evideocloud.com.cn'], ], [ 'name' => 'pageNumber', 'in' => 'query', - 'schema' => [ - 'description' => '页码,默认1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '页码,默认1', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '每页大小,默认10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -19661,501 +13630,245 @@ 'description' => '响应结构体。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'AADF7197-3384-52AF-A2DE-A66696734129', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'AADF7197-3384-52AF-A2DE-A66696734129'], 'data' => [ 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '2', - ], + 'pageNumber' => ['description' => '页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'totalSize' => ['description' => '总数量。', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], 'items' => [ 'description' => '证书信息列表。', 'type' => 'array', - 'items' => [ - 'description' => '证书信息。', - '$ref' => '#/components/schemas/SslCertMetaInfo', - ], + 'items' => ['description' => '证书信息。', '$ref' => '#/components/schemas/SslCertMetaInfo'], ], ], ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"AADF7197-3384-52AF-A2DE-A66696734129\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 2,\\n \\"items\\": [\\n {\\n \\"certIdentifier\\": \\"\\",\\n \\"isChainCompleted\\": true,\\n \\"instanceId\\": \\"\\",\\n \\"domain\\": \\"\\",\\n \\"fingerprint\\": \\"\\",\\n \\"certName\\": \\"\\",\\n \\"certId\\": 0,\\n \\"commonName\\": \\"\\",\\n \\"domainMatchCert\\": true,\\n \\"sans\\": \\"\\",\\n \\"notBeforeTimestamp\\": 0,\\n \\"notAfterTimestamp\\": 0,\\n \\"algorithm\\": \\"\\",\\n \\"keySize\\": \\"\\",\\n \\"issuer\\": \\"\\",\\n \\"serialNo\\": \\"\\",\\n \\"md5\\": \\"\\",\\n \\"sha2\\": \\"\\",\\n \\"signAlgorithm\\": \\"\\"\\n }\\n ]\\n },\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '获取证书列表', - ], - 'GetDomain' => [ - 'summary' => '查询域名。', - 'path' => '/v1/domains/{domainId}', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSslCerts'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListSslCerts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"AADF7197-3384-52AF-A2DE-A66696734129\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 2,\\n \\"items\\": [\\n {\\n \\"certIdentifier\\": \\"cert-123\\",\\n \\"isChainCompleted\\": true,\\n \\"instanceId\\": \\"i-bp1234567890\\",\\n \\"domain\\": \\"api.example.com\\",\\n \\"fingerprint\\": \\"A1:B2:C3:D4:E5:F6:78:90:AB:CD:EF:12:34:56:78:90\\",\\n \\"certName\\": \\"example.com\\",\\n \\"certId\\": 1234567890,\\n \\"commonName\\": \\"example.com\\",\\n \\"domainMatchCert\\": true,\\n \\"sans\\": \\"*.example.com,api.example.com,www.example.com\\",\\n \\"notBeforeTimestamp\\": 1234567890000,\\n \\"notAfterTimestamp\\": 1234567890000,\\n \\"algorithm\\": \\"RSA2048\\",\\n \\"keySize\\": \\"2048\\",\\n \\"issuer\\": \\"DigiCert Inc\\",\\n \\"serialNo\\": \\"03:A1:B2:C3:D4:E5:F6:78:90:AB:CD:EF:12:34:56:78:90\\",\\n \\"md5\\": \\"A1B2C3D4E5F67890ABCDEF1234567890\\",\\n \\"sha2\\": \\"A1B2C3D4E5F67890ABCDEF1234567890ABCDEF1234567890ABCDEF1234567890\\",\\n \\"signAlgorithm\\": \\"sha256WithRSAEncryption\\"\\n }\\n ]\\n },\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'ListTagResources' => [ + 'summary' => '获取资源标签列表。', + 'path' => '/v1/tags', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '219001', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayLPOSXV', - ], + 'abilityTreeCode' => '248803', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ - 'name' => 'domainId', - 'in' => 'path', + 'name' => 'ResourceType', + 'in' => 'query', + 'schema' => ['title' => '资源类型', 'description' => '资源类型', 'type' => 'string', 'required' => false, 'example' => 'Gateway', 'default' => 'Gateway'], + ], + [ + 'name' => 'ResourceId', + 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '域名id。', - 'type' => 'string', - 'required' => true, - 'example' => 'd-cpqnfn5lhtgqbga95sv1', + 'title' => '资源ID,最多 50个子项', + 'description' => '资源ID,最多 50个子项', + 'type' => 'array', + 'items' => ['description' => 'string', 'type' => 'string', 'required' => false, 'example' => '["gw-xxx","gw-yyy"]'], + 'required' => false, + 'example' => '["gw-xxx","gw-yyy"]', ], ], [ - 'name' => 'withStatistics', + 'name' => 'Tag', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '是否返回线上资源信息。', - 'type' => 'boolean', + 'title' => '对应新增标签列表,最多包含20个子项', + 'description' => '对应新增标签列表,最多包含20个子项', + 'type' => 'array', + 'items' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'Key' => ['title' => '标签键', 'description' => '标签键', 'type' => 'string', 'required' => false, 'example' => 'env'], + 'Value' => ['title' => '标签值', 'description' => '标签值', 'type' => 'string', 'required' => false, 'example' => 'prod'], + ], + 'required' => false, + ], 'required' => false, - 'example' => 'true', + 'example' => '[{"key":"env","value":"prod"}]', ], ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => ['title' => '下一个查询开始Token', 'description' => '下一个查询开始Token', 'type' => 'string', 'required' => false, 'example' => 'caeb235b-xxx'], + ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => '返回结构体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'domainId' => [ - 'description' => '域名id。', - 'type' => 'string', - 'example' => 'd-cq1m3utlhtgvgkv7sitg', - ], - 'name' => [ - 'description' => '域名。', - 'type' => 'string', - 'example' => 'abc.com', - ], - 'protocol' => [ - 'description' => '域名支持的协议类型。'."\n" - ."\n" - .'- HTTP:仅支持HTTP协议。'."\n" - .'- HTTPS:仅支持HTTPS协议。', - 'type' => 'string', - 'example' => 'HTTP', - ], - 'createFrom' => [ - 'description' => '从哪里创建。', - 'type' => 'string', - 'enumValueTitles' => [ - 'Console' => 'Console', - 'Ingress' => 'Ingress', - ], - 'example' => 'Console', - ], - 'forceHttps' => [ - 'description' => '设置HTTPS协议类型,是否开启强制HTTPS跳转。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'certIdentifier' => [ - 'description' => '证书标识', - 'type' => 'string', - 'example' => '2382***-cn-hangzhou', - ], - 'caCertIdentifier' => [ - 'description' => 'CA证书标识。', - 'type' => 'string', - 'example' => '8237***-cn-hangzhou', - ], - 'default' => [ - 'description' => '是否默认域名。', - 'type' => 'boolean', - 'example' => 'false', - ], - 'http2Option' => [ - 'description' => 'http2设置。', - 'type' => 'string', - 'enumValueTitles' => [ - 'GlobalConfig' => 'GlobalConfig', - 'Close' => 'Close', - 'Open' => 'Open', - ], - 'example' => 'Open', - ], - 'tlsMax' => [ - 'description' => 'TLS协议最大版本,最大支持TLS 1.3。', - 'type' => 'string', - 'example' => 'TLS 1.3', - ], - 'tlsMin' => [ - 'description' => 'TLS协议最小版本,最小支持TLS 1.0', - 'type' => 'string', - 'example' => 'TLS 1.0'."\n", - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updatetimestamp' => [ - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'certName' => [ - 'description' => '证书名称', - 'type' => 'string', - 'example' => 'test-cert', - ], - 'sans' => [ - 'description' => '证书绑定的所有域名。', - 'type' => 'string', - 'example' => 'aliyun.com', - ], - 'notAfterTimstamp' => [ - 'description' => '证书过期时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'notBeforeTimestamp' => [ - 'description' => '证书生效时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'algorithm' => [ - 'description' => '加密算法名称', - 'type' => 'string', - 'example' => 'RSA', - ], - 'issuer' => [ - 'description' => '证书颁发机构。', - 'type' => 'string', - 'example' => 'Alibaba', - ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-aekztduhoagat4y', - ], - 'statisticsInfo' => [ - 'description' => '线上资源信息。', - 'type' => 'object', - 'properties' => [ - 'totalCount' => [ - 'description' => '总数量。', - 'type' => 'string', - 'example' => '30', - ], - 'resourceStatistics' => [ - 'description' => '资源统计。', - 'type' => 'array', - 'items' => [ - 'description' => '资源统计。', - '$ref' => '#/components/schemas/ResourceStatistic', - ], - ], - ], - ], - 'tlsCipherSuitesConfig' => [ - 'description' => '加密套件配置。', - '$ref' => '#/components/schemas/TlsCipherSuitesConfig', - ], - 'mTLSEnabled' => [ - 'description' => '是否开启mTLS双向认证', - 'type' => 'boolean', - 'enumValueTitles' => [ - 'false' => 'false', - 'true' => 'true', - ], - 'example' => 'false', - ], - 'clientCACert' => [ - 'description' => '客户端CA证书', - 'type' => 'string', - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/mpTQwDQYJKoZIhvcNAQEL'."\n" - .'BxSbrGeJ8i0576Gn7Qezyho9abZOUhGaPeoB'."\n" - .'AIHWWl428uUSG/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'."\n" - .'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+ZMJ8r4swA4swHwYDVR0jBBgwFoAU'."\n" - .'qroVyYKk7ylhcSn+ZMJ8r4swA4swDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B'."\n" - .'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx='."\n" - .'-----END CERTIFICATE-----', + 'NextToken' => ['title' => '下一个查询开始Token,NextToken为空说明没有下一个', 'description' => '下一个查询开始Token,NextToken为空说明没有下一个', 'type' => 'string', 'example' => 'caeb235b-xxx'], + 'RequestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '59F86F37-787A-52DB-9475-DB5A255517F0'], + 'TagResources' => [ + 'title' => '资源列表', + 'description' => '资源列表', + 'type' => 'array', + 'items' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'ResourceType' => ['title' => '资源类型', 'description' => '资源类型', 'type' => 'string', 'example' => 'gateway'], + 'TagValue' => ['title' => '标签值', 'description' => '标签值', 'type' => 'string', 'example' => 'prod'], + 'ResourceId' => ['title' => '资源ID', 'description' => '资源ID', 'type' => 'string', 'example' => 'gw-xxx'], + 'TagKey' => ['title' => '标签键', 'description' => '标签键', 'type' => 'string', 'example' => 'env'], ], ], ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], ], + 'description' => '', ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"data\\": {\\n \\"domainId\\": \\"d-cq1m3utlhtgvgkv7sitg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"createFrom\\": \\"Console\\",\\n \\"forceHttps\\": false,\\n \\"certIdentifier\\": \\"2382***-cn-hangzhou\\",\\n \\"caCertIdentifier\\": \\"8237***-cn-hangzhou\\",\\n \\"default\\": false,\\n \\"http2Option\\": \\"Open\\",\\n \\"tlsMax\\": \\"TLS 1.3\\",\\n \\"tlsMin\\": \\"TLS 1.0\\\\n\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updatetimestamp\\": 1719386834548,\\n \\"certName\\": \\"test-cert\\",\\n \\"sans\\": \\"aliyun.com\\",\\n \\"notAfterTimstamp\\": 1719386834548,\\n \\"notBeforeTimestamp\\": 1719386834548,\\n \\"algorithm\\": \\"RSA\\",\\n \\"issuer\\": \\"Alibaba\\",\\n \\"resourceGroupId\\": \\"rg-aekztduhoagat4y\\",\\n \\"statisticsInfo\\": {\\n \\"totalCount\\": \\"30\\",\\n \\"resourceStatistics\\": [\\n {\\n \\"resourceType\\": \\"\\",\\n \\"resourceCount\\": 0\\n }\\n ]\\n },\\n \\"tlsCipherSuitesConfig\\": {\\n \\"configType\\": \\"\\",\\n \\"tlsCipherSuite\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"supportVersions\\": [\\n \\"\\"\\n ]\\n }\\n ]\\n },\\n \\"mTLSEnabled\\": false,\\n \\"clientCACert\\": \\"-----BEGIN CERTIFICATE-----\\\\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/mpTQwDQYJKoZIhvcNAQEL\\\\nBxSbrGeJ8i0576Gn7Qezyho9abZOUhGaPeoB\\\\nAIHWWl428uUSG/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx\\\\nyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy+ZMJ8r4swA4swHwYDVR0jBBgwFoAU\\\\nqroVyYKk7ylhcSn+ZMJ8r4swA4swDwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0B\\\\nxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx=\\\\n-----END CERTIFICATE-----\\"\\n },\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '查询域名', - ], - 'CreateDomain' => [ - 'summary' => '创建域名。', - 'path' => '/v1/domains', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取资源标签列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"caeb235b-xxx\\",\\n \\"RequestId\\": \\"59F86F37-787A-52DB-9475-DB5A255517F0\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceType\\": \\"gateway\\",\\n \\"TagValue\\": \\"prod\\",\\n \\"ResourceId\\": \\"gw-xxx\\",\\n \\"TagKey\\": \\"env\\"\\n }\\n ]\\n}","type":"json"}]', + ], + 'ListZones' => [ + 'summary' => '获取云原生API网关region下的可用区。', + 'path' => '/v1/zones', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '218988', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayLPOSXV', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '226563', + 'abilityTreeNodes' => ['FEATUREapigatewayC93I4Z'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body。', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '域名。', - 'type' => 'string', - 'required' => true, - 'example' => 'abc.com', - ], - 'protocol' => [ - 'description' => '域名支持的协议类型。'."\n" - ."\n" - .'- HTTP:仅支持HTTP协议。'."\n" - .'- HTTPS:仅支持HTTPS协议。', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', - ], - 'forceHttps' => [ - 'description' => '设置HTTPS协议类型,是否开启强制HTTPS跳转。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'mTLSEnabled' => [ - 'title' => '是否开启mtls双向认证,true | false', - 'description' => '是否开启mTLS双向认证', - 'type' => 'boolean', - 'required' => false, - ], - 'certIdentifier' => [ - 'description' => '证书标识。', - 'type' => 'string', - 'required' => false, - 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n", - ], - 'caCertIdentifier' => [ - 'description' => 'CA证书标识。', - 'type' => 'string', - 'required' => false, - 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n", - ], - 'clientCACert' => [ - 'title' => '客户端CA证书', - 'description' => '客户端CA证书', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'MIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL'."\n" - .'BQAwE************************************************2VwVOJ2gqX3'."\n" - .'YuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4='."\n" - .'-----END CERTIFICATE-----', - ], - 'http2Option' => [ - 'description' => 'http2设置。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'GlobalConfig' => 'GlobalConfig', - 'Close' => 'Close', - 'Open' => 'Open', - ], - 'example' => 'Open', - ], - 'tlsMax' => [ - 'description' => 'TLS协议最大版本,最大支持TLS 1.3。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLS1.3', - ], - 'tlsMin' => [ - 'description' => 'TLS协议最小版本,最小支持TLS 1.0。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLS1.0', - ], - 'resourceGroupId' => [ - 'description' => '[资源组ID](~~151181~~)', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzhiv7derfweq', - ], - 'tlsCipherSuitesConfig' => [ - 'description' => '加密套件配置。', - 'required' => false, - '$ref' => '#/components/schemas/TlsCipherSuitesConfig', - ], - 'gatewayType' => [ - 'description' => '网关类型', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AI' => 'AI', - 'API' => 'API', - ], - 'example' => 'API', - ], - ], - 'required' => false, - ], + 'name' => 'gatewayEdition', + 'in' => 'query', + 'schema' => ['title' => '查询可用区的目标网关版本。可选值:Professional(普通网关,默认)、ServerlessV2(API 多租 Serverless V2)。不传时按 Professional 处理。', 'description' => '查询可用区的目标网关版本。可选值:Professional(普通网关,默认)、ServerlessV2(API 多租 Serverless V2)。不传时按 Professional 处理。', 'type' => 'string', 'required' => false, 'example' => 'ServerlessV2'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回结构体。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '0C2D1C68-0D93-5561-8EE6-FDB7BF067A30', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'E8079207-B651-592A-A565-23E9EE5673B0'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应信息。', 'description' => '响应信息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'title' => '返回数据。', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'domainId' => [ - 'description' => '域名id。', - 'type' => 'string', - 'example' => 'd-cpu1aullhtgkidg7sa4g', + 'items' => [ + 'title' => '可用区列表。', + 'description' => '可用区列表。', + 'type' => 'array', + 'items' => [ + 'title' => '可用区ID。', + 'description' => '可用区ID。', + 'type' => 'object', + 'properties' => [ + 'zoneId' => ['title' => '可用区ID。', 'description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-shenzhen-c'], + 'supportQat' => ['description' => '是否支持QAT', 'type' => 'string', 'example' => 'true'], + ], + ], ], ], ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"0C2D1C68-0D93-5561-8EE6-FDB7BF067A30\\",\\n \\"data\\": {\\n \\"domainId\\": \\"d-cpu1aullhtgkidg7sa4g\\"\\n },\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '创建域名', - ], - 'ListDomains' => [ - 'summary' => '查询域名列表。', - 'path' => '/v1/domains', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"E8079207-B651-592A-A565-23E9EE5673B0\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"items\\": [\\n {\\n \\"zoneId\\": \\"cn-shenzhen-c\\",\\n \\"supportQat\\": \\"true\\"\\n }\\n ]\\n }\\n}","type":"json"}]', + 'title' => '获取可用区', + 'changeSet' => [ + ['createdAt' => '2025-07-03T11:00:33.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListZones'], + ], ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListZones', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'QueryConsumerAuthorizationRules' => [ + 'summary' => '查询消费者授权规则列表。', + 'path' => '/v1/authorization-rules', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -20165,130 +13878,128 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '219198', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayLPOSXV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '260503', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'nameLike', + 'name' => 'apiNameLike', 'in' => 'query', - 'schema' => [ - 'description' => '域名,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'schema' => ['description' => 'API名。', 'type' => 'string', 'required' => false, 'example' => 'api-xx'], + ], + [ + 'name' => 'pageNumber', + 'in' => 'query', + 'schema' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页条数,默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'pageNumber', + 'name' => 'consumerId', 'in' => 'query', - 'schema' => [ - 'description' => '页码,默认1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-ct21c16m1hkp64hk6qmg'], ], [ - 'name' => 'gatewayId', + 'name' => 'principalType', 'in' => 'query', - 'schema' => [ - 'description' => '网关ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-xxxxxx', - ], + 'schema' => ['title' => '授权主体类型,取值为 Consumer 或 ConsumerGroup。', 'description' => '授权主体类型,取值为 Consumer 或 ConsumerGroup。', 'type' => 'string', 'required' => false, 'example' => 'ConsumerGroup'], ], [ - 'name' => 'resourceGroupId', + 'name' => 'consumerGroupId', 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek27lpqyiie6qy', - ], + 'schema' => ['title' => '消费者组ID。传入后查询该消费者组的授权规则。', 'description' => '消费者组ID。传入后查询该消费者组的授权规则。', 'type' => 'string', 'required' => false, 'example' => 'csg-8c13d2b4f8a1'], ], [ - 'name' => 'gatewayType', + 'name' => 'resourceId', 'in' => 'query', - 'schema' => [ - 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'AI' => 'AI', - 'API' => 'API', - ], - 'example' => 'API', - ], + 'schema' => ['description' => '资源ID。', 'type' => 'string', 'required' => false, 'example' => 'ha-cn-li942gy8p03'], + ], + [ + 'name' => 'resourceType', + 'in' => 'query', + 'schema' => ['description' => '资源类型。', 'type' => 'string', 'required' => false, 'example' => 'HttpApiRoute'], + ], + [ + 'name' => 'environmentId', + 'in' => 'query', + 'schema' => ['description' => '环境 ID。', 'type' => 'string', 'required' => false, 'example' => 'env-cpqnr6tlhtgubc***'], + ], + [ + 'name' => 'groupByApi', + 'in' => 'query', + 'schema' => ['description' => '通过API分组。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + [ + 'name' => 'parentResourceId', + 'in' => 'query', + 'schema' => ['description' => '父项资源ID。', 'type' => 'string', 'required' => false, 'example' => 'ha-cn-li942gy8p01'], + ], + [ + 'name' => 'consumerNameLike', + 'in' => 'query', + 'schema' => ['description' => '消费者名称。', 'type' => 'string', 'required' => false, 'example' => 'consumer-xxx'], + ], + [ + 'name' => 'resourceTypes', + 'in' => 'query', + 'schema' => ['description' => '服务来源类型', 'type' => 'string', 'required' => false, 'example' => 'K8S'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回数据体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => 'C61E30D3-579A-5B43-994E-31E02EDC9129', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应描述。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'A60EE5CA-1294-532A-9775-8D2FD1C6EFBF'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '每页条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '9', - ], + 'totalSize' => ['description' => '总数量。', 'type' => 'string', 'example' => '6'], + 'pageNumber' => ['description' => '分页页码。', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'pageSize' => ['description' => '分页大小。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], 'items' => [ - 'description' => '域名信息列表。', + 'description' => '消费者规则列表。', 'type' => 'array', 'items' => [ - 'description' => '域名信息。', - '$ref' => '#/components/schemas/DomainInfo', + 'description' => '消费者鉴权规则详情。', + 'type' => 'object', + 'properties' => [ + 'consumerAuthorizationRuleId' => ['description' => '消费者授权规则ID。', 'type' => 'string', 'example' => 'car-csgeka5lhtggrjcprok0'], + 'principalType' => ['title' => '授权主体类型,取值为 Consumer 或 ConsumerGroup。', 'description' => '授权主体类型,取值为 Consumer 或 ConsumerGroup。', 'type' => 'string', 'example' => 'ConsumerGroup'], + 'consumerId' => ['description' => '消费者ID。', 'type' => 'string', 'example' => 'cs-csheiftlhtgmp0j0hp4g'], + 'consumerGroupId' => ['title' => '消费者组ID。消费者组授权规则返回该字段。', 'description' => '消费者组ID。消费者组授权规则返回该字段。', 'type' => 'string', 'example' => 'csg-8c13d2b4f8a1'], + 'apiInfo' => ['description' => 'API信息详情。', '$ref' => '#/components/schemas/HttpApiApiInfo'], + 'environmentInfo' => ['description' => '环境信息。', '$ref' => '#/components/schemas/EnvironmentInfo'], + 'gatewayInfo' => ['description' => '网关信息。', '$ref' => '#/components/schemas/GatewayInfo'], + 'resourceId' => ['description' => '资源ID。', 'type' => 'string', 'example' => '2351944'], + 'resourceType' => ['description' => '资源类型。', 'type' => 'string', 'example' => 'HttpApiRoute'], + 'expireStatus' => ['description' => '失效状态。', 'type' => 'string', 'example' => 'InEffect'], + 'expireMode' => ['description' => '失效模式。LongTerm、ShortTerm,二选一。', 'type' => 'string', 'example' => 'ShortTerm'], + 'expireTimestamp' => ['description' => '到期时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '172086834548'], + 'createTimestamp' => ['description' => '创建时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'updateTimestamp' => ['description' => '更新时间戳。单位: 毫秒。', 'type' => 'integer', 'format' => 'int64', 'example' => '1719386834548'], + 'deployStatus' => ['description' => 'API在当前环境的发布状态', 'type' => 'string', 'example' => '{}'], + 'consumerInfo' => ['description' => '消费者信息详情。', '$ref' => '#/components/schemas/ConsumerInfo'], + 'consumerGroupInfo' => ['title' => '消费者组信息。消费者组授权规则返回该字段。', 'description' => '消费者组信息。消费者组授权规则返回该字段。', '$ref' => '#/components/schemas/ConsumerGroupInfo'], + 'resourceInfo' => [ + 'description' => '资源信息详情。', + 'type' => 'object', + 'properties' => [ + 'route' => ['description' => '路由规则。', '$ref' => '#/components/schemas/HttpRoute'], + 'operationInfo' => ['description' => '接口信息。', '$ref' => '#/components/schemas/HttpApiOperationInfo'], + ], + ], + ], ], ], ], @@ -20297,21 +14008,36 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A60EE5CA-1294-532A-9775-8D2FD1C6EFBF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": \\"6\\",\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"consumerAuthorizationRuleId\\": \\"car-csgeka5lhtggrjcprok0\\",\\n \\"principalType\\": \\"ConsumerGroup\\",\\n \\"consumerId\\": \\"cs-csheiftlhtgmp0j0hp4g\\",\\n \\"consumerGroupId\\": \\"csg-8c13d2b4f8a1\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"d-cpudb0llhtgl2djvq2sg\\",\\n \\"name\\": \\"abc.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Intranet\\"\\n }\\n ],\\n \\"default\\": false,\\n \\"createTimestamp\\": 1721116090326,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-cq7og15lhtgi6qasrj60\\",\\n \\"name\\": \\"apitest-gw\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"vpc-uf664nyle5kh***\\",\\n \\"name\\": \\"商品中心预发环境专有网络\\"\\n },\\n \\"engineVersion\\": \\"2.0.7\\",\\n \\"gatewayEdition\\": \\"MultiTenantServerless\\"\\n },\\n \\"resourceId\\": \\"2351944\\",\\n \\"resourceType\\": \\"HttpApiRoute\\",\\n \\"expireStatus\\": \\"InEffect\\",\\n \\"expireMode\\": \\"ShortTerm\\",\\n \\"expireTimestamp\\": 172086834548,\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"deployStatus\\": \\"{}\\",\\n \\"consumerInfo\\": {\\n \\"consumerId\\": \\"cs-ctd4l1um1hkph7ki1k80\\",\\n \\"name\\": \\"test\\",\\n \\"enable\\": false\\n },\\n \\"consumerGroupInfo\\": {\\n \\"consumerGroupId\\": \\"csg-8c13d2b4f8a1\\",\\n \\"name\\": \\"api-consumer-group\\",\\n \\"gatewayType\\": \\"API\\"\\n },\\n \\"resourceInfo\\": {}\\n }\\n ]\\n }\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C61E30D3-579A-5B43-994E-31E02EDC9129\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 9,\\n \\"items\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"status\\": \\"\\",\\n \\"createFrom\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"forceHttps\\": true,\\n \\"updateTimestamp\\": 0,\\n \\"createTimestamp\\": 0,\\n \\"certIdentifier\\": \\"\\",\\n \\"resourceGroupId\\": \\"rg-xxxx\\",\\n \\"mTLSEnabled\\": true,\\n \\"clientCACert\\": \\"\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询域名列表', - ], - 'DeleteDomain' => [ - 'summary' => '删除域名。', - 'path' => '/v1/domains/{domainId}', - 'methods' => [ - 'delete', + 'title' => '查询消费者授权规则列表', + 'changeSet' => [ + ['createdAt' => '2025-07-24T12:32:03.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:QueryConsumerAuthorizationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'RemoveConsumerAuthorizationRule' => [ + 'path' => '/v1/authorization-rules/{consumerAuthorizationRuleId}', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -20321,17 +14047,16 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '260504', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'domainId', + 'name' => 'consumerAuthorizationRuleId', 'in' => 'path', - 'schema' => [ - 'description' => '域名id。', - 'type' => 'string', - 'required' => true, - 'example' => 'd-cpqnfn5lhtgqbga95svg', - ], + 'schema' => ['description' => '消费者授权规则ID。', 'type' => 'string', 'required' => false, 'example' => 'car-ctgdn8em1hko5krqq03g'], ], ], 'responses' => [ @@ -20341,152 +14066,92 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => 'A60EE5CA-1294-532A-9775-8D2FD1C6EFBF', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '5B626361-070A-56A7-B127-ADAC8F3655DB'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A60EE5CA-1294-532A-9775-8D2FD1C6EFBF\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除域名', - ], - 'UpdateDomain' => [ - 'summary' => '更新域名。', - 'path' => '/v1/domains/{domainId}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除消费者授权规则', + 'summary' => '删除消费者授权规则。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:RemoveConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"5B626361-070A-56A7-B127-ADAC8F3655DB\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'ResetGatewayQuotaRule' => [ + 'summary' => '重置网关上某条配额限流规则。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules/{ruleId}/reset', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '219210', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayLPOSXV', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayC93I4Z'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['title' => '网关唯一标识', 'description' => '网关唯一标识', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], + ], + [ + 'name' => 'ruleId', + 'in' => 'path', + 'schema' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'required' => false, 'example' => 'qr-d8j7fpmm1hksxxxxxx'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '更新域名请求Body。', + 'title' => '请求体内容', + 'description' => '请求体内容', 'type' => 'object', 'properties' => [ - 'protocol' => [ - 'description' => '域名支持的协议类型。'."\n" - ."\n" - .'- HTTP:仅支持HTTP协议。'."\n" - .'- HTTP:仅支持HTTPS协议。', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'HTTPS' => 'HTTPS', - 'HTTP' => 'HTTP', - ], - 'example' => 'HTTP', - ], - 'forceHttps' => [ - 'description' => '设置HTTPS协议类型,是否开启强制HTTPS跳转。当协议为HTTPS时,forceHttps必传', - 'type' => 'boolean', - 'required' => false, - 'example' => 'false', - ], - 'mTLSEnabled' => [ - 'title' => '是否支持mTLS双向认证,true | false', - 'description' => '是否开启mTLS双向认证', - 'type' => 'boolean', - 'required' => false, - ], - 'certIdentifier' => [ - 'description' => '证书标识。', - 'type' => 'string', - 'required' => false, - 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n", - ], - 'caCertIdentifier' => [ - 'description' => 'CA证书标识。', - 'type' => 'string', - 'required' => false, - 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n", - ], - 'clientCACert' => [ - 'title' => '客户端CA证书公钥', - 'description' => '客户端CA证书', - 'type' => 'string', - 'required' => false, - 'example' => '-----BEGIN CERTIFICATE-----'."\n" - .'MIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL'."\n" - .'BQAwE************************************************2VwVOJ2gqX3'."\n" - .'YuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4='."\n" - .'-----END CERTIFICATE-----', - ], - 'http2Option' => [ - 'description' => 'http2设置。', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'GlobalConfig' => 'GlobalConfig', - 'Close' => 'Close', - 'Open' => 'Open', - ], - 'example' => 'Open', - ], - 'tlsMax' => [ - 'description' => 'TLS协议最大版本,最大支持TLS 1.3。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLS 1.3', - ], - 'tlsMin' => [ - 'description' => 'TLS协议最小版本,最小支持TLS 1.0。', - 'type' => 'string', - 'required' => false, - 'example' => 'TLS 1.0', - ], - 'tlsCipherSuitesConfig' => [ - 'description' => '加密套件配置。', - 'required' => false, - '$ref' => '#/components/schemas/TlsCipherSuitesConfig', - ], + 'quotaLimit' => ['title' => '周期可用总额度', 'description' => '重置后周期可用总额度', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'], + 'windowAlignment' => ['title' => '重置后的周期类型。windowAlignment=calendar代表自然周期;windowAlignment=epoch代表自定义周期。', 'description' => '重置周期类型。支持自然周期(windowAlignment=calendar)和自定义周期(windowAlignment=epoch)。其中,自定义周期仅适用于 2.1.19 及以上版本的专享实例', 'type' => 'string', 'required' => false, 'example' => 'calendar'], + 'periodType' => ['title' => '周期类型,可选 day/week/month', 'description' => '周期类型。自然周期支持按日、周、月统计,取值为 day、week 或 month;自定义周期仅支持按日统计,固定取值为 day', 'type' => 'string', 'required' => false, 'example' => 'week'], + 'periodMultiplier' => ['title' => '周期倍数,代表每多少个周期进行配额重置。当规则为自定义周期时必填,最小为1,最大为60。', 'description' => '周期倍数,代表每多少个周期进行配额重置。当规则为自定义周期时返回,最小为1,最大为60。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + 'timezone' => ['title' => '时区(UTC+x格式)', 'description' => '自然周期对应的时区(UTC+x格式)', 'type' => 'string', 'required' => false, 'example' => 'UTC+8'], + 'dryRun' => ['title' => '是否仅预检(不落库、不下发)', 'description' => '是否仅预检(预检不下发实际配置),用于检查绑定的消费者上是否存在冲突的规则(同一消费者不能配置两个相同周期的自然周期配额,例如已有自然日配额的消费者不能再新增一个自然日配额规则)', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'overwrite' => ['title' => '冲突时是否允许覆盖', 'description' => '冲突时是否允许覆盖。注意如果选择允许覆盖,冲突主体(消费者)会从旧规则解绑并绑定到新规则', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'conflictHash' => ['title' => '冲突快照哈希', 'description' => '冲突快照哈希,用于“确认覆盖时防并发脏覆盖”。通过先执行 dryRun=true 在返回数据提取。'."\n" + ."\n" + .'当以下情况不需要填写:没有冲突;只是 dryRun=true 预检;overwrite=false,即不确认覆盖。'."\n" + ."\n" + .'当当 dryRun = false 且 overwrite=true 时不带改参数或者该参数过期不匹配,后端会返回:accepted=false 并带新的冲突预览,需要重新执行 dryrun 确认新的冲突。', 'type' => 'string', 'required' => false, 'example' => 'f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx'], ], 'required' => false, - ], - ], - [ - 'name' => 'domainId', - 'in' => 'path', - 'schema' => [ - 'description' => '域名id。', - 'type' => 'string', - 'required' => true, - 'example' => 'd-cpqnfn5lhtgqbga95sv1', + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -20494,94 +14159,212 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '4BACB05C-3FE2-588F-9148-700C5C026B74', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => '请求唯一标识', 'description' => '请求唯一标识', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码或错误代码', 'description' => '状态码或错误代码', 'type' => 'string', 'example' => '200, 404, 500'], + 'message' => ['title' => '消息内容', 'description' => '消息内容', 'type' => 'string', 'example' => '你好,世界!'], 'data' => [ - 'description' => '返回数据', + 'title' => '请求数据内容', + 'description' => '请求数据内容', 'type' => 'object', 'properties' => [ - 'deployRevisionId' => [ - 'description' => '发布版本ID。', - 'type' => 'string', - 'example' => 'apr-xxxxx', + 'ruleId' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'example' => 'qr-d8j7fpmm1hks65xxxx'], + 'dryRun' => ['title' => '是否预检', 'description' => '是否预检', 'type' => 'boolean', 'example' => 'false'], + 'accepted' => ['title' => '本次写请求语义是否可被系统接收', 'description' => '本次写请求语义是否可被系统接收,false 常见于冲突未确认覆盖等可重试场景', 'type' => 'boolean', 'example' => 'true'], + 'conflictPreview' => [ + 'title' => '冲突预览', + 'description' => '冲突预览', + 'type' => 'object', + 'properties' => [ + 'totalConflictCount' => ['title' => '冲突总数', 'description' => '冲突总数', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'conflictHash' => ['title' => '冲突的hash', 'description' => '冲突的hash', 'type' => 'string', 'example' => 'f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx'], + 'items' => [ + 'description' => '冲突的主体(消费者)列表', + 'type' => 'array', + 'items' => [ + 'description' => '冲突的主体(消费者)详情', + 'type' => 'object', + 'properties' => [ + 'consumerId' => ['description' => '消费者ID', 'type' => 'string', 'example' => 'cs-d82n1g6m1hkm3xxxxxxx'], + 'consumerName' => ['description' => '消费者名称', 'type' => 'string', 'example' => 'consumer-a'], + 'conflictType' => ['title' => '消费者上已有冲突规则的类型。conflictType = "calendar"表示消费者已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期。', 'description' => '消费者上已有冲突规则的类型。conflictType = "calendar"表示消费者已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期。', 'type' => 'string', 'example' => 'calendar'], + 'conflictPeriodType' => ['title' => '消费者上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费者已有冲突规则的周期为日/周/月', 'description' => '消费者上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费者已有冲突规则的周期为日/周/月', 'type' => 'string', 'example' => 'week'], + ], + ], + ], + ], ], ], + 'example' => '{\'key\': \'value\'}', ], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"4BACB05C-3FE2-588F-9148-700C5C026B74\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"deployRevisionId\\": \\"apr-xxxxx\\"\\n }\\n}","type":"json"}]', - 'title' => '更新域名', - 'description' => '只有类型为**容器服务**的来源允许更新监听Ingress的配置。', - ], - 'GetTraceConfig' => [ - 'summary' => '获取链路追踪配置。', - 'path' => '/v1/gateways/{gatewayId}/trace', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '重置消费者配额规则', + 'description' => '该接口用于重置网关上某条配额限流规则。注意,只针对于版本大于 2.1.19 的 AI 网关生效;重置将清零规则上消费者历史用量。'."\n" + .'> '."\n" + .'> 推荐调用逻辑:'."\n" + .'> - 一、先 dryRun 预检检验是否存在规则冲突'."\n" + .'> - - 传dryRun=true'."\n" + .'> - - 返回含conflictHash的冲突预览'."\n" + .'> - 二、确认后正式提交'."\n" + .'> - - 无冲突:dryRun=false,overwrite=false'."\n" + .'> - - 有冲突且确认覆盖:dryRun=false,overwrite=true, conflictHash=<上一步返回的值>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ResetGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200, 404, 500\\",\\n \\"message\\": \\"你好,世界!\\",\\n \\"data\\": {\\n \\"ruleId\\": \\"qr-d8j7fpmm1hks65xxxx\\",\\n \\"dryRun\\": false,\\n \\"accepted\\": true,\\n \\"conflictPreview\\": {\\n \\"totalConflictCount\\": 20,\\n \\"conflictHash\\": \\"f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541fxxxxxxxx\\",\\n \\"items\\": [\\n {\\n \\"consumerId\\": \\"cs-d82n1g6m1hkm3xxxxxxx\\",\\n \\"consumerName\\": \\"consumer-a\\",\\n \\"conflictType\\": \\"calendar\\",\\n \\"conflictPeriodType\\": \\"week\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'RestartGateway' => [ + 'summary' => '重启网关。', + 'path' => '/v1/gateways/{gatewayId}/restart', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayWECSVA', - ], + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ 'name' => 'gatewayId', 'in' => 'path', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq2avtllh****'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '网关实例ID', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-xxx', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息', 'type' => 'string', 'example' => 'success'], + ], + 'description' => '', ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '重启网关', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RestartGateway'], + ], + ], + 'ramActions' => [ [ - 'name' => 'acceptLanguage', - 'in' => 'query', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:RestartGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'SyncMCPServers' => [ + 'summary' => '同步外部MCP server。', + 'path' => '/v1/mcp-servers/sync-mcp-server', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '281919', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '语言类型:'."\n" - .'zh:中文'."\n" - .'en:英文', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'gatewayId' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq7l5s5lhtg***'], + 'domainIds' => [ + 'description' => '域名ID。', + 'type' => 'array', + 'items' => ['description' => '域名ID。', 'type' => 'string', 'required' => false, 'example' => 'd-cr62ts5lhtglnu***'], + 'required' => false, + ], + 'sourceId' => ['description' => '来源ID。', 'type' => 'string', 'required' => false, 'example' => 'src-d40mff6m1hkpt84vep60'], + 'namespace' => ['description' => 'Nacos命名空间。', 'type' => 'string', 'required' => false, 'example' => 'default'], + 'nacosMcpServers' => [ + 'description' => '本次同步的Nacos MCP Server列表,如果包含已同步的MCP Server,需补充mcpServerId', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['description' => 'Nacos实例ID。', 'type' => 'string', 'required' => false, 'example' => 'mse-24afmoioxxx'], + 'exposedUriPath' => ['description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', 'type' => 'string', 'required' => false, 'example' => '/sse'], + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'protocols' => [ + 'description' => '协议。', + 'type' => 'array', + 'items' => [ + 'description' => '协议', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['SSE' => 'SSE', 'HTTPS' => 'HTTPS', 'StreamableHTTP' => 'StreamableHTTP', 'HTTP' => 'HTTP'], + 'example' => 'SSE', + ], + 'required' => false, + ], + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-d3s8qo6m1hknegofa3bg'], + ], + 'required' => false, + 'description' => '', + ], + 'required' => false, + ], + ], 'required' => false, - 'example' => 'zh', ], ], ], @@ -20589,68 +14372,47 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回参数', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C', - ], - 'code' => [ - 'description' => '请求响应码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'success' => [ - 'description' => 'boolean 请求结果,取值如下:'."\n" - .'true:请求成功。'."\n" - .'false:请求失败。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'message' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据', + 'description' => '响应数据。', 'type' => 'object', 'properties' => [ - 'enable' => [ - 'description' => '是否开启链路追踪:'."\n" - .'true:开启'."\n" - .'false:关闭', - 'type' => 'boolean', - 'example' => 'true', - ], - 'sampleRatio' => [ - 'description' => '采样率', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '50', - ], - 'traceType' => [ - 'description' => '链路追踪类型:'."\n" - .'- XTRACE'."\n" - .'- SKYWALKING'."\n" - .'- OPENTELEMETRY'."\n" - .'- OTSKYWALKING', - 'type' => 'string', - 'example' => 'SKYWALKING', - ], - 'serviceId' => [ - 'description' => '服务ID,链路追踪类型为SKYWALKING时存在该参数', - 'type' => 'string', - 'example' => 'ss-co370icmjeu****', + 'succeedMcpServers' => [ + 'description' => '同步成功的MCP Server列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'mcp-success'], + 'protocols' => [ + 'description' => '协议。', + 'type' => 'array', + 'items' => ['description' => '协议', 'type' => 'string', 'example' => 'SSE'], + ], + ], + 'description' => '', + ], ], - 'servicePort' => [ - 'description' => '服务端口,链路追踪类型为SKYWALKING时存在该参数', - 'type' => 'string', - 'example' => '8090', + 'failedMcpServers' => [ + 'description' => '同步失败的MCP Server列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'example' => 'mcp-fail'], + 'protocols' => [ + 'description' => '协议', + 'type' => 'array', + 'items' => ['description' => '协议。', 'type' => 'string', 'example' => 'SSE'], + ], + ], + 'description' => '', + ], ], ], ], @@ -20658,421 +14420,447 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C\\",\\n \\"code\\": 200,\\n \\"success\\": true,\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"enable\\": true,\\n \\"sampleRatio\\": 50,\\n \\"traceType\\": \\"SKYWALKING\\",\\n \\"serviceId\\": \\"ss-co370icmjeu****\\",\\n \\"servicePort\\": \\"8090\\"\\n }\\n}","type":"json"}]', - 'title' => '获取trace配置', - ], - 'GetDashboard' => [ - 'summary' => '获取监控日志大盘接口。', - 'path' => '/v1/gateways/{gatewayId}/dashboards', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '同步Nacos MCP到网关', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:SyncMCPServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"succeedMcpServers\\": [\\n {\\n \\"mcpServerName\\": \\"mcp-success\\",\\n \\"protocols\\": [\\n \\"SSE\\"\\n ]\\n }\\n ],\\n \\"failedMcpServers\\": [\\n {\\n \\"mcpServerName\\": \\"mcp-fail\\",\\n \\"protocols\\": [\\n \\"SSE\\"\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', + ], + 'TagResources' => [ + 'summary' => '打标签接口。', + 'path' => '/v1/tags', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', - 'abilityTreeCode' => '224658', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayVA59LH', - ], + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '248799', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'gatewayId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '网关唯一标识', - 'description' => '网关唯一标识', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'resourceType' => ['title' => '资源类型', 'description' => '资源类型', 'type' => 'string', 'required' => false, 'example' => 'gateway', 'default' => 'Gateway'], + 'resourceId' => [ + 'title' => '资源ID,最多 50个子项', + 'description' => '资源ID,最多 50个子项', + 'type' => 'array', + 'items' => ['description' => '资源ID。', 'type' => 'string', 'required' => false, 'example' => '["gw-xxx","gw-yyy"]'], + 'required' => false, + ], + 'tag' => [ + 'description' => '标签列表', + 'type' => 'array', + 'items' => [ + 'description' => '标签', + 'type' => 'object', + 'properties' => [ + 'key' => ['description' => '标签键', 'type' => 'string', 'required' => false, 'example' => 'env'], + 'value' => ['description' => '标签值', 'type' => 'string', 'required' => false, 'example' => 'prod'], + ], + 'required' => false, + ], + 'required' => false, + ], + ], 'required' => false, - 'example' => 'gw-co370icmjeu****', + 'example' => '{\'key\': \'value\'}', ], ], - [ - 'name' => 'pluginClassId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '插件类型ID', - 'type' => 'string', - 'required' => false, - 'example' => 'pls-dn82a9djd8z****', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'A04D0C5B-62C4-5A36-BECB-2032E25BDE80'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '资源打标', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A04D0C5B-62C4-5A36-BECB-2032E25BDE80\\"\\n}","type":"json"}]', + ], + 'UnDeployMcpServer' => [ + 'path' => '/v1/mcp-servers/{mcpServerId}/undeploy', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'apiId', - 'in' => 'query', - 'schema' => [ - 'description' => 'API唯一ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-ctl7no6m1h****', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '281133', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], + ], + 'parameters' => [ [ - 'name' => 'routeId', - 'in' => 'query', + 'name' => 'mcpServerId', + 'in' => 'path', + 'schema' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-adfef2334fa'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '路由ID', - 'type' => 'string', - 'required' => false, - 'example' => 'route-xxx', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'CE857A85-251D-5018-8103-A38957D71E20'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '取消发布MCP Server', + 'summary' => '取消发布MCP server。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'source', - 'in' => 'query', - 'schema' => [ - 'title' => '大盘来源:'."\n" - .'- SLS:日志大盘', - 'description' => '大盘来源:'."\n" - .'- SLS:日志大盘', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'CMS' => 'CMS', - 'ARMS' => 'ARMS', - 'SLS' => 'SLS', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UnDeployMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], ], - 'example' => 'SLS', ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UndeployHttpApi' => [ + 'summary' => '取消部署HttpApi。', + 'path' => '/v1/http-apis/{httpApiId}/undeploy', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '237789', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], + ], + 'parameters' => [ [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'title' => '大盘名称:'."\n" - .'- LOG:访问日志'."\n" - .'- PLUGIN:插件日志', - 'description' => '大盘名称:'."\n" - .'- LOG:访问日志'."\n" - .'- PLUGIN:插件日志', - 'type' => 'string', - 'required' => false, - 'example' => 'PLUGIN', - ], + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['description' => 'HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cqu95allhtgii6***'], ], [ - 'name' => 'filter', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', 'style' => 'json', 'schema' => [ - 'title' => '过滤配置', - 'description' => '过滤配置', + 'description' => '请求body。', 'type' => 'object', 'properties' => [ - 'routeName' => [ - 'title' => '路由名称', - 'description' => '路由名称', - 'type' => 'string', - 'required' => false, - 'example' => 'test-route', - ], + 'routeId' => ['description' => '路由ID。当下线HTTP API的路由时候,必须传入。', 'type' => 'string', 'required' => false, 'example' => 'hr-cr82undlhtgrle***'], + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'required' => false, 'example' => 'env-cqsmtellhtgvo***'], + 'operationId' => ['description' => '接口ID', 'type' => 'string', 'required' => false, 'example' => 'op-d4favr6m1hk***'], + 'gatewayId' => ['description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-cq7l5s5lhtg***'], ], 'required' => false, ], ], - [ - 'name' => 'acceptLanguage', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => 'zh: 中文'."\n" - .'en: 英文', - 'type' => 'string', - 'required' => false, - 'example' => 'zh', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'title' => '下线API', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UndeployHttpApi'], + ], + ], + 'ramActions' => [ [ - 'name' => 'upstreamCluster', - 'in' => 'query', - 'schema' => [ - 'description' => 'AI服务标识', - 'type' => 'string', - 'required' => false, - 'example' => 'outbound|443||ds.ai', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UndeployHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UninstallPlugin' => [ + 'summary' => '卸载插件。', + 'path' => '/v1/plugins/{pluginId}', + 'methods' => ['delete'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigateway216K2A'], + ], + 'parameters' => [ [ 'name' => 'pluginId', - 'in' => 'query', - 'schema' => [ - 'description' => '插件ID', - 'type' => 'string', - 'required' => false, - 'example' => 'inner-ai-search-cvd3mcum1hks660icn10', - ], + 'in' => 'path', + 'schema' => ['description' => '插件ID', 'type' => 'string', 'required' => false, 'example' => 'pl-cvd2b36m1hkhdosfhar0'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C', - ], - 'code' => [ - 'title' => '响应码', - 'description' => '响应码', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '200', - ], - 'success' => [ - 'title' => '请求是否成功', - 'description' => '请求是否成功', - 'type' => 'boolean', - 'example' => 'true', - ], - 'errorCode' => [ - 'title' => '后端错误码', - 'description' => '后端错误码', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'title' => '错误信息', - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'title' => '响应数据', - 'description' => '响应数据', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'title' => '大盘名称', - 'description' => '大盘名称', - 'type' => 'string', - 'example' => 'PLUGIN', - ], - 'title' => [ - 'title' => '大盘标题', - 'description' => '大盘标题', - 'type' => 'string', - 'example' => 'APIG Plugin', - ], - 'url' => [ - 'title' => '大盘URL链接', - 'description' => '大盘URL链接', - 'type' => 'string', - 'example' => 'https://sls.console.aliyun.com/lognext/project/xxxxx', - ], - 'gatewayId' => [ - 'title' => '网关唯一标识', - 'description' => '网关唯一标识', - 'type' => 'string', - 'example' => 'gw-co370icmjeu****', - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'F61D96E8-4E6D-5896-86E7-F1202AC31280'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2F46B9E7-67EF-5C8A-BA52-D38D5B32AF2C\\",\\n \\"code\\": 200,\\n \\"success\\": true,\\n \\"errorCode\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"name\\": \\"PLUGIN\\",\\n \\"title\\": \\"APIG Plugin\\",\\n \\"url\\": \\"https://sls.console.aliyun.com/lognext/project/xxxxx\\",\\n \\"gatewayId\\": \\"gw-co370icmjeu****\\"\\n }\\n}","type":"json"}]', - 'title' => '获取监控大盘', - ], - 'ChangeResourceGroup' => [ - 'summary' => '资源转组。', - 'path' => '/move-resource-group', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '卸载插件', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UninstallPlugin'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UninstallPlugin', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"F61D96E8-4E6D-5896-86E7-F1202AC31280\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UntagResources' => [ + 'path' => '/v1/tags', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '247672', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'abilityTreeCode' => '248802', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'Service', + 'name' => 'ResourceType', 'in' => 'query', - 'schema' => [ - 'description' => '服务名称,固定值apig', - 'type' => 'string', - 'required' => false, - 'example' => 'apig', - 'default' => 'APIG', - ], + 'schema' => ['title' => '资源类型', 'description' => '资源类型', 'type' => 'string', 'required' => false, 'example' => 'gateway', 'default' => 'Gateway'], ], [ - 'name' => 'ResourceType', + 'name' => 'ResourceId', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '资源类型', - 'type' => 'string', + 'title' => '资源ID,最多 50个子项', + 'description' => '资源ID,最多 50个子项', + 'type' => 'array', + 'items' => ['description' => '资源ID', 'type' => 'string', 'required' => false, 'example' => '["gw-xxx","gw-yyy"]'], 'required' => false, - 'example' => 'gateway', - 'default' => 'Gateway', + 'example' => '["gw-xxx","gw-yyy"]', ], ], [ - 'name' => 'ResourceId', + 'name' => 'TagKey', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'description' => '资源ID', - 'type' => 'string', + 'title' => '对应标签键列表,最多包含20个子项', + 'description' => '对应标签键列表,最多包含20个子项', + 'type' => 'array', + 'items' => ['description' => '对应标签键列表', 'type' => 'string', 'required' => false, 'example' => '["env","team"]'], 'required' => false, - 'example' => 'gw-ct4i14um1hkn0tpqfae0', + 'example' => '["env","team"]', ], ], [ - 'name' => 'ResourceGroupId', + 'name' => 'All', 'in' => 'query', - 'schema' => [ - 'description' => '目标资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aekzdrfx2xdnaja', - ], + 'schema' => ['title' => '是否全部删除,只针对tags为空时有效。取值范围: true false True False 默认是 false', 'description' => '是否全部删除,只针对tags为空时有效。取值范围: true false True False 默认是 false', 'type' => 'boolean', 'required' => false, 'example' => 'true'], ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结构体', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID', - 'type' => 'string', - 'example' => '59F86F37-787A-52DB-9475-DB5A255517F0', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'MissingParameter.RegionId', - 'errorMessage' => 'The RegionId parameters that are required for processing this request are missing', - ], - [ - 'errorCode' => 'MissingParameter.ResourceId', - 'errorMessage' => 'The ResourceId parameters that are required for processing this request are missing', - ], - [ - 'errorCode' => 'MissingParameter.ResourceGroupId', - 'errorMessage' => 'The ResourceGroupId parameters that are required for processing this request are missing', - ], - [ - 'errorCode' => 'InvalidResourceGroup', - 'errorMessage' => 'The specified ResourceGroupId is invalid', - ], - [ - 'errorCode' => 'InternalError', - 'errorMessage' => 'The request processing has failed due to some unknown error.', - ], - [ - 'errorCode' => 'ResourceNotFound', - 'errorMessage' => ' The specified resource is not found', - ], - ], - 403 => [ - [ - 'errorCode' => 'NoPermission.ChangeResourceGroup', - 'errorMessage' => 'You are not authorized to change resourcegroup', - ], - ], + 'title' => '去除资源标签', + 'summary' => '去除资源标签。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"59F86F37-787A-52DB-9475-DB5A255517F0\\"\\n}","type":"json"}]', - 'title' => '资源转组', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\"\\n}","type":"json"}]', ], - 'GetResourceOverview' => [ - 'summary' => '获取资源概览信息。', - 'path' => '/v1/overview/resources', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'UpdateAndAttachPolicy' => [ + 'summary' => '更新并挂载策略。', + 'path' => '/v1/policies/{policyId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '222857', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayUWNKMC', - ], + 'abilityTreeCode' => '222761', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], ], 'parameters' => [ [ - 'name' => 'gatewayType', - 'in' => 'query', + 'name' => 'policyId', + 'in' => 'path', + 'schema' => ['description' => '策略id。', 'type' => 'string', 'required' => true, 'example' => 'p-cq7l5s5lhtgi6qasrdc0'."\n"], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '网关类型', - 'description' => '网关类型', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '策略名称。', 'type' => 'string', 'required' => false, 'example' => 'test'], + 'description' => ['description' => '策略描述。', 'type' => 'string', 'required' => false, 'example' => '这是策略描述。'], + 'config' => ['description' => '配置信息。'."\n" + .'json字符串', 'type' => 'string', 'required' => true, 'example' => '{\\"enable\\":false}'], + 'attachResourceIds' => [ + 'description' => '挂载点id列表。', + 'type' => 'array', + 'items' => ['description' => '挂载点id。', 'type' => 'string', 'required' => false, 'example' => 'api-cq2avtllhtgja4dk5djg'."\n"], + 'required' => true, + ], + 'attachResourceType' => ['description' => '策略支持挂载点类型。'."\n" + ."\n" + .'- HttpApi:HttpApi。'."\n" + .'- Operation:HttpApi的Operation。'."\n" + .'- GatewayRoute:网关路由。'."\n" + .'- GatewayService:网关服务。'."\n" + .'- GatewayServicePort:网关服务端口。'."\n" + .'- Domain:网关域名。'."\n" + .'- Gateway:网关。', 'type' => 'string', 'required' => true, 'example' => 'HttpApi'], + 'environmentId' => ['description' => '环境id。', 'type' => 'string', 'required' => false, 'example' => 'env-cq2avtllhtgja4dk5djg'."\n"], + 'gatewayId' => ['description' => '网关id。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq2avtllhtgja4dk5djg'], + ], 'required' => false, - 'example' => 'AI', ], ], ], @@ -21080,157 +14868,42 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结构体。', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => 'DD19A442-93C5-5C97-AFA0-B9C57EBD781B', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '资源信息。', - 'type' => 'object', - 'properties' => [ - 'api' => [ - 'description' => 'API信息。', - 'type' => 'object', - 'properties' => [ - 'totalCount' => [ - 'description' => 'API数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'publishedCount' => [ - 'description' => '已发布API数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'gateway' => [ - 'description' => '网关信息。', - 'type' => 'object', - 'properties' => [ - 'totalCount' => [ - 'description' => '网关实例数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'runningCount' => [ - 'description' => '运行中的网关数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - ], - ], - 'riskOverview' => [ - 'title' => '风险概览', - 'description' => '风险概览', - 'type' => 'array', - 'items' => [ - 'title' => '某个风险等级下对应的风险详情', - 'description' => '某个风险等级下对应的风险详情', - 'type' => 'object', - 'properties' => [ - 'riskLevel' => [ - 'title' => '风险等级', - 'description' => '风险等级', - 'type' => 'string', - 'example' => 'LOW', - ], - 'count' => [ - 'title' => '该风险等级下的实例数量', - 'description' => '该风险等级下的实例数量', - 'type' => 'string', - 'example' => '1', - ], - 'riskDetails' => [ - 'title' => '风险详情列表', - 'description' => '风险详情列表', - 'type' => 'array', - 'items' => [ - 'title' => '风险详情', - 'description' => '风险详情', - 'type' => 'object', - 'properties' => [ - 'gatewayId' => [ - 'title' => '网关id', - 'description' => '网关id', - 'type' => 'string', - 'example' => 'gw-xxxxxx', - ], - 'gatewayName' => [ - 'title' => '网关名称', - 'description' => '网关名称', - 'type' => 'string', - 'example' => 'test-gateway', - ], - 'score' => [ - 'title' => '风险分数', - 'description' => '风险分数', - 'type' => 'string', - 'example' => '100', - ], - 'riskLevel' => [ - 'title' => '风险等级', - 'description' => '风险等级', - 'type' => 'string', - 'example' => 'LOW', - ], - 'riskNames' => [ - 'title' => '风险名称列表', - 'description' => '风险名称列表', - 'type' => 'array', - 'items' => [ - 'title' => '风险名称', - 'description' => '风险名称', - 'type' => 'string', - 'example' => '网关实例为单节点', - ], - ], - ], - ], - ], - ], - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD19A442-93C5-5C97-AFA0-B9C57EBD781B\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"api\\": {\\n \\"totalCount\\": 1,\\n \\"publishedCount\\": 1\\n },\\n \\"gateway\\": {\\n \\"totalCount\\": 1,\\n \\"runningCount\\": 1\\n },\\n \\"riskOverview\\": [\\n {\\n \\"riskLevel\\": \\"LOW\\",\\n \\"count\\": \\"1\\",\\n \\"riskDetails\\": [\\n {\\n \\"gatewayId\\": \\"gw-xxxxxx\\",\\n \\"gatewayName\\": \\"test-gateway\\",\\n \\"score\\": \\"100\\",\\n \\"riskLevel\\": \\"LOW\\",\\n \\"riskNames\\": [\\n \\"网关实例为单节点\\"\\n ]\\n }\\n ]\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取资源概览', - ], - 'CreateAndAttachPolicy' => [ - 'summary' => '创建并附加策略。', - 'path' => '/v1/policies', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新并挂载策略', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateAndAttachPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/{#PolicyId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateConsumer' => [ + 'summary' => '更新消费者。', + 'path' => '/v1/consumers/{consumerId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -21240,106 +14913,35 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'riskType' => 'high', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '222758', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '248085', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ + 'name' => 'consumerId', + 'in' => 'path', + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-cvfmq9um1hkg1teictkg'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => 'Request Body.', + 'description' => '请求体参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => 'Policy name.', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'className' => [ - 'description' => 'The class name types supported by the policy. Different policies support different attachment points, to be used in conjunction with `attachResourceType`.'."\n" - ."\n" - .'- RateLimit: Traffic control, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- ConcurrencyLimit: Concurrency control, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- CircuitBreaker: Circuit breaking and degradation, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- HttpRewrite: HTTP rewrite, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- HeaderModify: Header modification, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- Cors: Cross-origin, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- FlowCopy: Traffic replication, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- Timeout: Timeout, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- Retry: Retry, supports HttpApi, Operation, GatewayRoute.'."\n" - .'- IpAccessControl: IP access control, supports HttpApi, Operation, GatewayRoute, Domain, Gateway.'."\n" - .'- DirectResponse: Mock, supports Operation, GatewayRoute.'."\n" - .'- Redirect: Redirection, supports GatewayRoute.'."\n" - .'- Fallback: Fallback, supports Operation, GatewayRoute.'."\n" - .'- ServiceTls: Service TLS authentication, supports GatewayService.'."\n" - .'- ServiceLb: Service load balancing, supports GatewayService.'."\n" - .'- ServicePortTls: Service port TLS authentication, supports GatewayServicePort.'."\n" - ."\n" - .'- Waf: WAF protection, supports GatewayRoute, Gateway.'."\n" - .'- JWTAuth: JWT global authentication, supports Gateway.'."\n" - .'- OIDCAuth: OIDC global authentication, supports Gateway.'."\n" - .'- ExternalZAuth: Custom authorization, supports Gateway.', - 'type' => 'string', - 'required' => true, - 'example' => 'IpAccessControl', - ], - 'config' => [ - 'description' => 'Configuration information.', - 'type' => 'string', - 'required' => true, - 'example' => '{\\"enable\\":false}', - ], - 'description' => [ - 'description' => 'Policy description.', - 'type' => 'string', - 'required' => false, - 'example' => '这是策略描述', - ], - 'attachResourceIds' => [ - 'description' => 'List of attachment point IDs.', + 'description' => ['description' => '描述', 'type' => 'string', 'required' => false, 'example' => '测试消费者'], + 'jwtIdentityConfig' => ['description' => 'JWT身份鉴权配置。', 'required' => false, '$ref' => '#/components/schemas/JwtIdentityConfig'], + 'akSkIdentityConfigs' => [ + 'description' => 'AKSK身份鉴权配置列表。', 'type' => 'array', - 'items' => [ - 'description' => 'Attachment point ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cq7l5s5lhtgi6qasrdc0'."\n", - ], - 'required' => true, - ], - 'attachResourceType' => [ - 'description' => 'Types of attachment points supported by the policy.'."\n" - ."\n" - .'- HttpApi: HttpApi.'."\n" - .'- Operation: Operation of HttpApi.'."\n" - .'- GatewayRoute: Gateway route.'."\n" - .'- GatewayService: Gateway service.'."\n" - .'- GatewayServicePort: Gateway service port.'."\n" - .'- Domain: Gateway domain.'."\n" - .'- Gateway: Gateway.', - 'type' => 'string', - 'required' => true, - 'example' => 'HttpApi', - ], - 'environmentId' => [ - 'description' => 'Environment ID.', - 'type' => 'string', + 'items' => ['description' => 'AKSK身份鉴权配置。', 'required' => false, '$ref' => '#/components/schemas/AkSkIdentityConfig'], 'required' => false, - 'example' => 'env-cq7l5s5lhtgi6qasrdc0'."\n", - ], - 'gatewayId' => [ - 'description' => 'Gateway ID.', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cq7l5s5lhtgi6qasrdc0', ], + 'apikeyIdentityConfig' => ['description' => 'APIKEY身份鉴权配置。', 'required' => false, '$ref' => '#/components/schemas/ApiKeyIdentityConfig'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], ], 'required' => false, ], @@ -21352,56 +14954,39 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Request ID, used for tracing the API call chain.', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'description' => 'Response code.', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => 'Response message.', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => 'Response data.', - 'type' => 'object', - 'properties' => [ - 'policyId' => [ - 'description' => 'Policy ID.', - 'type' => 'string', - 'example' => 'p-cq7l5s5lhtgi6qasrdc0'."\n", - ], - 'attachment' => [ - 'description' => 'Attachment information.', - '$ref' => '#/components/schemas/Attachment', - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'B917B12C-030A-597A-AF2B-6C4353FC9F10'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'ok'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"policyId\\": \\"p-cq7l5s5lhtgi6qasrdc0\\\\n\\",\\n \\"attachment\\": {\\n \\"policyAttachmentId\\": \\"\\",\\n \\"attachResourceIds\\": [\\n \\"\\"\\n ],\\n \\"attachResourceType\\": \\"\\",\\n \\"environmentId\\": \\"\\",\\n \\"gatewayId\\": \\"\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => '创建并附加策略', - ], - 'UpdateAndAttachPolicy' => [ - 'summary' => '更新并挂载策略。', - 'path' => '/v1/policies/{policyId}', - 'methods' => [ - 'put', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新消费者', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B917B12C-030A-597A-AF2B-6C4353FC9F10\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"ok\\"\\n}","type":"json"}]', + ], + 'UpdateConsumerAuthorizationRule' => [ + 'summary' => '更新消费者授权规则。', + 'path' => '/v1/consumers/{consumerId}/authorization-rules/{consumerAuthorizationRuleId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -21411,90 +14996,42 @@ 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '222761', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayOZOKBY', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '248108', + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ - 'name' => 'policyId', + 'name' => 'consumerId', 'in' => 'path', - 'schema' => [ - 'description' => '策略id。', - 'type' => 'string', - 'required' => true, - 'example' => 'p-cq7l5s5lhtgi6qasrdc0'."\n", - ], + 'schema' => ['description' => '消费者ID。', 'type' => 'string', 'required' => false, 'example' => 'cs-cvs7kbem1hkiit4ivhu0'], ], [ 'name' => 'body', 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body。', + 'description' => '请求体参数。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '策略名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'description' => [ - 'description' => '策略描述。', - 'type' => 'string', - 'required' => false, - 'example' => '这是策略描述。', - ], - 'config' => [ - 'description' => '配置信息。'."\n" - .'json字符串', - 'type' => 'string', - 'required' => true, - 'example' => '{\\"enable\\":false}', - ], - 'attachResourceIds' => [ - 'description' => '挂载点id列表。', + 'expireMode' => ['description' => '失效模式。LongTerm、ShortTerm,二选一。', 'type' => 'string', 'required' => false, 'example' => 'LongTerm'], + 'expireTimestamp' => ['description' => '到期时间。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1750852089975'], + 'authorizationResourceInfos' => [ + 'description' => '资源授权信息列表。', 'type' => 'array', - 'items' => [ - 'description' => '挂载点id。', - 'type' => 'string', - 'required' => false, - 'example' => 'api-cq2avtllhtgja4dk5djg'."\n", - ], - 'required' => true, - ], - 'attachResourceType' => [ - 'description' => '策略支持挂载点类型。'."\n" - ."\n" - .'- HttpApi:HttpApi。'."\n" - .'- Operation:HttpApi的Operation。'."\n" - .'- GatewayRoute:网关路由。'."\n" - .'- GatewayService:网关服务。'."\n" - .'- GatewayServicePort:网关服务端口。'."\n" - .'- Domain:网关域名。'."\n" - .'- Gateway:网关。', - 'type' => 'string', - 'required' => true, - 'example' => 'HttpApi', - ], - 'environmentId' => [ - 'description' => '环境id。', - 'type' => 'string', - 'required' => false, - 'example' => 'env-cq2avtllhtgja4dk5djg'."\n", - ], - 'gatewayId' => [ - 'description' => '网关id。', - 'type' => 'string', + 'items' => ['description' => '资源授权信息。', 'required' => false, '$ref' => '#/components/schemas/AuthorizationResourceInfo'], 'required' => false, - 'example' => 'gw-cq2avtllhtgja4dk5djg', ], ], 'required' => false, ], ], + [ + 'name' => 'consumerAuthorizationRuleId', + 'in' => 'path', + 'schema' => ['description' => '根据特定的消费者授权规则ID过滤接口列表,响应中的接口列表仅包含已授权的接口。', 'type' => 'string', 'required' => false, 'example' => 'cas-xxx'], + ], ], 'responses' => [ 200 => [ @@ -21503,55 +15040,52 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '更新并挂载策略', - ], - 'CreateEnvironment' => [ - 'summary' => '创建环境。', - 'path' => '/v1/environments', - 'methods' => [ - 'post', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新消费者授权规则', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854CD0D4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateDomain' => [ + 'summary' => '更新域名。', + 'path' => '/v1/domains/{domainId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], 'operationType' => 'write', - 'deprecated' => true, + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '219212', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayN14L0I', - ], - 'tenantRelevance' => 'publicInformation', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '219210', + 'abilityTreeNodes' => ['FEATUREapigatewayLPOSXV'], ], 'parameters' => [ [ @@ -21559,268 +15093,111 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body。', + 'description' => '更新域名请求Body。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '环境名称。', - 'type' => 'string', - 'required' => true, - 'docRequired' => false, - 'example' => 'test', - ], - 'alias' => [ - 'description' => '环境别名。', - 'type' => 'string', - 'required' => true, - 'example' => '测试环境', - ], - 'description' => [ - 'description' => '环境的描述信息,可以填写环境用途,所有人等信息。', + 'domainScope' => [ + 'title' => '域名作用域', + 'description' => '域名作用域', 'type' => 'string', 'required' => false, - 'example' => '这是xxx的xx项目测试环境', + 'enumValueTitles' => ['Serverless' => 'Serverless', 'Dedicated' => 'Dedicated'], + 'example' => 'Dedicated', ], - 'gatewayId' => [ - 'description' => '网关id。', + 'protocol' => [ + 'description' => '域名支持的协议类型。'."\n" + ."\n" + .'- HTTP:仅支持HTTP协议。'."\n" + .'- HTTP:仅支持HTTPS协议。', 'type' => 'string', - 'required' => true, - 'example' => 'gw-cq7l5s5lhtgi6qasrdc0', + 'required' => false, + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], + 'example' => 'HTTP', ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', + 'forceHttps' => ['description' => '设置HTTPS协议类型,是否开启强制HTTPS跳转。当协议为HTTPS时,forceHttps必传', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'mTLSEnabled' => ['title' => '是否支持mTLS双向认证,true | false', 'description' => '是否开启mTLS双向认证', 'type' => 'boolean', 'required' => false], + 'certIdentifier' => ['description' => '证书标识。', 'type' => 'string', 'required' => false, 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n"], + 'caCertIdentifier' => ['description' => 'CA证书标识。', 'type' => 'string', 'required' => false, 'example' => '1ef1da5f-38ed-69b3-****-037781890265'."\n"], + 'clientCACert' => ['title' => '客户端CA证书公钥', 'description' => '客户端CA证书', 'type' => 'string', 'required' => false, 'example' => '-----BEGIN CERTIFICATE-----'."\n" + .'MIIFBTCCAu2gAwIBAgIUORLpYPGSFD1YOP6PMbE7Wd/mpTQwDQYJKoZIhvcNAQEL'."\n" + .'BQAwE************************************************2VwVOJ2gqX3'."\n" + .'YuGaxvIbDy0iQJ1GMerPRyzJTeVEtdIKT29u0PdFRr4KZWom35qX7G4='."\n" + .'-----END CERTIFICATE-----'], + 'http2Option' => [ + 'description' => 'http2设置。', 'type' => 'string', 'required' => false, - 'example' => 'rg-ahr5uil8raz0rq3b', + 'enumValueTitles' => ['GlobalConfig' => 'GlobalConfig', 'Close' => 'Close', 'Open' => 'Open'], + 'example' => 'Open', ], + 'tlsMax' => ['description' => 'TLS协议最大版本,最大支持TLS 1.3。', 'type' => 'string', 'required' => false, 'example' => 'TLS 1.3'], + 'tlsMin' => ['description' => 'TLS协议最小版本,最小支持TLS 1.0。', 'type' => 'string', 'required' => false, 'example' => 'TLS 1.0'], + 'tlsCipherSuitesConfig' => ['description' => '加密套件配置。', 'required' => false, '$ref' => '#/components/schemas/TlsCipherSuitesConfig'], ], 'required' => false, + 'example' => '{\'key\': \'value\'}', ], ], + [ + 'name' => 'domainId', + 'in' => 'path', + 'schema' => ['description' => '域名id。', 'type' => 'string', 'required' => true, 'example' => 'd-cpqnfn5lhtgqbga95sv1'], + ], ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应体', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '3C3B9A12-3868-5EB9-8BEA-F99E03DD125C', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '4BACB05C-3FE2-588F-9148-700C5C026B74'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '响应数据。', + 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'environmentId' => [ - 'description' => '环境id。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], + 'deployRevisionId' => ['description' => '发布版本ID。', 'type' => 'string', 'example' => 'apr-xxxxx'], ], ], ], ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3C3B9A12-3868-5EB9-8BEA-F99E03DD125C\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\"\\n }\\n}","type":"json"}]', - 'title' => '创建环境', - ], - 'GetEnvironment' => [ - 'summary' => '查询环境。', - 'path' => '/v1/environments/{environmentId}', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"4BACB05C-3FE2-588F-9148-700C5C026B74\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"deployRevisionId\\": \\"apr-xxxxx\\"\\n }\\n}","type":"json"}]', + 'title' => '更新域名', + 'description' => '只有类型为**容器服务**的来源允许更新监听Ingress的配置。', + 'changeSet' => [ + ['createdAt' => '2026-06-17T12:19:57.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-02-27T07:54:23.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-12-30T02:34:10.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-28T10:53:19.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-09-03T07:57:14.000Z', 'description' => '响应参数发生变更'], ], - 'security' => [ - [ - 'AK' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateDomain'], ], ], - 'operationType' => 'read', - 'deprecated' => true, - 'systemTags' => [ - 'operationType' => 'none', - 'abilityTreeCode' => '219213', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayN14L0I', - ], - ], - 'parameters' => [ - [ - 'name' => 'environmentId', - 'in' => 'path', - 'schema' => [ - 'description' => '环境id。', - 'type' => 'string', - 'required' => true, - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], - ], + 'ramActions' => [ [ - 'name' => 'withVpcInfo', - 'in' => 'query', - 'schema' => [ - 'description' => '标志是否携带VPC信息。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - [ - 'name' => 'withStatistics', - 'in' => 'query', - 'schema' => [ - 'description' => '是否返回线上资源信息。', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '3F8EE674-BB08-5E92-BE6F-E4756A748B0F', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'environmentId' => [ - 'description' => '环境id。', - 'type' => 'string', - 'example' => 'env-cq7l5s5lhtgi6qasrdc0'."\n", - ], - 'name' => [ - 'description' => '环境名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'alias' => [ - 'description' => '环境别名。', - 'type' => 'string', - 'example' => '测试环境', - ], - 'description' => [ - 'description' => '环境描述信息。', - 'type' => 'string', - 'example' => '这是xxx的xx项目测试环境', - ], - 'gatewayInfo' => [ - 'description' => '网关信息', - '$ref' => '#/components/schemas/GatewayInfo', - ], - 'subDomainInfos' => [ - 'description' => '子域名列表。', - 'type' => 'array', - 'items' => [ - 'description' => '子域名信息。', - '$ref' => '#/components/schemas/SubDomainInfo', - ], - ], - 'default' => [ - 'description' => '是否默认环境。', - 'type' => 'boolean', - 'example' => 'true', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-aekz4us4iruleja', - ], - 'statisticsInfo' => [ - 'description' => '线上资源信息。', - 'type' => 'object', - 'properties' => [ - 'totalCount' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'resourceStatistics' => [ - 'description' => '线上资源数量。', - 'type' => 'array', - 'items' => [ - 'description' => '资源统计。', - '$ref' => '#/components/schemas/ResourceStatistic', - ], - ], - ], - ], - ], - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], ], ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3F8EE674-BB08-5E92-BE6F-E4756A748B0F\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"environmentId\\": \\"env-cq7l5s5lhtgi6qasrdc0\\\\n\\",\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"测试环境\\",\\n \\"description\\": \\"这是xxx的xx项目测试环境\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1719386834548,\\n \\"resourceGroupId\\": \\"rg-aekz4us4iruleja\\",\\n \\"statisticsInfo\\": {\\n \\"totalCount\\": 1,\\n \\"resourceStatistics\\": [\\n {\\n \\"resourceType\\": \\"\\",\\n \\"resourceCount\\": 0\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => '查询环境', ], 'UpdateEnvironment' => [ - 'summary' => '更新环境。', 'path' => '/v1/environments/{environmentId}', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -21830,10 +15207,10 @@ 'deprecated' => true, 'systemTags' => [ 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', 'abilityTreeCode' => '219216', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayN14L0I', - ], + 'abilityTreeNodes' => ['FEATUREapigatewayN14L0I'], ], 'parameters' => [ [ @@ -21844,18 +15221,8 @@ 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'alias' => [ - 'description' => '环境别名。', - 'type' => 'string', - 'required' => true, - 'example' => '测试环境', - ], - 'description' => [ - 'description' => '环境的描述信息,可以填写环境用途,所有人等信息。', - 'type' => 'string', - 'required' => false, - 'example' => '这是xx的xx项目测试环境', - ], + 'alias' => ['description' => '环境别名。', 'type' => 'string', 'required' => true, 'example' => '测试环境'], + 'description' => ['description' => '环境的描述信息,可以填写环境用途,所有人等信息。', 'type' => 'string', 'required' => false, 'example' => '这是xx的xx项目测试环境'], ], 'required' => false, ], @@ -21863,12 +15230,7 @@ [ 'name' => 'environmentId', 'in' => 'path', - 'schema' => [ - 'description' => '环境id。', - 'type' => 'string', - 'required' => true, - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', - ], + 'schema' => ['description' => '环境id。', 'type' => 'string', 'required' => true, 'example' => 'env-cq7l5s5lhtgi6qasrdc0'], ], ], 'responses' => [ @@ -21878,208 +15240,267 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯API调用链路。', - 'type' => 'string', - 'example' => '52FB803B-3CD8-5FF8-AAE9-C2B841F6A483', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id,用于追溯API调用链路。', 'type' => 'string', 'example' => '52FB803B-3CD8-5FF8-AAE9-C2B841F6A483'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"52FB803B-3CD8-5FF8-AAE9-C2B841F6A483\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], 'title' => '更新环境', - ], - 'DeleteEnvironment' => [ - 'summary' => '删除环境。', - 'path' => '/v1/environments/{environmentId}', - 'methods' => [ - 'delete', + 'summary' => '更新环境。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEnvironment'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"52FB803B-3CD8-5FF8-AAE9-C2B841F6A483\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateGatewayFeature' => [ + 'summary' => '更新网关特性参数。', + 'path' => '/v1/gateways/{gatewayId}/gateway-features/{name}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'readAndWrite', - 'deprecated' => true, + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '219215', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayN14L0I', - ], + 'riskType' => 'high', + 'chargeType' => 'free', + 'abilityTreeCode' => '220139', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ - 'name' => 'environmentId', + 'name' => 'gatewayId', 'in' => 'path', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq2avtllh****'], + ], + [ + 'name' => 'name', + 'in' => 'path', + 'schema' => ['description' => '特性参数名称。', 'type' => 'string', 'required' => false, 'example' => 'enable-gzip'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '环境id。', - 'type' => 'string', - 'required' => true, - 'example' => 'env-cq7l5s5lhtgi6qasrdc0', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'value' => ['description' => '参数值。', 'type' => 'string', 'required' => false, 'example' => '"true"'], + ], + 'required' => false, ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯请求链路。', - 'type' => 'string', - 'example' => 'C61E30D3-579A-5B43-994E-31E02EDC9129', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '043360DA-ED3B-5386-9B7A-D94DECF99A30'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C61E30D3-579A-5B43-994E-31E02EDC9129\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除环境', - ], - 'ListEnvironments' => [ - 'summary' => '查询环境列表。', - 'path' => '/v1/environments', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新网关特性参数', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateGatewayFeature'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayFeature', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"043360DA-ED3B-5386-9B7A-D94DECF99A30\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + ], + 'UpdateGatewayName' => [ + 'summary' => '修改网关名称。', + 'path' => '/v1/gateways/{gatewayId}/name', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => true, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '219218', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayPE3NRT', - ], + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ - 'name' => 'nameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '环境名称,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cpv4sqdl****'], ], [ - 'name' => 'aliasLike', + 'name' => 'name', 'in' => 'query', - 'schema' => [ - 'description' => '环境别名,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => '测试', - ], + 'schema' => ['description' => '网关名称。', 'type' => 'string', 'required' => false, 'example' => 'dev-itemcenter-router'], ], - [ - 'name' => 'gatewayId', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '网关id,精确搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-cptv6ktlhtgnqr73h8d1', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '585657D2-1C20-5B8A-AF17-D727C6490BE4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], + 'description' => '', ], ], + ], + 'staticInfo' => ['noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', 'returnType' => 'synchronous'], + 'title' => '修改网关名称', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateGatewayName'], + ], + ], + 'ramActions' => [ [ - 'name' => 'gatewayNameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '网关名称,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'test-gw', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"585657D2-1C20-5B8A-AF17-D727C6490BE4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateGatewayQuotaRule' => [ + 'summary' => '编辑网关上某条配额限流规则。', + 'path' => '/v1/gateways/{gatewayId}/quota-rules/{ruleId}', + 'methods' => ['put'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '页码,默认1', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayC93I4Z'], + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['title' => '网关唯一标识', 'description' => '网关唯一标识', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], ], [ - 'name' => 'resourceGroupId', - 'in' => 'query', - 'schema' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-aek2nqpppkzplmq', - ], + 'name' => 'ruleId', + 'in' => 'path', + 'schema' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'required' => false, 'example' => 'qr-d8j7fpmm1hks65xxxx'], ], [ - 'name' => 'gatewayType', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '网关类型', - 'type' => 'string', + 'title' => '请求体内容', + 'description' => '请求体内容', + 'type' => 'object', + 'properties' => [ + 'ruleName' => ['title' => '规则名称', 'description' => '修改后的规则名称', 'type' => 'string', 'required' => false, 'example' => 'team-rule'], + 'quotaLimit' => ['title' => '周期可用总额度', 'description' => '修改后的可用总额度', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1000'], + 'addIds' => [ + 'title' => '新增绑定主体ID列表', + 'description' => '新增绑定主体(消费者)ID列表', + 'type' => 'array', + 'items' => ['title' => '主体ID', 'description' => '主体ID', 'type' => 'string', 'required' => false, 'example' => 'cs-001xxxxx'], + 'required' => false, + 'example' => 'cs-001,cs-002', + ], + 'removeIds' => [ + 'title' => '解绑主体ID列表', + 'description' => '解绑主体(消费者)ID列表', + 'type' => 'array', + 'items' => ['title' => '主体ID', 'description' => '主体ID', 'type' => 'string', 'required' => false, 'example' => 'cs-003xxxxx'], + 'required' => false, + 'example' => 'cs003,cs-004', + ], + 'dryRun' => ['title' => '是否仅预检(不落库、不下发)', 'description' => '是否仅预检(预检不下发实际配置),用于检查绑定的消费者上是否存在冲突的规则(同一消费者不能配置两个相同周期的自然周期配额,例如已有自然日配额的消费者不能再新增一个自然日配额规则)', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'overwrite' => ['title' => '冲突时是否允许覆盖', 'description' => '冲突时是否允许覆盖。注意如果选择允许覆盖,冲突主体(消费者)会从旧规则解绑并绑定到新规则', 'type' => 'boolean', 'required' => false], + 'conflictHash' => ['title' => '冲突快照哈希', 'description' => '冲突快照哈希,用于“确认覆盖时防并发脏覆盖”。通过先执行 dryRun=true 在返回数据提取。'."\n" + ."\n" + .'当以下情况不需要填写:没有冲突;只是 dryRun=true 预检;overwrite=false,即不确认覆盖。'."\n" + ."\n" + .'当当 dryRun = false 且 overwrite=true 时不带改参数或者该参数过期不匹配,后端会返回:accepted=false 并带新的冲突预览,需要重新执行 dryrun 确认新的冲突。', 'type' => 'string', 'required' => false, 'example' => ' '."\n" + .'f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541f50xxxxxx'], + 'consumerGroupIds' => [ + 'title' => '消费者组ID列表', + 'description' => '消费者组ID列表(暂不支持)', + 'type' => 'array', + 'items' => ['title' => '消费者组ID', 'description' => '消费者组ID', 'type' => 'string', 'required' => false, 'example' => 'consumer-group-001'], + 'deprecated' => true, + 'required' => false, + 'example' => 'group1,group2', + ], + ], 'required' => false, - 'example' => 'APIGateway', + 'example' => '{\'key\': \'value\'}', ], ], ], @@ -22090,207 +15511,355 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id,用于追溯调用链路。', - 'type' => 'string', - 'example' => 'CE857A85-251D-5018-8103-A38957D71E20', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => '请求唯一标识', 'description' => '请求唯一标识', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码或错误代码', 'description' => '状态码或错误代码', 'type' => 'string', 'example' => '200, 404, 500'], + 'message' => ['title' => '消息内容', 'description' => '消息内容', 'type' => 'string', 'example' => '你好,世界!'], 'data' => [ - 'description' => '分页查询环境列表响应。', + 'title' => '请求数据内容', + 'description' => '请求数据内容', 'type' => 'object', 'properties' => [ - 'pageNumber' => [ - 'description' => '页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '每页条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '25', - ], - 'items' => [ - 'description' => '环境信息列表。', - 'type' => 'array', - 'items' => [ - 'description' => '环境信息。', - '$ref' => '#/components/schemas/EnvironmentInfo', + 'ruleId' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'example' => 'qr-xxxxxx'], + 'dryRun' => ['title' => '是否预检', 'description' => '是否预检', 'type' => 'boolean', 'example' => 'true'], + 'accepted' => ['title' => '本次写请求语义是否可被系统接收', 'description' => '本次写请求语义是否可被系统接收,false 常见于冲突未确认覆盖等可重试场景', 'type' => 'boolean', 'example' => 'true'], + 'conflictPreview' => [ + 'title' => '冲突预览', + 'description' => '冲突预览', + 'type' => 'object', + 'properties' => [ + 'totalConflictCount' => ['title' => '冲突总数', 'description' => '冲突总数', 'type' => 'integer', 'format' => 'int32', 'example' => '2'], + 'conflictHash' => ['title' => '冲突的hash', 'description' => '冲突的hash', 'type' => 'string', 'example' => ' '."\n" + .'f8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541f50xxxxxx'], + 'items' => [ + 'description' => '冲突的主体(消费者)列表', + 'type' => 'array', + 'items' => [ + 'description' => '冲突的主体(消费者)详情', + 'type' => 'object', + 'properties' => [ + 'consumerId' => ['description' => '消费者 ID', 'type' => 'string', 'example' => 'cs-d82n1g6m1hkm375xxxxx'], + 'consumerName' => ['description' => '消费者名称', 'type' => 'string', 'example' => 'consumer-a'], + 'conflictType' => ['title' => '消费者上已有冲突规则的类型。conflictType = "calendar"表示消费者已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期。', 'description' => '消费者上已有冲突规则的类型。conflictType = "calendar"表示消费者已有冲突规则为自然周期;conflictType = "epoch"表示已有冲突规则为自定义周期。', 'type' => 'string', 'example' => 'calendar'], + 'conflictPeriodType' => ['title' => '消费者上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费者已有冲突规则的周期为日/周/月', 'description' => '消费者上已有冲突规则的周期类型。conflictPeriodType = "day"/"week"/"month"分别表示消费者已有冲突规则的周期为日/周/月', 'type' => 'string', 'example' => 'week'], + ], + ], + ], ], ], ], + 'example' => '{\'key\': \'value\'}', ], ], ], ], ], - 'staticInfo' => [ - 'noSubstitutionReason' => '无替代API,历史原因导致该API被标记为弃用。', - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '编辑消费者配额规则', + 'description' => '该接口用于编辑网关上某条配额规则。注意,只针对于版本大于2.1.19的AI网关生效;编辑将保留规则上消费者历史用量。'."\n" + ."\n" + .'> 推荐调用逻辑:'."\n" + .'> - 一、先 dryRun 预检检验是否存在规则冲突'."\n" + .'> - - 传dryRun=true'."\n" + .'> - - 返回含conflictHash的冲突预览'."\n" + .'> - 二、确认后正式提交'."\n" + .'> - - 无冲突:dryRun=false,overwrite=false'."\n" + .'> - - 有冲突且确认覆盖:dryRun=false,overwrite=true, conflictHash=<上一步返回的值>', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 25,\\n \\"items\\": [\\n {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '查询环境列表', - ], - 'ListPluginClasses' => [ - 'summary' => '获取插件。', - 'path' => '/v1/plugin-classes', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200, 404, 500\\",\\n \\"message\\": \\"你好,世界!\\",\\n \\"data\\": {\\n \\"ruleId\\": \\"qr-xxxxxx\\",\\n \\"dryRun\\": true,\\n \\"accepted\\": true,\\n \\"conflictPreview\\": {\\n \\"totalConflictCount\\": 2,\\n \\"conflictHash\\": \\"\\\\t\\\\nf8f44dc6cf369a017d56b7197eb4fb5ac4bbb6b09a92b9b41999541f50xxxxxx\\",\\n \\"items\\": [\\n {\\n \\"consumerId\\": \\"cs-d82n1g6m1hkm375xxxxx\\",\\n \\"consumerName\\": \\"consumer-a\\",\\n \\"conflictType\\": \\"calendar\\",\\n \\"conflictPeriodType\\": \\"week\\"\\n }\\n ]\\n }\\n }\\n}","type":"json"}]', + ], + 'UpdateGatewayQuotaRuleStatus' => [ + 'summary' => '启/停用网关某个配额限流规则', + 'path' => '/v1/gateways/{gatewayId}/quota-rules/{ruleId}/status', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '231537', - 'abilityTreeNodes' => [ - 'FEATUREapigateway216K2A', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '222348', + 'abilityTreeNodes' => ['FEATUREapigatewayC93I4Z'], + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'nameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '插件名称,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'oauth', - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['title' => '网关ID', 'description' => '网关ID', 'type' => 'string', 'required' => false, 'example' => 'gw-123456'], ], [ - 'name' => 'aliasLike', - 'in' => 'query', - 'schema' => [ - 'description' => '插件别名,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'OAuth2 认证', - ], + 'name' => 'ruleId', + 'in' => 'path', + 'schema' => ['title' => '规则ID', 'description' => '规则ID', 'type' => 'string', 'required' => false, 'example' => 'qr-xxxxx'], ], [ - 'name' => 'type', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '插件类型。', - 'type' => 'string', + 'title' => '请求体内容', + 'description' => '请求体内容', + 'type' => 'object', + 'properties' => [ + 'clearHistory' => ['title' => '启停规则时是否清理历史用量', 'description' => '启停规则时是否清理历史配额用量', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'enable' => ['title' => '开启/禁用规则', 'description' => '开启/禁用规则', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], 'required' => false, - 'example' => 'Auth', + 'example' => 'enable=false', ], ], - [ - 'name' => 'source', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '插件来源:'."\n" - .'- Higress 官方:HigressOfficial'."\n" - .'- Higress 社区:HigressCommunity'."\n" - .'- 自定义:Custom', - 'type' => 'string', - 'required' => false, - 'example' => 'HigressOfficial', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => '请求唯一标识', 'description' => '请求唯一标识', 'type' => 'string', 'example' => '1234567890'], + 'code' => ['title' => '状态码或错误代码', 'description' => '状态码或错误代码', 'type' => 'string', 'example' => '200, 404, 500'], + 'message' => ['title' => '消息内容', 'description' => '消息内容', 'type' => 'string', 'example' => 'success'], + ], ], ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '启/停用消费者配额规则', + 'description' => '该接口用于启用或者停用网关上某个配额规则。注意,只针对于版本大于2.1.19的AI网关生效。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayQuotaRuleStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"1234567890\\",\\n \\"code\\": \\"200, 404, 500\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateHttpApi' => [ + 'summary' => '更新HTTP API。', + 'path' => '/v1/http-apis/{httpApiId}', + 'methods' => ['put'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '页码,默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '218997', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], + ], + 'parameters' => [ [ - 'name' => 'gatewayId', - 'in' => 'query', - 'schema' => [ - 'description' => '网关id。', - 'type' => 'string', - 'required' => false, - 'example' => 'gw-d1j8tjum1hkhxxxxxxxx', - ], + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['title' => '待更新API ID。', 'description' => '待更新的HTTP API ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'api-xxx'], ], [ - 'name' => 'installed', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '是否已安装。', - 'type' => 'boolean', + 'title' => '请求体配置。', + 'description' => '请求体参数。', + 'type' => 'object', + 'properties' => [ + 'description' => ['title' => 'API描述。', 'description' => 'API描述。', 'type' => 'string', 'required' => false, 'example' => '更新API描述'], + 'protocols' => [ + 'title' => 'API访问协议配置。', + 'description' => 'API访问协议列表。', + 'type' => 'array', + 'items' => [ + 'title' => 'API访问协议,枚举值。', + 'description' => 'API访问协议。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['HTTPS' => 'HTTPS协议', 'HTTP' => 'HTTP协议'], + 'example' => 'HTTP', + 'default' => 'HTTP', + 'enum' => ['HTTP', 'HTTPS'], + ], + 'required' => false, + ], + 'basePath' => ['title' => 'API基础路径,需要以/开头。', 'description' => 'API基础路径,需要以/开头。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => '/v1'], + 'versionConfig' => ['description' => 'API版本化配置。', 'required' => false, '$ref' => '#/components/schemas/HttpApiVersionConfig'], + 'ingressConfig' => [ + 'description' => 'HTTP Ingress API的配置信息。', + 'type' => 'object', + 'properties' => [ + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'required' => false, 'example' => 'env-cr6ql0tlhtgmc****'], + 'sourceId' => ['description' => '来源ID。', 'type' => 'string', 'required' => false, 'example' => 'src-crdddallhtgtr****'], + 'ingressClass' => ['description' => '监听的Ingress Class。', 'type' => 'string', 'required' => false, 'example' => 'mse'], + 'watchNamespace' => ['description' => '监听的命名空间', 'type' => 'string', 'required' => false, 'example' => 'default'], + 'overrideIngressIp' => ['description' => '是否更新Ingress Status里的地址。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], + 'required' => false, + ], + 'aiProtocols' => [ + 'description' => 'AI协议列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'AI协议。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [], + 'example' => 'OpenAI/v1', + ], + 'required' => false, + ], + 'agentProtocols' => [ + 'description' => 'Agent协议列表', + 'type' => 'array', + 'items' => ['description' => '参数', 'type' => 'string', 'required' => false, 'example' => 'DashScope'], + 'required' => false, + ], + 'deployConfigs' => [ + 'description' => 'API部署配置列表。', + 'type' => 'array', + 'items' => ['description' => 'API部署配置。', 'required' => false, '$ref' => '#/components/schemas/HttpApiDeployConfig'], + 'required' => false, + ], + 'enableAuth' => ['description' => '是否开启权限认证', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'authConfig' => ['description' => '权限认证配置', 'required' => false, '$ref' => '#/components/schemas/AuthConfig'], + 'onlyChangeConfig' => ['description' => '仅修改配置,true表示只修改配置不触发重新部署', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'removeBasePathOnForward' => ['description' => '转发时是否移除基础路径', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'firstByteTimeout' => ['description' => '首字节超时时间,单位:秒(s)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], + ], 'required' => false, - 'example' => 'false', + 'example' => '{\'key\': \'value\'}', ], ], - [ - 'name' => 'direction', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '出入站方向:'."\n" - .'- 出站:OutBound。'."\n" - .'- 入栈:InBound。'."\n" - .'- 双方向:Both。', - 'type' => 'string', - 'required' => false, - 'example' => 'InBound', + 'title' => 'Schema of Response', + 'description' => '响应。', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '393E2630-DBE7-5221-AB35-9E740675491A'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"393E2630-DBE7-5221-AB35-9E740675491A\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], + ], + 'title' => '更新HTTP API', + 'changeSet' => [ + ['createdAt' => '2025-08-19T12:32:18.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-07-17T13:23:54.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-06-26T12:05:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-05-21T13:14:00.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-01-02T05:54:59.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-11-18T08:56:08.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2024-09-06T06:02:55.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateHttpApi'], + ], + ], + 'ramActions' => [ [ - 'name' => 'excludeBuiltinAiProxy', - 'in' => 'query', - 'allowEmptyValue' => true, - 'schema' => [ - 'description' => '是否排除内置的插件', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - 'default' => 'false', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], ], ], + ], + ], + 'UpdateHttpApiOperation' => [ + 'summary' => '更新接口。', + 'path' => '/v1/http-apis/{httpApiId}/operations/{operationId}', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'gatewayType', - 'in' => 'query', + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], + ], + 'parameters' => [ + [ + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['title' => '待更新接口所属的API ID。', 'description' => '待更新接口所属的HTTP API ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'api-xxx'], + ], + [ + 'name' => 'operationId', + 'in' => 'path', + 'schema' => ['title' => '待更新的接口ID。', 'description' => '待更新的接口ID。', 'type' => 'string', 'required' => true, 'docRequired' => true, 'example' => 'op-xxx'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', - 'type' => 'string', + 'description' => '请求体参数。', + 'type' => 'object', + 'properties' => [ + 'operation' => ['title' => '接口定义。', 'description' => '接口定义。', 'required' => false, '$ref' => '#/components/schemas/HttpApiOperation'], + ], 'required' => false, - 'example' => 'API', ], ], ], @@ -22298,435 +15867,463 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '响应信息。', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求ID。', - 'type' => 'string', - 'example' => '61EBF577-1601-51E1-B136-9CD6xxxxxxxx', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => '200', - ], - 'message' => [ - 'description' => '错误消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应结果。', - 'type' => 'object', - 'properties' => [ - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '每页条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'totalSize' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'items' => [ - 'description' => '结果对象', - 'type' => 'array', - 'items' => [ - 'description' => '插件信息。', - 'type' => 'object', - 'properties' => [ - 'pluginClassId' => [ - 'description' => '插件类型id', - 'type' => 'string', - 'example' => 'pls-d4ghv6em1hkixxxxxxxx', - ], - 'name' => [ - 'description' => '插件名称。', - 'type' => 'string', - 'example' => 'oauth', - ], - 'alias' => [ - 'description' => '插件别名。', - 'type' => 'string', - 'example' => 'OAuth2 认证', - ], - 'description' => [ - 'description' => '插件描述。', - 'type' => 'string', - 'example' => '基于 OAuth2 实现身份认证和鉴权。', - ], - 'version' => [ - 'description' => '插件版本。', - 'type' => 'string', - 'example' => '1.0.0', - ], - 'type' => [ - 'description' => '插件类型。', - 'type' => 'string', - 'example' => 'Auth', - ], - 'source' => [ - 'description' => '插件来源。', - 'type' => 'string', - 'example' => 'HigressOfficial', - ], - 'supportedMinGatewayVersion' => [ - 'description' => '插件支持的网关的最低版本。', - 'type' => 'string', - 'example' => '2.0.0', - ], - 'publishStatus' => [ - 'description' => '发布状态。', - 'type' => 'string', - 'example' => 'Success', - ], - 'pluginId' => [ - 'description' => '插件ID。', - 'type' => 'string', - 'example' => 'pl-cvu6r4um1hkoxxxxxxxx', - ], - 'installed' => [ - 'description' => '是否安装。', - 'type' => 'boolean', - 'example' => 'true', - ], - ], - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '043360DA-ED3B-5386-9B7A-D94DECF99A30'], + 'code' => ['title' => '响应状态码。', 'description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['title' => '响应消息。', 'description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"61EBF577-1601-51E1-B136-9CD6xxxxxxxx\\",\\n \\"code\\": \\"200\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"totalSize\\": 10,\\n \\"items\\": [\\n {\\n \\"pluginClassId\\": \\"pls-d4ghv6em1hkixxxxxxxx\\",\\n \\"name\\": \\"oauth\\",\\n \\"alias\\": \\"OAuth2 认证\\",\\n \\"description\\": \\"基于 OAuth2 实现身份认证和鉴权。\\",\\n \\"version\\": \\"1.0.0\\",\\n \\"type\\": \\"Auth\\",\\n \\"source\\": \\"HigressOfficial\\",\\n \\"supportedMinGatewayVersion\\": \\"2.0.0\\",\\n \\"publishStatus\\": \\"Success\\",\\n \\"pluginId\\": \\"pl-cvu6r4um1hkoxxxxxxxx\\",\\n \\"installed\\": true\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取插件列表', - 'description' => '接口支持创建多个服务。', - ], - 'ListConsumerAuthorizationRules' => [ - 'summary' => '获取消费者授权规则列表。', - 'path' => '/v1/consumers/{consumerId}/authorization-rules', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新接口', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateHttpApiOperation'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"043360DA-ED3B-5386-9B7A-D94DECF99A30\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateHttpApiRoute' => [ + 'summary' => '更新HttpApi的路由。', + 'path' => '/v1/http-apis/{httpApiId}/routes/{routeId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', - 'abilityTreeCode' => '248112', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '237777', + 'abilityTreeNodes' => ['FEATUREapigateway910B7T'], ], 'parameters' => [ [ - 'name' => 'apiNameLike', - 'in' => 'query', - 'schema' => [ - 'description' => 'api名称模糊搜索参数。', - 'type' => 'string', - 'required' => false, - 'example' => 'qwen3', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小,不填默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'httpApiId', + 'in' => 'path', + 'schema' => ['description' => '路由所属的HTTP API ID。', 'type' => 'string', 'required' => false, 'example' => 'api-cqoub6tlhtgvof7***'], ], [ - 'name' => 'consumerId', + 'name' => 'routeId', 'in' => 'path', - 'schema' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cs-csgdi45lhtggrjcpriug', - ], + 'schema' => ['description' => '路由ID。', 'type' => 'string', 'required' => false, 'example' => 'hr-cr82undlhtgrl***'], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '294382D9-EE60-5735-A4CD-F2AC2840423D', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', + 'domainIds' => [ + 'description' => '域名ID列表。', + 'type' => 'array', + 'items' => ['description' => '域名ID。', 'type' => 'string', 'required' => false, 'example' => 'd-cr62ts5lhtgln***'], + 'required' => false, ], - 'data' => [ - 'description' => '响应数据。', + 'match' => ['description' => '路由Match规则。', 'required' => false, '$ref' => '#/components/schemas/HttpRouteMatch'], + 'backendConfig' => [ + 'description' => '路由的后端服务配置。', 'type' => 'object', 'properties' => [ - 'totalSize' => [ - 'description' => '总数量。', + 'scene' => [ + 'description' => '后端服务场景。', 'type' => 'string', - 'example' => '9', - ], - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', + 'required' => false, + 'enumValueTitles' => ['SingleService' => '单服务', 'MultiServiceByRatio' => '多服务按比例灰度', 'Redirect' => 'Redirect', 'Mock' => 'Mock'], + 'example' => 'SingleService', ], - 'items' => [ - 'description' => '消费者授权信息列表。', + 'services' => [ + 'description' => '后端服务列表。', 'type' => 'array', 'items' => [ - 'description' => '消费者授权信息。', + 'description' => '后端服务。', 'type' => 'object', 'properties' => [ - 'consumerAuthorizationRuleId' => [ - 'description' => '消费者授权规则ID。', - 'type' => 'string', - 'example' => 'car-csgeka5lhtggrjcprok0', - ], - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-csheiftlhtgmp0j0hp4g', - ], - 'apiInfo' => [ - 'description' => 'API信息。', - '$ref' => '#/components/schemas/HttpApiApiInfo', - ], - 'environmentInfo' => [ - 'description' => '环境信息。', - '$ref' => '#/components/schemas/EnvironmentInfo', - ], - 'gatewayInfo' => [ - 'description' => '网关信息。', - '$ref' => '#/components/schemas/GatewayInfo', - ], - 'resourceId' => [ - 'description' => '资源ID。', - 'type' => 'string', - 'example' => '2351944', - ], - 'resourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'HttpApiRoute', - ], - 'expireStatus' => [ - 'description' => '失效状态。', - 'type' => 'string', - 'example' => 'InEffect', - ], - 'expireMode' => [ - 'description' => '失效模式。LongTerm、ShortTerm,二选一。', - 'type' => 'string', - 'example' => 'ShortTerm', - ], - 'expireTimestamp' => [ - 'description' => '到期时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '172086834548', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1721116090326', - ], - 'deployStatus' => [ - 'description' => 'API在当前环境的发布状态', + 'serviceId' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-cr6pk4tlhtgm58e***'], + 'protocol' => [ + 'description' => '服务协议:'."\n" + .'- HTTP。'."\n" + .'- HTTPS。', 'type' => 'string', - 'example' => '{}', + 'required' => false, + 'enumValueTitles' => ['HTTPS' => 'HTTPS', 'HTTP' => 'HTTP'], + 'example' => 'HTTP', ], + 'version' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => 'v1'], + 'weight' => ['description' => '流量比例的百分比值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '49'], + 'port' => ['description' => '服务端口, 动态端口不传入。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], ], + 'required' => false, ], + 'required' => false, ], ], + 'required' => false, + ], + 'environmentId' => ['description' => '环境ID。', 'type' => 'string', 'required' => false, 'example' => 'env-cquqsollhtgid***'], + 'description' => ['description' => '路由描述。', 'type' => 'string', 'required' => false, 'example' => '商品中心服务路由'], + 'mcpRouteConfig' => [ + 'description' => 'MCP路由配置', + 'type' => 'object', + 'properties' => [ + 'protocol' => ['description' => 'MCP协议', 'type' => 'string', 'required' => false, 'example' => 'SSE'], + 'exposedUriPath' => ['description' => '暴露的URI路径', 'type' => 'string', 'required' => false, 'example' => '/mcp/chat'], + 'mcpStatisticsEnable' => ['description' => '是否启用MCP统计', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + ], + 'required' => false, + ], + 'policyConfigs' => [ + 'description' => '路由级策略配置', + 'type' => 'array', + 'items' => ['description' => 'object', 'required' => false, '$ref' => '#/components/schemas/HttpApiPolicyConfigs'], + 'required' => false, ], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '结构体', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'CBEEB8C1-108E-50F0-9BEA-DED79553C309'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"294382D9-EE60-5735-A4CD-F2AC2840423D\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": \\"9\\",\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"consumerAuthorizationRuleId\\": \\"car-csgeka5lhtggrjcprok0\\",\\n \\"consumerId\\": \\"cs-csheiftlhtgmp0j0hp4g\\",\\n \\"apiInfo\\": {\\n \\"httpApiId\\": \\"api-xxx\\",\\n \\"name\\": \\"test\\",\\n \\"basePath\\": \\"/v1\\",\\n \\"description\\": \\"\\",\\n \\"versionInfo\\": {\\n \\"enable\\": true,\\n \\"scheme\\": \\"Query\\",\\n \\"headerName\\": \\"my-version\\",\\n \\"queryName\\": \\"myVersion\\",\\n \\"version\\": \\"v1\\"\\n },\\n \\"ingressInfo\\": {\\n \\"sourceId\\": \\"\\",\\n \\"ingressClass\\": \\"\\",\\n \\"watchNamespace\\": \\"\\",\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\"\\n },\\n \\"k8sClusterInfo\\": {\\n \\"clusterId\\": \\"\\"\\n },\\n \\"overrideIngressIp\\": true\\n },\\n \\"type\\": \\"Rest\\",\\n \\"resourceGroupId\\": \\"rg-xxx\\",\\n \\"enabelAuth\\": true,\\n \\"authConfig\\": {\\n \\"authType\\": \\"\\",\\n \\"authMode\\": \\"\\"\\n },\\n \\"gatewayId\\": \\"\\",\\n \\"modelCategory\\": \\"\\",\\n \\"protocols\\": [\\n \\"HTTP\\"\\n ],\\n \\"environments\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"backendType\\": \\"Service\\",\\n \\"serviceConfigs\\": [\\n {\\n \\"gatewayServiceId\\": \\"gs-xxx\\",\\n \\"name\\": \\"demo-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": \\"8080\\",\\n \\"weight\\": 100,\\n \\"version\\": \\"v1\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"serviceId\\": \\"svc-xxx\\"\\n }\\n ],\\n \\"customDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\"\\n }\\n ],\\n \\"name\\": \\"test\\",\\n \\"alias\\": \\"test\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"gw-xxx\\",\\n \\"name\\": \\"test\\"\\n },\\n \\"deployStatus\\": \\"Deployed\\",\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"d-xxx\\",\\n \\"name\\": \\"www.example.com\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"networkType\\": \\"Internet\\"\\n }\\n ]\\n }\\n ],\\n \\"aiProtocols\\": [\\n \\"\\"\\n ],\\n \\"deployConfigs\\": [\\n {\\n \\"environmentId\\": \\"env-xxx\\",\\n \\"backendScene\\": \\"SingleService\\",\\n \\"autoDeploy\\": true,\\n \\"gatewayId\\": \\"gw-xx\\",\\n \\"routeBackend\\": {\\n \\"scene\\": \\"Single\\",\\n \\"services\\": [\\n {\\n \\"serviceId\\": \\"service-cq2bmmdlhtgj***\\",\\n \\"name\\": \\"item-service\\",\\n \\"protocol\\": \\"HTTP\\",\\n \\"port\\": 0,\\n \\"weight\\": 49,\\n \\"version\\": \\"v1\\"\\n }\\n ]\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"mock\\": {\\n \\"enable\\": false,\\n \\"responseCode\\": 200,\\n \\"responseContent\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"customDomainIds\\": [\\n \\"d-xxx\\"\\n ],\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"svc-xxx\\",\\n \\"weight\\": 100,\\n \\"modelNamePattern\\": \\"qwen-*\\",\\n \\"modelName\\": \\"qwen-max\\",\\n \\"intentCode\\": \\"\\",\\n \\"match\\": {\\n \\"default\\": true,\\n \\"conditions\\": [\\n {\\n \\"type\\": \\"Query\\",\\n \\"key\\": \\"color\\",\\n \\"value\\": \\"gray\\",\\n \\"operator\\": \\"equal\\"\\n }\\n ]\\n },\\n \\"port\\": 0,\\n \\"protocol\\": \\"\\",\\n \\"gatewayServiceId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"version\\": \\"\\",\\n \\"multiServiceRouteStrategy\\": \\"\\",\\n \\"observabilityRouteConfig\\": {\\n \\"mode\\": \\"\\",\\n \\"rateLimit\\": 0,\\n \\"queueSize\\": 0\\n }\\n }\\n ],\\n \\"policyConfigs\\": [\\n {\\n \\"type\\": \\"AiFallback\\",\\n \\"enable\\": true,\\n \\"aiFallbackConfig\\": {\\n \\"serviceConfigs\\": [\\n {\\n \\"serviceId\\": \\"\\",\\n \\"targetModelName\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiSecurityGuardConfig\\": {\\n \\"serviceAddress\\": \\"\\",\\n \\"checkRequest\\": true,\\n \\"checkResponse\\": true,\\n \\"checkRequestImage\\": true,\\n \\"checkResponseImage\\": true,\\n \\"requestCheckService\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"riskAlertLevel\\": \\"\\",\\n \\"riskConfig\\": [\\n {\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\",\\n \\"consumerRules\\": {\\n \\"pattern\\": \\"\\",\\n \\"matchType\\": \\"\\"\\n }\\n }\\n ],\\n \\"bufferLimit\\": 0,\\n \\"consumerRequestCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"requestCheckService\\": \\"\\",\\n \\"requestImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerResponseCheckService\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"responseCheckService\\": \\"\\",\\n \\"responseImageCheckService\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"modalityType\\": \\"\\"\\n }\\n ],\\n \\"consumerRiskLevel\\": [\\n {\\n \\"name\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"type\\": \\"\\",\\n \\"level\\": \\"\\"\\n }\\n ]\\n },\\n \\"aiTokenRateLimitConfig\\": {\\n \\"rules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"globalRules\\": [\\n {\\n \\"limitType\\": \\"\\",\\n \\"matchKey\\": \\"\\",\\n \\"matchType\\": \\"\\",\\n \\"matchValue\\": \\"\\",\\n \\"limitMode\\": \\"\\",\\n \\"limitValue\\": 0\\n }\\n ],\\n \\"enableGlobalRules\\": true\\n }\\n }\\n ],\\n \\"customDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\"\\n }\\n ],\\n \\"subDomains\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ]\\n }\\n ],\\n \\"deployCntMap\\": {\\n \\"key\\": {\\n \\"deployedCnt\\": 0,\\n \\"Cnt\\": 0\\n }\\n },\\n \\"agentProtocols\\": [\\n \\"\\"\\n ]\\n },\\n \\"environmentInfo\\": {\\n \\"environmentId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"alias\\": \\"\\",\\n \\"description\\": \\"\\",\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"subDomainInfos\\": [\\n {\\n \\"domainId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"protocol\\": \\"\\",\\n \\"networkType\\": \\"\\"\\n }\\n ],\\n \\"default\\": true,\\n \\"createTimestamp\\": 0,\\n \\"updateTimestamp\\": 0,\\n \\"resourceGroupId\\": \\"rg-xxxx\\"\\n },\\n \\"gatewayInfo\\": {\\n \\"gatewayId\\": \\"\\",\\n \\"name\\": \\"\\",\\n \\"vpcInfo\\": {\\n \\"vpcId\\": \\"\\",\\n \\"name\\": \\"\\"\\n },\\n \\"engineVersion\\": \\"\\"\\n },\\n \\"resourceId\\": \\"2351944\\",\\n \\"resourceType\\": \\"HttpApiRoute\\",\\n \\"expireStatus\\": \\"InEffect\\",\\n \\"expireMode\\": \\"ShortTerm\\",\\n \\"expireTimestamp\\": 172086834548,\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"deployStatus\\": \\"{}\\"\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取消费者授权规则列表', - ], - 'GetSecretValue' => [ - 'summary' => '获取密钥值。', - 'path' => '/v1/secrets/name/{name}/value', - 'methods' => [ - 'get', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CBEEB8C1-108E-50F0-9BEA-DED79553C309\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => '更新路由', + 'changeSet' => [ + ['createdAt' => '2026-04-08T11:25:41.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2026-01-12T10:56:14.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-07-24T12:32:02.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateHttpApiRoute'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], ], + ], + 'UpdateMcpServer' => [ + 'summary' => '更新MCP server。', + 'path' => '/v1/mcp-servers/{mcpServerId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '280144', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'abilityTreeCode' => '281124', + 'abilityTreeNodes' => ['FEATUREapigatewayMD7H1W'], ], 'parameters' => [ [ - 'name' => 'name', - 'in' => 'path', - 'schema' => [ - 'description' => '密钥名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'my_secret', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', + 'description' => ['description' => '描述', 'type' => 'string', 'required' => false, 'example' => '商品中心服务路由'], + 'domainIds' => [ + 'description' => '域名ID。', + 'type' => 'array', + 'items' => ['description' => '域名ID。', 'type' => 'string', 'required' => false, 'example' => 'd-cr62ts5lhtgln***'], + 'required' => false, + ], + 'match' => ['description' => '路由Match规则。', 'required' => false, '$ref' => '#/components/schemas/HttpRouteMatch'], + 'backendConfig' => [ + 'description' => '路由的后端服务配置。', + 'type' => 'object', + 'properties' => [ + 'scene' => [ + 'description' => '后端服务场景。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['SingleService' => '单一后端服务'], + 'example' => 'SingleService', + ], + 'services' => [ + 'description' => '后端服务。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务。', + 'type' => 'object', + 'properties' => [ + 'protocol' => [ + 'description' => '服务协议:'."\n" + .'- TCP。'."\n" + .'- HTTP。'."\n" + .'- DUBBO。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => ['TCP' => 'TCP协议', 'HTTP' => 'HTTP协议', 'DUBBO' => 'Dubbo协议'], + 'example' => 'HTTP', + ], + 'port' => ['description' => '服务端口, 动态端口不传入。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'weight' => ['description' => '流量比例的百分比值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '49'], + 'serviceId' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-cr6pk4tlhtgm58e***'], + 'version' => ['description' => '服务版本。', 'type' => 'string', 'required' => false, 'example' => 'v1'], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'exposedUriPath' => ['description' => '暴露的URI路径,当protocol为SSE或StreamableHTTP且type为RealMCP时必填', 'type' => 'string', 'required' => false, 'example' => '/sse'], + 'assembledSources' => [ + 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'type' => 'array', + 'items' => [ + 'description' => '组装源列表,当type为AssemblyMCP时必填', + 'type' => 'object', + 'properties' => [ + 'mcpServerName' => ['description' => 'MCP Server名称', 'type' => 'string', 'required' => false, 'example' => 'test-mcp'], + 'mcpServerId' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-afaefaefaf'], + 'tools' => [ + 'description' => 'MCP工具列表', + 'type' => 'array', + 'items' => ['description' => 'MCP工具列表', 'type' => 'string', 'required' => false, 'example' => 'tool-1'], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'mcpStatisticsEnable' => ['description' => '是否启用MCP可观测,默认false', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'type' => [ + 'description' => 'MCP Server类型筛选,可选值:RealMCP、AssemblyMCP', 'type' => 'string', - 'example' => '479AE38F-A574-52F7-87EA-E91199999F9E', + 'required' => true, + 'enumValueTitles' => ['AssemblyMCP' => '组装MCP服务,将多个MCP Server的工具组装为一个MCP Server', 'RealMCP' => 'RealMCP'], + 'example' => 'RealMCP', + 'enum' => ['RealMCP', 'AssemblyMCP'], ], - 'code' => [ - 'description' => '响应状态码。', + 'protocol' => [ + 'description' => 'Protocol(协议类型)'."\n" + .'HTTP: HTTP协议'."\n" + .'HTTPS: HTTPS协议'."\n" + .'SSE: Server-Sent Events协议'."\n" + .'StreamableHTTP: 流式HTTP协议', 'type' => 'string', - 'example' => 'Ok', + 'required' => true, + 'enumValueTitles' => ['SSE' => 'Server-Sent Events,服务端推送流式协议', 'HTTPS' => 'HTTPS协议', 'StreamableHTTP' => '可流式传输的HTTP协议', 'HTTP' => 'HTTP协议'], + 'example' => 'HTTP', + 'enum' => ['HTTP', 'HTTPS', 'SSE', 'StreamableHTTP'], ], - 'message' => [ - 'description' => '响应消息。', + 'createFromType' => [ + 'description' => '创建来源类型'."\n" + ."\n" + .'ApiGatewayHttpToMCP 网关托管HTTP转MCP'."\n" + .'ApiGatewayProxyMcpHosting 网关托管MCP直接代理'."\n" + .'ApiGatewayAssembly 网关MCP组装'."\n" + .'NacosHttpToMCP 网关托管NACOS同步HTTP转MCP'."\n" + .'NacosMcpHosting 网关托管NACOS同步MCP直接代理', 'type' => 'string', - 'example' => 'success', + 'required' => false, + 'enumValueTitles' => ['ApiGatewayHttpToMCP' => '网关托管HTTP转MCP', 'ApiGatewayMcpHosting' => '网关托管MCP', 'ApiGatewayProxyMcpHosting' => '网关托管MCP直接代理', 'ApiGatewayAssembly' => '网关MCP组装', 'NacosHttpToMCP' => ' 网关托管Nacos同步HTTP转MCP', 'NacosMcpHosting' => '网关托管Nacos同步MCP直接代理'], + 'example' => 'ApiGatewayMcpHosting', ], - 'data' => [ - 'description' => '响应数据。', + 'grayMcpServerConfigs' => [ + 'description' => '灰度MCP Server路由配置列表', + 'type' => 'array', + 'items' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'routeId' => ['description' => '路由ID', 'type' => 'string', 'required' => false, 'example' => 'route-123'], + 'match' => ['description' => '路由匹配规则', 'required' => false, '$ref' => '#/components/schemas/HttpRouteMatch'], + 'backendConfig' => [ + 'description' => '后端配置', + 'type' => 'object', + 'properties' => [ + 'scene' => ['description' => '后端场景', 'type' => 'string', 'required' => false, 'example' => 'SingleService'], + 'services' => [ + 'description' => '后端服务列表', + 'type' => 'array', + 'items' => [ + 'description' => 'object', + 'type' => 'object', + 'properties' => [ + 'protocol' => ['description' => '服务协议', 'type' => 'string', 'required' => false, 'example' => 'HTTP'], + 'port' => ['description' => '服务端口', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '8080'], + 'weight' => ['description' => '权重', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + 'serviceId' => ['description' => '服务ID', 'type' => 'string', 'required' => false, 'example' => 'gray-svc-123'], + 'version' => ['description' => '版本号', 'type' => 'string', 'required' => false, 'example' => 'v1'], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + 'required' => false, + ], + ], + 'required' => false, + ], + 'required' => false, + ], + 'mcpServerConfig' => [ + 'description' => 'HTTP转MCP Config', 'type' => 'object', 'properties' => [ - 'secretData' => [ - 'description' => '密钥值。', - 'type' => 'string', - 'example' => 'apikey-xxxxxxxx', - ], + 'swaggerConfig' => ['description' => 'HTTP 转 MCP的swagger文档,需符合3.0规范', 'type' => 'string', 'required' => false, 'example' => 'swagger-content'], + 'mcpServerSpec' => ['description' => 'MCP Server Config配置,与swaggerConfig配置互斥', 'type' => 'string', 'required' => false, 'example' => 'mcp-server-spec-yaml'], ], + 'required' => false, ], ], + 'required' => false, + 'example' => '{\'key\': \'value\'}', + ], + ], + [ + 'name' => 'mcpServerId', + 'in' => 'path', + 'schema' => ['description' => 'MCP Server ID', 'type' => 'string', 'required' => false, 'example' => 'mcp-adfefz24afg'], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '3ACFC7A7-45A9-58CF-B2D5-765B60254695'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3ACFC7A7-45A9-58CF-B2D5-765B60254695\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => '修改MCP Server', + 'description' => '只有类型为**容器服务**的来源允许更新监听Ingress的配置。', + 'changeSet' => [ + ['createdAt' => '2026-01-22T15:19:56.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-12-05T07:15:33.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-11-06T12:37:07.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"479AE38F-A574-52F7-87EA-E91199999F9E\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"secretData\\": \\"apikey-xxxxxxxx\\"\\n }\\n}","type":"json"}]', - 'title' => '获取密钥值', - 'description' => '接口支持创建多个服务。', - ], - 'DeleteSecret' => [ - 'summary' => '删除密钥值。', - 'path' => '/v1/secrets/{secretId}', - 'methods' => [ - 'delete', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdatePluginAttachment' => [ + 'summary' => '更新插件挂载。', + 'path' => '/v1/plugin-attachments/{pluginAttachmentId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'write', + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '280148', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'abilityTreeCode' => '231611', + 'abilityTreeNodes' => ['FEATUREapigateway216K2A', 'FEATUREapigateway2AMEZG', 'FEATUREapigateway3F24ZP'], ], 'parameters' => [ [ - 'name' => 'secretId', + 'name' => 'pluginAttachmentId', 'in' => 'path', + 'schema' => ['description' => '插件挂载ID。', 'type' => 'string', 'required' => false, 'example' => 'pa-cri2uq5lhtgkq0ldllj0'], + ], + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '密钥ID。', - 'type' => 'string', + 'description' => '请求Body。', + 'type' => 'object', + 'properties' => [ + 'attachResourceIds' => [ + 'description' => '挂载点id列表。', + 'type' => 'array', + 'items' => ['description' => '挂载点id。', 'type' => 'string', 'required' => false, 'example' => 'api-axvafaefafxx'], + 'required' => false, + ], + 'pluginConfig' => ['description' => '插件配置原文的base64内容', 'type' => 'string', 'required' => false, 'example' => 'cHJlcGVuZDoKLSByb2xlOiBzeXN0ZW0KICBjb250ZW50OiDor7fkvb/nlKjoi7Hor63lm57nrZTpl67popgKYXBwZW5kOgotIHJvbGU6IHVzZXIKICBjb250ZW50OiDmr4/mrKHlm57nrZTlrozpl67popjvvIzlsJ3or5Xov5vooYzlj43pl64K'], + 'enable' => ['description' => '是否启用。', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + ], 'required' => false, - 'example' => 'sec-d5e6shmm1hkoxxxxxxxxx', ], ], ], @@ -22737,96 +16334,73 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'DD4F1D33-7267-5596-8F5D-C593xxxxxxxx', - ], - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'F330090D-80F8-557B-8610-7EC7E386B4A4'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"DD4F1D33-7267-5596-8F5D-C593xxxxxxxx\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', - 'title' => '删除密钥值', - 'description' => '接口支持创建多个服务。', - ], - 'ListSecretReferences' => [ - 'summary' => '列出密钥引用。', - 'path' => '/v1/secrets/{secretId}/references', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新插件挂载', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdatePluginAttachment'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdatePluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"F330090D-80F8-557B-8610-7EC7E386B4A4\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdatePolicy' => [ + 'path' => '/v2/policies/{policyId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', + 'operationType' => 'update', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '280247', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '262552', + 'abilityTreeNodes' => ['FEATUREapigatewayOZOKBY'], ], 'parameters' => [ [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码,从1开始,不填默认1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'policyId', + 'in' => 'path', + 'schema' => ['description' => '策略id。', 'type' => 'string', 'required' => true, 'example' => 'p-cq7l5s5bblhtgi6qas***'], ], [ - 'name' => 'secretId', - 'in' => 'path', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '密钥ID。', - 'type' => 'string', + 'description' => '请求体参数。', + 'type' => 'object', + 'properties' => [ + 'description' => ['title' => '描述', 'description' => '描述', 'type' => 'string', 'required' => false, 'example' => '这是一条网关超时策略'], + 'config' => ['title' => '策略配置', 'description' => '策略配置', 'type' => 'string', 'required' => true, 'example' => '{"unitNum":1,"timeUnit":"s","enable":true}'], + 'name' => ['title' => '策略名称', 'description' => '策略名称', 'type' => 'string', 'required' => true, 'example' => 'celue-timeout-test'], + ], 'required' => false, - 'example' => 'sec-d5e6shmm1hkoxxxxxxxx', ], ], ], @@ -22837,160 +16411,39 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CE857A85-251D-5018-8103-A38957D71***', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '25', - ], - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'items' => [ - 'description' => '引用详情列表。', - 'type' => 'array', - 'items' => [ - 'description' => '引用详情。', - 'type' => 'object', - 'properties' => [ - 'gatewayId' => [ - 'description' => '网关实例ID', - 'type' => 'string', - 'example' => 'gw-xxxx', - ], - 'resourceType' => [ - 'description' => '资源类型。', - 'type' => 'string', - 'example' => 'Plugin', - ], - 'mcpServerConfig' => [ - 'description' => '引用当前密钥的MCP服务信息。', - 'type' => 'object', - 'properties' => [ - 'routeId' => [ - 'description' => '路由ID。', - 'type' => 'string', - 'example' => 'hr-cv0i5oum1hkhxxxxxxxx', - ], - 'name' => [ - 'description' => '路由名称。', - 'type' => 'string', - 'example' => 'mcp', - ], - 'httpApiId' => [ - 'description' => 'HTTP API ID。', - 'type' => 'string', - 'example' => 'api-d2vv43em201hxxxxxxxx', - ], - ], - ], - 'consumerConfig' => [ - 'description' => '引用当前密钥的消费者信息。', - 'type' => 'object', - 'properties' => [ - 'consumerId' => [ - 'description' => '消费者ID。', - 'type' => 'string', - 'example' => 'cs-d0iltnem1hkhxxxxxxxx', - ], - 'name' => [ - 'description' => '消费者名称。', - 'type' => 'string', - 'example' => 'myconsumer', - ], - ], - ], - 'PluginConfig' => [ - 'description' => '引用当前密钥的插件信息。', - 'type' => 'object', - 'properties' => [ - 'pluginId' => [ - 'description' => '插件ID。', - 'type' => 'string', - 'example' => 'pl-d4ijk56m1hkhxxxxxxxx', - ], - 'name' => [ - 'description' => '插件名称。', - 'type' => 'string', - 'example' => 'oauth', - ], - 'pluginClassId' => [ - 'description' => '插件类型id', - 'type' => 'string', - 'example' => 'pls-xxxxxxxx', - ], - ], - ], - 'ServiceConfig' => [ - 'description' => '引用当前密钥的服务信息。', - 'type' => 'object', - 'properties' => [ - 'serviceId' => [ - 'description' => '服务ID。', - 'type' => 'string', - 'example' => 'svc-cvgbtcmm1hkmxxxxxxxx', - ], - 'name' => [ - 'description' => '服务名称。', - 'type' => 'string', - 'example' => 'myService', - ], - ], - ], - ], - ], - ], - ], - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'C67DED2B-F19B-5BEC-88C1-D6EB854C***'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'title' => '更新策略', + 'summary' => '更新策略。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 25,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"gatewayId\\": \\"gw-xxxx\\",\\n \\"resourceType\\": \\"Plugin\\",\\n \\"mcpServerConfig\\": {\\n \\"routeId\\": \\"hr-cv0i5oum1hkhxxxxxxxx\\",\\n \\"name\\": \\"mcp\\",\\n \\"httpApiId\\": \\"api-d2vv43em201hxxxxxxxx\\"\\n },\\n \\"consumerConfig\\": {\\n \\"consumerId\\": \\"cs-d0iltnem1hkhxxxxxxxx\\",\\n \\"name\\": \\"myconsumer\\"\\n },\\n \\"PluginConfig\\": {\\n \\"pluginId\\": \\"pl-d4ijk56m1hkhxxxxxxxx\\",\\n \\"name\\": \\"oauth\\",\\n \\"pluginClassId\\": \\"pls-xxxxxxxx\\"\\n },\\n \\"ServiceConfig\\": {\\n \\"serviceId\\": \\"svc-cvgbtcmm1hkmxxxxxxxx\\",\\n \\"name\\": \\"myService\\"\\n }\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '列出密钥引用', - 'description' => '接口支持创建多个服务。', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdatePolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"C67DED2B-F19B-5BEC-88C1-D6EB854C***\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', ], 'UpdateSecret' => [ 'summary' => '更新密钥。', 'path' => '/v1/secrets/{secretId}', - 'methods' => [ - 'put', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], @@ -23003,20 +16456,13 @@ 'riskType' => 'none', 'chargeType' => 'free', 'abilityTreeCode' => '280143', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'abilityTreeNodes' => ['FEATUREapigatewayYJE9J7'], ], 'parameters' => [ [ 'name' => 'secretId', 'in' => 'path', - 'schema' => [ - 'description' => '密钥ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'sec-d5e6shmm1hkoxxxxxxxx', - ], + 'schema' => ['description' => '密钥ID。', 'type' => 'string', 'required' => false, 'example' => 'sec-d5e6shmm1hkoxxxxxxxx'], ], [ 'name' => 'body', @@ -23026,12 +16472,7 @@ 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'secretData' => [ - 'description' => '密钥值。', - 'type' => 'string', - 'required' => false, - 'example' => 'apikey-xxxxxxxx', - ], + 'secretData' => ['description' => '密钥值。', 'type' => 'string', 'required' => false, 'example' => 'apikey-xxxxxxxx'], ], 'required' => false, ], @@ -23044,196 +16485,224 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'B01CABA5-9AA1-51A2-A5A7-8BD83BA062F7', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'ID of the request.', 'type' => 'string', 'example' => 'B01CABA5-9AA1-51A2-A5A7-8BD83BA062F7'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应信息。', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B01CABA5-9AA1-51A2-A5A7-8BD83BA062F7\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '更新密钥', 'description' => '只有类型为**容器服务**的来源允许更新监听Ingress的配置。', - ], - 'GetSecret' => [ - 'summary' => '获取密钥。', - 'path' => '/v1/secrets/{secretId}', - 'methods' => [ - 'get', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B01CABA5-9AA1-51A2-A5A7-8BD83BA062F7\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'UpdateService' => [ + 'summary' => '更新服务。支持更新服务健康检查配置, DNS 域名和固定地址的地址配置信息。', + 'path' => '/v1/services/{serviceId}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '280144', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], + 'abilityTreeCode' => '237752', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ - 'name' => 'secretId', + 'name' => 'serviceId', 'in' => 'path', - 'schema' => [ - 'description' => '密钥ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'sec-d5e6shmm1hkoxxxxxxxx', - ], + 'schema' => ['description' => '服务ID。', 'type' => 'string', 'required' => false, 'example' => 'svc-cr6pk4tlhtgm58e***'], ], - ], - 'responses' => [ - 200 => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CE857A85-251D-5018-8103-A38957D71E20', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应信息。', - 'type' => 'string', - 'example' => 'success', + 'addresses' => [ + 'description' => '域名或固定地址列表。', + 'type' => 'array', + 'items' => ['description' => '域名或固定地址。', 'type' => 'string', 'required' => false, 'example' => '127.0.0.1:8080'], + 'required' => false, ], - 'data' => [ - 'description' => '密钥信息。', + 'healthCheckConfig' => [ + 'description' => '服务的健康检查配置。', 'type' => 'object', 'properties' => [ - 'secretId' => [ - 'description' => '密钥ID。', - 'type' => 'string', - 'example' => 'sec-d5e6shmm1hkoxxxxxxxx', - ], - 'name' => [ - 'description' => '名称。', - 'type' => 'string', - 'example' => 'mysecret', - ], - 'secretSource' => [ - 'description' => '密钥来源。', - 'type' => 'string', - 'example' => 'KMS', - ], - 'kmsConfig' => [ - 'description' => 'KMS配置信息。', - '$ref' => '#/components/schemas/KMSConfig', - ], - 'gatewayType' => [ - 'description' => '网关类型,分以下两种:'."\n" - .'- API:表示 API 网关'."\n" - .'- AI: 表示 AI网关', + 'enable' => ['description' => '是否开启服务的健康检查。', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'protocol' => [ + 'description' => '健康检查的协议。', 'type' => 'string', - 'example' => 'API', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1719386834548', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725868548440', + 'required' => false, + 'enumValueTitles' => ['TCP' => 'TCP', 'HTTP' => 'HTTP'], + 'example' => 'HTTP', ], - 'status' => [ - 'description' => '密钥状态:'."\n" - .'- ENALBE: 已启用。'."\n" - .'- DISABLE: 不可用。'."\n" - .'- DELETED: 已删除。', - 'type' => 'string', - 'example' => 'ENALBE', + 'timeout' => ['description' => '健康检查响应超时时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + 'interval' => ['description' => '健康检查间隔时间。单位:秒。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + 'healthyThreshold' => ['description' => '健康检查健康阈值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2'], + 'unhealthyThreshold' => ['description' => '健康检查不健康阈值。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '22'], + 'httpPath' => ['description' => '健康检查的请求路径。当协议为HTTP的时候,需要填写。', 'type' => 'string', 'required' => false, 'example' => '/healthz'], + 'httpHost' => ['description' => '健康检查域名。可选。当协议为HTTP时候,可以配置。', 'type' => 'string', 'required' => false, 'example' => 'dev.itemcener.com'], + 'expectedStatuses' => [ + 'description' => '请求返回正常状态码列表。当协议为HTTP时,需要配置。', + 'type' => 'array', + 'items' => [ + 'description' => '请求返回正常的状态码。', + 'type' => 'string', + 'required' => false, + 'enumValueTitles' => [200 => 'http_2xx', 300 => 'http_3xx', 400 => 'http_4xx', 500 => 'http_5xx'], + 'example' => '200', + ], + 'required' => false, ], - 'referenceCount' => [ - 'description' => '引用当前密钥的资源数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', + ], + 'required' => false, + ], + 'protocol' => ['description' => '服务的协议。', 'type' => 'string', 'required' => false, 'example' => 'HTTP'], + 'aiServiceConfig' => ['description' => 'AI 服务配置', 'required' => false, '$ref' => '#/components/schemas/AiServiceConfig'], + 'agentServiceConfig' => ['description' => 'Agent 服务配置', 'required' => false, '$ref' => '#/components/schemas/AgentServiceConfig'], + 'modelProviderId' => ['description' => '模型供应商ID', 'type' => 'string', 'required' => false, 'example' => 'mp-xxx****'], + 'dnsServers' => [ + 'description' => 'DNS服务地址', + 'type' => 'array', + 'items' => ['description' => 'DNS服务地址', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1'], + 'required' => false, + ], + 'ports' => [ + 'description' => '端口信息。', + 'type' => 'array', + 'items' => [ + 'description' => '端口信息。', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '端口名称', 'type' => 'string', 'required' => false, 'example' => 'catalog'], + 'port' => ['description' => '端口。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], + 'protocol' => ['description' => '协议。', 'type' => 'string', 'required' => false, 'example' => 'TCP|UDP'], ], + 'required' => false, + ], + 'required' => false, + ], + 'healthyPanicThreshold' => ['description' => '健康检查阈值', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '80'], + 'outlierDetectionConfig' => [ + 'description' => '被动健康检查参数配置', + 'type' => 'object', + 'properties' => [ + 'enable' => ['description' => 'enable', 'type' => 'boolean', 'required' => false, 'example' => 'false'], + 'baseEjectionTime' => ['description' => '初始隔离时长,节点被弹出后的初始隔离时长(如 30 秒)。隔离时间计算公式:k * base_ejection_time(k 初始值为1),每次弹出会延长隔离时间(k 加一),若连续检测正常则逐步缩短隔离时间(k 减一)。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], + 'failurePercentageThreshold' => ['description' => '失败率阈值,当某节点失败请求占比达到此阈值,系统将触发该节点的弹出机制。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '80'], + 'failurePercentageMinimumHosts' => ['description' => '恐慌阈值'."\n" + ."\n" + .'当服务中健康节点比例大于恐慌阈值的时候,健康检测正常生效,请求只被发送到健康节点,不发送到被弹出节点;'."\n" + .'当服务中健康节点比例小于等于恐慌阈值的时候,健康检测相当于被禁用,请求被发送到所有节点,包括已被弹出节点。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + 'interval' => ['description' => '检测间隔时间', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '30'], ], + 'required' => false, ], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'B725275B-50C6-5A49-A9FD-F0332FCB3351'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息', 'type' => 'string', 'example' => 'success'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CE857A85-251D-5018-8103-A38957D71E20\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"secretId\\": \\"sec-d5e6shmm1hkoxxxxxxxx\\",\\n \\"name\\": \\"mysecret\\",\\n \\"secretSource\\": \\"KMS\\",\\n \\"kmsConfig\\": {\\n \\"kmsInstanceId\\": \\"\\",\\n \\"kmsKeyId\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"createTimestamp\\": 1719386834548,\\n \\"updateTimestamp\\": 1725868548440,\\n \\"status\\": \\"ENALBE\\",\\n \\"referenceCount\\": 1\\n }\\n}","type":"json"}]', - 'title' => '获取密钥', - 'description' => '接口支持创建多个服务。', - ], - 'CreateSecret' => [ - 'summary' => '生成密钥。', - 'path' => '/v1/secrets', - 'methods' => [ - 'post', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"B725275B-50C6-5A49-A9FD-F0332FCB3351\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + 'title' => '更新服务', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateService'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], ], + ], + 'UpdateServiceVersion' => [ + 'summary' => '更新服务版本', + 'path' => '/v1/services/{serviceId}/versions/{name}', + 'methods' => ['put'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '279325', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '238219', + 'abilityTreeNodes' => ['FEATUREapigatewayNPQVBL'], ], 'parameters' => [ [ + 'name' => 'serviceId', + 'in' => 'path', + 'schema' => ['title' => '服务ID。', 'description' => '服务ID。', 'type' => 'string', 'required' => true, 'example' => 'svc-xxx'], + ], + [ + 'name' => 'name', + 'in' => 'path', + 'schema' => ['title' => '版本名称。', 'description' => '版本名称。', 'type' => 'string', 'required' => true, 'example' => 'v1'], + ], + [ 'name' => 'body', 'in' => 'body', 'style' => 'json', @@ -23241,40 +16710,21 @@ 'description' => '请求Body。', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '密钥名称,支持英文、数字、下划线"_",不超过64个字符。', - 'type' => 'string', - 'required' => false, - 'example' => 'my_secret', - ], - 'description' => [ - 'description' => '密钥描述。', - 'type' => 'string', - 'required' => false, - 'example' => 'test', - ], - 'kmsConfig' => [ - 'description' => 'KMS密钥配置信息。', - 'required' => false, - '$ref' => '#/components/schemas/KMSConfig', - ], - 'gatewayType' => [ - 'description' => '网关类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'API', - ], - 'secretSource' => [ - 'description' => '密钥来源。', - 'type' => 'string', - 'required' => false, - 'example' => 'KMS', - ], - 'secretData' => [ - 'description' => 'KMS凭据值。', - 'type' => 'string', - 'required' => false, - 'example' => 'apikey-123456xxxxxxxx', + 'labels' => [ + 'title' => '标签列表。', + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'title' => '单个标签配置。', + 'description' => '单个标签配置。', + 'type' => 'object', + 'properties' => [ + 'key' => ['title' => '标签键。', 'description' => '标签键。', 'type' => 'string', 'required' => true, 'example' => 'topology.kubernetes.io/zone'], + 'value' => ['title' => '标签值。', 'description' => '标签值。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-k'], + ], + 'required' => false, + ], + 'required' => true, ], ], 'required' => false, @@ -23285,341 +16735,2481 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '响应。', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'CFF809D7-045D-502F-BF6C-947Exxxxxxxx', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '错误详情。', - 'type' => 'string', - 'example' => 'Failed to upload data. Please try again', - ], - 'data' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'secretId' => [ - 'description' => '密钥ID。', - 'type' => 'string', - 'example' => 'sec-d5e6shmm1hkoxxxxxxxx', - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => 'A60EE5CA-1294-532A-9775-8D2FD1C6EFBF'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Ok'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"CFF809D7-045D-502F-BF6C-947Exxxxxxxx\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"Failed to upload data. Please try again\\",\\n \\"data\\": {\\n \\"secretId\\": \\"sec-d5e6shmm1hkoxxxxxxxx\\"\\n }\\n}","type":"json"}]', - 'title' => '生成密钥', - ], - 'ListSecrets' => [ - 'summary' => '列出密钥。', - 'path' => '/v1/secrets', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"A60EE5CA-1294-532A-9775-8D2FD1C6EFBF\\",\\n \\"message\\": \\"success\\",\\n \\"code\\": \\"Ok\\"\\n}","type":"json"}]', + 'title' => '更新服务版本', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateServiceVersion'], + ], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateServiceVersion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], ], + ], + 'UpgradeGateway' => [ + 'path' => '/v1/gateways/{gatewayId}/upgrade', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '280145', - 'abilityTreeNodes' => [ - 'FEATUREapigatewayYJE9J7', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREapigatewayUWNKMC'], ], 'parameters' => [ [ - 'name' => 'nameLike', - 'in' => 'query', - 'schema' => [ - 'description' => '密钥名称,模糊搜索。', - 'type' => 'string', - 'required' => false, - 'example' => 'my_secret', - ], - ], - [ - 'name' => 'pageNumber', - 'in' => 'query', - 'schema' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '分页大小,有效范围[1, 100],不填默认10。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'name' => 'gatewayId', + 'in' => 'path', + 'schema' => ['description' => '网关ID。', 'type' => 'string', 'required' => false, 'example' => 'gw-cq2avtllh****'], ], [ - 'name' => 'gatewayType', + 'name' => 'version', 'in' => 'query', - 'schema' => [ - 'description' => '网关类型过滤,目前支持**AI**、**API**两种网关类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'AI', - ], + 'schema' => ['description' => '网关版本。', 'type' => 'string', 'required' => false, 'example' => '2.0.2'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '3A3D1392-0F71-5A10-9AE8-89C434696966', - ], - 'code' => [ - 'description' => '响应状态码。', - 'type' => 'string', - 'example' => 'Ok', - ], - 'message' => [ - 'description' => '响应消息,', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '密钥信息列表。', - 'type' => 'object', - 'properties' => [ - 'totalSize' => [ - 'description' => '总数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'pageNumber' => [ - 'description' => '分页页码。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], - 'pageSize' => [ - 'description' => '分页大小。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '10', - ], - 'items' => [ - 'description' => '密钥详情列表。', - 'type' => 'array', - 'items' => [ - 'description' => '密钥详情。', - 'type' => 'object', - 'properties' => [ - 'secretId' => [ - 'description' => '密钥ID。', - 'type' => 'string', - 'example' => 'sec-d5e6shmm1hkoxxxxxxxx', - ], - 'name' => [ - 'description' => '密钥名称。', - 'type' => 'string', - 'example' => 'my_secret', - ], - 'secretSource' => [ - 'description' => '密钥来源。', - 'type' => 'string', - 'example' => 'KMS', - ], - 'createTimestamp' => [ - 'description' => '创建时间戳。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725617840096', - ], - 'updateTimestamp' => [ - 'description' => '更新时间戳。单位: 毫秒。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1721116090326', - ], - 'kmsConfig' => [ - 'description' => 'KMS配置信息。', - '$ref' => '#/components/schemas/KMSConfig', - ], - 'gatewayType' => [ - 'description' => '网关类型。', - 'type' => 'string', - 'example' => 'API', - ], - 'status' => [ - 'description' => '密钥状态:'."\n" - .'- ENABLE:已启用;'."\n" - .'- DISABLE:不可用;'."\n" - .'- DELETED:已删除。', - 'type' => 'string', - 'example' => 'ENABLE', - ], - 'referenceCount' => [ - 'description' => '引用当前密钥的资源数量。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '3', - ], - ], - ], - ], - ], - ], + 'requestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '043360DA-ED3B-5386-9B7A-D94DECF99A30'], + 'code' => ['description' => '响应状态码。', 'type' => 'string', 'example' => 'Ok'], + 'message' => ['description' => '响应消息。', 'type' => 'string', 'example' => 'success'], ], + 'description' => '', ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '升级网关', + 'summary' => '升级网关版本。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpgradeGateway'], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"3A3D1392-0F71-5A10-9AE8-89C434696966\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"totalSize\\": 10,\\n \\"pageNumber\\": 1,\\n \\"pageSize\\": 10,\\n \\"items\\": [\\n {\\n \\"secretId\\": \\"sec-d5e6shmm1hkoxxxxxxxx\\",\\n \\"name\\": \\"my_secret\\",\\n \\"secretSource\\": \\"KMS\\",\\n \\"createTimestamp\\": 1725617840096,\\n \\"updateTimestamp\\": 1721116090326,\\n \\"kmsConfig\\": {\\n \\"kmsInstanceId\\": \\"\\",\\n \\"kmsKeyId\\": \\"\\"\\n },\\n \\"gatewayType\\": \\"API\\",\\n \\"status\\": \\"ENABLE\\",\\n \\"referenceCount\\": 3\\n }\\n ]\\n }\\n}","type":"json"}]', - 'title' => '列出密钥', - 'description' => '接口支持创建多个服务。', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpgradeGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"043360DA-ED3B-5386-9B7A-D94DECF99A30\\",\\n \\"code\\": \\"Ok\\",\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'ap-southeast-2', 'regionName' => '澳大利亚(悉尼)已关停', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-southeast-2.aliyuncs.com', 'endpoint' => 'apig.ap-southeast-2.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-southeast-6.aliyuncs.com', 'endpoint' => 'apig.ap-southeast-6.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-southeast-7.aliyuncs.com', 'endpoint' => 'apig.ap-southeast-7.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-guangzhou.aliyuncs.com', 'endpoint' => 'apig.cn-guangzhou.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-heyuan', 'regionName' => '华南2(河源)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-heyuan.aliyuncs.com', 'endpoint' => 'apig.cn-heyuan.aliyuncs.com', 'vpc' => ''], + ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-shenzhen.aliyuncs.com', 'endpoint' => 'apig.cn-shenzhen.aliyuncs.com', 'vpc' => 'apig-vpc.cn-shenzhen.aliyuncs.com'], + ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'apig.cn-wulanchabu.aliyuncs.com', 'vpc' => 'apig-vpc.cn-wulanchabu.aliyuncs.com'], + ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-beijing.aliyuncs.com', 'endpoint' => 'apig.cn-beijing.aliyuncs.com', 'vpc' => 'apig-vpc.cn-beijing.aliyuncs.com'], + ['regionId' => 'ap-northeast-2', 'regionName' => '韩国(首尔)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-northeast-2.aliyuncs.com', 'endpoint' => 'apig.ap-northeast-2.aliyuncs.com', 'vpc' => 'apig-vpc.ap-northeast-2.aliyuncs.com'], + ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-northeast-1.aliyuncs.com', 'endpoint' => 'apig.ap-northeast-1.aliyuncs.com', 'vpc' => 'apig-vpc.ap-northeast-1.aliyuncs.com'], + ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-chengdu.aliyuncs.com', 'endpoint' => 'apig.cn-chengdu.aliyuncs.com', 'vpc' => 'apig-vpc.cn-chengdu.aliyuncs.com'], + ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-qingdao.aliyuncs.com', 'endpoint' => 'apig.cn-qingdao.aliyuncs.com', 'vpc' => 'apig-vpc.cn-qingdao.aliyuncs.com'], + ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-shanghai.aliyuncs.com', 'endpoint' => 'apig.cn-shanghai.aliyuncs.com', 'vpc' => 'apig-vpc.cn-shanghai.aliyuncs.com'], + ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-hongkong.aliyuncs.com', 'endpoint' => 'apig.cn-hongkong.aliyuncs.com', 'vpc' => 'apig-vpc.cn-hongkong.aliyuncs.com'], + ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-southeast-1.aliyuncs.com', 'endpoint' => 'apig.ap-southeast-1.aliyuncs.com', 'vpc' => 'apig-vpc.ap-southeast-1.aliyuncs.com'], + ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-southeast-3.aliyuncs.com', 'endpoint' => 'apig.ap-southeast-3.aliyuncs.com', 'vpc' => 'apig-vpc.ap-southeast-3.aliyuncs.com'], + ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.ap-southeast-5.aliyuncs.com', 'endpoint' => 'apig.ap-southeast-5.aliyuncs.com', 'vpc' => 'apig-vpc.ap-southeast-5.aliyuncs.com'], + ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'apig.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'apig-vpc.cn-zhangjiakou.aliyuncs.com'], + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'apig.cn-hangzhou.aliyuncs.com', 'endpoint' => 'apig.cn-hangzhou.aliyuncs.com', 'vpc' => 'apig-vpc.cn-hangzhou.aliyuncs.com'], + ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'apig.us-west-1.aliyuncs.com', 'endpoint' => 'apig.us-west-1.aliyuncs.com', 'vpc' => 'apig-vpc.us-west-1.aliyuncs.com'], + ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'apig.us-east-1.aliyuncs.com', 'endpoint' => 'apig.us-east-1.aliyuncs.com', 'vpc' => 'apig-vpc.us-east-1.aliyuncs.com'], + ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'apig.eu-central-1.aliyuncs.com', 'endpoint' => 'apig.eu-central-1.aliyuncs.com', 'vpc' => 'apig-vpc.eu-central-1.aliyuncs.com'], + ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'apig.eu-west-1.aliyuncs.com', 'endpoint' => 'apig.eu-west-1.aliyuncs.com', 'vpc' => 'apig-vpc.eu-west-1.aliyuncs.com'], + ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'apig.me-east-1.aliyuncs.com', 'endpoint' => 'apig.me-east-1.aliyuncs.com', 'vpc' => 'apig-vpc.me-east-1.aliyuncs.com'], + ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'apig.me-central-1.aliyuncs.com', 'endpoint' => 'apig.me-central-1.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'APIG.ErrorCode.Forbidden', 'message' => 'Not allowed to perform the operation.', 'http_code' => 403, 'description' => '操作禁止,无操作权限。'], + ['code' => 'APIG.ErrorCode.InternalError', 'message' => 'Internal error.', 'http_code' => 500, 'description' => '系统内部错误'], + ['code' => 'Conflict.ApiDebugProtocolMismatch', 'message' => 'Domain %s protocol mismatch, got: %s, want: %s.', 'http_code' => 409, 'description' => '域名%s支持的协议与调试请求的协议不匹配,调试协议为%s,域名支持的协议为%s。'], + ['code' => 'Conflict.ApiNameDuplicated', 'message' => 'API name %s duplicated.', 'http_code' => 409, 'description' => 'API%s已存在,请修改名称。'], + ['code' => 'Conflict.ApiOperationQuotaExceed', 'message' => 'The number of operations per api cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '每个 API 的 Operation 数量不能超过 %s 个,当前数量为 %s,请提升您的配额。'], + ['code' => 'Conflict.ApiPublishDuplicatedPathFound', 'message' => 'Duplicated path found, key: %s, apiId: %s ,operationId: %s, environmentId: %s, conflict domains: %s.', 'http_code' => 409, 'description' => 'API路径冲突,冲突键为%s,冲突的API ID为%s,接口 ID为%s,环境 ID为%s,冲突的域名为%s。'], + ['code' => 'Conflict.ApiPublished', 'message' => 'API %s is published in %s.', 'http_code' => 409, 'description' => 'API:%s已经被发布到环境:%s,请先取消发布。'], + ['code' => 'Conflict.ApiPublishServiceTypeNotSupported', 'message' => 'Service type %s is not supported.', 'http_code' => 409, 'description' => '不支持的服务类型:%s,请检查您的配置。'], + ['code' => 'Conflict.ApiVersionDuplicated', 'message' => 'API version %s duplicated.', 'http_code' => 409, 'description' => 'API版本%s,已存在,请更换版本号。'], + ['code' => 'Conflict.ApiVersionMustEnabled', 'message' => 'API has more than one version, can not disable version.', 'http_code' => 409, 'description' => 'API已存在多个版本,不能关闭版本管理功能。'], + ['code' => 'Conflict.AppClusterIsAlreadyInChanging', 'message' => 'App cluster is already in changing. Retry after some minutes.', 'http_code' => 409, 'description' => '网关实例正在变更中,请稍后重试操作。'], + ['code' => 'Conflict.ConsumerAuthorizationForbidden', 'message' => 'Consumer has authorized to resource %s.', 'http_code' => 409, 'description' => '消费者已授权资源%s,请勿重复授权。'], + ['code' => 'Conflict.DebugRequestFailed', 'message' => 'Create debug request for %s failed, please check httpApi / gatewayRoute / ingressRoute settings.', 'http_code' => 409, 'description' => '创建调试请求失败,请检查您的配置,请求URL为:%s。'], + ['code' => 'Conflict.DeleteHttpApiForbidden', 'message' => 'The current API %s has already deployments of routes and cannot be deleted.', 'http_code' => 409, 'description' => '当前API %s 存在已经%s个部署的路由, 不能删除。'], + ['code' => 'Conflict.DeleteRouteForbidden', 'message' => 'The route %s cannot be deleted when its status is %s.', 'http_code' => 409, 'description' => '路由%s 状态为%s,不允许删除。'], + ['code' => 'Conflict.DeployRouteForbidden', 'message' => 'The route %s cannot be deployed when its status is %s.', 'http_code' => 409, 'description' => '路由%s状态为%s,不允许部署。'], + ['code' => 'Conflict.DomainCannotDelete', 'message' => 'Domain %s has online api or route, can not delete.', 'http_code' => 409, 'description' => '域名%s还存在关联的已发布API或路由,无法删除,请下线相关资源后再执行操作。'], + ['code' => 'Conflict.DomainExisted', 'message' => 'Domain %s is existed.', 'http_code' => 409, 'description' => '域名%s已存在。'], + ['code' => 'Conflict.DomainQuotaPerGatewayExceed', 'message' => 'The number of bound domain per gateway cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '单个网关关联域名数量不能超过%s,当前数量为%s,请提升您的配额。'], + ['code' => 'Conflict.EnvironmentCannotDelete', 'message' => 'Environment %s has online api, can not delete.', 'http_code' => 409, 'description' => '环境%s存在关联的已发布的API或路由,无法删除,请下线相关资源后再执行操作。'], + ['code' => 'Conflict.EnvironmentExisted', 'message' => 'Environment %s is existed.', 'http_code' => 409, 'description' => '已经存在名称为%s的环境,请更换环境名称。'], + ['code' => 'Conflict.EnvironmentGatewayNotReady', 'message' => 'The gateway %s in the environment %s is not ready, please wait for the gateway to be ready before proceeding.', 'http_code' => 409, 'description' => '环境 %s 里的网关 %s 未就绪,请等网关就绪后再操作。'], + ['code' => 'Conflict.EnvironmentPublishing', 'message' => 'Environment %s is publishing, please retry later.', 'http_code' => 409, 'description' => '环境%s正处于发布中,请稍后重试。'], + ['code' => 'Conflict.Fc2NotSupported', 'message' => 'The FC integration solution has been upgraded. Please re-create the FC service before publishing the API/route.', 'http_code' => 409, 'description' => 'FC集成方案已升级,请重新创建FC服务后再发布API/路由。'], + ['code' => 'Conflict.GatewayEnvironmentLimitExceeded', 'message' => 'The number of environment per gateway cannot exceed %s, current: %s.', 'http_code' => 409, 'description' => '每个网关关联的环境不应超过%s个,当前为%s个,请提升您的配额。'."\n"], + ['code' => 'Conflict.GatewayIsDeleted', 'message' => 'The gateway %s is deleted.', 'http_code' => 409, 'description' => '网关%s已删除。'], + ['code' => 'Conflict.GatewayNotSupportedWAF', 'message' => 'The gateway %s does not support enabling WAF protection. Please upgrade to a version of the gateway that supports it.', 'http_code' => 409, 'description' => '网关%s不支持开启WAF防护,请升级到支持的网关版本。'], + ['code' => 'Conflict.GatewayStatusInvalidForbidden', 'message' => 'The operation is not allowed in the current gateway status. Wait until the gateway is in the running state and try again.', 'http_code' => 409, 'description' => '网关当前不支持操作,请等网关正常运行时再做操作。'], + ['code' => 'Conflict.GatewayStatusNotExpected', 'message' => 'The status of the gateway %s is not the expected status %s.', 'http_code' => 409, 'description' => '网关的状态%s不是期望的状态%s。'], + ['code' => 'Conflict.HttpApiTypeNotSupportedForRoute', 'message' => 'Only APIs of type Http, HttpIngress, and Websocket support route.', 'http_code' => 409, 'description' => '只有类型为Http, HttpIngress, Websocket的API支持路由。'], + ['code' => 'Conflict.HttpIngressApiExistedWhenDeleteSource', 'message' => 'The service source is used by http ingress api, please delete the corresponding HTTP Ingress API before removing the service source. The associated HTTP Ingress API ID is %s.', 'http_code' => 409, 'description' => '存在http ingress api使用该来源,请先删除对应http ingress api后再删除服务来源,关联的http ingress api ID为%s。'], + ['code' => 'Conflict.K8sServiceSourceExisted', 'message' => 'The k8s service source of %s is existed.', 'http_code' => 409, 'description' => '网关已存在%s集群的K8s服务来源。'], + ['code' => 'Conflict.K8sServiceSourceLimitExceeded', 'message' => 'The number of k8s service source per gateway cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '单个网关的K8s服务来源数量不能超过%s,当前数量为%s,请提升您的配额。'], + ['code' => 'Conflict.OnlineOperationQuotaPerGatewayExceed', 'message' => 'The number of online operation per gateway cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '单个网关在线接口数量不能超过%s,当前数量为%s,请提升您的配额。'], + ['code' => 'Conflict.OperationNameDuplicated', 'message' => 'Operation name %s duplicated.', 'http_code' => 409, 'description' => '接口%s已存在,请修改名称。'], + ['code' => 'Conflict.OperationQuotaExceed', 'message' => 'The number of operations per region cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '接口总数量不能超过%s,当前数量为%s,请提升您的配额。'], + ['code' => 'Conflict.OssRequestError', 'message' => 'Failed to access OSS, please check the parameter configuration or your account RAM permissions.', 'http_code' => 409, 'description' => '访问OSS失败,请检查参数配置或您的账户RAM权限'], + ['code' => 'Conflict.PluginClassNotReady', 'message' => 'Plugin class %s is not ready.', 'http_code' => 409, 'description' => '插件%s尚未就绪,请稍后重试安装。'], + ['code' => 'Conflict.PluginCountExceed', 'message' => 'Plugin count exceed %s.', 'http_code' => 409, 'description' => '插件数量超过配额,当前插件数量为%s个。'], + ['code' => 'Conflict.PluginHasAttachedRule', 'message' => 'Plugin %s is using. Please check api/operation/route/domain/gateway whether config enabled plugin rule, stop these plugin rules and retry.', 'http_code' => 409, 'description' => '插件%s 可能在API/接口、路由、域名或网关实例上开启,无法卸载,请检查并停用对应资源上的插件规则再试。'], + ['code' => 'Conflict.PluginInstalled', 'message' => 'Plugin class %s installed, you must uninstall first.', 'http_code' => 409, 'description' => '插件%s已安装到网关实例,请先卸载相关网关实例的插件再进行删除。'], + ['code' => 'Conflict.PluginInstallGatewayNotReady', 'message' => 'Gateway %s is not ready.', 'http_code' => 409, 'description' => '网关实例%s状态未就绪,请稍后再安装插件。'], + ['code' => 'Conflict.PluginNameExisted', 'message' => 'Plugin name %s existed.', 'http_code' => 409, 'description' => '插件%s已存在,请修改名称。'], + ['code' => 'Conflict.PluginOtherVersionInstalled', 'message' => 'Plugin class %s version %s installed, you must uninstall old version first.', 'http_code' => 409, 'description' => '插件%s的%s版本已经安装,请先卸载后再重试。'], + ['code' => 'Conflict.PluginPublishSameVersion', 'message' => 'Plugin %s version %s has been published.', 'http_code' => 409, 'description' => '插件%s的%s版本已发布,请勿重复发布。'], + ['code' => 'Conflict.PluginPublishVersionOnlyIncrement', 'message' => 'Plugin %s version %s must be larger than history version.', 'http_code' => 409, 'description' => '插件%s的版本%s不合法,版本只能向上递增,并超过所有历史版本。'], + ['code' => 'Conflict.PluginWasmFileIllegal', 'message' => 'Plugin wasm file %s illegal.', 'http_code' => 409, 'description' => '插件WASM文件非法,文件名为%s。'], + ['code' => 'Conflict.PolicyAttachExceedLimit', 'message' => 'Resource can not attach 2 same class policy.', 'http_code' => 409, 'description' => '一个资源上不能挂两个相同类型的策略。'], + ['code' => 'Conflict.PolicyExisted', 'message' => 'Policy %s is existed.', 'http_code' => 409, 'description' => '策略%s已存在,无法重复启用。'], + ['code' => 'Conflict.RouteBackServiceProtocolNotSupported', 'message' => 'The route currently does not support the service protocol %s.', 'http_code' => 409, 'description' => '路由暂时不支持服务协议%s。'], + ['code' => 'Conflict.RouteNameDuplicated', 'message' => 'Route name %s is duplicated.', 'http_code' => 409, 'description' => '路由%s已存在,请修改名称。'], + ['code' => 'Conflict.RouteQuotaPerGatewayExceed', 'message' => 'The number of route per gateway cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '单个网关的路由数量不能超过%s,当前数量为%s,请提升您的配额。'], + ['code' => 'Conflict.SdkGenerating', 'message' => 'SDK is generating, please retry later.', 'http_code' => 409, 'description' => 'SDK生成中,请稍后重试。'], + ['code' => 'Conflict.SecurityGroupRulesLimitExceeded', 'message' => 'The security group rule ports count cannot be greater than 5.', 'http_code' => 409, 'description' => '网关的安全组规则数量不能超过5条。'], + ['code' => 'Conflict.ServiceExisted', 'message' => 'the service %s is existed.', 'http_code' => 409, 'description' => '已存在名为%s的服务,请修改服务名称。'], + ['code' => 'Conflict.ServiceIsReferencedWhenDelete', 'message' => 'There are other resources referencing this service. Please unbind it before deleting the service. The associated resources are %s.', 'http_code' => 409, 'description' => '存在其他资源引用此服务,请先解绑后再删除服务,关联的资源为%s。'], + ['code' => 'Conflict.ServiceQuotaPerGatewayExceed', 'message' => 'The number of service per gateway cannot exceed %s. Current: %s.', 'http_code' => 409, 'description' => '单个网关的服务数量不能超过%s,当前数量为%s,请提升您的配额。'], + ['code' => 'Conflict.ServicesExistedWhenDeleteSource', 'message' => 'The service source is used by services %s.', 'http_code' => 409, 'description' => '服务来源还存在服务,请先删除对应服务后再删除服务来源,关联的服务ID为%s。'], + ['code' => 'Conflict.ServiceSourceUpdateIsDisabled', 'message' => 'The service source is allowed to update when it\'s type must be K8S.', 'http_code' => 409, 'description' => '仅允许修改K8s类型的服务来源。'], + ['code' => 'Conflict.ServiceUpdateIsDisabled', 'message' => 'The service is allowed to update when it\'s source type must be DNS or VIP.', 'http_code' => 409, 'description' => '仅允许修改DNS和固定地址类的服务。'], + ['code' => 'Conflict.ServiceVersionExisted', 'message' => 'Service version %s already exists, please change the service version name.', 'http_code' => 409, 'description' => '服务版本 %s 已存在,请更换服务版本名称。'], + ['code' => 'Conflict.SourceExistedWhenCreateIngressApi', 'message' => 'The service source %s is already being used by another HTTP Ingress API. Please use a different service source to create the HTTP Ingress API.', 'http_code' => 409, 'description' => '该服务来源 %s已经被其他HTTP Ingress API使用,请使用其他的服务来源来创建HTTP Ingress API。'], + ['code' => 'Conflict.UndeployRouteForbidden', 'message' => 'Route %s cannot be updeployed when its status is %s.', 'http_code' => 409, 'description' => '路由%s 状态为%s, 不允许取消部署。'], + ['code' => 'Conflict.UpdateRouteEnvironmentForbidden', 'message' => 'The route %s cannot be allowed to change the environment when its status is %s.', 'http_code' => 409, 'description' => '当前路由%s状态为%s不允许更改环境。如需修改,可以先将路由部署,待完成后再更换环境。'], + ['code' => 'Conflict.UpdateRouteForbidden', 'message' => 'The route %s cannot be updated when its status is %s.', 'http_code' => 409, 'description' => '路由 %s 状态为 %s, 不允许更新。'], + ['code' => 'Conflict.WafAttachConditionNotMatch', 'message' => 'WAF should be enabled on gateway instance first.', 'http_code' => 409, 'description' => '您必须先在网关实例启用WAF后才能配置WAF策略。'], + ['code' => 'InvalidParameter.ConsumerAkLengthExceed', 'message' => 'Consumer AK length can not exceed %s. Current %s.', 'http_code' => 400, 'description' => '消费者AK长度超限,不能超过%s,当前%s。'], + ['code' => 'InvalidParameter.ConsumerApiKeyLengthExceed', 'message' => 'Consumer ApiKey length can not exceed %s. Current %s.', 'http_code' => 400, 'description' => '消费者ApiKey长度超限,限制%s,当前%s。'], + ['code' => 'InvalidParameter.ConsumerNameExceedLimit', 'message' => 'Consumer name length can not exceed 64 characters, now %s.', 'http_code' => 400, 'description' => '消费者名称长度不能超过64个字符,现在 %s。'], + ['code' => 'InvalidParameter.ConsumerNameStartOrEndFormatIllegal', 'message' => 'consumer name must start and end with an alphanumeric character, now %s.', 'http_code' => 400, 'description' => '消费者名称必须以字母或者数字开头或者结尾,当前%s。'], + ['code' => 'InvalidParameter.ConsumerSkLengthExceed', 'message' => 'Consumer SK length can not exceed %s. Current %s.', 'http_code' => 400, 'description' => '消费者sk长度超限,限制长度%s,当前%s。'], + ['code' => 'InvalidParameter.DomainNameExceedLimit', 'message' => 'Domain name length can not exceed 128 characters, now %s.', 'http_code' => 400, 'description' => '域名长度为%s,超过长度限制,最大允许的域名长度为128位。'], + ['code' => 'InvalidParameter.EnvironmentAliasLengthExceedUpLimit', 'message' => 'Environment alias can not exceed than 50 characters, now %s.', 'http_code' => 409, 'description' => '当前环境别名长度为%s,至多应不超过50个字符。'], + ['code' => 'InvalidParameter.EnvironmentAliasStartOrEndFormatIllegal', 'message' => 'Environment alias must start with an alphanumeric or Chinese character, now %s.', 'http_code' => 400, 'description' => '环境别名:%s不合法,应当以字母或汉字作为环境别名的开头。'], + ['code' => 'InvalidParameter.EnvironmentFormatIllegal', 'message' => 'Environment name can only contain alphanumeric characters, dashes, dots, now %s.', 'http_code' => 400, 'description' => '环境名称:%s不合法,应当仅包含字母,数字,点号与中划线。'], + ['code' => 'InvalidParameter.EnvironmentNameStartOrEndFormatIllegal', 'message' => 'Environment name must start and end with an alphanumeric character, now %s.', 'http_code' => 400, 'description' => '环境名称:%s不合法,应当以字母和数字作为环境名称的开头与结尾。'], + ['code' => 'InvalidParameter.FailToBindBody', 'message' => 'Fail to bind body.', 'http_code' => 400, 'description' => '解析请求内容失败,请检查参数数据类型是否有误。'], + ['code' => 'InvalidParameter.HttpApiTypeNotSupported', 'message' => 'The HTTP API type %s is not supported.', 'http_code' => 400, 'description' => 'HTTP API类型%s不支持。'], + ['code' => 'InvalidParameter.HttpTriggerRequired', 'message' => 'Function %s version %s doesn\'t have a http trigger.', 'http_code' => 400, 'description' => '函数%s/%s没有配置HTTP触发器,无法作为API和路由的后端服务,请为函数添加HTTP触发器。'], + ['code' => 'InvalidParameter.InvalidGatewaySpecification', 'message' => 'The specification for upgrading or downgrading is invalid. Please make a different selection.', 'http_code' => 400, 'description' => '升配或降配的配置不合法,请重新选择。'], + ['code' => 'InvalidParameter.IsEmpty', 'message' => 'Required parameter should not be empty.', 'http_code' => 400, 'description' => '必填参数为空'], + ['code' => 'InvalidParameter.OasSpecParseFailed', 'message' => 'OpenAPI Schema parse failed, due to %s.', 'http_code' => 400, 'description' => 'OpenAPI定义解析失败,失败原因为:%s。'], + ['code' => 'InvalidParameter.PluginNameExist', 'message' => 'The plugin name already exists.', 'http_code' => 400, 'description' => '已存在同名的插件。'], + ['code' => 'InvalidParameter.PolicyNotSupportedType', 'message' => 'Not supported global policy type %s.', 'http_code' => 400, 'description' => '%s不是被支持的全局策略类型。'], + ['code' => 'InvalidParameter.RouteConfigHostnamesIsEmpty', 'message' => 'The parameter is not valid, the domain list cannot be empty.', 'http_code' => 400, 'description' => '参数不合法,域名列表不能为空。'], + ['code' => 'InvalidParameter.SwaggerSpecParseFailed', 'message' => 'Swagger definition parse failed, due to %s.', 'http_code' => 400, 'description' => 'Swagger定义解析失败,失败原因为:%s。'], + ['code' => 'InvalidParameter.WithDetail', 'message' => 'Invalid parameter value.', 'http_code' => 400, 'description' => '无效的请求参数'], + ['code' => 'NotFound.CsClusterNotFound', 'message' => 'CS cluster %s is not found.', 'http_code' => 404, 'description' => '容器服务集群%s不存在,请检查配置。'], + ['code' => 'NotFound.EnvironmentNotFound', 'message' => 'Environment %s is not found.', 'http_code' => 404, 'description' => '环境%s不存在,请检查请求参数。'], + ['code' => 'NotFound.GatewayNotFound', 'message' => 'Gateway %s is not found.', 'http_code' => 404, 'description' => '您所查询的网关实例不存在,实例ID:%s。'], + ['code' => 'NotFound.GatewayVersionNotConfig', 'message' => 'The gateway version is not configured.', 'http_code' => 404, 'description' => '未找到网关版本的配置。'], + ['code' => 'NotFound.SAEK8SServiceNotFound', 'message' => 'The SAE K8S service %s in the namespace %s is not found.', 'http_code' => 404, 'description' => 'SAE K8S Service %s不存在,命名空间为%s。'], + ['code' => 'NotFound.ServiceNotFound', 'message' => 'The service %s is not found.', 'http_code' => 404, 'description' => '未找到指定的服务,ID为%s。'], + ['code' => 'NotFound.ServiceSourceNotFound', 'message' => 'The service source %s is not found.', 'http_code' => 404, 'description' => '未找到指定的服务来源,ID为%s。'], + ['code' => 'NotFound.ServiceVersionNotFound', 'message' => 'Service version %s not found, please confirm that the service version name is correct.', 'http_code' => 404, 'description' => '服务版本 %s 未找到,请确认服务版本名称正确。'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ['description' => '响应参数发生变更', 'api' => 'GetDomain'], + ['description' => '响应参数发生变更', 'api' => 'GetSource'], + ['description' => '请求参数发生变更', 'api' => 'ListDomains'], + ], + 'createdAt' => '2026-06-17T12:21:00.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DescribeRegions'], + ], + 'createdAt' => '2026-06-15T11:25:57.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ImportHttpApi'], + ], + 'createdAt' => '2026-06-12T06:34:03.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetMcpServer'], + ], + 'createdAt' => '2026-06-05T07:27:11.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApiRoutes'], + ], + 'createdAt' => '2026-05-14T01:54:54.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'DeployHttpApi'], + ], + 'createdAt' => '2026-04-21T08:48:07.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApiRoute'], + ], + 'createdAt' => '2026-04-08T11:26:30.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ExportHttpApi'], + ], + 'createdAt' => '2026-04-02T09:33:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ImportHttpApi'], + ], + 'createdAt' => '2026-03-25T04:56:38.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ], + 'createdAt' => '2026-02-12T06:44:00.000Z', + 'description' => '', + ], [ - 'regionId' => 'cn-qingdao', - 'endpoint' => 'apig.cn-qingdao.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ], + 'createdAt' => '2026-02-11T08:31:03.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-beijing', - 'endpoint' => 'apig.cn-beijing.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'DeployHttpApi'], + ], + 'createdAt' => '2026-02-09T13:46:32.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-zhangjiakou', - 'endpoint' => 'apig.cn-zhangjiakou.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateService'], + ], + 'createdAt' => '2026-01-30T08:26:16.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-wulanchabu', - 'endpoint' => 'apig.cn-wulanchabu.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApiRoute'], + ], + 'createdAt' => '2026-01-30T06:04:27.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'apig.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetConsumer'], + ], + 'createdAt' => '2026-01-23T09:12:56.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shanghai', - 'endpoint' => 'apig.cn-shanghai.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateMcpServer'], + ['description' => '请求参数发生变更', 'api' => 'UpdateMcpServer'], + ], + 'createdAt' => '2026-01-22T15:20:19.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-shenzhen', - 'endpoint' => 'apig.cn-shenzhen.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApiRoute'], + ], + 'createdAt' => '2026-01-12T10:56:39.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-heyuan', - 'endpoint' => 'apig.cn-heyuan.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateService'], + ], + 'createdAt' => '2025-12-25T08:40:25.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-guangzhou', - 'endpoint' => 'apig.cn-guangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetResourceOverview'], + ], + 'createdAt' => '2025-12-18T12:16:14.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-chengdu', - 'endpoint' => 'apig.cn-chengdu.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateMcpServer'], + ['description' => '响应参数发生变更', 'api' => 'GetMcpServer'], + ['description' => '请求参数发生变更', 'api' => 'UpdateMcpServer'], + ], + 'createdAt' => '2025-12-05T07:15:57.000Z', + 'description' => '', ], [ - 'regionId' => 'cn-hongkong', - 'endpoint' => 'apig.cn-hongkong.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListGateways'], + ], + 'createdAt' => '2025-11-25T11:29:13.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-northeast-1', - 'endpoint' => 'apig.ap-northeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateMcpServer'], + ['description' => '请求参数发生变更', 'api' => 'UpdateMcpServer'], + ], + 'createdAt' => '2025-11-06T12:37:29.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-northeast-2', - 'endpoint' => 'apig.ap-northeast-2.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetGateway'], + ['description' => '响应参数发生变更', 'api' => 'ListMcpServers'], + ], + 'createdAt' => '2025-10-29T07:32:11.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-1', - 'endpoint' => 'apig.ap-southeast-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ImportHttpApi'], + ], + 'createdAt' => '2025-08-13T01:57:00.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-2', - 'endpoint' => 'apig.ap-southeast-2.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ImportHttpApi'], + ], + 'createdAt' => '2025-08-12T05:56:59.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-3', - 'endpoint' => 'apig.ap-southeast-3.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListPolicyClasses'], + ], + 'createdAt' => '2025-07-25T02:07:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateConsumerAuthorizationRules'], + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApiRoute'], + ['description' => '请求参数发生变更', 'api' => 'GetDashboard'], + ['description' => '请求参数发生变更', 'api' => 'QueryConsumerAuthorizationRules'], + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApiRoute'], + ], + 'createdAt' => '2025-07-24T12:32:36.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-5', - 'endpoint' => 'apig.ap-southeast-5.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetGateway'], + ], + 'createdAt' => '2025-07-18T06:03:36.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApi'], + ], + 'createdAt' => '2025-07-17T13:24:14.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-6', - 'endpoint' => 'apig.ap-southeast-6.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListZones'], + ], + 'createdAt' => '2025-07-03T11:00:54.000Z', + 'description' => '', ], [ - 'regionId' => 'us-east-1', - 'endpoint' => 'apig.us-east-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'CreatePolicyAttachment'], + ['description' => '请求参数发生变更', 'api' => 'CreateService'], + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApi'], + ], + 'createdAt' => '2025-06-26T12:06:13.000Z', + 'description' => '', ], [ - 'regionId' => 'us-west-1', - 'endpoint' => 'apig.us-west-1.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetGateway'], + ], + 'createdAt' => '2025-06-11T08:30:01.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-west-1', - 'endpoint' => 'apig.eu-west-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListPlugins'], + ], + 'createdAt' => '2025-06-03T12:43:45.000Z', + 'description' => '', ], [ - 'regionId' => 'eu-central-1', - 'endpoint' => 'apig.eu-central-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApiRoute'], + ], + 'createdAt' => '2025-05-29T15:51:37.000Z', + 'description' => '', ], [ - 'regionId' => 'me-east-1', - 'endpoint' => 'apig.me-east-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApi'], + ], + 'createdAt' => '2025-05-21T13:14:20.000Z', + 'description' => '', ], [ - 'regionId' => 'ap-southeast-7', - 'endpoint' => 'apig.ap-southeast-7.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListGateways'], + ], + 'createdAt' => '2025-04-25T08:45:08.000Z', + 'description' => '', ], [ - 'regionId' => 'me-central-1', - 'endpoint' => 'apig.me-central-1.aliyuncs.com', + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'GetResourceOverview'], + ['description' => '请求参数发生变更', 'api' => 'ImportHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'ListDomains'], + ['description' => '请求参数发生变更', 'api' => 'ListEnvironments'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListGateways'], + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2025-04-24T16:41:58.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListServices'], + ], + 'createdAt' => '2025-04-14T12:43:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetDashboard'], + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2025-03-31T08:14:37.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ['description' => '请求参数发生变更', 'api' => 'CreateService'], + ['description' => '响应参数发生变更', 'api' => 'GetDomain'], + ['description' => '请求参数发生变更', 'api' => 'UpdateDomain'], + ], + 'createdAt' => '2025-02-27T07:55:07.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListGateways'], + ], + 'createdAt' => '2025-01-22T13:47:02.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetDomain'], + ], + 'createdAt' => '2025-01-13T02:40:49.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApi'], + ], + 'createdAt' => '2025-01-02T05:55:09.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'UpdateDomain'], + ], + 'createdAt' => '2024-12-30T02:37:14.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-12-26T11:51:39.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetDashboard'], + ], + 'createdAt' => '2024-12-24T03:18:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListGateways'], + ], + 'createdAt' => '2024-12-03T13:33:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApiOperations'], + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-11-28T12:57:05.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ['description' => '响应参数发生变更', 'api' => 'GetDomain'], + ['description' => '请求参数发生变更', 'api' => 'UpdateDomain'], + ], + 'createdAt' => '2024-11-28T10:53:27.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetGateway'], + ], + 'createdAt' => '2024-11-21T02:42:23.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ['description' => '请求参数发生变更', 'api' => 'CreateEnvironment'], + ['description' => '响应参数发生变更', 'api' => 'GetDomain'], + ['description' => '响应参数发生变更', 'api' => 'GetEnvironment'], + ['description' => '请求参数发生变更', 'api' => 'ListDomains'], + ['description' => '请求参数发生变更', 'api' => 'ListEnvironments'], + ], + 'createdAt' => '2024-11-20T09:31:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetGateway'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'ListGateways'], + ], + 'createdAt' => '2024-11-20T08:54:24.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-11-20T04:02:41.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-11-18T13:36:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApi'], + ], + 'createdAt' => '2024-11-18T08:56:15.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetDomain'], + ['description' => '请求参数发生变更、响应参数发生变更', 'api' => 'GetEnvironment'], + ], + 'createdAt' => '2024-11-01T11:55:22.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApiOperations'], + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-10-24T05:48:45.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ], + 'createdAt' => '2024-09-23T07:51:52.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-09-11T08:21:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-09-06T08:03:25.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateHttpApi'], + ['description' => '请求参数发生变更', 'api' => 'GetEnvironment'], + ['description' => '请求参数发生变更', 'api' => 'UpdateHttpApi'], + ], + 'createdAt' => '2024-09-06T06:03:16.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'UpdateDomain'], + ], + 'createdAt' => '2024-09-03T07:57:28.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'ListGateways'], + ], + 'createdAt' => '2024-08-06T03:34:13.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApiOperations'], + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-08-05T11:40:01.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListDomains'], + ], + 'createdAt' => '2024-07-29T12:43:21.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'ListHttpApis'], + ], + 'createdAt' => '2024-07-26T14:59:06.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateServiceSource'], + ], + 'createdAt' => '2024-07-25T08:24:31.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateDomain'], + ], + 'createdAt' => '2024-07-25T08:17:46.000Z', + 'description' => '', + ], + ], + 'flowControl' => [ + 'flowControlList' => [ + ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeletePluginAttachment'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetEnvironment'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpgradeGateway'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHttpApiOperation'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPolicyClasses'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateEnvironment'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateServiceVersion'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHttpApiOperation'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetResourceOverview'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetConsumerAuthorizationRule'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHttpApiRoute'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateGatewayName'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListZones'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListDomains'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHttpApi'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSslCerts'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListServices'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteServiceVersion'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'RestartGateway'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateServiceVersion'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateHttpApiRoute'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPlugins'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UndeployHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteGatewaySecurityGroupRule'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGatewayFeatures'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateService'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteEnvironment'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateService'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreatePluginAttachment'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ExportHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeployHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateAndAttachPolicy'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDashboard'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetTraceConfig'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHttpApiRoutes'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListEnvironments'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateSource'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateGateway'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHttpApiRoute'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'AddGatewaySecurityGroupRule'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateHttpApiOperation'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateDomain'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ImportHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateEnvironment'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteGateway'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UpdateGatewayFeature'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateConsumer'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListPluginAttachments'], + ['threshold' => '60', 'countWindow' => 3000, 'regionId' => '*', 'api' => 'GetPluginAttachment'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'InstallPlugin'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'UninstallPlugin'], + ['threshold' => '60', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdatePluginAttachment'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetDomain'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetSource'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHttpApiOperation'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHttpApis'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteDomain'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetHttpApi'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateDomain'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetGateway'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ChangeResourceGroup'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'CreateHttpApiRoute'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetService'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListHttpApiOperations'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetPolicy'], + ['threshold' => '60', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListGateways'], + ['threshold' => '30', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DeleteSource'], + ], + ], + 'ram' => [ + 'productCode' => 'APIG', + 'productName' => 'API 网关', + 'ramCodes' => ['apig'], + 'ramLevel' => '资源级', + 'ramConditions' => [ + [ + 'name' => 'apig:GatewayId', + 'schema' => ['type' => 'Array<undefined>', 'description' => '网关ID'], + ], + [ + 'name' => 'apig:NetworkType', + 'schema' => ['type' => 'Array<undefined>', 'description' => '网络类型'], + ], + ], + 'ramActions' => [ + [ + 'apiName' => 'ListHttpApis', + 'description' => '获取HTTP API列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListHttpApis', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/*'], + ], + ], + ], + [ + 'apiName' => 'DeleteMcpServer', + 'description' => '删除MCP Server', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InstallPlugin', + 'description' => '安装插件', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:InstallPlugin', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListEnvironments', + 'description' => '查询环境列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListEnvironments', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/*'], + ], + ], + ], + [ + 'apiName' => 'ListPolicyClasses', + 'description' => '获取策略模板', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPolicyClasses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetGateway', + 'description' => '查询网关详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'CreateService', + 'description' => '创建服务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/*'], + ], + ], + ], + [ + 'apiName' => 'CreateSource', + 'description' => '创建来源', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateSource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListGatewayFeatures', + 'description' => '查询网关特性参数配置列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListGatewayFeatures', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'ListZones', + 'description' => '获取可用区', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListZones', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListPluginClasses', + 'description' => '获取插件列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPluginClasses', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteService', + 'description' => '删除服务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteConsumer', + 'description' => '删除消费者', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteConsumerAuthorizationRule', + 'description' => '删除消费者授权规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'GetPolicyAttachment', + 'description' => '查询策略挂载', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetPolicyAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetConsumerAuthorizationRule', + 'description' => '获取消费者授权规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'ListPlugins', + 'description' => '获取插件列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPlugins', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RestartGateway', + 'description' => '重启网关', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:RestartGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'CreateConsumerAuthorizationRules', + 'description' => '创建消费者授权规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateConsumerAuthorizationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPluginAttachment', + 'description' => '查询插件挂载', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetPluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpApi', + 'description' => '更新HTTP API', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateEnvironment', + 'description' => '更新环境', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], + ], + ], + ], + [ + 'apiName' => 'GetResourceOverview', + 'description' => '获取资源概览', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetResourceOverview', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpApi', + 'description' => '删除HTTP API', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'CreateHttpApi', + 'description' => '创建HTTP API', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/*'], + ], + ], + ], + [ + 'apiName' => 'GetGatewayQuotaRuleSubjectUsage', + 'description' => '获取配额规则下某个消费者用量详情', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetGatewayQuotaRuleSubjectUsage', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'SyncMCPServers', + 'description' => '同步Nacos MCP到网关', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:SyncMCPServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteEnvironment', + 'description' => '删除环境', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], + ], + ], + ], + [ + 'apiName' => 'ListSslCerts', + 'description' => '获取证书列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListSslCerts', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetSecret', + 'description' => '获取密钥', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpApiOperation', + 'description' => '删除接口', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'GetDashboard', + 'description' => '获取监控大盘', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetDashboard', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateGatewayQuotaRule', + 'description' => '编辑消费者配额规则', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'GetSecretValue', + 'description' => '获取密钥值', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetSecretValue', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateService', + 'description' => '更新服务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateService', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], + [ + 'apiName' => 'ListConsumers', + 'description' => '获取消费者列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListConsumers', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ResetGatewayQuotaRule', + 'description' => '重置消费者配额规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ResetGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'ListTagResources', + 'description' => '获取资源标签列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListTagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateSecret', + 'description' => '生成密钥', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListDomains', + 'description' => '查询域名列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListDomains', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/*'], + ], + ], + ], + [ + 'apiName' => 'AddGatewayQuotaRule', + 'description' => '新增消费者配额规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:AddGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'ListSecretReferences', + 'description' => '列出密钥引用', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListSecretReferences', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], + [ + 'apiName' => 'ListMcpServers', + 'description' => '查询MCP Server列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListMcpServers', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListServices', + 'description' => '查询服务列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListServices', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/*'], + ], + ], + ], + [ + 'apiName' => 'UpdateServiceVersion', + 'description' => '更新服务版本', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateServiceVersion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], + [ + 'apiName' => 'ListPolicies', + 'description' => '查询策略列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPolicies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreatePluginAttachment', + 'description' => '挂载插件', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreatePluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteServiceVersion', + 'description' => '删除服务版本', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteServiceVersion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], + [ + 'apiName' => 'ListExternalServices', + 'description' => '获取外部服务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListExternalServices', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateAndAttachPolicy', + 'description' => '更新并挂载策略', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateAndAttachPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/{#PolicyId}'], + ], + ], + ], + [ + 'apiName' => 'GetHttpApi', + 'description' => '获取HTTP API', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'CreateAiModelProvider', + 'description' => '创建AI模型供应商', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateAiModelProvider', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdatePolicy', + 'description' => '更新策略', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdatePolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeletePluginClass', + 'description' => '删除自定义插件类', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeletePluginClass', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetConsumer', + 'description' => '获取消费者', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'ListSecrets', + 'description' => '列出密钥', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListSecrets', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ExportHttpApi', + 'description' => '导出HTTP API', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ExportHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'ListGateways', + 'description' => '查询网关列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListGateways', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/*'], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpApiRoute', + 'description' => '更新路由', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'CreateGateway', + 'description' => '创建网关', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/*'], + ], + ], + ], + [ + 'apiName' => 'GetDomain', + 'description' => '查询域名', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateSecret', + 'description' => '更新密钥', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], + [ + 'apiName' => 'ListHttpApiOperations', + 'description' => '获取接口列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListHttpApiOperations', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateConsumer', + 'description' => '更新消费者', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteGatewayQuotaRule', + 'description' => '删除消费者配额规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'ListConsumerQuotaRules', + 'description' => '查询消费者上已配置的配额规则列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListConsumerQuotaRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'CreateDomain', + 'description' => '创建域名', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/*'], + ], + ], + ], + [ + 'apiName' => 'CreateMcpServer', + 'description' => '创建MCP Server', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateConsumerAuthorizationRule', + 'description' => '创建消费者授权规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'CreateServiceVersion', + 'description' => '创建服务版本', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateServiceVersion', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetMcpServer', + 'description' => '查询MCP Server详情', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPolicy', + 'description' => '获取策略', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/{#PolicyId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateGatewayQuotaRuleStatus', + 'description' => '启/停用消费者配额规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayQuotaRuleStatus', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'GetHttpApiOperation', + 'description' => '获取接口信息', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'DeletePolicyAttachment', + 'description' => '删除策略挂载', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeletePolicyAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'RemoveConsumerAuthorizationRule', + 'description' => '删除消费者授权规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:RemoveConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UnDeployMcpServer', + 'description' => '取消发布MCP Server', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UnDeployMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetService', + 'description' => '获取服务详情', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetService', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'apig:GatewayId', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteHttpApiRoute', + 'description' => '删除路由', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'UntagResources', + 'description' => '去除资源标签', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UntagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'QueryConsumerAuthorizationRules', + 'description' => '查询消费者授权规则列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:QueryConsumerAuthorizationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateMcpServer', + 'description' => '修改MCP Server', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UninstallPlugin', + 'description' => '卸载插件', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UninstallPlugin', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteGatewaySecurityGroupRule', + 'description' => '删除网关安全组规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteGatewaySecurityGroupRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'ImportHttpApi', + 'description' => '导入HTTP API', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ImportHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetPluginClass', + 'description' => '获取自定义插件类', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetPluginClass', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHttpApiRoute', + 'description' => '查询路由详情', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteDomain', + 'description' => '删除域名', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], + ], + ], + ], + [ + 'apiName' => 'ListGatewayQuotaRules', + 'description' => '查询消费者配额规则列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListGatewayQuotaRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'ListPluginAttachments', + 'description' => '获取插件挂载列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListPluginAttachments', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'BatchDeleteConsumerAuthorizationRule', + 'description' => '批量解除消费者授权规则', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:BatchDeleteConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ChangeResourceGroup', + 'description' => '资源转组', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ChangeResourceGroup', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateEnvironment', + 'description' => '创建环境', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/*'], + ], + ], + ], + [ + 'apiName' => 'CreateAndAttachPolicy', + 'description' => '创建并附加策略', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateAndAttachPolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/*'], + ], + ], + ], + [ + 'apiName' => 'DeleteSource', + 'description' => '删除来源', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteSource', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Source', 'arn' => 'acs:apig:{#regionId}:{#accountId}:source/{#SourceId}'], + ], + ], + ], + [ + 'apiName' => 'CreatePolicy', + 'description' => '创建策略', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreatePolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreatePluginClass', + 'description' => '创建自定义插件类', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreatePluginClass', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdatePluginAttachment', + 'description' => '更新插件挂载', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdatePluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeRegions', + 'description' => '查询APIG的Region列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DescribeRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteSecret', + 'description' => '删除密钥值', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeleteSecret', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ], + ], + ], + [ + 'apiName' => 'AddGatewaySecurityGroupRule', + 'description' => '添加网关安全组规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:AddGatewaySecurityGroupRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'GetSource', + 'description' => '获取服务来源详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetSource', + 'authLevel' => 'resource', + 'actionConditions' => [ + ['conditionKey' => 'apig:GatewayId', 'validationType' => 'always'], + ], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeletePolicy', + 'description' => '删除策略', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeletePolicy', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateGatewayFeature', + 'description' => '更新网关特性参数', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayFeature', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateConsumerAuthorizationRule', + 'description' => '更新消费者授权规则', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateConsumerAuthorizationRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'CreateConsumer', + 'description' => '创建消费者', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateConsumer', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateHttpApiOperation', + 'description' => '创建接口', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreateHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'CreateHttpApiRoute', + 'description' => '创建HTTP API路由', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:CreateHttpApiRoute', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'ListHttpApiRoutes', + 'description' => '查询路由列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'apig:ListHttpApiRoutes', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'CreatePolicyAttachment', + 'description' => '创建策略挂载', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'apig:CreatePolicyAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetEnvironment', + 'description' => '查询环境', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:GetEnvironment', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], + ], + ], + ], + [ + 'apiName' => 'ListConsumerAuthorizationRules', + 'description' => '获取消费者授权规则列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:ListConsumerAuthorizationRules', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateHttpApiOperation', + 'description' => '更新接口', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateHttpApiOperation', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'UpgradeGateway', + 'description' => '升级网关', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpgradeGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'TagResources', + 'description' => '资源打标', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:TagResources', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'GetTraceConfig', + 'description' => '获取trace配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetTraceConfig', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetGatewayQuotaRule', + 'description' => '查询消费者配额规则详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'apig:GetGatewayQuotaRule', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'DeployMcpServer', + 'description' => '发布MCP Server', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeployMcpServer', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UndeployHttpApi', + 'description' => '下线API', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UndeployHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'DeleteGateway', + 'description' => '删除网关', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'apig:DeleteGateway', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + [ + 'apiName' => 'DeployHttpApi', + 'description' => '发布API', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeployHttpApi', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ], + ], + ], + [ + 'apiName' => 'DeletePluginAttachment', + 'description' => '删除插件挂载', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:DeletePluginAttachment', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateDomain', + 'description' => '更新域名', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'apig:UpdateDomain', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], + ], + ], + ], + [ + 'apiName' => 'UpdateGatewayName', + 'description' => '修改网关名称', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'apig:UpdateGatewayName', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'APIG', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/*'], + ['validationType' => 'always', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/*'], + ['validationType' => 'always', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/{#GatewayId}'], + ['validationType' => 'always', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/*'], + ['validationType' => 'always', 'resourceType' => 'Source', 'arn' => 'acs:apig:{#regionId}:{#accountId}:source/{#SourceId}'], + ['validationType' => 'always', 'resourceType' => 'Service', 'arn' => 'acs:apig:{#regionId}:{#accountId}:service/{#ServiceId}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/{#ConsumerId}'], + ['validationType' => 'always', 'resourceType' => 'ConsumerAuthorizationRule', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumerauthorizationrule/*'], + ['validationType' => 'always', 'resourceType' => 'HttpApi', 'arn' => 'acs:apig:{#regionId}:{#accountId}:httpapi/{#HttpApiId}'], + ['validationType' => 'always', 'resourceType' => 'Environment', 'arn' => 'acs:apig:{#regionId}:{#accountId}:environment/{#EnvironmentId}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/{#SecretId}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:secret/*'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:consumer/*'], + ['validationType' => 'always', 'resourceType' => 'Gateway', 'arn' => 'acs:apig:{#regionId}:{#accountId}:gateway/*'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/*'], + ['validationType' => 'always', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/{#PolicyId}'], + ['validationType' => 'always', 'resourceType' => 'Domain', 'arn' => 'acs:apig:{#regionId}:{#accountId}:domain/{#DomainId}'], + ['validationType' => 'always', 'resourceType' => 'Policy', 'arn' => 'acs:apig:{#regionId}:{#accountId}:policy/*'], + ['validationType' => 'always', 'resourceType' => 'Source', 'arn' => 'acs:apig:{#regionId}:{#accountId}:source/{SourceId]'], ], ], ]; |
