'1.0', 'info' => ['style' => 'RPC', 'product' => 'Gwlb', 'version' => '2024-04-15'], 'directories' => [ [ 'children' => ['DescribeRegions', 'DescribeZones'], 'type' => 'directory', 'title' => '地域与可用区', 'id' => 81989, ], [ 'children' => ['CreateLoadBalancer', 'UpdateLoadBalancerAttribute', 'UpdateLoadBalancerZones', 'DeleteLoadBalancer', 'ListLoadBalancers', 'GetLoadBalancerAttribute'], 'type' => 'directory', 'title' => '实例', 'id' => 82204, ], [ 'children' => ['CreateServerGroup', 'UpdateServerGroupAttribute', 'DeleteServerGroup', 'AddServersToServerGroup', 'RemoveServersFromServerGroup', 'ListServerGroups', 'ListServerGroupServers'], 'type' => 'directory', 'title' => '服务器组', 'id' => 82211, ], [ 'children' => ['CreateListener', 'UpdateListenerAttribute', 'DeleteListener', 'ListListeners', 'GetListenerAttribute', 'GetListenerHealthStatus'], 'type' => 'directory', 'title' => '监听', 'id' => 82219, ], [ 'children' => ['TagResources', 'UntagResources', 'ListTagResources'], 'type' => 'directory', 'title' => '标签', 'id' => 82226, ], [ 'children' => ['MoveResourceGroup'], 'type' => 'directory', 'title' => '资源组', 'id' => 82230, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ 'AddServersToServerGroup' => [ '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.', 'description' => '%s冲突,已经存在同配置的%s。'], ['errorCode' => 'Mismatch.ServerType', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => 'ServerType不匹配。'], ['errorCode' => 'ResourceInUse.IP', 'errorMessage' => 'The specified resource of %s is in use.', 'description' => '指定的IP地址已被使用'], ['errorCode' => 'IllegalParam.ServerIp', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数ServerIp非法,请检查输入参数。'], ['errorCode' => 'IllegalParam.EcsNetworkType', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''], ['errorCode' => 'DuplicatedParam.Server', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '参数中存在重复的server。'], ['errorCode' => 'ResourceInUse.Eni', 'errorMessage' => 'The specified resource of %s is in use.', 'description' => '传入的eni不能是网关型负载均衡实例使用的eni,请检查参数。'], ['errorCode' => 'IncorrectStatus.Eni', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'IllegalParam.IP', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数IP非法。请检查参数IP的输入值。'], ['errorCode' => 'Mismatch.IP', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => '输入的IP类型服务器的ID和IP不匹配。'], ['errorCode' => 'Mismatch.VpcId', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => '两个资源的VPC ID不匹配'], ['errorCode' => 'QuotaExceeded.ServerGroupServersNum', 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'description' => '配额gwlb_quota_servergroup_servers_num已超额度限制。'], ['errorCode' => 'QuotaExceeded.ServerGroupAzServersNum', 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'description' => '配额gwlb_quota_servergroup_az_servers_num已超额度限制。'], ['errorCode' => 'IncorrectStatus.ServerGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ], 404 => [ ['errorCode' => 'ResourceNotFound.Eni', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的弹性网卡资源不存在。'], ['errorCode' => 'ResourceNotFound.Eci', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的弹性容器实例资源不存在。'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ['errorCode' => 'ResourceNotFound.Ecs', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的云服务器资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::ListServerGroupServers', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '服务器组中添加后端服务器', 'summary' => '向负载均衡服务器组中添加后端服务器。', 'description' => '**AddServersToServerGroup**接口属于异步接口,即系统返回一个请求ID,但该后端服务器尚未添加成功,系统后台的添加任务仍在进行。'."\n" ."\n" .'1. 您可以调用 ListServerGroups 查询服务器组的状态:'."\n" ."\n" .'- 当服务器组处于**Configuring**状态时,表示服务器组正在变配中。'."\n" .'- 当服务器组处于**Available**状态时,表示服务器组运行中。'."\n" ."\n" .'2. 您可以调用 ListServerGroupServers 查询后端服务器的状态:'."\n" ."\n" .'- 当后端服务器处于**Adding**状态时,表示后端服务器正在加入服务器组。'."\n" .'- 当后端服务器处于**Available**状态时,表示后端服务器运行中。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddServersToServerGroup'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:AddServersToServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], '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.', 'description' => '资源%s业务状态%s不支持当前操作'], ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => '标签键参数缺失'], ['errorCode' => 'MissingParam.TagValue', 'errorMessage' => 'The param of TagValue is missing.', 'description' => '标签值参数缺失'], ['errorCode' => 'OperationDenied.TooManyListeners', 'errorMessage' => 'The operation is not allowed because of TooManyListener.', 'description' => '负载均衡实例下的监听数量超过限制,操作不支持'], ['errorCode' => 'IncorrectStatus.LoadBalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'ResourceInUse.IP', 'errorMessage' => 'The specified resource of IP is in use.', 'description' => ''], ['errorCode' => 'Mismatch.VpcId', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => '两个资源的VPC ID不匹配'], ['errorCode' => 'IncorrectStatus.ServerGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The param of %s is illegal.', 'description' => '标签值参数不合法'], ['errorCode' => 'OperationDenied.TcpIdleTimeoutConflictWithScheduler', 'errorMessage' => 'The TCP idle timeout of listener must be default value when the scheduling algorithm of server group is not 5TCH.', 'description' => '配置冲突,自定义配置了的TCP连接空闲超时时间,服务器组的调度算法需要使用五元组哈希。'], ], 404 => [ ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的负载均衡资源不存在'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::GetListenerAttribute', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '创建监听', 'description' => '**CreateListener** 接口属于异步接口,即系统返回一个请求 ID,但该监听尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetListenerAttribute](~~2853569~~)查询监听的创建状态:'."\n" ."\n" .'- 当监听处于 **Provisioning** 状态时,表示监听正在创建中。'."\n" ."\n" .'- 当监听处于 **Running** 状态时,表示监听创建成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateListener'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:CreateListener', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"ListenerId\\": \\"lsn-wi3c0v30ivysrg****\\",\\n \\"RequestId\\": \\"A045E652-D298-5E70-A978-7247135336FB\\"\\n}","type":"json"}]', ], '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.', 'description' => '列表中的ZoneId参数重复'], ['errorCode' => 'OperationDenied.VSwitchNotSupportIpv6', 'errorMessage' => 'The operation is not allowed because of VSwitchNotSupportIpv6.', 'description' => '交换机vSwitch没有开启IPv6,操作不支持'], ['errorCode' => 'ResourceNotEnough.VSwitchIp', 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', 'description' => 'vSwitch IP资源不足'], ['errorCode' => 'DuplicatedParam.VSwitchId', 'errorMessage' => 'The param of VSwitchId is duplicated.', 'description' => '列表中的vSwitchId参数重复'], ['errorCode' => 'IllegalParamSize.ZoneMappings', 'errorMessage' => 'The param size of ZoneMappings is illegal.', 'description' => 'ZoneMappings列表数量不合法'], ['errorCode' => 'Mismatch.ZoneIdAndVSwitchId', 'errorMessage' => 'The ZoneId and VSwitchId are mismatched.', 'description' => '参数ZoneId和vSwitchId的值不匹配'], ['errorCode' => 'QuotaExceeded.LoadBalancersNum', 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'description' => '配额gwlb_quota_loadbalancers_num已超额度限制。'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''], ], ], '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**状态时,表示网关型负载均衡实例创建成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancer'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:CreateLoadBalancer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/*'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], ], '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'], 'HealthCheckReq' => ['type' => 'string'], 'HealthCheckExp' => ['type' => 'string'], ], '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.', 'description' => '健康检查协议非法,请检查输入参数。'], ['errorCode' => 'QuotaExceeded.ServerGroupsNum', 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'description' => '配额gwlb_quota_servergroups_num已超额度限制。'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''], ], 404 => [ ['errorCode' => 'ResourceNotFound.Vpc', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的专有网络资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::ListServerGroups', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '创建服务器组', 'description' => '**CreateServerGroup**接口属于异步接口,即系统返回一个请求ID,但该服务器组尚未创建成功,系统后台的创建任务仍在进行。您可以调用 ListServerGroups 查询服务器组的创建状态:'."\n" .'- 当服务器组处于**Creating**状态时,表示服务器组正在创建中。'."\n" .'- 当服务器组处于**Available**状态时,表示服务器组创建成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateServerGroup'], ], ], 'ramActions' => [ [ 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:CreateServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/*'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\"\\n}","type":"json"}]', ], 'DeleteListener' => [ '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.', 'description' => '资源%s业务状态%s不支持当前操作'], ['errorCode' => 'IncorrectStatus.Listener', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作。'], ['errorCode' => 'IncorrectStatus.LoadBalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ], 404 => [ ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的负载均衡资源不存在'], ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的监听资源不存在'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::GetListenerAttribute', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '删除监听', 'summary' => '删除负载均衡监听器。', 'description' => '**DeleteListener** 接口属于异步接口,即系统返回一个请求 ID,但该监听尚未删除成功,系统后台的删除任务仍在进行。您可以调用 **GetListenerAttribute** 查询监听的删除状态:'."\n" ."\n" .'- 当监听器处于 **Deleting** 状态时,表示监听正在删除中。'."\n" .'- 当查询不到该监听时,表示监听删除成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteListener'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:DeleteListener', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5C6E3548-086F-5FF6-A2B3-B1871B3AB488\\"\\n}","type":"json"}]', ], 'DeleteLoadBalancer' => [ '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.', 'description' => '资源%s业务状态%s不支持当前操作'], ['errorCode' => 'IncorrectStatus.LoadBalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'MissingParam.LoadBalancerId', 'errorMessage' => 'The param of LoadBalancerId is missing.', 'description' => '负载均衡ID参数缺失'], ['errorCode' => 'ResourceAlreadyAssociated.GwlbeAssociated', 'errorMessage' => 'The specified resource of %s is already associated.', 'description' => '指定资源%s已被关联'], ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '删除负载均衡实例', 'summary' => '删除负载均衡实例。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancer'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:DeleteLoadBalancer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"37907828-01AB-5AC3-9DDE-25D419091D54\\"\\n}","type":"json"}]', ], 'DeleteServerGroup' => [ '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.', 'description' => '服务器的状态无法进行当前操作,请检查服务器当前是否处于其他操作下。'], ['errorCode' => 'ResourceInUse.ServerGroup', 'errorMessage' => 'The specified resource of %s is in use.', 'description' => '指定的服务器组资源正在使用中,请稍后重试。'], ['errorCode' => 'IncorrectStatus.ServerGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ], 404 => [ ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '删除服务器组', 'summary' => '删除负载均衡服务器组。', 'description' => '服务器组未被任何监听使用时支持删除。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerGroup'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:DeleteServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], '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' => '查询地域', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], ], ], 'ramActions' => [], ], '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' => '查询可用区', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeZones'], ], ], 'ramActions' => [], ], '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.', 'description' => '指定的监听资源不存在'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询监听详细信息', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetListenerAttribute'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:GetListenerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ], ], ], ], '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"}]', ], '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.', 'description' => '动态查询条件的值非法'], ['errorCode' => 'IllegalParam.FilterName', 'errorMessage' => 'The param of %s is illegal.', 'description' => '动态查询条件名称非法'], ], 404 => [ ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的监听资源不存在'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询监听健康检查状态', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetListenerHealthStatus'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:GetListenerHealthStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ], ], ], ], '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"}]', ], 'GetLoadBalancerAttribute' => [ '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.', 'description' => ''], ['errorCode' => 'MissingParam.LoadBalancerId', 'errorMessage' => 'The param of LoadBalancerId is missing.', 'description' => '负载均衡ID参数缺失'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询负载均衡实例详细信息', 'summary' => '查询负载均衡实例详细信息。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetLoadBalancerAttribute'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:GetLoadBalancerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], ], '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"}]', ], 'ListListeners' => [ '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.', 'description' => '标签键参数缺失'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询监听列表', 'summary' => '查询负载均衡监听列表。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListListeners'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'gwlb:ListListeners', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], '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"}]', ], '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' => '查询负载均衡实例列表', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListLoadBalancers'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'gwlb:ListLoadBalancers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/*'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], ], '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'], 'title' => '查询服务器组中的服务器列表', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServerGroupServers'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:ListServerGroupServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], '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"}]', ], 'ListServerGroups' => [ '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'], 'HealthCheckReq' => ['type' => 'string'], 'HealthCheckExp' => ['type' => 'string'], ], ], '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'], 'title' => '查询服务器组列表', 'summary' => '查询负载均衡服务器组列表。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServerGroups'], ], ], 'ramActions' => [ [ 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:ListServerGroups', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/*'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], '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 \\"HealthCheckReq\\": \\"\\",\\n \\"HealthCheckExp\\": \\"\\"\\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"}]', ], 'ListTagResources' => [ '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.', 'description' => '标签列表与资源ID列表全部未设置或为空列表'], ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => '标签键参数缺失'], ['errorCode' => 'DuplicatedParam.ResourceId', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '参数%s重复'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '查询资源标签', 'summary' => '查询指定资源绑定的标签。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'list', 'ramAction' => [ 'action' => 'gwlb:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], '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"}]', ], 'MoveResourceGroup' => [ '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.', 'description' => '操作被拒绝,资源组不存在'], ['errorCode' => 'OperationDenied.StatusCheckFail.ResourceGroup', 'errorMessage' => 'The operation is not allowed because of StatusCheckFail.ResourceGroup.', 'description' => '操作被拒绝,资源组状态异常'], ], 404 => [ ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的负载均衡资源不存在'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '迁移资源组', 'summary' => '修改资源所属的资源组。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:MoveResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:serverGroup/{#serverGroupId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"78828B5C-521E-50F3-84D4-7019691D1382\\"\\n}","type":"json"}]', ], '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.', 'description' => '服务器的状态无法进行当前操作,请检查服务器当前是否处于其他操作下。'], ['errorCode' => 'IncorrectStatus.ServerGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ], 404 => [ ['errorCode' => 'ResourceNotFound.BackendServer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的后端服务器资源不存在。'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::ListServerGroupServers', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], '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**。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveServersFromServerGroup'], ], ], 'ramActions' => [ [ 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:RemoveServersFromServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","type":"json"}]', ], 'TagResources' => [ '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.', 'description' => '标签键参数缺失'], ['errorCode' => 'MissingParam.TagValue', 'errorMessage' => 'The param of TagValue is missing.', 'description' => '标签值参数缺失'], ['errorCode' => 'ResourceQuotaExceeded.TagNum', 'errorMessage' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'description' => '资源绑定的标签数量超限'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''], ['errorCode' => 'IllegalParam.TagValue', 'errorMessage' => 'The param of %s is illegal.', 'description' => '标签值参数不合法'], ['errorCode' => 'DuplicatedParam.ResourceId', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '参数%s重复'], ], 404 => [ ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的负载均衡资源不存在'], ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的监听资源不存在'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '添加资源标签', 'summary' => '为指定的资源列表创建并绑定标签。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:TagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54F6E60A-1777-5C17-A6A9-BCC1A7FE945B\\"\\n}","type":"json"}]', ], '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.', 'description' => '标签键参数值与是否解绑资源的所有标签选项的参数值互斥'], ['errorCode' => 'MissingParam.TagKey', 'errorMessage' => 'The param of TagKey is missing.', 'description' => '标签键参数缺失'], ['errorCode' => 'DuplicatedParam.ResourceId', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '参数%s重复'], ['errorCode' => 'DuplicatedParam.TagKey', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '标签键参数重复'], ['errorCode' => 'IllegalParam.TagKey', 'errorMessage' => 'The param of %s is illegal.', 'description' => ''], ], 404 => [ ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的监听资源不存在'], ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的负载均衡资源不存在'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '删除资源标签', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UntagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3DC0064C-C09E-5C99-8FD4-9CDB2DA7FA21\\"\\n}","type":"json"}]', ], 'UpdateListenerAttribute' => [ '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.', 'description' => '资源%s业务状态%s不支持当前操作'], ['errorCode' => 'IncorrectStatus.LoadBalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'IncorrectStatus.Listener', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作。'], ['errorCode' => 'Mismatch.VpcId', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => '两个资源的VPC ID不匹配'], ['errorCode' => 'ResourceInUse.IP', 'errorMessage' => 'The specified resource of IP is in use.', 'description' => ''], ['errorCode' => 'IncorrectStatus.ServerGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'OperationDenied.TcpIdleTimeoutConflictWithScheduler', 'errorMessage' => 'The TCP idle timeout of listener must be default value when the scheduling algorithm of server group is not 5TCH.', 'description' => '配置冲突,自定义配置了的TCP连接空闲超时时间,服务器组的调度算法需要使用五元组哈希。'], ['errorCode' => 'OperationDenied.TcpIdleTimeoutNotConfigurable', 'errorMessage' => 'The TCP idle timeout of listener is configurable only when the scheduling algorithm of server group is 5TCH.', 'description' => '当服务器组调度算法为五元组哈希时,可以自定义配置TCP连接空闲超时时间。其他调度算法,无法修改。'], ], 404 => [ ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的负载均衡资源不存在'], ['errorCode' => 'ResourceNotFound.Listener', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的监听资源不存在'], ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::GetListenerAttribute', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '更新监听属性', 'summary' => '更新负载均衡监听的属性。', 'description' => '**UpdateListenerAttribute** 接口属于异步接口,即系统返回一个请求 ID,但该监听的配置尚未更新成功,系统后台的更新任务仍在进行。您可以调用 **GetListenerAttribute** 查询监听的配置的更新状态:'."\n" ."\n" .'- 当监听器处于 **Configuring** 状态时,表示监听的配置正在更新中。'."\n" .'- 当监听器处于 **Running** 状态时,表示监听的配置更新成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateListenerAttribute'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateListenerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"7DBFC67C-A272-5952-8287-6C3EBE4E04D9\\"\\n}","type":"json"}]', ], '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.', 'description' => '资源%s业务状态%s不支持当前操作'], ['errorCode' => 'IncorrectStatus.LoadBalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::GetLoadBalancerAttribute', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '更新负载均衡实例属性', 'description' => '- UpdateLoadBalancerAttribute 属于异步接口,即系统返回一个请求 ID,但该实例属性尚未修改成功,系统后台的变更任务仍在进行。您可以调用 GetLoadBalancerAttribute 查询网关型负载均衡实例的更新状态:'."\n" .' - 当网关型负载均衡实例处于 Configuring 状态时,表示网关型负载均衡实例正在更新中。'."\n" .' - 当网关型负载均衡实例处于 Active 状态时,表示网关型负载均衡实例更新成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerAttribute'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateLoadBalancerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"B956C629-0E8C-5EFF-BAC1-B0E3A8C5CBDD\\"\\n}","type":"json"}]', ], 'UpdateLoadBalancerZones' => [ '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.', 'description' => '修改交换机vSwitch操作不支持'], ['errorCode' => 'DuplicatedParam.VSwitchId', 'errorMessage' => 'The param of VSwitchId is duplicated.', 'description' => '列表中的vSwitchId参数重复'], ['errorCode' => 'DuplicatedParam.ZoneId', 'errorMessage' => 'The param of ZoneId is duplicated.', 'description' => '列表中的ZoneId参数重复'], ['errorCode' => 'IllegalParamSize.ZoneMappings', 'errorMessage' => 'The param size of ZoneMappings is illegal.', 'description' => 'ZoneMappings列表数量不合法'], ['errorCode' => 'IncorrectBusinessStatus.LoadBalancer', 'errorMessage' => 'The business status of %s [%s] is incorrect.', 'description' => '资源%s业务状态%s不支持当前操作'], ['errorCode' => 'IncorrectStatus.LoadBalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'Mismatch.ZoneIdAndVSwitchId', 'errorMessage' => 'The ZoneId and VSwitchId are mismatched.', 'description' => '参数ZoneId和vSwitchId的值不匹配'], ['errorCode' => 'MissingParam.LoadBalancerId', 'errorMessage' => 'The param of LoadBalancerId is missing.', 'description' => '负载均衡ID参数缺失'], ['errorCode' => 'OperationDenied.VSwitchNotSupportIpv6', 'errorMessage' => 'The operation is not allowed because of VSwitchNotSupportIpv6.', 'description' => '交换机vSwitch没有开启IPv6,操作不支持'], ['errorCode' => 'ResourceAlreadyAssociated.GwlbeAssociated', 'errorMessage' => 'The specified resource of %s is already associated.', 'description' => '指定资源%s已被关联'], ['errorCode' => 'ResourceNotEnough.VSwitchIp', 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', 'description' => 'vSwitch IP资源不足'], ['errorCode' => 'ResourceNotFound.LoadBalancer', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => ''], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::GetLoadBalancerAttribute', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '更新负载均衡可用区', 'summary' => '更新负载均衡实例可用区。', 'description' => '**请确保在使用该接口前,已充分了解网关型负载均衡产品的收费方式和[价格](~~2806160~~)。**'."\n" ."\n" .'**UpdateLoadBalancerZones**属于异步接口,即系统返回一个请求ID,但该实例可用区及可用区属性尚未修改成功,系统后台的变更任务仍在进行。您可以调用[GetLoadBalancerAttribute](~~2853555~~)查询网关型负载均衡实例的更新状态:'."\n" ."\n" .'- 当网关型负载均衡实例处于**Configuring**状态时,表示网关型负载均衡实例正在更新中。'."\n" .'- 当网关型负载均衡实例处于**Active**状态时,表示网关型负载均衡实例更新成功。'."\n" ."\n" .'>每次调用该接口时,请确保您传入该网关型负载均衡实例的所有可用区参数,包括当前和新增的可用区。如您未传入当前的可用区参数,表示需要将当前可用区删除。您可以通过 GetLoadBalancerAttribute 接口查询该实例的当前可用区。>', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerZones'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateLoadBalancerZones', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"ED8905C2-A4F6-5E43-87B7-6A5DC8757146\\"\\n}","type":"json"}]', ], 'UpdateServerGroupAttribute' => [ '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'], 'HealthCheckReq' => ['type' => 'string'], 'HealthCheckExp' => ['type' => 'string'], ], '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.', 'description' => '健康检查协议非法,请检查输入参数。'], ['errorCode' => 'IncorrectStatus.ServerGroup', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s当前状态%s不支持操作'], ['errorCode' => 'OperationDenied.SchedulerNotConfigurable', 'errorMessage' => 'The scheduling algorithm of server group is configurable only when TCP idle timeout of listener is default value.', 'description' => 'TCP连接空闲超时时间为非默认值时,服务器组调度算法仅支持五元组哈希。'], ], 404 => [ ['errorCode' => 'ResourceNotFound.ServerGroup', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '指定的服务器组资源不存在。'], ], ], 'staticInfo' => ['returnType' => 'asynchronous', 'callback' => 'Gwlb::2024-04-15::ListServerGroups', 'callbackInterval' => 3000, 'maxCallbackTimes' => 100], 'title' => '更新服务器组属性', 'summary' => '更新负载均衡服务器组属性。', 'description' => '**UpdateServerGroupAttribute**接口属于异步接口,即系统返回一个请求ID,但该服务器组的配置尚未更新成功,系统后台的更新任务仍在进行。您可以调用 ListServerGroups 查询服务器组的配置的更新状态:'."\n" .'- 当服务器组的配置处于**Configuring**状态时,表示服务器组的配置正在更新中。'."\n" .'- 当服务器组的配置处于**Available**状态时,表示服务器组的配置更新成功。', 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateServerGroupAttribute'], ], ], 'ramActions' => [ [ 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateServerGroupAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\\\n\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.cn-shenzhen.aliyuncs.com', 'endpoint' => 'gwlb.cn-shenzhen.aliyuncs.com', 'vpc' => 'gwlb-vpc.cn-shenzhen.aliyuncs.com'], ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'gwlb.cn-wulanchabu.aliyuncs.com', 'vpc' => 'gwlb-vpc.cn-wulanchabu.aliyuncs.com'], ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.cn-beijing.aliyuncs.com', 'endpoint' => 'gwlb.cn-beijing.aliyuncs.com', 'vpc' => 'gwlb-vpc.cn-beijing.aliyuncs.com'], ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.ap-northeast-1.aliyuncs.com', 'endpoint' => 'gwlb.ap-northeast-1.aliyuncs.com', 'vpc' => 'gwlb-vpc.ap-northeast-1.aliyuncs.com'], ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.cn-shanghai.aliyuncs.com', 'endpoint' => 'gwlb.cn-shanghai.aliyuncs.com', 'vpc' => 'gwlb-vpc.cn-shanghai.aliyuncs.com'], ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.cn-hongkong.aliyuncs.com', 'endpoint' => 'gwlb.cn-hongkong.aliyuncs.com', 'vpc' => 'gwlb-vpc.cn-hongkong.aliyuncs.com'], ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.ap-southeast-1.aliyuncs.com', 'endpoint' => 'gwlb.ap-southeast-1.aliyuncs.com', 'vpc' => 'gwlb-vpc.ap-southeast-1.aliyuncs.com'], ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.ap-southeast-3.aliyuncs.com', 'endpoint' => 'gwlb.ap-southeast-3.aliyuncs.com', 'vpc' => 'gwlb-vpc.ap-southeast-3.aliyuncs.com'], ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.ap-southeast-7.aliyuncs.com', 'endpoint' => 'gwlb.ap-southeast-7.aliyuncs.com', 'vpc' => 'gwlb-vpc.ap-southeast-7.aliyuncs.com'], ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.cn-hangzhou.aliyuncs.com', 'endpoint' => 'gwlb.cn-hangzhou.aliyuncs.com', 'vpc' => 'gwlb-vpc.cn-hangzhou.aliyuncs.com'], ['regionId' => 'ap-southeast-8', 'regionName' => '马来西亚(柔佛州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'gwlb.ap-southeast-8.aliyuncs.com', 'endpoint' => 'gwlb.ap-southeast-8.aliyuncs.com', 'vpc' => 'gwlb-vpc.ap-southeast-8.aliyuncs.com'], ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'gwlb.me-east-1.aliyuncs.com', 'endpoint' => 'gwlb.me-east-1.aliyuncs.com', 'vpc' => 'gwlb-vpc.me-east-1.aliyuncs.com'], ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'gwlb.me-central-1.aliyuncs.com', 'endpoint' => 'gwlb.me-central-1.aliyuncs.com', 'vpc' => 'gwlb-vpc.me-central-1.aliyuncs.com'], ], 'errorCodes' => [ ['code' => 'Conflict.Server', 'message' => 'The %s [%s] is conflict.', 'http_code' => 400, 'description' => '%s冲突,已经存在同配置的%s。'], ['code' => 'DryRunOperation', 'message' => 'Request validation has been passed with DryRun flag set.', 'http_code' => 400, 'description' => 'DryRun请求校验通过'], ['code' => 'DuplicatedParam.ResourceId', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => '参数%s重复'], ['code' => 'DuplicatedParam.Server', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => '参数中存在重复的server。'], ['code' => 'DuplicatedParam.TagKey', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => '标签键参数重复'], ['code' => 'DuplicatedParam.VSwitchId', 'message' => 'The param of VSwitchId is duplicated.', 'http_code' => 400, 'description' => '列表中的vSwitchId参数重复'], ['code' => 'DuplicatedParam.ZoneId', 'message' => 'The param of ZoneId is duplicated.', 'http_code' => 400, 'description' => '列表中的ZoneId参数重复'], ['code' => 'ExclusiveParam.TagKeyAndAll', 'message' => 'The param of %s and %s are mutually exclusive.', 'http_code' => 400, 'description' => '标签键参数值与是否解绑资源的所有标签选项的参数值互斥'], ['code' => 'Forbidden.NoPermission', 'message' => 'Authentication is failed for %s.', 'http_code' => 403, 'description' => '资源%s鉴权失败'], ['code' => 'IllegalParam.%s', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '参数%s不合法'], ['code' => 'IllegalParam.FilterName', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '动态查询条件名称非法'], ['code' => 'IllegalParam.FilterValue', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '动态查询条件的值非法'], ['code' => 'IllegalParam.HealthCheckProtocol', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '健康检查协议非法,请检查输入参数。'], ['code' => 'IllegalParam.IP', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '参数IP非法。请检查参数IP的输入值。'], ['code' => 'IllegalParam.ServerIp', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '参数ServerIp非法,请检查输入参数。'], ['code' => 'IllegalParam.TagValue', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '标签值参数不合法'], ['code' => 'IllegalParamSize.ZoneMappings', 'message' => 'The param size of ZoneMappings is illegal.', 'http_code' => 400, 'description' => 'ZoneMappings列表数量不合法'], ['code' => 'IncorrectBusinessStatus.LoadBalancer', 'message' => 'The business status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s业务状态%s不支持当前操作'], ['code' => 'IncorrectStatus.BackendServer', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '服务器的状态无法进行当前操作,请检查服务器当前是否处于其他操作下。'], ['code' => 'IncorrectStatus.Eni', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s当前状态%s不支持操作'], ['code' => 'IncorrectStatus.Listener', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s当前状态%s不支持操作。'], ['code' => 'IncorrectStatus.LoadBalancer', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s当前状态%s不支持操作'], ['code' => 'IncorrectStatus.ServerGroup', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s当前状态%s不支持操作'], ['code' => 'Mismatch.IP', 'message' => 'The %s is mismatched for %s and %s.', 'http_code' => 400, 'description' => '输入的IP类型服务器的ID和IP不匹配。'], ['code' => 'Mismatch.ServerType', 'message' => 'The %s is mismatched for %s and %s.', 'http_code' => 400, 'description' => 'ServerType不匹配。'], ['code' => 'Mismatch.VpcId', 'message' => 'The %s is mismatched for %s and %s.', 'http_code' => 400, 'description' => '两个资源的VPC ID不匹配'], ['code' => 'Mismatch.ZoneIdAndVSwitchId', 'message' => 'The ZoneId and VSwitchId are mismatched.', 'http_code' => 400, 'description' => '参数ZoneId和vSwitchId的值不匹配'], ['code' => 'MissingParam.%s', 'message' => 'The param of %s is missing.', 'http_code' => 400, 'description' => '参数%s缺失'], ['code' => 'MissingParam.LoadBalancerId', 'message' => 'The param of LoadBalancerId is missing.', 'http_code' => 400, 'description' => '负载均衡ID参数缺失'], ['code' => 'MissingParam.TagKey', 'message' => 'The param of TagKey is missing.', 'http_code' => 400, 'description' => '标签键参数缺失'], ['code' => 'MissingParam.TagsOrResourceIds', 'message' => 'The param of TagsOrResourceIds is missing.', 'http_code' => 400, 'description' => '标签列表与资源ID列表全部未设置或为空列表'], ['code' => 'MissingParam.TagValue', 'message' => 'The param of TagValue is missing.', 'http_code' => 400, 'description' => '标签值参数缺失'], ['code' => 'OperationDenied.NotExist.ResourceGroup', 'message' => 'The operation is not allowed because of NotExist.ResourceGroup.', 'http_code' => 400, 'description' => '操作被拒绝,资源组不存在'], ['code' => 'OperationDenied.SchedulerNotConfigurable', 'message' => 'The scheduling algorithm of server group is configurable only when TCP idle timeout of listener is default value.', 'http_code' => 400, 'description' => 'TCP连接空闲超时时间为非默认值时,服务器组调度算法仅支持五元组哈希。'], ['code' => 'OperationDenied.StatusCheckFail.ResourceGroup', 'message' => 'The operation is not allowed because of StatusCheckFail.ResourceGroup.', 'http_code' => 400, 'description' => '操作被拒绝,资源组状态异常'], ['code' => 'OperationDenied.TcpIdleTimeoutConflictWithScheduler', 'message' => 'The TCP idle timeout of listener must be default value when the scheduling algorithm of server group is not 5TCH.', 'http_code' => 400, 'description' => '配置冲突,自定义配置了的TCP连接空闲超时时间,服务器组的调度算法需要使用五元组哈希。'], ['code' => 'OperationDenied.TcpIdleTimeoutNotConfigurable', 'message' => 'The TCP idle timeout of listener is configurable only when the scheduling algorithm of server group is 5TCH.', 'http_code' => 400, 'description' => '当服务器组调度算法为五元组哈希时,可以自定义配置TCP连接空闲超时时间。其他调度算法,无法修改。'], ['code' => 'OperationDenied.TooManyListeners', 'message' => 'The operation is not allowed because of TooManyListener.', 'http_code' => 400, 'description' => '负载均衡实例下的监听数量超过限制,操作不支持'], ['code' => 'OperationDenied.VSwitchChangeNotSupport', 'message' => 'The operation is not allowed because of VSwitchChangeNotSupport.', 'http_code' => 400, 'description' => '修改交换机vSwitch操作不支持'], ['code' => 'OperationDenied.VSwitchNotSupportIpv6', 'message' => 'The operation is not allowed because of VSwitchNotSupportIpv6.', 'http_code' => 400, 'description' => '交换机vSwitch没有开启IPv6,操作不支持'], ['code' => 'QuotaExceeded.LoadBalancersNum', 'message' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'http_code' => 400, 'description' => '配额gwlb_quota_loadbalancers_num已超额度限制。'], ['code' => 'QuotaExceeded.ServerGroupAzServersNum', 'message' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'http_code' => 400, 'description' => '配额gwlb_quota_servergroup_az_servers_num已超额度限制。'], ['code' => 'QuotaExceeded.ServerGroupServersNum', 'message' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'http_code' => 400, 'description' => '配额gwlb_quota_servergroup_servers_num已超额度限制。'], ['code' => 'QuotaExceeded.ServerGroupsNum', 'message' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'http_code' => 400, 'description' => '配额gwlb_quota_servergroups_num已超额度限制。'], ['code' => 'ResourceAlreadyAssociated.GwlbeAssociated', 'message' => 'The specified resource of %s is already associated.', 'http_code' => 400, 'description' => '指定资源%s已被关联'], ['code' => 'ResourceInUse.Eni', 'message' => 'The specified resource of %s is in use.', 'http_code' => 400, 'description' => '传入的eni不能是网关型负载均衡实例使用的eni,请检查参数。'], ['code' => 'ResourceInUse.IP', 'message' => 'The specified resource of %s is in use.', 'http_code' => 400, 'description' => '指定的IP地址已被使用'], ['code' => 'ResourceInUse.ServerGroup', 'message' => 'The specified resource of %s is in use.', 'http_code' => 400, 'description' => '指定的服务器组资源正在使用中,请稍后重试。'], ['code' => 'ResourceNotEnough.VSwitchIp', 'message' => 'The specified resource of VSwitchIp is not enough.', 'http_code' => 400, 'description' => 'vSwitch IP资源不足'], ['code' => 'ResourceNotFound.BackendServer', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的后端服务器资源不存在。'], ['code' => 'ResourceNotFound.Eci', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的弹性容器实例资源不存在。'], ['code' => 'ResourceNotFound.Ecs', 'message' => 'The specified resource of %s is in use.', 'http_code' => 404, 'description' => '指定的云服务器资源不存在。'], ['code' => 'ResourceNotFound.Ecs', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的云服务器资源不存在。'], ['code' => 'ResourceNotFound.Ecs', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的云服务器资源不存在。'], ['code' => 'ResourceNotFound.Eni', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的弹性网卡资源不存在。'], ['code' => 'ResourceNotFound.Listener', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的监听资源不存在'], ['code' => 'ResourceNotFound.LoadBalancer', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的负载均衡资源不存在'], ['code' => 'ResourceNotFound.ServerGroup', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的服务器组资源不存在。'], ['code' => 'ResourceNotFound.Vpc', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '指定的专有网络资源不存在。'], ['code' => 'ResourceQuotaExceeded.TagNum', 'message' => 'The quota of %s is exceeded for resource %s, usage %s/%s.', 'http_code' => 400, 'description' => '资源绑定的标签数量超限'], ['code' => 'UnauthorizedRegion', 'message' => 'The specified region of %s is not authorized.', 'http_code' => 400, 'description' => '指定地域%s没有授权'], ], 'changeSet' => [], 'flowControl' => [ 'flowControlList' => [ ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetLoadBalancerAttribute'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListTagResources'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetListenerAttribute'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServerGroupServers'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerZones'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListLoadBalancers'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListServerGroups'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'GetListenerHealthStatus'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateListenerAttribute'], ['threshold' => '100', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancer'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerAttribute'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateServerGroupAttribute'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveServersFromServerGroup'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateServerGroup'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeRegions'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DescribeZones'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerGroup'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddServersToServerGroup'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancer'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateListener'], ['threshold' => '600', 'countWindow' => 60, 'regionId' => '*', 'api' => 'ListListeners'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'], ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteListener'], ], ], 'ram' => [ 'productCode' => 'GWLB', 'productName' => '负载均衡', 'ramCodes' => ['gwlb'], 'ramLevel' => '资源级', 'ramConditions' => [], 'ramActions' => [ [ 'apiName' => 'RemoveServersFromServerGroup', 'description' => '服务器组中移除后端服务器', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:RemoveServersFromServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'], ], ], ], [ 'apiName' => 'UpdateLoadBalancerAttribute', 'description' => '更新负载均衡实例属性', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateLoadBalancerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], [ 'apiName' => 'AddServersToServerGroup', 'description' => '服务器组中添加后端服务器', 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:AddServersToServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'], ], ], ], [ 'apiName' => 'GetLoadBalancerAttribute', 'description' => '查询负载均衡实例详细信息', 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:GetLoadBalancerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], [ 'apiName' => 'UpdateListenerAttribute', 'description' => '更新监听属性', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateListenerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ], ], ], [ 'apiName' => 'UpdateLoadBalancerZones', 'description' => '更新负载均衡可用区', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateLoadBalancerZones', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ], ], ], [ 'apiName' => 'ListTagResources', 'description' => '查询资源标签', 'operationType' => 'list', 'ramAction' => [ 'action' => 'gwlb:ListTagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateLoadBalancer', 'description' => '创建负载均衡实例', 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:CreateLoadBalancer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/*'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'GetListenerAttribute', 'description' => '查询监听详细信息', 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:GetListenerAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ], ], ], [ 'apiName' => 'ListServerGroups', 'description' => '查询服务器组列表', 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:ListServerGroups', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/*'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'DeleteServerGroup', 'description' => '删除服务器组', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:DeleteServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ], ], ], [ 'apiName' => 'GetListenerHealthStatus', 'description' => '查询监听健康检查状态', 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:GetListenerHealthStatus', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ], ], ], [ 'apiName' => 'MoveResourceGroup', 'description' => '迁移资源组', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:MoveResourceGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:serverGroup/{#serverGroupId}'], ], ], ], [ 'apiName' => 'UntagResources', 'description' => '删除资源标签', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UntagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], [ 'apiName' => 'DeleteLoadBalancer', 'description' => '删除负载均衡实例', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:DeleteLoadBalancer', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], [ 'apiName' => 'TagResources', 'description' => '添加资源标签', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:TagResources', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ], ], ], [ 'apiName' => 'ListLoadBalancers', 'description' => '查询负载均衡实例列表', 'operationType' => 'list', 'ramAction' => [ 'action' => 'gwlb:ListLoadBalancers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/*'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'], ['validationType' => 'conditional', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], [ 'apiName' => 'DeleteListener', 'description' => '删除监听', 'operationType' => 'delete', 'ramAction' => [ 'action' => 'gwlb:DeleteListener', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ], ], ], [ 'apiName' => 'ListListeners', 'description' => '查询监听列表', 'operationType' => 'list', 'ramAction' => [ 'action' => 'gwlb:ListListeners', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateListener', 'description' => '创建监听', 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:CreateListener', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/*'], ], ], ], [ 'apiName' => 'UpdateServerGroupAttribute', 'description' => '更新服务器组属性', 'operationType' => 'update', 'ramAction' => [ 'action' => 'gwlb:UpdateServerGroupAttribute', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'ListServerGroupServers', 'description' => '查询服务器组中的服务器列表', 'operationType' => 'get', 'ramAction' => [ 'action' => 'gwlb:ListServerGroupServers', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], [ 'apiName' => 'CreateServerGroup', 'description' => '创建服务器组', 'operationType' => 'create', 'ramAction' => [ 'action' => 'gwlb:CreateServerGroup', 'authLevel' => 'resource', 'actionConditions' => [], 'resources' => [ ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/*'], ['validationType' => 'always', 'product' => 'GWLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ], ], ], ], 'resourceTypes' => [ ['validationType' => 'always', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'], ['validationType' => 'conditional', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'], ['validationType' => 'conditional', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'], ['validationType' => 'conditional', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'], ['validationType' => 'always', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'], ['validationType' => 'always', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/{#ListenerId}'], ['validationType' => 'always', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'], ['validationType' => 'conditional', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/*'], ['validationType' => 'conditional', 'resourceType' => 'Listener', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:listener/*'], ['validationType' => 'conditional', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:loadbalancer/*'], ['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'], ['validationType' => 'conditional', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:serverGroup/{#serverGroupId}'], ['validationType' => 'always', 'resourceType' => 'ServerGroup', 'arn' => 'acs:gwlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId{#ServerGroupId}'], ], ], ];