summaryrefslogtreecommitdiff
path: root/data/zh_cn/gwlb/2024-04-15
diff options
context:
space:
mode:
authorZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
committerZhineng Li <[email protected]>2026-02-13 10:54:11 +0800
commit7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch)
tree0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/gwlb/2024-04-15
downloadacs-metadata-full-1.0.0+20260212.tar.gz
acs-metadata-full-1.0.0+20260212.zip
Diffstat (limited to 'data/zh_cn/gwlb/2024-04-15')
-rw-r--r--data/zh_cn/gwlb/2024-04-15/api-docs.php5556
1 files changed, 5556 insertions, 0 deletions
diff --git a/data/zh_cn/gwlb/2024-04-15/api-docs.php b/data/zh_cn/gwlb/2024-04-15/api-docs.php
new file mode 100644
index 0000000..5c12259
--- /dev/null
+++ b/data/zh_cn/gwlb/2024-04-15/api-docs.php
@@ -0,0 +1,5556 @@
+<?php return [
+ 'version' => '1.0',
+ 'info' => [
+ 'style' => 'RPC',
+ 'product' => 'Gwlb',
+ 'version' => '2024-04-15',
+ ],
+ 'directories' => [
+ [
+ 'id' => 198458,
+ 'title' => '地域与可用区',
+ 'type' => 'directory',
+ 'children' => [
+ 'DescribeRegions',
+ 'DescribeZones',
+ ],
+ ],
+ [
+ 'id' => 198461,
+ 'title' => '实例',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateLoadBalancer',
+ 'UpdateLoadBalancerAttribute',
+ 'UpdateLoadBalancerZones',
+ 'DeleteLoadBalancer',
+ 'ListLoadBalancers',
+ 'GetLoadBalancerAttribute',
+ ],
+ ],
+ [
+ 'id' => 198468,
+ 'title' => '服务器组',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateServerGroup',
+ 'UpdateServerGroupAttribute',
+ 'DeleteServerGroup',
+ 'AddServersToServerGroup',
+ 'RemoveServersFromServerGroup',
+ 'ListServerGroups',
+ 'ListServerGroupServers',
+ ],
+ ],
+ [
+ 'id' => 198476,
+ 'title' => '监听',
+ 'type' => 'directory',
+ 'children' => [
+ 'CreateListener',
+ 'UpdateListenerAttribute',
+ 'DeleteListener',
+ 'ListListeners',
+ 'GetListenerAttribute',
+ 'GetListenerHealthStatus',
+ ],
+ ],
+ [
+ 'id' => 198483,
+ 'title' => '标签',
+ 'type' => 'directory',
+ 'children' => [
+ 'TagResources',
+ 'UntagResources',
+ 'ListTagResources',
+ ],
+ ],
+ [
+ 'id' => 198487,
+ 'title' => '资源组',
+ 'type' => 'directory',
+ 'children' => [
+ 'MoveResourceGroup',
+ ],
+ ],
+ ],
+ 'components' => [
+ 'schemas' => [],
+ ],
+ 'apis' => [
+ 'DescribeRegions' => [
+ 'summary' => '查询负载均衡支持地域和服务地址。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '222561',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbM7ALO6',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AcceptLanguage',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '支持的语言。取值:'."\n"
+ ."\n"
+ .'- **zh-CN**:中文'."\n"
+ ."\n"
+ .'- **en-US**(默认值):英文'."\n"
+ ."\n"
+ .'- **ja**:日文',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zh-CN',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'Regions' => [
+ 'description' => '地域列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '地域信息对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => [
+ 'description' => '地域名称。',
+ 'type' => 'string',
+ 'example' => 'China (Hangzhou)',
+ ],
+ 'RegionEndpoint' => [
+ 'description' => '地域服务地址。',
+ 'type' => 'string',
+ 'example' => 'gwlb.cn-hangzhou.aliyuncs.com',
+ ],
+ 'RegionId' => [
+ 'description' => '地域ID。',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ ],
+ ],
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '162FCE8D-CEEC-5083-90BF-B45D8C4F81FB',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionEndpoint\\": \\"gwlb.cn-hangzhou.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"RequestId\\": \\"162FCE8D-CEEC-5083-90BF-B45D8C4F81FB\\"\\n}","type":"json"}]',
+ 'title' => '查询地域',
+ ],
+ 'DescribeZones' => [
+ 'summary' => '查询负载均衡支持可用区。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'none',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '222562',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbHRNRPI',
+ ],
+ 'tenantRelevance' => 'publicInformation',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AcceptLanguage',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '支持的语言。取值:'."\n"
+ ."\n"
+ .'- **zh-CN**:中文'."\n"
+ ."\n"
+ .'- **en-US**(默认值):英文'."\n"
+ ."\n"
+ .'- **ja**:日文',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'zh-CN',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '4C605F7E-D0F6-54E2-B004-F9B132F0D8B2',
+ ],
+ 'Zones' => [
+ 'description' => '可用区列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区信息对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'LocalName' => [
+ 'description' => '可用区名称。',
+ 'type' => 'string',
+ 'example' => 'Hangzhou Zone G',
+ ],
+ 'ZoneId' => [
+ 'description' => '可用区ID。',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou-g',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"4C605F7E-D0F6-54E2-B004-F9B132F0D8B2\\",\\n \\"Zones\\": [\\n {\\n \\"LocalName\\": \\"Hangzhou Zone G\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => '查询可用区',
+ ],
+ 'CreateLoadBalancer' => [
+ 'summary' => '创建负载均衡实例。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221915',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbHRNRPI',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'AddressIpVersion',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '协议版本。取值:'."\n"
+ ."\n"
+ .'- **Ipv4**(默认值):Ipv4类型。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Ipv4',
+ 'default' => 'Ipv4',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例名称。'."\n"
+ ."\n"
+ .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testGwlbName',
+ ],
+ ],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '专有网络VPC ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'vpc-uf6qcgpv22ttrnnjh****',
+ ],
+ ],
+ [
+ 'name' => 'ZoneMappings',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '可用区及交换机映射列表。至少需要添加一个可用区,最多支持添加20个可用区。若当前地域支持2个及以上的可用区,建议添加2个及以上可用区。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区及交换机映射对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'VSwitchId' => [
+ 'description' => '可用区对应的交换机,每个可用区只能使用一台交换机和一个子网。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'vsw-2f0eb020****',
+ ],
+ 'ZoneId' => [
+ 'description' => '可用区ID,通过调用网关型负载均衡DescribeZones接口获得。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou-a',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签列表。一次调用最多支持20个标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。'."\n"
+ ."\n"
+ .'一个标签健最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-acfmwbufq6q3****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'LoadBalancerId' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '00B19438-66BB-58C3-8C2F-DA5B6F95CBDA',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'DuplicatedParam.ZoneId',
+ 'errorMessage' => 'The param of ZoneId is duplicated.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.VSwitchNotSupportIpv6',
+ 'errorMessage' => 'The operation is not allowed because of VSwitchNotSupportIpv6.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotEnough.VSwitchIp',
+ 'errorMessage' => 'The specified resource of VSwitchIp is not enough.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.VSwitchId',
+ 'errorMessage' => 'The param of VSwitchId is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.ZoneMappings',
+ 'errorMessage' => 'The param size of ZoneMappings is illegal.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.ZoneIdAndVSwitchId',
+ 'errorMessage' => 'The ZoneId and VSwitchId are mismatched.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.LoadBalancersNum',
+ 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::GetLoadBalancerAttribute',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"LoadBalancerId\\": \\"gwlb-9njtjmqt7zfcqm****\\",\\n \\"RequestId\\": \\"00B19438-66BB-58C3-8C2F-DA5B6F95CBDA\\"\\n}","type":"json"}]',
+ 'title' => '创建负载均衡实例',
+ 'description' => '**请确保在使用该接口前,已充分了解网关型负载均衡产品的收费方式和[价格](~~2806160~~)**。'."\n"
+ .'- 创建网关型负载均衡实例时会自动为用户创建AliyunServiceRoleForGwlb SLR 角色。'."\n"
+ .'- **CreateLoadBalancer**接口属于异步接口,即系统返回一个实例 ID,但该网关型负载均衡实例尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetLoadBalancerAttribute](~~2853555~~)查询网关型负载均衡实例的创建状态:'."\n"
+ .' - 当网关型负载均衡实例处于**Provisioning**状态时,表示网关型负载均衡实例正在创建中。'."\n"
+ .' - 当网关型负载均衡实例处于**Active**状态时,表示网关型负载均衡实例创建成功。',
+ ],
+ 'UpdateLoadBalancerAttribute' => [
+ 'summary' => '更新负载均衡实例属性。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221916',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbHRNRPI',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'LoadBalancerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例名称。'."\n"
+ ."\n"
+ .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testGwlbName',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会更新实例属性。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'由客户端生成该参数值,要保证在不同请求间唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ ],
+ ],
+ [
+ 'name' => 'TrafficMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '流量模式。取值:'."\n"
+ ."\n"
+ .'- **LoadBalance**:负载均衡。'."\n"
+ .'- **ByPass**:绕行模式。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LoadBalance',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => 'B956C629-0E8C-5EFF-BAC1-B0E3A8C5CBDD',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.LoadBalancer',
+ 'errorMessage' => 'The business status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.LoadBalancer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::GetLoadBalancerAttribute',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B956C629-0E8C-5EFF-BAC1-B0E3A8C5CBDD\\"\\n}","type":"json"}]',
+ 'title' => '更新负载均衡实例属性',
+ 'description' => '- UpdateLoadBalancerAttribute 属于异步接口,即系统返回一个请求 ID,但该实例属性尚未修改成功,系统后台的变更任务仍在进行。您可以调用 GetLoadBalancerAttribute 查询网关型负载均衡实例的更新状态:'."\n"
+ .' - 当网关型负载均衡实例处于 Configuring 状态时,表示网关型负载均衡实例正在更新中。'."\n"
+ .' - 当网关型负载均衡实例处于 Active 状态时,表示网关型负载均衡实例更新成功。',
+ ],
+ 'UpdateLoadBalancerZones' => [
+ 'summary' => '更新负载均衡实例可用区。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221912',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb23BWZ4',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'LoadBalancerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ ],
+ [
+ 'name' => 'ZoneMappings',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '可用区及交换机映射列表。至少需要添加一个可用区,最多支持添加20个可用区。若当前地域支持2个及以上的可用区,建议添加2个及以上可用区。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区及交换机映射对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'VSwitchId' => [
+ 'description' => '可用区对应的交换机,每个可用区只能使用一台交换机和一个子网。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'vsw-bp1n75pbs77v5q6p3****',
+ ],
+ 'ZoneId' => [
+ 'description' => '可用区ID,通过调用网关型负载均衡DescribeZones接口获得。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'cn-hangzhou-h',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会更新实例可用区。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'由客户端生成该参数值,要保证在不同请求间唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => 'ED8905C2-A4F6-5E43-87B7-6A5DC8757146',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.VSwitchChangeNotSupport',
+ 'errorMessage' => 'The operation is not allowed because of VSwitchChangeNotSupport.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.VSwitchId',
+ 'errorMessage' => 'The param of VSwitchId is duplicated.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.ZoneId',
+ 'errorMessage' => 'The param of ZoneId is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParamSize.ZoneMappings',
+ 'errorMessage' => 'The param size of ZoneMappings is illegal.',
+ ],
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.LoadBalancer',
+ 'errorMessage' => 'The business status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.LoadBalancer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.ZoneIdAndVSwitchId',
+ 'errorMessage' => 'The ZoneId and VSwitchId are mismatched.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.LoadBalancerId',
+ 'errorMessage' => 'The param of LoadBalancerId is missing.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.VSwitchNotSupportIpv6',
+ 'errorMessage' => 'The operation is not allowed because of VSwitchNotSupportIpv6.',
+ ],
+ [
+ 'errorCode' => 'ResourceAlreadyAssociated.GwlbeAssociated',
+ 'errorMessage' => 'The specified resource of %s is already associated.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotEnough.VSwitchIp',
+ 'errorMessage' => 'The specified resource of VSwitchIp is not enough.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::GetLoadBalancerAttribute',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ED8905C2-A4F6-5E43-87B7-6A5DC8757146\\"\\n}","type":"json"}]',
+ 'title' => '更新负载均衡可用区',
+ 'description' => '**请确保在使用该接口前,已充分了解网关型负载均衡产品的收费方式和[价格](~~2806160~~)。**'."\n"
+ ."\n"
+ .'**UpdateLoadBalancerZones**属于异步接口,即系统返回一个请求ID,但该实例可用区及可用区属性尚未修改成功,系统后台的变更任务仍在进行。您可以调用[GetLoadBalancerAttribute](~~2853555~~)查询网关型负载均衡实例的更新状态:'."\n"
+ ."\n"
+ .'- 当网关型负载均衡实例处于**Configuring**状态时,表示网关型负载均衡实例正在更新中。'."\n"
+ .'- 当网关型负载均衡实例处于**Active**状态时,表示网关型负载均衡实例更新成功。'."\n"
+ ."\n"
+ .'><notice>每次调用该接口时,请确保您传入该网关型负载均衡实例的所有可用区参数,包括当前和新增的可用区。如您未传入当前的可用区参数,表示需要将当前可用区删除。您可以通过 GetLoadBalancerAttribute 接口查询该实例的当前可用区。></notice>',
+ ],
+ 'DeleteLoadBalancer' => [
+ 'summary' => '删除负载均衡实例。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221917',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb12YEWG',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'LoadBalancerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例的ID',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会删除实例。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '37907828-01AB-5AC3-9DDE-25D419091D54',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.LoadBalancer',
+ 'errorMessage' => 'The business status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.LoadBalancer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.LoadBalancerId',
+ 'errorMessage' => 'The param of LoadBalancerId is missing.',
+ ],
+ [
+ 'errorCode' => 'ResourceAlreadyAssociated.GwlbeAssociated',
+ 'errorMessage' => 'The specified resource of %s is already associated.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"37907828-01AB-5AC3-9DDE-25D419091D54\\"\\n}","type":"json"}]',
+ 'title' => '删除负载均衡实例',
+ ],
+ 'ListLoadBalancers' => [
+ 'summary' => '查询负载均衡实例列表。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221914',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbHRNRPI',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ZoneIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '可用区ID列表。一次最多支持查询20个可用区ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'cn-beijing-h',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'VpcIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '专有网络唯一标识',
+ 'description' => '专有网络ID列表。一次最多支持查询20个VPC ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '专用网络ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp1xuejaht4o7yhh2****',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'AddressIpVersion',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '协议类型',
+ 'description' => '协议版本。取值:'."\n"
+ ."\n"
+ .'- **Ipv4**:Ipv4类型。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'IPv4' => 'IPv4',
+ 'DualStack' => 'DualStack',
+ ],
+ 'example' => 'Ipv4',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerStatus',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '实例状态',
+ 'description' => '网关型负载均衡的实例状态。取值:'."\n"
+ .'- **Active**:运行中。'."\n"
+ .'- **Inactive**:已停止,表示实例监听不会再转发流量。'."\n"
+ .'- **Provisioning**:创建中。'."\n"
+ .'- **Configuring**:变配中。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Active',
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerBusinessStatus',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '实例业务状态',
+ 'description' => '网关型负载均衡的业务状态。取值:'."\n"
+ .'- **Normal**:正常状态。'."\n"
+ .'- **FinancialLocked**:欠费锁定状态。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Normal',
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerNames',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '负载均衡实例名称',
+ 'description' => '网关型负载均衡实例名称列表。一次最多支持查询20个实例名称。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网络型负载均衡实例名称。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testGwlbName',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '企业资源组标识',
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-aek2htf5qsyrn****',
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '实例列表',
+ 'description' => '网关型负载均衡实例的ID列表。一次最多支持查询20个实例。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gwlb-cp6prgqy40hols****',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'TrafficMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '流量模式。取值:'."\n"
+ ."\n"
+ .'- **LoadBalance**:负载均衡。'."\n"
+ .'- **ByPass**:绕行模式。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'LoadBalance',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '标签',
+ 'description' => '标签列表。一次调用最多支持20个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签信息对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。'."\n"
+ ."\n"
+ .'一个标签健最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页游标',
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WyJyb290IiwibiIsIm4iLDEsMCwxNjg1MDY1NTgyNzYwLCI2NDcwMGY2ZTc2Zjc0MWFiZGEyZjQyNzc4ZDk2MmJkOTk3ZGZmM2Nm****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页大小',
+ 'description' => '分批次查询时每次显示的条目数。取值范围:1~1000,默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '查询时跳过指定的条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'LoadBalancers' => [
+ 'description' => '网关型负载均衡实例列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网关型负载均衡实例对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'AddressIpVersion' => [
+ 'description' => '协议版本。取值:'."\n"
+ ."\n"
+ .'- **IPv4**:IPv4类型。',
+ 'type' => 'string',
+ 'example' => 'IPv4',
+ ],
+ 'CreateTime' => [
+ 'description' => '资源创建时间,使用格林威治时间,格式为**yyyy-MM-ddTHH:mm:ssZ**。',
+ 'type' => 'string',
+ 'example' => '2024-08-05T18:24:07Z',
+ ],
+ 'LoadBalancerBusinessStatus' => [
+ 'description' => '网关型负载均衡的业务状态。取值:'."\n"
+ .'- **Normal**:正常状态。'."\n"
+ .'- **FinancialLocked**:欠费锁定状态。',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'LoadBalancerId' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ 'LoadBalancerName' => [
+ 'description' => '网关型负载均衡实例名称。'."\n"
+ ."\n"
+ .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'example' => 'testGwlbName',
+ ],
+ 'LoadBalancerStatus' => [
+ 'description' => '网关型负载均衡的实例状态。取值:'."\n"
+ .'- **Active**:运行中。'."\n"
+ .'- **Inactive**:已停止,表示实例监听不会再转发流量。'."\n"
+ .'- **Provisioning**:创建中。'."\n"
+ .'- **Configuring**:变配中。',
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'example' => 'rg-aek26jasguy****',
+ ],
+ 'Tags' => [
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。'."\n"
+ ."\n"
+ .'一个标签健最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持输入20个标签值。一旦传入该值,可以为空字符串。'."\n"
+ ."\n"
+ .'一个标签值最多支持128个字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-),不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'example' => 'testTagValue',
+ ],
+ ],
+ ],
+ ],
+ 'VpcId' => [
+ 'description' => '专用网络ID。',
+ 'type' => 'string',
+ 'example' => 'vpc-uf6eg0vndlsa84n7r****',
+ ],
+ 'ZoneMappings' => [
+ 'description' => '可用区及交换机映射列表。至少需要添加一个可用区,最多支持添加20个可用区。若当前地域支持2个及以上的可用区,建议添加2个及以上可用区。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区及交换机映射对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'LoadBalancerAddresses' => [
+ 'description' => '网关型负载均衡实例地址列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网关型负载均衡实例地址对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'EniId' => [
+ 'description' => '弹性网卡ENI ID。',
+ 'type' => 'string',
+ 'example' => 'eni-bp17qv9zbzyqy629****',
+ ],
+ 'PrivateIpv4Address' => [
+ 'description' => 'IPv4 私网地址。',
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ ],
+ ],
+ ],
+ 'VSwitchId' => [
+ 'description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。',
+ 'type' => 'string',
+ 'example' => 'vsw-2zemule5dz7okwqfv****',
+ ],
+ 'ZoneId' => [
+ 'description' => '可用区ID,通过调用网关型负载均衡DescribeZones接口获得。',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou-g',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'MaxResults' => [
+ 'description' => '分批次查询时每次显示的条目数。取值范围:1~1000,默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'NextToken' => [
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
+ 'type' => 'string',
+ 'example' => 'CAESGgoSChAKDGNvbXBsZXRlVGltZRABCgQiAggAGAAiQAoJAIldD2UAAAAACjMDLgAAADFTNzMyZDMwMzAzMDY5NzQzNDM0NmI3NzM2NjUzNzc4NzM2YTc0NjYzOTYz****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '378A80E9-4262-5D8E-8D62-0969E52D7358',
+ ],
+ 'TotalCount' => [
+ 'description' => '列表条目总数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '100',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"LoadBalancers\\": [\\n {\\n \\"AddressIpVersion\\": \\"IPv4\\",\\n \\"CreateTime\\": \\"2024-08-05T18:24:07Z\\",\\n \\"LoadBalancerBusinessStatus\\": \\"Normal\\",\\n \\"LoadBalancerId\\": \\"gwlb-9njtjmqt7zfcqm****\\",\\n \\"LoadBalancerName\\": \\"testGwlbName\\",\\n \\"LoadBalancerStatus\\": \\"Active\\",\\n \\"ResourceGroupId\\": \\"rg-aek26jasguy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testTagKey\\",\\n \\"Value\\": \\"testTagValue\\"\\n }\\n ],\\n \\"VpcId\\": \\"vpc-uf6eg0vndlsa84n7r****\\",\\n \\"ZoneMappings\\": [\\n {\\n \\"LoadBalancerAddresses\\": [\\n {\\n \\"EniId\\": \\"eni-bp17qv9zbzyqy629****\\",\\n \\"PrivateIpv4Address\\": \\"192.168.XX.XX\\"\\n }\\n ],\\n \\"VSwitchId\\": \\"vsw-2zemule5dz7okwqfv****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\"\\n }\\n ]\\n }\\n ],\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"CAESGgoSChAKDGNvbXBsZXRlVGltZRABCgQiAggAGAAiQAoJAIldD2UAAAAACjMDLgAAADFTNzMyZDMwMzAzMDY5NzQzNDM0NmI3NzM2NjUzNzc4NzM2YTc0NjYzOTYz****\\",\\n \\"RequestId\\": \\"378A80E9-4262-5D8E-8D62-0969E52D7358\\",\\n \\"TotalCount\\": 100\\n}","type":"json"}]',
+ 'title' => '查询负载均衡实例列表',
+ ],
+ 'GetLoadBalancerAttribute' => [
+ 'summary' => '查询负载均衡实例详细信息。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221913',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbHRNRPI',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'LoadBalancerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例的ID',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'AddressIpVersion' => [
+ 'description' => '协议版本。取值:'."\n"
+ ."\n"
+ .'- **Ipv4**:Ipv4类型',
+ 'type' => 'string',
+ 'example' => 'Ipv4',
+ ],
+ 'CreateTime' => [
+ 'description' => '资源创建时间,使用格林威治时间,格式为**yyyy-MM-ddTHH:mm:ssZ**。',
+ 'type' => 'string',
+ 'example' => '2024-07-08T10:12:58Z',
+ ],
+ 'LoadBalancerBusinessStatus' => [
+ 'description' => '网关型负载均衡的业务状态。取值:'."\n"
+ .'- **Normal**:正常状态。'."\n"
+ .'- **FinancialLocked**:欠费锁定状态。',
+ 'type' => 'string',
+ 'example' => 'Normal',
+ ],
+ 'LoadBalancerId' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-9njtjmqt7zfcqm****',
+ ],
+ 'LoadBalancerName' => [
+ 'description' => '网关型负载均衡实例名称。'."\n"
+ ."\n"
+ .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'example' => 'gwlb',
+ ],
+ 'LoadBalancerStatus' => [
+ 'description' => '网关型负载均衡的实例状态。取值:'."\n"
+ .'- **Active**:运行中。'."\n"
+ .'- **Inactive**:已停止,表示实例监听不会再转发流量。'."\n"
+ .'- **Provisioning**:创建中。'."\n"
+ .'- **Configuring**:变配中。',
+ 'type' => 'string',
+ 'example' => 'Active',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => 'B6DC5DDC-9560-59BF-80FA-ED1E5CB417DF',
+ ],
+ 'ResourceGroupId' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'example' => 'rg-acfmx7pmxcy****',
+ ],
+ 'Tags' => [
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。'."\n"
+ ."\n"
+ .'一个标签健最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'example' => 'testTagValue',
+ ],
+ ],
+ ],
+ ],
+ 'VpcId' => [
+ 'description' => '专有网络ID。',
+ 'type' => 'string',
+ 'example' => 'vpc-k1aajsbwbaq4todet****',
+ ],
+ 'ZoneMappings' => [
+ 'description' => '可用区及交换机映射列表。至少需要添加一个可用区,最多支持添加20个可用区。若当前地域支持2个及以上的可用区,建议添加2个及以上可用区。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '可用区及交换机映射对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'LoadBalancerAddresses' => [
+ 'description' => '网关型负载均衡实例地址列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网关型负载均衡实例地址对象。',
+ 'type' => 'object',
+ 'properties' => [
+ 'EniId' => [
+ 'description' => '弹性网卡ENI ID。',
+ 'type' => 'string',
+ 'example' => 'eni-bp1iahwz3rzgvltz****',
+ ],
+ 'PrivateIpv4Address' => [
+ 'description' => 'IPv4 私网地址。',
+ 'type' => 'string',
+ 'example' => '192.168.XX.XX',
+ ],
+ ],
+ ],
+ ],
+ 'VSwitchId' => [
+ 'description' => '可用区对应的交换机,每个可用区只能使用一台交换机和一个子网。',
+ 'type' => 'string',
+ 'example' => 'vsw-uf6v8l7d2f1k53xrl****',
+ ],
+ 'ZoneId' => [
+ 'description' => '可用区ID。',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou-j',
+ ],
+ ],
+ ],
+ ],
+ 'TrafficMode' => [
+ 'description' => '流量模式。取值:'."\n"
+ ."\n"
+ .'- **LoadBalance**:负载均衡。'."\n"
+ .'- **ByPass**:绕行模式。',
+ 'type' => 'string',
+ 'example' => 'LoadBalance',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.LoadBalancerId',
+ 'errorMessage' => 'The param of LoadBalancerId is missing.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"AddressIpVersion\\": \\"Ipv4\\",\\n \\"CreateTime\\": \\"2024-07-08T10:12:58Z\\",\\n \\"LoadBalancerBusinessStatus\\": \\"Normal\\",\\n \\"LoadBalancerId\\": \\"gwlb-9njtjmqt7zfcqm****\\",\\n \\"LoadBalancerName\\": \\"gwlb\\",\\n \\"LoadBalancerStatus\\": \\"Active\\",\\n \\"RequestId\\": \\"B6DC5DDC-9560-59BF-80FA-ED1E5CB417DF\\",\\n \\"ResourceGroupId\\": \\"rg-acfmx7pmxcy****\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testTagKey\\",\\n \\"Value\\": \\"testTagValue\\"\\n }\\n ],\\n \\"VpcId\\": \\"vpc-k1aajsbwbaq4todet****\\",\\n \\"ZoneMappings\\": [\\n {\\n \\"LoadBalancerAddresses\\": [\\n {\\n \\"EniId\\": \\"eni-bp1iahwz3rzgvltz****\\",\\n \\"PrivateIpv4Address\\": \\"192.168.XX.XX\\"\\n }\\n ],\\n \\"VSwitchId\\": \\"vsw-uf6v8l7d2f1k53xrl****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-j\\"\\n }\\n ],\\n \\"TrafficMode\\": \\"LoadBalance\\"\\n}","type":"json"}]',
+ 'title' => '查询负载均衡实例详细信息',
+ ],
+ 'CreateServerGroup' => [
+ 'summary' => '创建负载均衡服务器组。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225035',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb88O4KB',
+ 'FEATUREslb98XMCW',
+ 'FEATUREslb4EL8LZ',
+ 'FEATUREslb5QFSS9',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组类型',
+ 'description' => '服务器组类型。取值:'."\n"
+ ."\n"
+ .'- **Instance**(默认值):服务器类型,该类型服务器组支持添加**Ecs**、**Eni**、**Eci**类型实例。'."\n"
+ ."\n"
+ .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址类型的后端服务器。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Instance',
+ 'enum' => [
+ 'Instance',
+ 'Ip',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ServerGroupName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组名称',
+ 'description' => '服务器组名称。'."\n"
+ ."\n"
+ .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testServerGroupName',
+ ],
+ ],
+ [
+ 'name' => 'Protocol',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '后端服务器类型',
+ 'description' => '后端转发协议。取值:'."\n"
+ ."\n"
+ .'- **GENEVE**(默认值)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'enumValueTitles' => [
+ 'GENEVE' => 'GENEVE',
+ ],
+ 'example' => 'GENEVE',
+ 'enum' => [
+ 'GENEVE',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'Scheduler',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '会话保持类型',
+ 'description' => '调度算法。取值:'."\n"
+ ."\n"
+ .'- **5TCH**(默认值):五元组哈希,基于五元组(源IP、目的IP、源端口、目的端口和协议)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n"
+ ."\n"
+ .'- **3TCH**:三元组哈希,基于三元组(源IP、目的IP和协议)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n"
+ ."\n"
+ .'- **2TCH**:二元组哈希,基于二元组(源IP和目的IP)的一致性哈希,相同的流会调度到相同的后端服务器。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5TCH',
+ 'enum' => [
+ '5TCH',
+ '3TCH',
+ '2TCH',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ServerFailoverMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '',
+ 'description' => '服务器异常时,存量流量的处理方式。取值:'."\n"
+ ."\n"
+ .'- **NoRebalance(默认值)**:不重新平衡现有流量。'."\n"
+ .'- **Rebalance**:重新平衡现有流量。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NoRebalance',
+ 'enum' => [
+ 'NoRebalance',
+ 'Rebalance',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组所在vpc的id',
+ 'description' => 'VPC实例ID。'."\n"
+ ."\n"
+ .'> 如果**ServerGroupType**取值为**Instance**时,只有该VPC下的服务器可以加入到该服务器组。',
+ 'type' => 'string',
+ 'required' => true,
+ 'docRequired' => false,
+ 'example' => 'vpc-bp15zckdt37pq72zv****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '企业资源组id',
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-atstuj3rtop****',
+ ],
+ ],
+ [
+ 'name' => 'ConnectionDrainConfig',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '连接优雅中断配置',
+ 'description' => '连接优雅中断相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ConnectionDrainEnabled' => [
+ 'title' => '是否开启连接优雅中断',
+ 'description' => '是否开启连接优雅中断。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**(默认值):关闭。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'ConnectionDrainTimeout' => [
+ 'title' => '连接优雅中断超时时间',
+ 'description' => '连接优雅中断超时时间。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**3600**。'."\n"
+ ."\n"
+ .'默认值:**300**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '300',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'HealthCheckConfig',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '健康检查配置',
+ 'description' => '健康检查相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'HealthCheckConnectPort' => [
+ 'title' => '健康检查使用的端口',
+ 'description' => '健康检查使用的后端服务器的端口。'."\n"
+ ."\n"
+ .'取值范围: **1**~**65535**。'."\n"
+ ."\n"
+ .'默认值:**80**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '80',
+ ],
+ 'HealthCheckConnectTimeout' => [
+ 'title' => '健康检查响应的最大超时时间',
+ 'description' => '健康检查响应的最大超时时间。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**300**。'."\n"
+ ."\n"
+ .'默认值:**5**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ 'HealthCheckDomain' => [
+ 'title' => '健康检查的域名',
+ 'description' => '用于健康检查的域名。取值:'."\n"
+ ."\n"
+ .'- **$SERVER_IP**(默认值):使用后端服务器内网IP。'."\n"
+ ."\n"
+ .'- **domain**:指定特定域名。长度限制1~80个字符,只能使用大小写字母、数字、短划线(-)、半角句号(.)。'."\n"
+ ."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '$SERVER_IP',
+ ],
+ 'HealthCheckEnabled' => [
+ 'title' => '是否开启健康检查',
+ 'description' => '是否开启健康检查,取值:'."\n"
+ ."\n"
+ .'- **true**(默认值):开启。'."\n"
+ ."\n"
+ .'- **false**:关闭。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'HealthCheckHttpCode' => [
+ 'title' => '状态码,多个状态码用逗号分隔',
+ 'description' => '健康状态返回码列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n"
+ .'取值:'."\n"
+ .'- **http\\_2xx**'."\n"
+ .'- **http\\_3xx**'."\n"
+ .'- **http\\_4xx**'."\n"
+ .'- **http\\_5xx**'."\n"
+ ."\n"
+ .'默认值:**http\\_2xx** 。'."\n"
+ ."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'http_2xx',
+ 'enum' => [
+ 'http_2xx',
+ 'http_3xx',
+ 'http_4xx',
+ 'http_5xx',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'HealthCheckInterval' => [
+ 'title' => '健康检查时间间隔',
+ 'description' => '健康检查的时间间隔。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**50**。'."\n"
+ ."\n"
+ .'默认值:**10**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ 'HealthCheckPath' => [
+ 'title' => '健康检查的path',
+ 'description' => '健康检查路径。'."\n"
+ ."\n"
+ .'长度为1~80个字符,只能使用大小写英文字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:\',+='."\n"
+ ."\n"
+ .'必须以正斜线(/)开头。'."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/test/index.html',
+ ],
+ 'HealthCheckProtocol' => [
+ 'title' => '健康检查协议类型',
+ 'description' => '健康检查协议,取值:'."\n"
+ ."\n"
+ .'- **TCP**(默认值):通过发送SYN握手报文来检测服务器端口是否存活。'."\n"
+ ."\n"
+ .'- **HTTP**:通过发送GET请求模拟浏览器的访问行为来检查服务器应用是否健康。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TCP',
+ 'enum' => [
+ 'TCP',
+ 'HTTP',
+ ],
+ ],
+ 'HealthyThreshold' => [
+ 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success',
+ 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n"
+ ."\n"
+ .'取值范围:**2**~**10**。'."\n"
+ ."\n"
+ .'默认值:**2**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ 'UnhealthyThreshold' => [
+ 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail',
+ 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n"
+ ."\n"
+ .'取值范围:**2**~**10**。'."\n"
+ ."\n"
+ .'默认值:**2**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '标签列表',
+ 'description' => '标签列表。'."\n"
+ ."\n"
+ .'一次调用最多支持 20 个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会创建服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'False',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
+ ],
+ 'ServerGroupId' => [
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.HealthCheckProtocol',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.ServerGroupsNum',
+ 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Vpc',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::ListServerGroups',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\"\\n}","type":"json"}]',
+ 'title' => '创建服务器组',
+ 'description' => '**CreateServerGroup**接口属于异步接口,即系统返回一个请求ID,但该服务器组尚未创建成功,系统后台的创建任务仍在进行。您可以调用 ListServerGroups 查询服务器组的创建状态:'."\n"
+ .'- 当服务器组处于**Creating**状态时,表示服务器组正在创建中。'."\n"
+ .'- 当服务器组处于**Available**状态时,表示服务器组创建成功。',
+ ],
+ 'UpdateServerGroupAttribute' => [
+ 'summary' => '更新负载均衡服务器组属性。',
+ 'methods' => [
+ 'get',
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225039',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb3GOGI0',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组ID',
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ ],
+ [
+ 'name' => 'ServerGroupName',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组名称',
+ 'description' => '服务器组名称。'."\n"
+ ."\n"
+ .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testServerGroupName',
+ ],
+ ],
+ [
+ 'name' => 'Scheduler',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '会话保持类型',
+ 'description' => '调度算法。取值:'."\n"
+ ."\n"
+ .'- **5TCH**:五元组哈希,基于五元组(源IP、目的IP、源端口、目的端口和协议)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n"
+ ."\n"
+ .'- **3TCH**:三元组哈希,基于三元组(源IP、目的IP和协议)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n"
+ ."\n"
+ .'- **2TCH**:二元组哈希,基于二元组(源IP和目的IP)的一致性哈希,相同的流会调度到相同的后端服务器。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '5TCH',
+ 'enum' => [
+ '5TCH',
+ '3TCH',
+ '2TCH',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ServerFailoverMode',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器异常时,存量流量的处理方式。取值:'."\n"
+ ."\n"
+ .'- **NoRebalance**:不重新平衡现有流量。'."\n"
+ .'- **Rebalance**:重新平衡现有流量。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'NoRebalance',
+ 'enum' => [
+ 'NoRebalance',
+ 'Rebalance',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ConnectionDrainConfig',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '连接优雅中断配置',
+ 'description' => '连接优雅中断相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ConnectionDrainEnabled' => [
+ 'title' => '是否开启连接优雅中断',
+ 'description' => '是否开启连接优雅中断。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**:关闭。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ 'ConnectionDrainTimeout' => [
+ 'title' => '连接优雅中断超时时间',
+ 'description' => '连接优雅中断超时时间。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**3600**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '300',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'HealthCheckConfig',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'title' => '健康检查配置',
+ 'description' => '健康检查相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'HealthCheckConnectPort' => [
+ 'title' => '健康检查使用的端口',
+ 'description' => '健康检查使用的后端服务器的端口。'."\n"
+ ."\n"
+ .'取值范围: **1**~**65535**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '80',
+ ],
+ 'HealthCheckConnectTimeout' => [
+ 'title' => '健康检查响应的最大超时时间',
+ 'description' => '健康检查响应的最大超时时间。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**300**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '5',
+ ],
+ 'HealthCheckDomain' => [
+ 'title' => '健康检查的域名',
+ 'description' => '用于健康检查的域名。取值:'."\n"
+ ."\n"
+ .'- **$SERVER_IP**:使用后端服务器内网IP。'."\n"
+ ."\n"
+ .'- **domain**:指定特定域名。长度限制1~80个字符,只能使用大小写字母、数字、短划线(-)、半角句号(.)。'."\n"
+ ."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '$SERVER_IP',
+ ],
+ 'HealthCheckEnabled' => [
+ 'title' => '是否开启健康检查',
+ 'description' => '是否开启健康检查,取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**:关闭。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ 'HealthCheckHttpCode' => [
+ 'title' => '状态码,多个状态码用逗号分隔',
+ 'description' => '健康状态返回码列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n"
+ .'取值:'."\n"
+ .'- **http\\_2xx**:返回HttpCode为2xx视为健康状态。'."\n"
+ .'- **http\\_3xx**:返回HttpCode为3xx视为健康状态。'."\n"
+ .'- **http\\_4xx**:返回HttpCode为4xx视为健康状态。'."\n"
+ .'- **http\\_5xx**:返回HttpCode为5xx视为健康状态。'."\n"
+ ."\n"
+ .'默认值:**http\\_2xx** 。'."\n"
+ ."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'http_2xx',
+ 'enum' => [
+ 'http_2xx',
+ 'http_3xx',
+ 'http_4xx',
+ 'http_5xx',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'HealthCheckInterval' => [
+ 'title' => '健康检查时间间隔',
+ 'description' => '健康检查的时间间隔。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**50**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ 'HealthCheckPath' => [
+ 'title' => '健康检查的path',
+ 'description' => '健康检查路径。'."\n"
+ ."\n"
+ .'长度为1~80个字符,只能使用大小写英文字母、数字、字符`-/.%?#&`。 必须以正斜线(/)开头。'."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '/test/index.html',
+ ],
+ 'HealthCheckProtocol' => [
+ 'title' => '健康检查协议类型',
+ 'description' => '健康检查协议,取值:'."\n"
+ ."\n"
+ .'- **TCP**:通过发送SYN握手报文来检测服务器端口是否存活。'."\n"
+ ."\n"
+ .'- **HTTP**:通过发送GET请求模拟浏览器的访问行为来检查服务器应用是否健康。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'TCP',
+ 'enum' => [
+ 'TCP',
+ 'HTTP',
+ ],
+ ],
+ 'HealthyThreshold' => [
+ 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success',
+ 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n"
+ ."\n"
+ .'取值范围:**2**~**10**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ 'UnhealthyThreshold' => [
+ 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail',
+ 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n"
+ ."\n"
+ .'取值范围:**2**~**10**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '2',
+ ],
+ ],
+ 'required' => false,
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会更新服务器组信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '返回数据结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'."\n",
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.HealthCheckProtocol',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.ServerGroup',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.SchedulerNotConfigurable',
+ 'errorMessage' => 'The scheduling algorithm of server group is configurable only when TCP idle timeout of listener is default value.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::ListServerGroups',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\\\n\\"\\n}","type":"json"}]',
+ 'title' => '更新服务器组属性',
+ 'description' => '**UpdateServerGroupAttribute**接口属于异步接口,即系统返回一个请求ID,但该服务器组的配置尚未更新成功,系统后台的更新任务仍在进行。您可以调用 ListServerGroups 查询服务器组的配置的更新状态:'."\n"
+ .'- 当服务器组的配置处于**Configuring**状态时,表示服务器组的配置正在更新中。'."\n"
+ .'- 当服务器组的配置处于**Available**状态时,表示服务器组的配置更新成功。',
+ ],
+ 'DeleteServerGroup' => [
+ 'summary' => '删除负载均衡服务器组。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225038',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb5QFSS9',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组ID',
+ 'description' => '服务器组ID',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求,取值:'."\n"
+ .'- **true**:发送检查请求,不会删除服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2XX状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '返回数据结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectStatus.BackendServer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'ResourceInUse.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is in use.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.ServerGroup',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]',
+ 'title' => '删除服务器组',
+ 'description' => '服务器组未被任何监听使用时支持删除。',
+ ],
+ 'AddServersToServerGroup' => [
+ 'summary' => '向负载均衡服务器组中添加后端服务器。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225056',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb3GOGI0',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ ],
+ [
+ 'name' => 'Servers',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '后端服务器列表。'."\n"
+ ."\n"
+ .'> 单次调用最多支持传入200个服务器。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '后端服务器。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Port' => [
+ 'title' => '服务器端口',
+ 'description' => '后端服务器使用的端口,取值:'."\n"
+ ."\n"
+ .'- **6081**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '6081',
+ ],
+ 'ServerId' => [
+ 'title' => '服务器id',
+ 'description' => '后端服务器ID。'."\n"
+ ."\n"
+ .'- 当服务器组为**Instance**类型时,该参数为**Ecs**、**Eni**、**Eci**的资源ID。'."\n"
+ ."\n"
+ .'- 当服务器组为**Ip**类型时,该参数为IP地址。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'i-bp67acfmxazb4p****',
+ ],
+ 'ServerIp' => [
+ 'title' => '服务器ip',
+ 'description' => '后端服务器IP地址。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.XX.XX',
+ ],
+ 'ServerType' => [
+ 'title' => '服务器类型',
+ 'description' => '后端服务器类型,取值:'."\n"
+ ."\n"
+ .'- **Ecs**:ECS实例。'."\n"
+ .'- **Eni**:ENI弹性网卡实例。'."\n"
+ .'- **Eci**:ECI弹性容器。'."\n"
+ .'- **Ip**:Ip地址。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Ecs',
+ 'enum' => [
+ 'Ecs',
+ 'Eni',
+ 'Eci',
+ 'Ip',
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 200,
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求,取值:'."\n"
+ .'- **true**:发送检查请求,不会向服务器组中添加后端服务器。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '返回数据结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'Conflict.Server',
+ 'errorMessage' => 'The %s [%s] is conflict.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.ServerType',
+ 'errorMessage' => 'The %s is mismatched for %s and %s.',
+ ],
+ [
+ 'errorCode' => 'ResourceInUse.IP',
+ 'errorMessage' => 'The specified resource of %s is in use.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.ServerIp',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.EcsNetworkType',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.Server',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'ResourceInUse.Eni',
+ 'errorMessage' => 'The specified resource of %s is in use.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.Eni',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.IP',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.IP',
+ 'errorMessage' => 'The %s is mismatched for %s and %s.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.VpcId',
+ 'errorMessage' => 'The %s is mismatched for %s and %s.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.ServerGroupServersNum',
+ 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.',
+ ],
+ [
+ 'errorCode' => 'QuotaExceeded.ServerGroupAzServersNum',
+ 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.ServerGroup',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Eni',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Eci',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Ecs',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::ListServerGroupServers',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]',
+ 'title' => '服务器组中添加后端服务器',
+ 'description' => '**AddServersToServerGroup**接口属于异步接口,即系统返回一个请求ID,但该后端服务器尚未添加成功,系统后台的添加任务仍在进行。'."\n"
+ ."\n"
+ .'1. 您可以调用 ListServerGroups 查询服务器组的状态:'."\n"
+ ."\n"
+ .'- 当服务器组处于**Configuring**状态时,表示服务器组正在变配中。'."\n"
+ .'- 当服务器组处于**Available**状态时,表示服务器组运行中。'."\n"
+ ."\n"
+ .'2. 您可以调用 ListServerGroupServers 查询后端服务器的状态:'."\n"
+ ."\n"
+ .'- 当后端服务器处于**Adding**状态时,表示后端服务器正在加入服务器组。'."\n"
+ .'- 当后端服务器处于**Available**状态时,表示后端服务器运行中。',
+ ],
+ 'RemoveServersFromServerGroup' => [
+ 'summary' => '从负载均衡服务器组中移除后端服务器。',
+ 'methods' => [
+ 'post',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225065',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb3GOGI0',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ ],
+ [
+ 'name' => 'Servers',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '后端服务器列表。'."\n"
+ ."\n"
+ .'> 单次调用最多支持传入200个服务器。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '后端服务器。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Port' => [
+ 'title' => '服务器端口',
+ 'description' => '后端服务器使用的端口,取值:'."\n"
+ ."\n"
+ .'- **6081**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '6081',
+ ],
+ 'ServerId' => [
+ 'title' => '服务器id',
+ 'description' => '后端服务器ID。'."\n"
+ ."\n"
+ .'- 当服务器组为**Instance**类型时,该参数为**Ecs**、**Eni**、**Eci**的资源ID。'."\n"
+ ."\n"
+ .'- 当服务器组为**Ip**类型时,该参数为IP地址。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'i-bp67acfmxazb4p****',
+ ],
+ 'ServerIp' => [
+ 'title' => '服务器ip',
+ 'description' => '后端服务器IP地址。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.xxx.xxx'."\n",
+ ],
+ 'ServerType' => [
+ 'title' => '服务器类型',
+ 'description' => '后端服务器类型,取值:'."\n"
+ ."\n"
+ .'- **Ecs**:ECS实例。'."\n"
+ .'- **Eni**:ENI弹性网卡实例。'."\n"
+ .'- **Eci**:ECI弹性容器。'."\n"
+ .'- **Ip**:Ip地址。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'Ecs',
+ 'enum' => [
+ 'Ecs',
+ 'Eni',
+ 'Eci',
+ 'Ip',
+ ],
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => true,
+ 'maxItems' => 200,
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求,取值:'."\n"
+ .'- **true**:发送检查请求,不会从服务器组中移除后端服务器。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '返回数据结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectStatus.BackendServer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.ServerGroup',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.BackendServer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::ListServerGroupServers',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]',
+ 'title' => '服务器组中移除后端服务器',
+ 'description' => '**RemoveServersFromServerGroup**接口属于异步接口,即系统返回一个请求ID,但该后端服务器尚未移除成功,系统后台的移除任务仍在进行。'."\n"
+ .'1. 您可以调用 ListServerGroups 查询服务器组的状态:'."\n"
+ .' - 当服务器组处于**Configuring**状态时,表示服务器组正在变配中。'."\n"
+ .' - 当服务器组处于**Available**状态时,表示服务器组运行中。'."\n"
+ ."\n"
+ .'2. 您可以调用 ListServerGroupServers 查询后端服务器的状态:'."\n"
+ .' - 当后端服务器处于**Removing**状态时,表示后端服务器正在从服务器组中移除。'."\n"
+ .' - 当查询不到该后端服务器时,表示后端服务器移除成功。'."\n"
+ ."\n"
+ .'> - 若服务器所在的服务器组开启了连接优雅中断(**ConnectionDrainEnabled**为true),移除时后端服务器会先变为**Removing**状态,之后变为**Draining**状态。待连接优雅中断超时(**ConnectionDrainTimeout**)到期后,才会真正将服务器从服务器组移除。'."\n"
+ .'> - 期间可以再次将此服务器加入此服务器组,此时状态由**Draining**变为**Adding**,最终变为**Available**。',
+ ],
+ 'ListServerGroups' => [
+ 'summary' => '查询负载均衡服务器组列表。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225041',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb5QFSS9',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '服务器组ID列表。'."\n"
+ ."\n"
+ .'一次最多支持查询20个服务器组ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'ServerGroupNames',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '服务器组名称列表。'."\n"
+ ."\n"
+ .'一次最多支持查询20个服务器组名称。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '服务器组名称。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testServerGroupName',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'ServerGroupType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器组类型。取值:'."\n"
+ ."\n"
+ .'- **Instance**:服务器类型,该类型服务器组支持添加**Ecs**、**Eni**、**Eci**类型实例。'."\n"
+ ."\n"
+ .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址类型的后端服务器。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Instance',
+ 'enum' => [
+ 'Instance',
+ 'Ip',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'rg-atstuj3rtop****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '标签列表。'."\n"
+ ."\n"
+ .'一次调用最多支持 20 个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testTagValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ [
+ 'name' => 'VpcId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '服务器组所在vpc的id',
+ 'description' => '专有网络ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'vpc-bp15zckdt37pq72zv****',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页游标',
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页大小',
+ 'description' => '分批次查询时每次显示的条目数。'."\n"
+ ."\n"
+ .'取值范围:1~1000。'."\n"
+ ."\n"
+ .'默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '查询时跳过指定的条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '返回数据结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxResults' => [
+ 'description' => '分批次查询时每次显示的条目数。'."\n"
+ ."\n"
+ .'取值范围:1~1000。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'NextToken' => [
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
+ ],
+ 'ServerGroups' => [
+ 'description' => '后端服务器组列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '后端服务器组。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ConnectionDrainConfig' => [
+ 'description' => '连接优雅中断相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ConnectionDrainEnabled' => [
+ 'description' => '是否开启连接优雅中断。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**:关闭。',
+ 'type' => 'boolean',
+ 'example' => 'false',
+ ],
+ 'ConnectionDrainTimeout' => [
+ 'description' => '连接优雅中断超时时间。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**3600**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '300',
+ ],
+ ],
+ ],
+ 'CreateTime' => [
+ 'description' => '资源创建时间,使用格林威治时间,格式为**yyyy-MM-ddTHH:mm:ssZ**。',
+ 'type' => 'string',
+ 'example' => '2024-08-05T18:24:07Z',
+ ],
+ 'HealthCheckConfig' => [
+ 'title' => '健康检查配置',
+ 'description' => '健康检查相关配置。',
+ 'type' => 'object',
+ 'properties' => [
+ 'HealthCheckConnectPort' => [
+ 'title' => '健康检查使用的端口',
+ 'description' => '健康检查使用的后端服务器的端口。'."\n"
+ ."\n"
+ .'取值范围: **1**~**65535**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '80',
+ ],
+ 'HealthCheckConnectTimeout' => [
+ 'title' => '健康检查响应的最大超时时间',
+ 'description' => '健康检查响应的最大超时时间。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**300**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '5',
+ ],
+ 'HealthCheckDomain' => [
+ 'title' => '健康检查的域名',
+ 'description' => '用于健康检查的域名。取值:'."\n"
+ ."\n"
+ .'- **$SERVER_IP**:使用后端服务器内网IP。'."\n"
+ ."\n"
+ .'- **domain**:指定特定域名。长度限制1~80个字符,只能使用大小写字母、数字、短划线(-)、半角句号(.)。'."\n"
+ ."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'example' => '$SERVER_IP',
+ ],
+ 'HealthCheckEnabled' => [
+ 'title' => '是否开启健康检查',
+ 'description' => '是否开启健康检查,取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**:关闭。',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'HealthCheckHttpCode' => [
+ 'title' => '状态码,多个状态码用逗号分隔',
+ 'description' => '健康状态返回码列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n"
+ .'取值:'."\n"
+ .'- **http\\_2xx**'."\n"
+ .'- **http\\_3xx**'."\n"
+ .'- **http\\_4xx**'."\n"
+ .'- **http\\_5xx**'."\n"
+ ."\n"
+ .'默认值:**http\\_2xx** 。'."\n"
+ ."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'example' => 'http_2xx',
+ ],
+ ],
+ 'HealthCheckInterval' => [
+ 'title' => '健康检查时间间隔',
+ 'description' => '健康检查的时间间隔。'."\n"
+ ."\n"
+ .'单位:秒。'."\n"
+ ."\n"
+ .'取值范围:**1**~**50**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '10',
+ ],
+ 'HealthCheckPath' => [
+ 'title' => '健康检查的path',
+ 'description' => '健康检查路径。'."\n"
+ ."\n"
+ .'长度为1~80个字符,只能使用大小写英文字母、数字、字符`-/.%?#&`。 必须以正斜线(/)开头。'."\n"
+ .'> 仅**HealthCheckProtocol**为**HTTP**时,该参数生效。',
+ 'type' => 'string',
+ 'example' => '/test/index.html',
+ ],
+ 'HealthCheckProtocol' => [
+ 'title' => '健康检查协议类型',
+ 'description' => '健康检查协议,取值:'."\n"
+ ."\n"
+ .'- **TCP**:通过发送SYN握手报文来检测服务器端口是否存活。'."\n"
+ ."\n"
+ .'- **HTTP**:通过发送GET请求模拟浏览器的访问行为来检查服务器应用是否健康。',
+ 'type' => 'string',
+ 'example' => 'TCP',
+ ],
+ 'HealthyThreshold' => [
+ 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success',
+ 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。'."\n"
+ ."\n"
+ .'取值范围:**2**~**10**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'UnhealthyThreshold' => [
+ 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail',
+ 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。'."\n"
+ ."\n"
+ .'取值范围:**2**~**10**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ ],
+ ],
+ 'Protocol' => [
+ 'title' => '后端协议',
+ 'description' => '后端转发协议。取值:'."\n"
+ ."\n"
+ .'- **GENEVE**。',
+ 'type' => 'string',
+ 'example' => 'GENEVE',
+ ],
+ 'RelatedLoadBalancerIds' => [
+ 'description' => '关联的负载均衡实例ID列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '关联的负载均衡实例ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-cp6prgqy40hols****',
+ ],
+ ],
+ 'ResourceGroupId' => [
+ 'title' => '资源组id',
+ 'description' => '资源组ID。',
+ 'type' => 'string',
+ 'example' => 'rg-atstuj3rtop****',
+ ],
+ 'Scheduler' => [
+ 'title' => '流量调度算法',
+ 'description' => '调度算法。取值:'."\n"
+ ."\n"
+ .'- **5TCH**:五元组哈希,基于五元组(源IP、目的IP、源端口、目的端口和协议)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n"
+ ."\n"
+ .'- **3TCH**:三元组哈希,基于三元组(源IP、目的IP和协议)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n"
+ ."\n"
+ .'- **2TCH**:二元组哈希,基于二元组(源IP和目的IP)的一致性哈希,相同的流会调度到相同的后端服务器。',
+ 'type' => 'string',
+ 'example' => '5TCH',
+ ],
+ 'ServerCount' => [
+ 'description' => '后端服务器数量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '2',
+ ],
+ 'ServerGroupId' => [
+ 'title' => '服务器组id',
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ 'ServerGroupName' => [
+ 'title' => '服务器组名称',
+ 'description' => '服务器组名称。',
+ 'type' => 'string',
+ 'example' => 'testServerGroupName',
+ ],
+ 'ServerGroupStatus' => [
+ 'title' => '服务器组状态',
+ 'description' => '服务器组状态。取值:'."\n"
+ ."\n"
+ .'- **Creating**:创建中。'."\n"
+ ."\n"
+ .'- **Available**:可用。'."\n"
+ ."\n"
+ .'- **Configuring**:变配中。',
+ 'type' => 'string',
+ 'example' => 'Available',
+ ],
+ 'ServerGroupType' => [
+ 'title' => '服务器组类型',
+ 'description' => '服务器组类型。取值:'."\n"
+ ."\n"
+ .'- **Instance**:服务器类型,该类型服务器组支持添加**Ecs**、**Eni**、**Eci**类型实例。'."\n"
+ ."\n"
+ .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址类型的后端服务器。',
+ 'type' => 'string',
+ 'example' => 'Instance',
+ ],
+ 'ServerFailoverMode' => [
+ 'description' => '服务器异常时,存量流量的处理方式。取值:'."\n"
+ ."\n"
+ .'- **NoRebalance**:不重新平衡现有流量。'."\n"
+ .'- **Rebalance**:重新平衡现有流量。',
+ 'type' => 'string',
+ 'example' => 'NoRebalance',
+ ],
+ 'Tags' => [
+ 'title' => '标签',
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'example' => 'testTagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'example' => 'testTagValue',
+ ],
+ ],
+ ],
+ ],
+ 'VpcId' => [
+ 'title' => '服务器组的vpcid',
+ 'description' => '专用网络ID。',
+ 'type' => 'string',
+ 'example' => 'vpc-bp15zckdt37pq72zv****',
+ ],
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => '列表条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroups\\": [\\n {\\n \\"ConnectionDrainConfig\\": {\\n \\"ConnectionDrainEnabled\\": false,\\n \\"ConnectionDrainTimeout\\": 300\\n },\\n \\"CreateTime\\": \\"2024-08-05T18:24:07Z\\",\\n \\"HealthCheckConfig\\": {\\n \\"HealthCheckConnectPort\\": 80,\\n \\"HealthCheckConnectTimeout\\": 5,\\n \\"HealthCheckDomain\\": \\"$SERVER_IP\\",\\n \\"HealthCheckEnabled\\": true,\\n \\"HealthCheckHttpCode\\": [\\n \\"http_2xx\\"\\n ],\\n \\"HealthCheckInterval\\": 10,\\n \\"HealthCheckPath\\": \\"/test/index.html\\",\\n \\"HealthCheckProtocol\\": \\"TCP\\",\\n \\"HealthyThreshold\\": 2,\\n \\"UnhealthyThreshold\\": 2\\n },\\n \\"Protocol\\": \\"GENEVE\\",\\n \\"RelatedLoadBalancerIds\\": [\\n \\"gwlb-cp6prgqy40hols****\\"\\n ],\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"Scheduler\\": \\"5TCH\\",\\n \\"ServerCount\\": 2,\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"ServerGroupName\\": \\"testServerGroupName\\",\\n \\"ServerGroupStatus\\": \\"Available\\",\\n \\"ServerGroupType\\": \\"Instance\\",\\n \\"ServerFailoverMode\\": \\"NoRebalance\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testTagKey\\",\\n \\"Value\\": \\"testTagValue\\"\\n }\\n ],\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72zv****\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
+ 'title' => '查询服务器组列表',
+ ],
+ 'ListServerGroupServers' => [
+ 'summary' => '查询负载均衡服务器组中的服务器列表。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225066',
+ 'abilityTreeNodes' => [
+ 'FEATUREslb3GOGI0',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ ],
+ [
+ 'name' => 'ServerIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '服务器ID列表。'."\n"
+ ."\n"
+ .'单次调用最多支持展示200个服务器。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '服务器ID。'."\n"
+ ."\n"
+ .'- 当服务器组为**Instance**类型时,该参数为**Ecs**、**Eni**、**Eci**的资源ID。'."\n"
+ ."\n"
+ .'- 当服务器组为**Ip**类型时,该参数为IP地址。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'i-bp67acfmxazb4p****',
+ ],
+ 'required' => false,
+ 'maxItems' => 200,
+ ],
+ ],
+ [
+ 'name' => 'ServerIps',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '服务器IP地址列表。'."\n"
+ ."\n"
+ .'单次调用最多支持展示200个服务器。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '服务器IP地址。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '192.168.xxx.xxx',
+ ],
+ 'required' => false,
+ 'maxItems' => 200,
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页游标',
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页大小',
+ 'description' => '分批次查询时每次显示的条目数。'."\n"
+ ."\n"
+ .'取值范围:1~1000。'."\n"
+ ."\n"
+ .'默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '查询时跳过指定的条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '1',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '返回数据结构体。',
+ 'type' => 'object',
+ 'properties' => [
+ 'MaxResults' => [
+ 'description' => '分批次查询时每次显示的条目数。'."\n"
+ ."\n"
+ .'取值范围:1~1000。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'NextToken' => [
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
+ 'type' => 'string',
+ 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
+ ],
+ 'Servers' => [
+ 'description' => '后端服务器列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '后端服务器。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Port' => [
+ 'title' => '服务器端口',
+ 'description' => '后端服务器使用的端口,取值:'."\n"
+ ."\n"
+ .'- **6081**。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6081',
+ ],
+ 'ServerGroupId' => [
+ 'title' => '服务器所属的服务器组ID',
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'example' => 'sgp-atstuj3rtoptyui****',
+ ],
+ 'ServerId' => [
+ 'title' => '服务器id',
+ 'description' => '后端服务器ID。',
+ 'type' => 'string',
+ 'example' => 'i-bp67acfmxazb4p****',
+ ],
+ 'ServerIp' => [
+ 'title' => '服务器ip',
+ 'description' => '后端服务器IP地址。',
+ 'type' => 'string',
+ 'example' => '192.168.xxx.xxx',
+ ],
+ 'ServerType' => [
+ 'title' => '服务器类型',
+ 'description' => '后端服务器类型,取值:'."\n"
+ ."\n"
+ .'- **Ecs**:ECS实例。'."\n"
+ .'- **Eni**:ENI弹性网卡实例。'."\n"
+ .'- **Eci**:ECI弹性容器。'."\n"
+ .'- **Ip**:Ip地址。',
+ 'type' => 'string',
+ 'example' => 'Ecs',
+ ],
+ 'Status' => [
+ 'title' => '资源状态',
+ 'description' => '后端服务器的状态。取值:'."\n"
+ ."\n"
+ .'- **Adding**:添加中。'."\n"
+ .'- **Available**:正常可用状态。'."\n"
+ .'- **Draining**:连接优雅中断中。'."\n"
+ .'- **Removing**:移除中。'."\n"
+ .'- **Replacing**:替换中。',
+ 'type' => 'string',
+ 'example' => 'Available',
+ ],
+ ],
+ ],
+ ],
+ 'TotalCount' => [
+ 'description' => '列表条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '1',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"Servers\\": [\\n {\\n \\"Port\\": 6081,\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"ServerId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"ServerIp\\": \\"192.168.xxx.xxx\\",\\n \\"ServerType\\": \\"Ecs\\",\\n \\"Status\\": \\"Available\\"\\n }\\n ],\\n \\"TotalCount\\": 1\\n}","type":"json"}]',
+ 'title' => '查询服务器组中的服务器列表',
+ ],
+ 'CreateListener' => [
+ 'summary' => '创建负载均衡监听器。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '220131',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbPNW4R2',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'LoadBalancerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gwlb-te609d6696632f7*****',
+ ],
+ ],
+ [
+ 'name' => 'ListenerDescription',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '自定义监听描述。'."\n"
+ ."\n"
+ .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'listener-description',
+ ],
+ ],
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器组 ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'sgp-ckh01px70dszof****',
+ ],
+ ],
+ [
+ 'name' => 'TcpIdleTimeout',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'TCP连接空闲超时时间。默认值:**350**秒。'."\n"
+ ."\n"
+ .'取值范围:**60**-**6000**秒。',
+ 'description' => 'TCP连接空闲超时时间。'."\n"
+ ."\n"
+ .'取值范围:**60**-**6000** 秒。'."\n"
+ ."\n"
+ .'默认值:**350** 秒。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '350',
+ 'default' => '350',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会创建监听。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '标签列表。一次调用最多支持添加20个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerId' => [
+ 'title' => '',
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'example' => 'lsn-wi3c0v30ivysrg****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => 'A045E652-D298-5E70-A978-7247135336FB',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.LoadBalancer',
+ 'errorMessage' => 'The business status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.TagKey',
+ 'errorMessage' => 'The param of TagKey is missing.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.TagValue',
+ 'errorMessage' => 'The param of TagValue is missing.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.TooManyListeners',
+ 'errorMessage' => 'The operation is not allowed because of TooManyListener.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.LoadBalancer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'ResourceInUse.IP',
+ 'errorMessage' => 'The specified resource of IP is in use.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.VpcId',
+ 'errorMessage' => 'The %s is mismatched for %s and %s.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.ServerGroup',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagValue',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.TcpIdleTimeoutConflictWithScheduler',
+ 'errorMessage' => 'The TCP idle timeout of listener must be default value when the scheduling algorithm of server group is not 5TCH.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::GetListenerAttribute',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ListenerId\\": \\"lsn-wi3c0v30ivysrg****\\",\\n \\"RequestId\\": \\"A045E652-D298-5E70-A978-7247135336FB\\"\\n}","type":"json"}]',
+ 'title' => '创建监听',
+ 'description' => '**CreateListener** 接口属于异步接口,即系统返回一个请求 ID,但该监听尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetListenerAttribute](~~2853569~~)查询监听的创建状态:'."\n"
+ ."\n"
+ .'- 当监听处于 **Provisioning** 状态时,表示监听正在创建中。'."\n"
+ ."\n"
+ .'- 当监听处于 **Running** 状态时,表示监听创建成功。',
+ ],
+ 'UpdateListenerAttribute' => [
+ 'summary' => '更新负载均衡监听的属性。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221402',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbC68LB1',
+ 'FEATUREslbPNW4R2',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'lsn-lxce8iqbof2vl0****',
+ ],
+ ],
+ [
+ 'name' => 'ListenerDescription',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '自定义监听描述。'."\n"
+ ."\n"
+ .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'listener_description',
+ ],
+ ],
+ [
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'sgp-sp8d2r6y7t0xtl****',
+ ],
+ ],
+ [
+ 'name' => 'TcpIdleTimeout',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'TCP连接空闲超时时间。取值范围:**60**-**6000**秒。',
+ 'description' => 'TCP连接空闲超时时间。取值范围:**60**-**6000**秒。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '350',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会更新监听属性。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求 ID。',
+ 'type' => 'string',
+ 'example' => '7DBFC67C-A272-5952-8287-6C3EBE4E04D9',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.LoadBalancer',
+ 'errorMessage' => 'The business status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.LoadBalancer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.Listener',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'Mismatch.VpcId',
+ 'errorMessage' => 'The %s is mismatched for %s and %s.',
+ ],
+ [
+ 'errorCode' => 'ResourceInUse.IP',
+ 'errorMessage' => 'The specified resource of IP is in use.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.ServerGroup',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.TcpIdleTimeoutConflictWithScheduler',
+ 'errorMessage' => 'The TCP idle timeout of listener must be default value when the scheduling algorithm of server group is not 5TCH.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.TcpIdleTimeoutNotConfigurable',
+ 'errorMessage' => 'The TCP idle timeout of listener is configurable only when the scheduling algorithm of server group is 5TCH.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Listener',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::GetListenerAttribute',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7DBFC67C-A272-5952-8287-6C3EBE4E04D9\\"\\n}","type":"json"}]',
+ 'title' => '更新监听属性',
+ 'description' => '**UpdateListenerAttribute** 接口属于异步接口,即系统返回一个请求 ID,但该监听的配置尚未更新成功,系统后台的更新任务仍在进行。您可以调用 **GetListenerAttribute** 查询监听的配置的更新状态:'."\n"
+ ."\n"
+ .'- 当监听器处于 **Configuring** 状态时,表示监听的配置正在更新中。'."\n"
+ .'- 当监听器处于 **Running** 状态时,表示监听的配置更新成功。',
+ ],
+ 'DeleteListener' => [
+ 'summary' => '删除负载均衡监听器。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221398',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbC68LB1',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'lsn-brx2y3hqdincizg***',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会删除监听。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '5C6E3548-086F-5FF6-A2B3-B1871B3AB488',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IncorrectBusinessStatus.LoadBalancer',
+ 'errorMessage' => 'The business status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.Listener',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ [
+ 'errorCode' => 'IncorrectStatus.LoadBalancer',
+ 'errorMessage' => 'The status of %s [%s] is incorrect.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Listener',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'asynchronous',
+ 'callback' => 'Gwlb::2024-04-15::GetListenerAttribute',
+ 'callbackInterval' => 3000,
+ 'maxCallbackTimes' => 100,
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5C6E3548-086F-5FF6-A2B3-B1871B3AB488\\"\\n}","type":"json"}]',
+ 'title' => '删除监听',
+ 'description' => '**DeleteListener** 接口属于异步接口,即系统返回一个请求 ID,但该监听尚未删除成功,系统后台的删除任务仍在进行。您可以调用 **GetListenerAttribute** 查询监听的删除状态:'."\n"
+ ."\n"
+ .'- 当监听器处于 **Deleting** 状态时,表示监听正在删除中。'."\n"
+ .'- 当查询不到该监听时,表示监听删除成功。',
+ ],
+ 'ListListeners' => [
+ 'summary' => '查询负载均衡监听列表。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221401',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbC68LB1',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ListenerIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '监听ID列表,最多支持20个监听ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'lsn-w3t3vpgjj12b2i****',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'LoadBalancerIds',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '网关型负载均衡实例ID。最多支持20个实例ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网关型负载均衡实例ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gwlb-rbtjolkkbudmrr****',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页游标',
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'd209f4e63ec942c967c50c888a13****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页大小',
+ 'description' => '使用NextToken方式查询时,每次最多返回的结果数。取值范围:1~1000。默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '标签列表。一次调用最多支持 20 个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。'."\n"
+ ."\n"
+ .'一个标签健最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tagKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'tagValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '分页查询时,跳过的条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Listeners' => [
+ 'description' => '网关型负载均衡监听列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '监听信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerDescription' => [
+ 'title' => '监听描述',
+ 'description' => '监听描述。',
+ 'type' => 'string',
+ 'example' => 'listener-description',
+ ],
+ 'ListenerId' => [
+ 'title' => '自己生成后赋值',
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'example' => 'lsn-vu7folhh5ntm8u****',
+ ],
+ 'ListenerStatus' => [
+ 'title' => '监听状态',
+ 'description' => '当前监听的状态,取值:'."\n"
+ ."\n"
+ .'- **Provisioning**:创建中。'."\n"
+ .'- **Running**:运行中。'."\n"
+ .'- **Configuring**:配置中。'."\n"
+ .'- **Deleting**:删除中。',
+ 'type' => 'string',
+ 'example' => 'Running',
+ ],
+ 'LoadBalancerId' => [
+ 'title' => '负载均衡实例ID',
+ 'description' => '网关型负载均衡实例的ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-uf6hbeh795xlqln7g****',
+ ],
+ 'ServerGroupId' => [
+ 'title' => '服务器组ID',
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'example' => 'sgp-5yapcb422i51ru****',
+ ],
+ 'TcpIdleTimeout' => [
+ 'title' => 'TCP连接空闲超时时间。',
+ 'description' => 'TCP连接空闲超时时间。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '350',
+ ],
+ 'Tags' => [
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签列表。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。',
+ 'type' => 'string',
+ 'example' => 'testKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。',
+ 'type' => 'string',
+ 'example' => 'testValue',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'MaxResults' => [
+ 'description' => '使用NextToken方式查询时,每次最多返回的结果数。取值范围:1~1000。默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'NextToken' => [
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'example' => '5c281c0a0d6bfb6355ed088c2108aca8e0b5e8707e68****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '7DBFC67C-A272-5952-8287-6C3EBE4E04D9',
+ ],
+ 'TotalCount' => [
+ 'description' => '列表条目总数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '8',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissingParam.TagKey',
+ 'errorMessage' => 'The param of TagKey is missing.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"Listeners\\": [\\n {\\n \\"ListenerDescription\\": \\"listener-description\\",\\n \\"ListenerId\\": \\"lsn-vu7folhh5ntm8u****\\",\\n \\"ListenerStatus\\": \\"Running\\",\\n \\"LoadBalancerId\\": \\"gwlb-uf6hbeh795xlqln7g****\\",\\n \\"ServerGroupId\\": \\"sgp-5yapcb422i51ru****\\",\\n \\"TcpIdleTimeout\\": 350,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testKey\\",\\n \\"Value\\": \\"testValue\\"\\n }\\n ]\\n }\\n ],\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"5c281c0a0d6bfb6355ed088c2108aca8e0b5e8707e68****\\",\\n \\"RequestId\\": \\"7DBFC67C-A272-5952-8287-6C3EBE4E04D9\\",\\n \\"TotalCount\\": 8\\n}","type":"json"}]',
+ 'title' => '查询监听列表',
+ ],
+ 'GetListenerAttribute' => [
+ 'summary' => '查询负载均衡实例的监听器详情。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221399',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbC68LB1',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'lsn-brx2y3hqdinciz****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerDescription' => [
+ 'title' => '监听描述',
+ 'description' => '自定义监听描述。'."\n"
+ ."\n"
+ .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。',
+ 'type' => 'string',
+ 'example' => 'listener_description',
+ ],
+ 'ListenerId' => [
+ 'title' => '',
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'example' => 'lsn-3kbj3587mqhm3p****',
+ ],
+ 'ListenerStatus' => [
+ 'title' => '监听状态',
+ 'description' => '当前监听的状态。取值:'."\n"
+ ."\n"
+ .'- **Provisioning**:创建中。'."\n"
+ .'- **Running**:运行中。'."\n"
+ .'- **Configuring**:配置中。'."\n"
+ .'- **Deleting**:删除中。',
+ 'type' => 'string',
+ 'example' => 'Provisioning',
+ ],
+ 'LoadBalancerId' => [
+ 'title' => '负载均衡实例ID',
+ 'description' => '网关型负载均衡实例ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-te609d6696632f76****',
+ ],
+ 'RegionId' => [
+ 'title' => '',
+ 'description' => '网关型负载均衡实例所在的地域 ID。',
+ 'type' => 'string',
+ 'example' => 'cn-hangzhou',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '75CC3312-7757-5EE1-90D8-49CEA66608AE',
+ ],
+ 'ServerGroupId' => [
+ 'title' => '服务器组ID',
+ 'description' => '服务器组ID。',
+ 'type' => 'string',
+ 'example' => 'sgp-sp8d2r6y7t0xtl****',
+ ],
+ 'TcpIdleTimeout' => [
+ 'title' => 'TCP连接空闲超时时间。',
+ 'description' => 'TCP连接空闲超时时间。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '350',
+ ],
+ 'Tags' => [
+ 'description' => '标签列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'example' => 'testKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'example' => 'testValue',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Listener',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ListenerDescription\\": \\"listener_description\\",\\n \\"ListenerId\\": \\"lsn-3kbj3587mqhm3p****\\",\\n \\"ListenerStatus\\": \\"Provisioning\\",\\n \\"LoadBalancerId\\": \\"gwlb-te609d6696632f76****\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"RequestId\\": \\"75CC3312-7757-5EE1-90D8-49CEA66608AE\\",\\n \\"ServerGroupId\\": \\"sgp-sp8d2r6y7t0xtl****\\",\\n \\"TcpIdleTimeout\\": 350,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"testKey\\",\\n \\"Value\\": \\"testValue\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => '查询监听详细信息',
+ ],
+ 'GetListenerHealthStatus' => [
+ 'summary' => '查询负载均衡实例监听的健康检查状态。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '221400',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbL239O5',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ListenerId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'lsn-7sixpvm5fc3v0b****',
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页游标',
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '4f1d7cc9f51e18904e8a063603a6b0c3d03bc69f78734254e0b5e8707e68****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页大小',
+ 'description' => '分批次查询时每次显示的条目数。取值范围:1~1000,默认值为 20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'maximum' => '1000',
+ 'minimum' => '1',
+ 'example' => '20',
+ ],
+ ],
+ [
+ 'name' => 'Skip',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '分页查询时,跳过的条目数。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '10',
+ ],
+ ],
+ [
+ 'name' => 'Filter',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '动态查询条件列表。一次最多添加20个动态查询条件。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '动态查询条件。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Name' => [
+ 'description' => '动态查询条件名称,可选择一个或者多个名称进行查询。取值范围:'."\n"
+ .'- **Status**:健康检查状态。'."\n"
+ .'- **ReasonCode**:Status 为异常状态时的详细原因。'."\n"
+ .'- **ServerId**:后端服务器ID。'."\n"
+ .'- **ServerIp**:后端服务器IP地址。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Status',
+ 'enum' => [
+ 'Status',
+ 'ReasonCode',
+ 'ServerId',
+ 'ServerIp',
+ ],
+ ],
+ 'Values' => [
+ 'description' => '动态查询条件的值列表。一次最多添加20个值。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '动态查询条件的值。取值范围参考返回参数中相应字段的取值。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'Unhealthy',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerHealthStatus' => [
+ 'description' => '监听的服务器组健康检查状态列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '监听的服务器组健康检查状态结构。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ListenerId' => [
+ 'description' => '监听ID。',
+ 'type' => 'string',
+ 'example' => 'lsn-sg8aha6pzjavvo****',
+ ],
+ 'ServerGroupInfos' => [
+ 'description' => '服务器组信息列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '服务器组信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'HealthCheckEnabled' => [
+ 'description' => '是否开启健康检查。取值:'."\n"
+ .'- **true**:开启。'."\n"
+ .'- **false**:关闭。',
+ 'type' => 'boolean',
+ 'example' => 'true',
+ ],
+ 'ServerGroupId' => [
+ 'description' => '服务器组 ID。',
+ 'type' => 'string',
+ 'example' => 'sgp-0vdsbyszro3nr6****',
+ ],
+ 'Servers' => [
+ 'description' => '后端服务器列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '后端服务器。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Port' => [
+ 'title' => '服务器端口',
+ 'description' => '后端服务器端口。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '6081',
+ ],
+ 'Reason' => [
+ 'description' => '**Status**为异常状态时的详细原因。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ReasonCode' => [
+ 'description' => '**Status**为异常状态时的详细原因,取值:'."\n"
+ ."\n"
+ .'- **CONNECT_TIMEOUT**:负载均衡健康检查时向后端服务器建立连接超时。'."\n"
+ .'- **CONNECT_FAIL**:负载均衡健康检查时向后端服务器建立连接失败。'."\n"
+ .'- **RECV_TIMEOUT**:负载均衡健康检查时从后端服务器接收响应超时。'."\n"
+ .'- **CONNECT_INTERRUPT**:负载均衡健康检查与后端服务器连接中断。'."\n"
+ .'- **HTTP_CODE_NOT_MATCH**:负载均衡健康 HTTP 检查时从后端服务器接收的响应码与预期配置返回码不一致。'."\n"
+ .'- **HTTP_INVALID_HEADER**:负载均衡健康 HTTP 检查时从后端服务器接收响应格式错误。',
+ 'type' => 'string',
+ 'example' => 'CONNECT_TIMEOUT',
+ ],
+ ],
+ ],
+ 'ServerId' => [
+ 'title' => '服务器id',
+ 'description' => '后端服务器ID。',
+ 'type' => 'string',
+ 'example' => 'i-2ze4rnh8yj9kif3z****',
+ ],
+ 'ServerIp' => [
+ 'title' => '服务器ip',
+ 'description' => '后端服务器IP。',
+ 'type' => 'string',
+ 'example' => '192.168.0.XXX',
+ ],
+ 'Status' => [
+ 'description' => '后端服务器健康检查状态。取值:'."\n"
+ ."\n"
+ .'- **Initial**:初始化中,表示负载均衡实例配置了健康检查,但查不到数据。'."\n"
+ .'- **Unhealthy**:异常,表示连续上报不健康的状态。'."\n"
+ .'- **Unused**:未使用;'."\n"
+ .'- **Unavailable**:未开启,表示未开启健康检查;'."\n"
+ .'- **Healthy**:健康检查正常;',
+ 'type' => 'string',
+ 'example' => 'Healthy',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'MaxResults' => [
+ 'description' => '分批次查询时每次显示的条目数。取值范围:1~1000,默认值为 20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '20',
+ ],
+ 'NextToken' => [
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'example' => 'U12WEI6Ro2ol3wA54rBNSwdC5+lYy6q5SjIQEvc1wz5mjZxV+YjsHRdXV8XauY1BpOQIvwX63E0en54H3D****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '0ED4F222-36A0-5470-8A9A-AAB4E96BAC1A',
+ ],
+ 'TotalCount' => [
+ 'description' => '本次请求条件下的数据总量。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'example' => '31',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'IllegalParam.FilterValue',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.FilterName',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Listener',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ListenerHealthStatus\\": [\\n {\\n \\"ListenerId\\": \\"lsn-sg8aha6pzjavvo****\\",\\n \\"ServerGroupInfos\\": [\\n {\\n \\"HealthCheckEnabled\\": true,\\n \\"ServerGroupId\\": \\"sgp-0vdsbyszro3nr6****\\",\\n \\"Servers\\": [\\n {\\n \\"Port\\": 6081,\\n \\"Reason\\": {\\n \\"ReasonCode\\": \\"CONNECT_TIMEOUT\\"\\n },\\n \\"ServerId\\": \\"i-2ze4rnh8yj9kif3z****\\",\\n \\"ServerIp\\": \\"192.168.0.XXX\\",\\n \\"Status\\": \\"Healthy\\"\\n }\\n ]\\n }\\n ]\\n }\\n ],\\n \\"MaxResults\\": 20,\\n \\"NextToken\\": \\"U12WEI6Ro2ol3wA54rBNSwdC5+lYy6q5SjIQEvc1wz5mjZxV+YjsHRdXV8XauY1BpOQIvwX63E0en54H3D****\\",\\n \\"RequestId\\": \\"0ED4F222-36A0-5470-8A9A-AAB4E96BAC1A\\",\\n \\"TotalCount\\": 31\\n}","type":"json"}]',
+ 'title' => '查询监听健康检查状态',
+ ],
+ 'TagResources' => [
+ 'summary' => '为指定的资源列表创建并绑定标签。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225141',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbRXTOWD',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源类型,取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网关型负载均衡实例。'."\n"
+ .'- **listener**:监听。'."\n"
+ .'- **servergroup**:服务器组。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'loadbalancer',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '资源 ID列表。一次调用最多支持添加 50 个资源 ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '资源ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gwlb-nrnrxwd15en27r****',
+ ],
+ 'required' => true,
+ 'maxItems' => 50,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '标签列表。一次调用最多支持 20 个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。一旦传入该值,则不允许为空字符串。最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。最多支持256个字符,不能包含`http://`或`https://`。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'testValue',
+ ],
+ ],
+ 'required' => true,
+ ],
+ 'required' => true,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会添加标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '54F6E60A-1777-5C17-A6A9-BCC1A7FE945B',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissingParam.TagKey',
+ 'errorMessage' => 'The param of TagKey is missing.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.TagValue',
+ 'errorMessage' => 'The param of TagValue is missing.',
+ ],
+ [
+ 'errorCode' => 'ResourceQuotaExceeded.TagNum',
+ 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagValue',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.ResourceId',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.Listener',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54F6E60A-1777-5C17-A6A9-BCC1A7FE945B\\"\\n}","type":"json"}]',
+ 'title' => '添加资源标签',
+ ],
+ 'UntagResources' => [
+ 'summary' => '为指定的资源列表解绑标签。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225142',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbRXTOWD',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源类型,取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网关型负载均衡实例。'."\n"
+ .'- **listener**:监听。'."\n"
+ .'- **servergroup**:服务器组。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'loadbalancer',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '资源 ID列表。一次调用最多支持添加 50 个资源 ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '资源ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gwlb-nrnrxwd15en27r****',
+ ],
+ 'required' => true,
+ 'maxItems' => 50,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'TagKey',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '要删除标签的标签键列表。一次调用最多支持删除 20 个标签',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '要删除标签的标签键。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testKey',
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'All',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '是否解绑资源的所有标签。当填写了TagKey参数时,本参数将被忽略。取值:'."\n"
+ ."\n"
+ .'- **true**:解绑资源的所有标签。'."\n"
+ .'- **false**(默认值):不解绑资源的所有标签。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'true',
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会删除标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的RequestId作为ClientToken标识。每次API请求的RequestId不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '3DC0064C-C09E-5C99-8FD4-9CDB2DA7FA21',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'ExclusiveParam.TagKeyAndAll',
+ 'errorMessage' => 'The param of %s and %s are mutually exclusive.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.TagKey',
+ 'errorMessage' => 'The param of TagKey is missing.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.ResourceId',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'IllegalParam.TagKey',
+ 'errorMessage' => 'The param of %s is illegal.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.Listener',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3DC0064C-C09E-5C99-8FD4-9CDB2DA7FA21\\"\\n}","type":"json"}]',
+ 'title' => '删除资源标签',
+ ],
+ 'ListTagResources' => [
+ 'summary' => '查询指定资源绑定的标签。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'list',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225143',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbRXTOWD',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源类型,取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网关型负载均衡实例。'."\n"
+ .'- **listener**:监听。'."\n"
+ .'- **servergroup**:服务器组。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'loadbalancer',
+ 'enum' => [],
+ ],
+ ],
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '资源 ID列表。一次调用最多支持添加 50 个资源 ID。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '资源ID。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'gwlb-nrnrxwd15en27r****',
+ ],
+ 'required' => false,
+ 'maxItems' => 50,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'Tag',
+ 'in' => 'formData',
+ 'style' => 'flat',
+ 'schema' => [
+ 'description' => '标签列表。一次调用最多支持 20 个标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => [
+ 'description' => '标签键。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testKey',
+ ],
+ 'Value' => [
+ 'description' => '标签值。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'testValue',
+ ],
+ ],
+ 'required' => false,
+ ],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
+ ],
+ ],
+ [
+ 'name' => 'NextToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '分页游标',
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => 'WyI2NDQ3MWUxM2EzOWNhMmY0Y2M2YTRiNzZhOWQwNmU1Y2RlNTYzMGEzIiwibiIsIm4iLDEsLTEsMTY5ODcxMzI2NjU0MywiNjU0MDRlYjI2MmI3MDhjY2JiMjM0ZmU0ODNkNTVmMGRhZDllOTBi****',
+ ],
+ ],
+ [
+ 'name' => 'MaxResults',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '使用NextToken方式查询时,每次最多返回的结果数。取值范围:1~1000。默认值:20。',
+ 'type' => 'integer',
+ 'format' => 'int32',
+ 'required' => false,
+ 'example' => '20',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'NextToken' => [
+ 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
+ .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
+ 'type' => 'string',
+ 'example' => 'd209f4e63ec942c967c50c888a13****',
+ ],
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => 'A95325A2-E421-58A6-88AD-7A26CE610F45',
+ ],
+ 'TagResources' => [
+ 'description' => '标签资源列表。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '资源绑定的标签信息。',
+ 'type' => 'object',
+ 'properties' => [
+ 'ResourceId' => [
+ 'description' => '资源ID。',
+ 'type' => 'string',
+ 'example' => 'gwlb-nrnrxwd15en27r****'."\n",
+ ],
+ 'ResourceType' => [
+ 'description' => '资源类型,取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网关型负载均衡实例。'."\n"
+ .'- **listener**:监听。'."\n"
+ .'- **servergroup**:服务器组。',
+ 'type' => 'string',
+ 'example' => 'loadbalancer',
+ ],
+ 'TagKey' => [
+ 'description' => '标签键。',
+ 'type' => 'string',
+ 'example' => 'testKey',
+ ],
+ 'TagValue' => [
+ 'description' => '标签值。',
+ 'type' => 'string',
+ 'example' => 'testValue',
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'MissingParam.TagsOrResourceIds',
+ 'errorMessage' => 'The param of TagsOrResourceIds is missing.',
+ ],
+ [
+ 'errorCode' => 'MissingParam.TagKey',
+ 'errorMessage' => 'The param of TagKey is missing.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.ResourceId',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ [
+ 'errorCode' => 'DuplicatedParam.TagKey',
+ 'errorMessage' => 'The param of %s is duplicated.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"NextToken\\": \\"d209f4e63ec942c967c50c888a13****\\",\\n \\"RequestId\\": \\"A95325A2-E421-58A6-88AD-7A26CE610F45\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"gwlb-nrnrxwd15en27r****\\\\n\\",\\n \\"ResourceType\\": \\"loadbalancer\\",\\n \\"TagKey\\": \\"testKey\\",\\n \\"TagValue\\": \\"testValue\\"\\n }\\n ]\\n}","type":"json"}]',
+ 'title' => '查询资源标签',
+ ],
+ 'MoveResourceGroup' => [
+ 'summary' => '修改资源所属的资源组。',
+ 'methods' => [
+ 'post',
+ 'get',
+ ],
+ 'schemes' => [
+ 'https',
+ ],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'write',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '225546',
+ 'abilityTreeNodes' => [
+ 'FEATUREslbRXTOWD',
+ ],
+ 'autoTest' => true,
+ 'tenantRelevance' => 'tenant',
+ ],
+ 'parameters' => [
+ [
+ 'name' => 'ResourceId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'gwlb-nrnrxwd15en27r****',
+ ],
+ ],
+ [
+ 'name' => 'NewResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '目标资源组ID。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'rg-aek253e4oit****',
+ ],
+ ],
+ [
+ 'name' => 'ResourceType',
+ 'in' => 'formData',
+ 'schema' => [
+ 'description' => '资源类型,取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网关型负载均衡实例。'."\n"
+ .'- **servergroup**:服务器组。',
+ 'type' => 'string',
+ 'required' => true,
+ 'example' => 'loadbalancer',
+ 'enum' => [
+ 'loadbalancer',
+ 'servergroup',
+ ],
+ ],
+ ],
+ [
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => 'dryRun标记',
+ 'description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会迁移资源组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
+ 'type' => 'boolean',
+ 'required' => false,
+ 'example' => 'false',
+ ],
+ ],
+ [
+ 'name' => 'ClientToken',
+ 'in' => 'formData',
+ 'schema' => [
+ 'title' => '幂等token',
+ 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ ."\n"
+ .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ ."\n"
+ .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。',
+ 'type' => 'string',
+ 'required' => false,
+ 'example' => '123e4567-e89b-12d3-a456-42665544****',
+ ],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
+ 'schema' => [
+ 'title' => '',
+ 'description' => '请求的返回值。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => [
+ 'description' => '请求ID。',
+ 'type' => 'string',
+ 'example' => '78828B5C-521E-50F3-84D4-7019691D1382',
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ [
+ 'errorCode' => 'OperationDenied.NotExist.ResourceGroup',
+ 'errorMessage' => 'The operation is not allowed because of NotExist.ResourceGroup.',
+ ],
+ [
+ 'errorCode' => 'OperationDenied.StatusCheckFail.ResourceGroup',
+ 'errorMessage' => 'The operation is not allowed because of StatusCheckFail.ResourceGroup.',
+ ],
+ ],
+ 404 => [
+ [
+ 'errorCode' => 'ResourceNotFound.LoadBalancer',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ [
+ 'errorCode' => 'ResourceNotFound.ServerGroup',
+ 'errorMessage' => 'The specified resource of %s is not found.',
+ ],
+ ],
+ ],
+ 'staticInfo' => [
+ 'returnType' => 'synchronous',
+ ],
+ 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"78828B5C-521E-50F3-84D4-7019691D1382\\"\\n}","type":"json"}]',
+ 'title' => '迁移资源组',
+ ],
+ ],
+ 'endpoints' => [
+ [
+ 'regionId' => 'cn-wulanchabu',
+ 'endpoint' => 'gwlb.cn-wulanchabu.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-1',
+ 'endpoint' => 'gwlb.ap-southeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-beijing',
+ 'endpoint' => 'gwlb.cn-beijing.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shanghai',
+ 'endpoint' => 'gwlb.cn-shanghai.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hangzhou',
+ 'endpoint' => 'gwlb.cn-hangzhou.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-hongkong',
+ 'endpoint' => 'gwlb.cn-hongkong.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-northeast-1',
+ 'endpoint' => 'gwlb.ap-northeast-1.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'cn-shenzhen',
+ 'endpoint' => 'gwlb.cn-shenzhen.aliyuncs.com',
+ ],
+ [
+ 'regionId' => 'ap-southeast-3',
+ 'endpoint' => 'gwlb.ap-southeast-3.aliyuncs.com',
+ ],
+ ],
+];