diff options
| author | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
|---|---|---|
| committer | Zhineng Li <[email protected]> | 2026-02-13 10:54:11 +0800 |
| commit | 7347bac4ab7e136157fc94777e6cf87ef9e08599 (patch) | |
| tree | 0dec367dac6e152161a6f7cc0dba6ebbef1f34a2 /data/zh_cn/nlb/2022-04-30 | |
| download | acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.tar.gz acs-metadata-full-7347bac4ab7e136157fc94777e6cf87ef9e08599.zip | |
first commitHEADv1.0.0+20260212main
Diffstat (limited to 'data/zh_cn/nlb/2022-04-30')
| -rw-r--r-- | data/zh_cn/nlb/2022-04-30/api-docs.php | 12023 |
1 files changed, 12023 insertions, 0 deletions
diff --git a/data/zh_cn/nlb/2022-04-30/api-docs.php b/data/zh_cn/nlb/2022-04-30/api-docs.php new file mode 100644 index 0000000..f148ac5 --- /dev/null +++ b/data/zh_cn/nlb/2022-04-30/api-docs.php @@ -0,0 +1,12023 @@ +<?php return [ + 'version' => '1.0', + 'info' => [ + 'style' => 'RPC', + 'product' => 'Nlb', + 'version' => '2022-04-30', + ], + 'directories' => [ + [ + 'id' => 192387, + 'title' => '监控', + 'type' => 'directory', + 'children' => [ + 'DescribeHdMonitorRegionConfig', + 'SetHdMonitorRegionConfig', + ], + ], + [ + 'id' => 175130, + 'title' => '地域与可用区', + 'type' => 'directory', + 'children' => [ + 'DescribeRegions', + 'DescribeZones', + ], + ], + [ + 'id' => 175092, + 'title' => '实例', + 'type' => 'directory', + 'children' => [ + 'CreateLoadBalancer', + 'DeleteLoadBalancer', + 'UpdateLoadBalancerAddressTypeConfig', + 'UpdateLoadBalancerAttribute', + 'UpdateLoadBalancerZones', + 'EnableLoadBalancerIpv6Internet', + 'DisableLoadBalancerIpv6Internet', + 'LoadBalancerLeaveSecurityGroup', + 'LoadBalancerJoinSecurityGroup', + 'UpdateLoadBalancerProtection', + 'ListLoadBalancers', + 'GetLoadBalancerAttribute', + 'StartShiftLoadBalancerZones', + 'CancelShiftLoadBalancerZones', + ], + ], + [ + 'id' => 175084, + 'title' => '监听', + 'type' => 'directory', + 'children' => [ + 'CreateListener', + 'DeleteListener', + 'StartListener', + 'StopListener', + 'UpdateListenerAttribute', + 'ListListeners', + 'GetListenerAttribute', + 'GetListenerHealthStatus', + ], + ], + [ + 'id' => 175131, + 'title' => '监听证书', + 'type' => 'directory', + 'children' => [ + 'ListListenerCertificates', + 'AssociateAdditionalCertificatesWithListener', + 'DisassociateAdditionalCertificatesWithListener', + ], + ], + [ + 'id' => 175112, + 'title' => '服务器组', + 'type' => 'directory', + 'children' => [ + 'CreateServerGroup', + 'AddServersToServerGroup', + 'DeleteServerGroup', + 'RemoveServersFromServerGroup', + 'UpdateServerGroupAttribute', + 'UpdateServerGroupServersAttribute', + 'ListServerGroups', + 'ListServerGroupServers', + ], + ], + [ + 'id' => 175103, + 'title' => '共享带宽包', + 'type' => 'directory', + 'children' => [ + 'DetachCommonBandwidthPackageFromLoadBalancer', + 'AttachCommonBandwidthPackageToLoadBalancer', + ], + ], + [ + 'id' => 175106, + 'title' => '安全策略', + 'type' => 'directory', + 'children' => [ + 'CreateSecurityPolicy', + 'DeleteSecurityPolicy', + 'UpdateSecurityPolicyAttribute', + 'ListSecurityPolicy', + 'ListSystemSecurityPolicy', + ], + ], + [ + 'id' => 183551, + 'title' => '资源组', + 'type' => 'directory', + 'children' => [ + 'MoveResourceGroup', + ], + ], + [ + 'id' => 175122, + 'title' => '异步任务', + 'type' => 'directory', + 'children' => [ + 'GetJobStatus', + 'ListAsynJobs', + ], + ], + [ + 'id' => 175132, + 'title' => '标签', + 'type' => 'directory', + 'children' => [ + 'TagResources', + 'UntagResources', + 'ListTagResources', + ], + ], + ], + 'components' => [ + 'schemas' => [], + ], + 'apis' => [ + 'DescribeHdMonitorRegionConfig' => [ + 'summary' => '查询秒级监控存储配置。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'add 必选', + 'description' => '资源所在的地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<GetJodResponse>', + 'description' => 'RpcResponse<GetJodResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'RegionId' => [ + 'description' => '资源所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'LogProject' => [ + 'description' => '日志服务LogProject的名称。', + 'type' => 'string', + 'example' => 'hdmonitor-cn-hangzhou-223794579283657556'."\n", + ], + 'MetricStore' => [ + 'description' => '日志服务MetricStore的名称。', + 'type' => 'string', + 'example' => 'hdmonitor-cn-hangzhou-metricStore-1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'DescribeHDMonitor.Fail', + 'errorMessage' => 'DescribeHDMonitor Fail.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LogProject\\": \\"hdmonitor-cn-hangzhou-223794579283657556\\\\n\\",\\n \\"MetricStore\\": \\"hdmonitor-cn-hangzhou-metricStore-1\\"\\n}","type":"json"}]', + 'title' => '查询秒级监控配置', + 'description' => '查询当前地域配置的秒级监控存储数仓。', + ], + 'SetHdMonitorRegionConfig' => [ + 'summary' => '配置秒级监控存储。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '207971', + 'abilityTreeNodes' => [ + 'FEATUREslbNC4CZR', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'title' => 'add 必选', + 'description' => '资源所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~2399192~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'LogProject', + 'in' => 'query', + 'schema' => [ + 'title' => 'add 必选', + 'description' => '日志服务LogProject的名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'hdmonitor-cn-hangzhou-223794579283657556', + ], + ], + [ + 'name' => 'MetricStore', + 'in' => 'query', + 'schema' => [ + 'title' => 'add 必选', + 'description' => '日志服务MetricStore的名称。', + 'type' => 'string', + 'required' => true, + 'example' => 'hdmonitor-cn-hangzhou-metricStore-1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<GetJodResponse>', + 'description' => 'RpcResponse<GetJodResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'RegionId' => [ + 'description' => '资源所在地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~2399192~~)接口获取地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'LogProject' => [ + 'description' => '日志服务LogProject的名称。', + 'type' => 'string', + 'example' => 'hdmonitor-cn-hangzhou-223794579283657556', + ], + 'MetricStore' => [ + 'description' => '日志服务MetricStore的名称。', + 'type' => 'string', + 'example' => 'hdmonitor-cn-hangzhou-metricStore-1', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'EnableHDMonitor.Fail', + 'errorMessage' => 'EnableHDMonitor Fail.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LogProject\\": \\"hdmonitor-cn-hangzhou-223794579283657556\\",\\n \\"MetricStore\\": \\"hdmonitor-cn-hangzhou-metricStore-1\\"\\n}","type":"json"}]', + 'title' => '配置秒级监控', + 'description' => '设置秒级监控数仓信息,如果当前地域存在已开启秒级监控的监听,需要先关闭才可以调整秒级监控数仓。', + ], + 'DescribeRegions' => [ + 'summary' => '查询NLB的可用地域。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceCode', + 'in' => 'query', + 'schema' => [ + 'description' => '云产品的ServiceCode,仅取值:**nlb**。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb', + 'default' => 'nlb', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '支持的语言。取值:'."\n" + ."\n" + .'- **zh-CN**:中文'."\n" + .'- **en-US**(默认):英文'."\n" + .'- **ja**:日文', + 'type' => 'string', + 'required' => false, + 'example' => 'en-US', + ], + ], + [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeRegionsResponse>', + 'description' => '返回数据的结构。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'Regions' => [ + 'description' => '地域列表。', + 'type' => 'array', + 'items' => [ + 'description' => '地域信息结构。', + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => '地域名称。', + 'type' => 'string', + 'example' => 'China (Hangzhou)', + ], + 'RegionEndpoint' => [ + 'description' => '地域服务的Endpoint地址。', + 'type' => 'string', + 'example' => 'nlb.cn-hangzhou.aliyuncs.com', + ], + 'RegionId' => [ + 'description' => '地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Regions\\": [\\n {\\n \\"LocalName\\": \\"China (Hangzhou)\\",\\n \\"RegionEndpoint\\": \\"nlb.cn-hangzhou.aliyuncs.com\\",\\n \\"RegionId\\": \\"cn-hangzhou\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeRegionsResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <Regions>\\n <LocalName>华东1(杭州)</LocalName>\\n <RegionEndpoint>nlb.cn-hangzhou.aliyuncs.com</RegionEndpoint>\\n <RegionId>cn-hangzhou</RegionId>\\n </Regions>\\n</DescribeRegionsResponse>","errorExample":""}]', + 'title' => '查询地域', + ], + 'DescribeZones' => [ + 'summary' => '查询NLB一个地域下的可用区列表。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'ServiceCode', + 'in' => 'query', + 'schema' => [ + 'description' => '云产品的ServiceCode,仅取值:**nlb**。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '可用区所在的地域ID。您可以调用[DescribeRegions](~~443657~~)查看最新的阿里云地域列表。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'AcceptLanguage', + 'in' => 'query', + 'schema' => [ + 'description' => '支持的语言。取值:'."\n" + ."\n" + .'- **zh-CN**:中文'."\n" + .'- **en-US**(默认):英文'."\n" + .'- **ja**:日文', + 'type' => 'string', + 'required' => false, + 'example' => 'zh-CN', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DescribeZonesResponse>', + 'description' => '返回数据的结构。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'Zones' => [ + 'description' => '可用区列表。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区信息结构。', + 'type' => 'object', + 'properties' => [ + 'LocalName' => [ + 'description' => '可用区名称。', + 'type' => 'string', + 'example' => '杭州 可用区G', + ], + 'ZoneId' => [ + 'description' => '可用区ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou-g', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.AcceptLanguage', + 'errorMessage' => 'The param of AcceptLanguage[%s] is illegal from bundle %s', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Zones\\": [\\n {\\n \\"LocalName\\": \\"杭州 可用区G\\",\\n \\"ZoneId\\": \\"cn-hangzhou-g\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<DescribeZonesResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <Zones>\\n <LocalName>华东 1 可用区G</LocalName>\\n <ZoneId>cn-hangzhou-g</ZoneId>\\n </Zones>\\n</DescribeZonesResponse>","errorExample":""}]', + 'title' => '查询可用区', + ], + 'CreateLoadBalancer' => [ + 'summary' => '创建网络型负载均衡实例。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'paid', + 'abilityTreeCode' => '141875', + 'abilityTreeNodes' => [ + 'FEATUREslbS3YPBZ', + ], + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerType', + 'in' => 'formData', + 'schema' => [ + 'description' => '负载均衡的类型,仅取值:**network**,表示网络型负载均衡。', + 'type' => 'string', + 'required' => false, + 'example' => 'network', + 'default' => 'network', + 'enum' => [], + ], + ], + [ + 'name' => 'LoadBalancerName', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例名称。'."\n" + ."\n" + .'长度为2~128个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'NLB1', + ], + ], + [ + 'name' => 'AddressType', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例的IPv4地址类型。取值:'."\n" + ."\n" + .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。'."\n" + ."\n" + .'> 网络型负载均衡双栈实例的IPv6公网需通过[EnableLoadBalancerIpv6Internet](~~445878~~)接口开启。', + 'type' => 'string', + 'required' => true, + 'example' => 'Internet', + 'enum' => [], + ], + ], + [ + 'name' => 'AddressIpVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => '协议版本。取值:'."\n" + ."\n" + .'- **ipv4**(默认值):IPv4类型。'."\n" + .'- **DualStack**:双栈类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + 'default' => 'ipv4', + 'enum' => [], + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例的专有网络ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp1b49rqrybk45nio****', + ], + ], + [ + 'name' => 'ZoneMappings', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '可用区及交换机映射列表。最多支持添加10个可用区。若当前地域支持2个及以上的可用区,至少需要添加2个可用区。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表。最多支持添加10个可用区。若当前地域支持2个及以上的可用区,至少需要添加2个可用区。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区只能使用一台交换机和一个子网。最多支持添加10个可用区。'."\n" + .'若当前地域支持2个及以上的可用区,至少需要添加2个可用区。', + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-sersdf****', + ], + 'ZoneId' => [ + 'description' => '网络型负载均衡实例的可用区ID。最多支持添加10个可用区。若当前地域支持2个及以上可用区,至少需要添加2个可用区。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~443890~~)接口获取可用区ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou-a', + ], + 'PrivateIPv4Address' => [ + 'title' => '私网ip', + 'description' => 'IPv4 私网VIP地址。NLB对外提供服务的私网IPv4地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.1', + ], + 'AllocationId' => [ + 'title' => '公网ipId', + 'description' => '公网实例绑定的EIP实例ID,每个可用区对应1个EIP实例ID。最多支持添加10个可用区。若当前地域支持2个及以上可用区,至少需要添加2个可用区。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-bp1aedxso6u80u0qf****', + ], + 'Ipv6Address' => [ + 'description' => 'IPv6 VIP地址。NLB对外提供服务的IPv6地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:400a:d5:3080:b409:840a:ca:e8e5', + ], + 'Ipv4LocalAddresses' => [ + 'description' => 'IPv4 Local地址列表。NLB与后端服务交互的地址列表。'."\n" + .'地址个数必须是偶数,且最少2个,最多8个。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4 Local地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.10.2', + ], + 'required' => false, + 'maxItems' => 8, + 'minItems' => 2, + ], + 'Ipv6LocalAddresses' => [ + 'description' => 'IPv6 Local地址列表。NLB与后端服务交互的地址列表。'."\n" + .'地址个数必须是偶数,且最少2个,最多8个。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 Local地址。', + 'type' => 'string', + 'required' => false, + 'example' => '2408:400a:d5:3080:b409:840a:ca:e8e6', + ], + 'required' => false, + 'maxItems' => 8, + 'minItems' => 2, + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'formData', + 'schema' => [ + 'description' => '公网类型实例关联的共享带宽包ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cbwp-bp1vevu8h3ieh****', + ], + ], + [ + 'name' => 'LoadBalancerBillingConfig', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '网络型负载均衡实例计费配置。', + 'type' => 'object', + 'properties' => [ + 'PayType' => [ + 'title' => 'PrePay, PostPay', + 'description' => '网络型负载均衡实例的计费类型。'."\n" + ."\n" + .'仅取值**PostPay**:表示按量计费。', + 'type' => 'string', + 'required' => false, + 'example' => 'PostPay', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-atstuj3rtop****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建实例。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DeletionProtectionConfig', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '删除保护配置。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '删除保护状态,取值:'."\n" + ."\n" + .'- **true**:开启状态。'."\n" + .'- **false**(默认值):关闭状态。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Reason' => [ + 'description' => '更改删除保护状态的原因。长度为2~128个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => '实例运行中', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ModificationProtectionConfig', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '修改保护配置。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '网络型负载均衡修改保护状态。取值:'."\n" + ."\n" + .'- **NonProtection**:不保护,表示不允许传入保护配置的**Reason**。如果配置了保护配置的**Reason**,则清空其配置信息。'."\n" + .'- **ConsoleProtection**:控制台修改保护,此时允许传入保护配置的**Reason**。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', + 'type' => 'string', + 'required' => false, + 'example' => 'ConsoleProtection', + ], + 'Reason' => [ + 'description' => '输入开启修改保护的原因。长度为2~128个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在**Status**为**ConsoleProtection**时有效且合法。', + 'type' => 'string', + 'required' => false, + 'example' => '业务保障期', + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'description' => '标签值。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'product', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => 'response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'LoadbalancerId' => [ + 'description' => '实例ID。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'OrderId' => [ + 'description' => '网络型负载均衡实例的订单ID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '20230000', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.OnlyPayByTrafficSupported', + 'errorMessage' => 'The operation is not allowed because of OnlyPayByTrafficSupported.', + ], + [ + 'errorCode' => 'OperationFailed.%s', + 'errorMessage' => 'The operation failed because of %s.', + ], + [ + 'errorCode' => 'Mismatch.ZoneIdAndVswitchId', + 'errorMessage' => 'The ZoneIdAndVswitchId is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'QuotaExceeded.%s', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'OperationDenied.OnlyPostPaidSupported', + 'errorMessage' => 'The operation is not allowed because of OnlyPostPaidSupported.', + ], + [ + 'errorCode' => 'OperationFailed.DuplicateZones.', + 'errorMessage' => 'The operation failed because of Can not Specify duplicate zones.', + ], + [ + 'errorCode' => 'ResourceNotEnough.VSwitchIp', + 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', + ], + [ + 'errorCode' => 'DuplicatedParam.AllocationId', + 'errorMessage' => 'The param of AllocationId is duplicated.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.VswitchId', + 'errorMessage' => 'The specified resource of VswitchId is being configured, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.UnpaidBill', + 'errorMessage' => 'The operation failed because of UnpaidBill.', + ], + [ + 'errorCode' => 'OperationDenied.ServiceLinkedRoleNotExist', + 'errorMessage' => 'The operation is not allowed because of ServiceLinkedRoleNotExist.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.AllocationId', + 'errorMessage' => 'The specified resource of %s is already associated.', + ], + [ + 'errorCode' => 'OperationFailed.vSwitchNotSupportIpv6', + 'errorMessage' => 'The operation failed because of vSwitchNotSupportIpv6.', + ], + [ + 'errorCode' => 'InvalidZones', + 'errorMessage' => 'The current zone list is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.QuotaInsufficient', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'ResourceInUse.IP', + 'errorMessage' => 'The specified resource of IP is in use.', + ], + [ + 'errorCode' => 'OperationFailed.CreateOrderError', + 'errorMessage' => 'Operation failed because CreateOrderError.', + ], + [ + 'errorCode' => 'OperationFailed.NotExist.ResourceGroup', + 'errorMessage' => 'Operation failed because ResourceGroup not exist.', + ], + [ + 'errorCode' => 'IllegalParam.loadBalancerName', + 'errorMessage' => 'Param loadBalancerName is illegal.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + [ + 'errorCode' => 'IllegalParam.DeletionProtectionConfig', + 'errorMessage' => 'DeletionProtectionConfig reason is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ModificationProtectionConfig', + 'errorMessage' => 'ModificationProtectionConfig reason is illegal.', + ], + [ + 'errorCode' => 'Throttling.User', + 'errorMessage' => 'Request was denied due to api flow control.', + ], + ], + 403 => [ + [ + 'errorCode' => 'UnauthorizedZone', + 'errorMessage' => 'The specified zone of %s is not authorized.', + ], + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + [ + 'errorCode' => 'UnauthorizedRegion', + 'errorMessage' => 'The specified region of %s is not authorized.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of vSwitch is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Vpc', + 'errorMessage' => 'The specified resource of Vpc is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"LoadbalancerId\\": \\"nlb-83ckzc8d4xlp8o****\\",\\n \\"OrderId\\": 20230000\\n}","errorExample":""},{"type":"xml","example":"<CreateLoadBalancerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <LoadbalancerId>nlb-83ckzc8d4xlp8o****</LoadbalancerId>\\n <OrderId>20230000</OrderId>\\n</CreateLoadBalancerResponse>","errorExample":""}]', + 'title' => '创建网络型负载均衡实例', + 'description' => '- 创建网络型负载均衡实例时会自动为用户创建AliyunServiceRoleForNlb SLR角色。'."\n" + .'- **CreateLoadBalancer**接口属于异步接口,即系统返回一个实例ID,但该网络型负载均衡实例尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetLoadBalancerAttribute](~~445873~~)查询网络型负载均衡实例的创建状态:'."\n" + .' - 当网络型负载均衡实例处于**Provisioning**状态时,表示网络型负载均衡实例正在创建中。'."\n" + .' - 当网络型负载均衡实例处于**Active**状态时,表示网络型负载均衡实例创建成功。', + ], + 'DeleteLoadBalancer' => [ + 'summary' => '删除网络型负载均衡实例。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-wb7r6dlwetvt5j****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '删除网络型负载均衡实例。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.%s', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + [ + 'errorCode' => 'ResourceInCreating.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'OperationDenied.DeletionProtectionEnabled', + 'errorMessage' => 'The operation is not allowed because of DeletionProtectionEnabled.', + ], + [ + 'errorCode' => 'IncorrectStatus.loadbalancer', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteLoadBalancerResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</DeleteLoadBalancerResponse>","errorExample":""}]', + 'title' => '删除负载均衡实例', + ], + 'UpdateLoadBalancerAddressTypeConfig' => [ + 'summary' => '变更网络型负载均衡NLB实例的IPv4地址的网络类型。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141880', + 'abilityTreeNodes' => [ + 'FEATUREslb12YEWG', + 'FEATUREslb4N3NIV', + ], + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'AddressType', + 'in' => 'formData', + 'schema' => [ + 'description' => '目标网络类型。取值:'."\n" + ."\n" + .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'required' => true, + 'example' => 'Internet', + 'enum' => [], + ], + ], + [ + 'name' => 'ZoneMappings', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '可用区及交换机映射列表,最多支持10个可用区。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区只能使用一台交换机和一个子网。', + 'type' => 'string', + 'required' => false, + 'example' => 'vsw-bp10ttov87felojcn****', + ], + 'ZoneId' => [ + 'description' => '网络型负载均衡实例的可用区ID。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~443890~~)接口获取可用区ID对应的可用区信息。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-a', + ], + 'AllocationId' => [ + 'title' => '公网ipId', + 'description' => '弹性公网IP实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-bp1aedxso6u80u0qf****', + ], + 'EipType' => [ + 'description' => '公网EIP的类型。取值:'."\n" + ."\n" + .'- **Common**:弹性公网IP,简称EIP。'."\n" + .'- **Anycast**:任播弹性公网IP,简称Anycast EIP。'."\n" + ."\n" + .'> **AddressType**配置为**Internet**时,需要配置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Common', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会更新实例的网络类型。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'headers' => [], + 'schema' => [ + 'title' => 'response', + 'description' => '变更NLB实例的IPv4地址的网络类型。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DuplicatedParam.AllocationId', + 'errorMessage' => 'The param of AllocationId is duplicated.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + [ + 'errorCode' => 'OperationDenied.EipAlreadyInBandwidthPackage', + 'errorMessage' => 'The operation is not allowed because of EipAlreadyInBandwidthPackage.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.%s', + 'errorMessage' => 'The specified resource of %s is being configured, please try again later.', + ], + [ + 'errorCode' => 'OperationDenied.AddressTypeNotChanged', + 'errorMessage' => 'The operation is not allowed because of AddressTypeNotChanged.', + ], + [ + 'errorCode' => 'Mismatch.ZoneIdAndVswitchId', + 'errorMessage' => 'The ZoneIdAndVswitchId is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'TagInvokeError', + 'errorMessage' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'Throttling.User', + 'errorMessage' => 'Request was denied due to api flow control.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.AnycastInstance', + 'errorMessage' => 'The specified resource of AnycastInstance is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateLoadBalancerAddressTypeConfigResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UpdateLoadBalancerAddressTypeConfigResponse>","errorExample":""}]', + 'title' => '变更网络类型配置', + 'description' => '- 您已创建NLB实例,请参见[CreateLoadBalancer](~~445868~~)。'."\n" + .'- 您可以通过[GetLoadBalancerAttribute](~~445873~~)接口查询变更后NLB实例的**AddressType**取值。'."\n" + .'- **UpdateLoadBalancerAddressTypeConfig**属于异步接口,即系统返回一个请求ID,但该NLB实例IPv4地址的网络类型尚未变更成功,系统后台的变更任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询IPv4地址网络类型变更状态:'."\n" + .' - 当任务状态处于**Succeeded**时,表示实例IPv4地址的网络类型变更成功。'."\n" + .' - 当任务状态处于**Processing**时,表示实例IPv4地址的网络类型变更中,在该状态下,您只能执行查询操作,不能执行其他操作。', + ], + 'UpdateLoadBalancerAttribute' => [ + 'summary' => '更新网络型负载均衡实例名称等属性。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '141877', + 'abilityTreeNodes' => [ + 'FEATUREslb12YEWG', + 'FEATUREslb4N3NIV', + ], + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例的ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-wb7r6dlwetvt5j****', + ], + ], + [ + 'name' => 'LoadBalancerName', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例名称。'."\n" + ."\n" + .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'NLB1', + ], + ], + [ + 'name' => 'CrossZoneEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例是否开启跨可用区。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会更新实例信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-beijing', + ], + ], + [ + 'name' => 'Cps', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**1**~**1000000**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '1', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '更新网络型负载均衡实例名称等属性。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '7294679F-08DE-16D4-8E5D-1625685DC10B', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => 'aab74cfa-3bc4-48fc-80fc-0101da5a****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IllegalParam.loadBalancerName', + 'errorMessage' => 'Param loadBalancerName is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"7294679F-08DE-16D4-8E5D-1625685DC10B\\",\\n \\"JobId\\": \\"aab74cfa-3bc4-48fc-80fc-0101da5a****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateLoadBalancerAttributeResponse>\\n <RequestId>7294679F-08DE-16D4-8E5D-1625685DC10B</RequestId>\\n <JobId>aab74cfa-3bc4-48fc-80fc-0101da5a****</JobId>\\n</UpdateLoadBalancerAttributeResponse>","errorExample":""}]', + 'title' => '更新负载均衡实例属性', + ], + 'UpdateLoadBalancerZones' => [ + 'summary' => '修改网络型负载均衡实例可用区及可用区属性。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'ZoneMappings', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '可用区及交换机映射列表,最多支持添加10个可用区。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表,最多支持添加10个可用区。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-bp1rmcrwg3erh1fh8****', + ], + 'ZoneId' => [ + 'description' => '可用区ID,您可以通过调用[DescribeZones](~~443890~~)接口获取。'."\n" + ."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou-a', + ], + 'PrivateIPv4Address' => [ + 'title' => '私网ip', + 'description' => '私网IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.36.16', + ], + 'AllocationId' => [ + 'title' => '公网ipId', + 'description' => '弹性公网IP或任播弹性公网IP的实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'eip-bp1aedxso6u80u0qf****', + ], + 'EipType' => [ + 'description' => '公网EIP的类型。取值:'."\n" + ."\n" + .'- **Common**:弹性公网IP,简称EIP。'."\n" + .'- **Anycast**:任播弹性公网IP,简称Anycast EIP。'."\n" + ."\n" + .'> 支持绑定Anycast EIP的地域见[使用限制'."\n" + .'](~~470000~~),**AddressType**配置为**Internet**时,需要配置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'Common', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 10, + 'minItems' => 1, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求,取值:'."\n" + ."\n" + .'- **true**:发送检查请求,不会修改实例可用区属性。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP_2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => 'response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceInCreating.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', + ], + [ + 'errorCode' => 'OperationDenied.ProtectedPrivateIPv4AddressChanged', + 'errorMessage' => 'The operation is not allowed because of ProtectedPrivateIPv4AddressChanged.', + ], + [ + 'errorCode' => 'OperationFailed.vSwitchNotSupportIpv6', + 'errorMessage' => 'The operation failed because of vSwitchNotSupportIpv6.', + ], + [ + 'errorCode' => 'OperationDenied.%s', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'OperationDenied.ZoneVSwitchChanged', + 'errorMessage' => 'The operation is not allowed because of ZoneVSwitchChanged.', + ], + [ + 'errorCode' => 'InvalidZones', + 'errorMessage' => 'The current zone list is illegal.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'ResourceNotEnough.VSwitchIp', + 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', + ], + ], + 403 => [ + [ + 'errorCode' => 'UnauthorizedZone', + 'errorMessage' => 'The specified zone of %s is not authorized.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of vSwitch is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateLoadBalancerZonesResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UpdateLoadBalancerZonesResponse>","errorExample":""}]', + 'title' => '更新实例可用区及可用区属性', + 'description' => '每次调用该接口时,请确保您传入该NLB实例的所有可用区参数,包括存量和新增的可用区。如您未传入存量的可用区参数,存量可用区将会被删掉。'."\n" + ."\n" + .'前提条件:'."\n" + .'- 您已创建NLB实例,请参见[CreateLoadBalancer](~~445868~~)。'."\n" + .'- 您可以通过[GetLoadBalancerAttribute](~~445873~~)接口查询该NLB实例的可用区及可用区属性。'."\n" + .'- **UpdateLoadBalancerZones**属于异步接口,即系统返回一个请求ID,但该NLB实例可用区及可用区属性尚未修改成功,系统后台的变更任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询修改状态:'."\n" + .' - 当任务状态处于**Succeeded**时,表示实例可用区及可用区属性修改成功。'."\n" + .' - 当任务状态处于**Processing**时,表示实例可用区及可用区属性正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。', + ], + 'EnableLoadBalancerIpv6Internet' => [ + 'summary' => '将双栈NLB实例的IPv6地址从私网变更为公网。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会变更Pv6类型实例的网络类型。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。'."\n", + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '双栈NLB实例的IPv6地址从私网变更为公网。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.NonDualStackInstance', + 'errorMessage' => 'The operation is not allowed because of NonDualStackInstance.', + ], + [ + 'errorCode' => 'ResourceInCreating.%s', + 'errorMessage' => 'The specified resource of %s is creating, please try again later.', + ], + [ + 'errorCode' => 'ResourceInCreating.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ipv6Gateway', + 'errorMessage' => 'The specified resource of Ipv6Gateway is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<EnableLoadBalancerIpv6InternetResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</EnableLoadBalancerIpv6InternetResponse>","errorExample":""}]', + 'title' => '开启NLB实例IPv6公网', + ], + 'DisableLoadBalancerIpv6Internet' => [ + 'summary' => '将双栈NLB实例的Pv6地址从公网变更为私网。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会变更Pv6类型实例的网络类型。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => 'response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.Ipv6IntranetInstance', + 'errorMessage' => 'The operation is not allowed because of Ipv6IntranetInstance.', + ], + [ + 'errorCode' => 'OperationDenied.NonDualStackInstance', + 'errorMessage' => 'The operation is not allowed because of NonDualStackInstance.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<DisableLoadBalancerIpv6InternetResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</DisableLoadBalancerIpv6InternetResponse>","errorExample":""}]', + 'title' => '关闭NLB实例IPv6公网', + ], + 'LoadBalancerLeaveSecurityGroup' => [ + 'summary' => '为网络型负载均衡实例解绑安全组。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '待解绑的安全组ID。', + 'type' => 'array', + 'items' => [ + 'description' => '待解绑的安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp1fg655nh68xyz9****', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会为实例解绑安全组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => 'response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.SecurityGroup', + 'errorMessage' => 'Authentication is failed for SecurityGroup.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.%s', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<LoadBalancerLeaveSecurityGroupResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</LoadBalancerLeaveSecurityGroupResponse>","errorExample":""}]', + 'title' => '解绑安全组', + 'description' => 'LoadBalancerLeaveSecurityGroup接口属于异步接口,即系统返回一个请求ID,但该网络型负载均衡实例的安全组尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询安全组的解绑状态:'."\n" + ."\n" + .'- 当任务状态处于**Succeeded**时,表示安全组解绑成功。'."\n" + .'- 当任务状态处于**Processing**时,表示安全组正在解绑中,在该状态下,您只能执行查询操作,不能执行其他操作。', + ], + 'LoadBalancerJoinSecurityGroup' => [ + 'summary' => '为网络型负载均衡实例绑定已创建的安全组。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'SecurityGroupIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全组ID。', + 'type' => 'array', + 'items' => [ + 'description' => '安全组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sg-bp1fg655nh68xyz9****', + ], + 'required' => true, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '待绑定安全组的网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会为实例绑定安全组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '为NLB实例绑定已创建的安全组。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'QuotaExceeded.QuotaInsufficient', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'Conflict.SecurityGroup', + 'errorMessage' => 'The SecurityGroup [%s] is conflict.', + ], + [ + 'errorCode' => 'Mismatch.%s', + 'errorMessage' => 'The %s is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'OperationDenied.%s', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'TagInvokeError', + 'errorMessage' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'Mismatch.vpc', + 'errorMessage' => 'The Vpc is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'ResourceInCreating.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + [ + 'errorCode' => 'Forbidden.SecurityGroup', + 'errorMessage' => 'Authentication is failed for SecurityGroup.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.SecurityGroup', + 'errorMessage' => 'The specified resource of SecurityGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<LoadBalancerJoinSecurityGroupResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</LoadBalancerJoinSecurityGroupResponse>","errorExample":""}]', + 'title' => '绑定安全组', + 'description' => '- 请确保您已创建安全组。创建安全组,请参见[CreateSecurityGroup](~~25553~~)。'."\n" + .'- 一个网络型负载均衡实例最多支持加入4个安全组。'."\n" + .'- 您可以通过[GetLoadBalancerAttribute](~~214362~~)接口查询实例绑定的安全组。'."\n" + .'- LoadBalancerJoinSecurityGroup属于异步接口,即系统返回一个请求ID,但该网络型负载均衡实例绑定安全组尚未成功,系统后台的绑定任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询安全组的绑定状态:'."\n" + .' - 当任务状态处于**Succeeded**时,表示安全组绑定成功。'."\n" + .' - 当任务状态处于**Processing**时,表示安全组正在绑定中,在该状态下,您只能执行查询操作,不能执行其他操作。', + ], + 'UpdateLoadBalancerProtection' => [ + 'summary' => '开启或关闭删除保护功能,及更新修改保护功能。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'DeletionProtectionEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启删除保护。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'DeletionProtectionReason', + 'in' => 'formData', + 'schema' => [ + 'description' => '输入开启删除保护的原因。长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在**DeletionProtectionEnabled**为**true**时该参数有效且合法。', + 'type' => 'string', + 'required' => false, + 'example' => '实例使用中', + ], + ], + [ + 'name' => 'ModificationProtectionStatus', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡修改保护状态。取值:'."\n" + ."\n" + .'- **NonProtection**:不保护,表示不允许传入**ModificationProtectionReason**。如果配置了保护配置的**ModificationProtectionReason**,则清空其配置信息。'."\n" + .'- **ConsoleProtection**:控制台修改保护,此时允许传入**ModificationProtectionReason**。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', + 'type' => 'string', + 'required' => false, + 'example' => 'ConsoleProtection', + ], + ], + [ + 'name' => 'ModificationProtectionReason', + 'in' => 'formData', + 'schema' => [ + 'description' => '输入开启修改保护的原因。长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'> 仅在**Status**为**ConsoleProtection**时该参数有效且合法。', + 'type' => 'string', + 'required' => false, + 'example' => '托管实例', + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '更新修改删除保护。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceInConfiguring.%s', + 'errorMessage' => 'The specified resource of %s is being configured, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IdempotenceSignatureMismatch', + 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IllegalParam.deletionProtectionReason', + 'errorMessage' => 'The param of deletionProtectionReason is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.modificationProtectionReason', + 'errorMessage' => 'The param of modificationProtectionReason is illegal.', + ], + [ + 'errorCode' => 'ResourceInCreating.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateLoadBalancerProtectionResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n</UpdateLoadBalancerProtectionResponse>","errorExample":""}]', + 'title' => '修改删除保护', + 'description' => '> 您可以通过[GetLoadBalancerAttribute](~~445873~~)接口查询删除保护和修改保护详细信息。', + ], + 'ListLoadBalancers' => [ + 'summary' => '查询已创建的网络型负载均衡实例的基本信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141871', + 'abilityTreeNodes' => [ + 'FEATUREslb12YEWG', + ], + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerType', + 'in' => 'query', + 'schema' => [ + 'title' => '负载均衡类型', + 'description' => '负载均衡类型。仅取值:**network**,表示网络型负载均衡。', + 'type' => 'string', + 'required' => false, + 'example' => 'network', + ], + ], + [ + 'name' => 'ZoneId', + 'in' => 'query', + 'schema' => [ + 'title' => '负载均衡拥有的可用区', + 'description' => '可用区名称。您可以通过调用[DescribeZones](~~443890~~)接口获取。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou-a', + ], + ], + [ + 'name' => 'VpcIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '专有网络唯一标识', + 'description' => '网络型负载均衡实例的专有网络ID。一次最多支持查询10个VPC ID。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例的专有网络ID。一次最多支持查询10个VPC ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp1b49rqrybk45nio****', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'AddressType', + 'in' => 'query', + 'schema' => [ + 'title' => '地址类型:取值 internet,intranet', + 'description' => '网络型负载均衡的IPv4地址类型。取值:'."\n" + .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'required' => false, + 'example' => 'Internet', + ], + ], + [ + 'name' => 'AddressIpVersion', + 'in' => 'query', + 'schema' => [ + 'title' => '协议类型', + 'description' => '协议版本。取值:'."\n" + .'- **ipv4**:IPv4类型。'."\n" + .'- **DualStack**:双栈类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + ], + ], + [ + 'name' => 'Ipv6AddressType', + 'in' => 'query', + 'schema' => [ + 'title' => '协议类型', + 'description' => '网络型负载均衡的IPv6地址类型。取值:'."\n" + .'- **Internet**:公网类型。网络型负载均衡实例具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:私网类型。网络型负载均衡实例只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'required' => false, + 'example' => 'Internet', + ], + ], + [ + 'name' => 'DNSName', + 'in' => 'query', + 'schema' => [ + 'title' => 'dns 地址', + 'description' => 'DNS域名。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com', + ], + ], + [ + 'name' => 'LoadBalancerStatus', + 'in' => 'query', + 'schema' => [ + 'title' => '实例状态', + 'description' => '网络型负载均衡实例状态。取值:'."\n" + .'- **Inactive**:已停止,表示实例监听不会再转发流量。'."\n" + .'- **Active**:运行中。'."\n" + .'- **Provisioning**:创建中。'."\n" + .'- **Configuring**:变配中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'required' => false, + 'example' => 'Active', + ], + ], + [ + 'name' => 'LoadBalancerBusinessStatus', + 'in' => 'query', + 'schema' => [ + 'title' => '实例业务状态', + 'description' => '网络型负载均衡的业务状态。取值:'."\n" + .'- **Abnormal**:异常状态。'."\n" + .'- **Normal**:正常状态。', + 'type' => 'string', + 'required' => false, + 'example' => 'Normal', + ], + ], + [ + 'name' => 'LoadBalancerNames', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '负载均衡实例名称', + 'description' => '网络型负载均衡实例名称。一次最多支持查询20个实例名称。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例名称。一次最多支持查询20个实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'NLB1', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'query', + 'schema' => [ + 'title' => '企业资源组标识', + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-atstuj3rtop****', + ], + ], + [ + 'name' => 'LoadBalancerIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '实例列表', + 'description' => '网络型负载均衡实例的ID。一次最多支持查询20个实例。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例的ID。一次最多支持查询20个实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '网络型负载均衡实例标签。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。最多支持输入20个标签键。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '实例的标签值。最多支持输入20个标签值。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'ValueTest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => 'response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'LoadBalancers' => [ + 'description' => '网络型负载均衡实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例列表。', + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'title' => '业务location', + 'description' => '网络型负载均衡实例所在的地域ID。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'LoadBalancerId' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'LoadBalancerName' => [ + 'description' => '网络型负载均衡实例名称。', + 'type' => 'string', + 'example' => 'NLB1', + ], + 'LoadBalancerType' => [ + 'description' => '负载均衡实例类型。仅取值**Network**,表示网络型负载均衡。', + 'type' => 'string', + 'example' => 'Network', + ], + 'AddressType' => [ + 'description' => '网络型负载均衡的IPv4地址类型。取值:'."\n" + .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'example' => 'Internet', + ], + 'AddressIpVersion' => [ + 'description' => '协议版本。取值:'."\n" + .'- **ipv4**:IPv4类型。'."\n" + .'- **DualStack**:双栈类型。', + 'type' => 'string', + 'example' => 'ipv4', + ], + 'Ipv6AddressType' => [ + 'description' => '网络型负载均衡的IPv6地址类型。取值:'."\n" + ."\n" + .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'example' => 'Internet', + ], + 'LoadBalancerStatus' => [ + 'description' => '网络型负载均衡实例状态。取值:'."\n" + .'- **Inactive**:已停止,表示实例监听不会再转发流量。'."\n" + .'- **Active**:运行中。'."\n" + .'- **Provisioning**:创建中。'."\n" + .'- **Configuring**:变配中。'."\n" + .'- **Deleting**:删除中。'."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Active', + ], + 'LoadBalancerBusinessStatus' => [ + 'description' => '网络型负载均衡的业务状态。取值:'."\n" + .'- **Abnormal**:异常状态。'."\n" + .'- **Normal**:正常状态。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'OperationLocks' => [ + 'title' => '实例处于锁定状态列表', + 'description' => '网络型负载均衡操作锁配置。在`LoadBalancerBussinessStatus`为**Abnormal**(异常状态)时有效。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡操作锁配置。', + 'type' => 'object', + 'properties' => [ + 'LockType' => [ + 'description' => '锁定的类型。取值 :'."\n" + ."\n" + .'- **SecurityLocked**:安全锁定。'."\n" + .'- **RelatedResourceLocked**:关联锁定。'."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + .'- **ResidualLocked**:残留锁定。', + 'type' => 'string', + 'example' => 'SecurityLocked', + ], + 'LockReason' => [ + 'description' => '锁定的原因。', + 'type' => 'string', + 'example' => '业务异常', + ], + ], + ], + ], + 'VpcId' => [ + 'description' => '网络型负载均衡实例的专有网络ID。', + 'type' => 'string', + 'example' => 'vpc-bp1b49rqrybk45nio****', + ], + 'CreateTime' => [ + 'description' => '资源创建时间,使用格林威治时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-07-18T17:22:45Z', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-atstuj3rtop****', + ], + 'DNSName' => [ + 'description' => 'DNS域名。', + 'type' => 'string', + 'example' => 'nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com', + ], + 'ZoneMappings' => [ + 'description' => '可用区及交换机映射列表。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。', + 'type' => 'string', + 'example' => 'vsw-bp1rmcrwg3erh1fh8****', + ], + 'ZoneId' => [ + 'description' => '可用区名称,您可以通过调用[DescribeZones](~~443890~~)接口获取。', + 'type' => 'string', + 'example' => 'cn-hangzhou-a', + ], + 'LoadBalancerAddresses' => [ + 'description' => '网络型负载均衡实例地址信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例地址信息。', + 'type' => 'object', + 'properties' => [ + 'EniId' => [ + 'description' => '网络型负载均衡实例挂载的ENI的ID。', + 'type' => 'string', + 'example' => 'eni-bp12f1xhs5yal61a****', + ], + 'PrivateIPv4Address' => [ + 'title' => '私网ip', + 'description' => '网络型负载均衡实例私网IPv4地址。', + 'type' => 'string', + 'example' => '192.168.3.32', + ], + 'AllocationId' => [ + 'title' => '公网ipId', + 'description' => '弹性公网IP实例ID。', + 'type' => 'string', + 'example' => 'eip-bp1aedxso6u80u0qf****', + ], + 'PublicIPv4Address' => [ + 'title' => '公网ip地址:仅Get的时候有值', + 'description' => '网络型负载均衡实例公网IPv4地址。', + 'type' => 'string', + 'example' => '120.XX.XX.69', + ], + 'Ipv6Address' => [ + 'description' => '网络型负载均衡实例Ipv6地址。', + 'type' => 'string', + 'example' => '2001:db8:1:1:1:1:1:1', + ], + 'PrivateIPv4HcStatus' => [ + 'description' => '网络型负载均衡实例私网IPv4地址探测状态。取值:'."\n" + .'- **Healthy**:健康。'."\n" + .'- **Unhealthy**:异常。'."\n" + ."\n" + .'> 只有可用区状态(**Status**)为运行中(**Active**)时才返回该参数。', + 'type' => 'string', + 'example' => 'Healthy', + ], + 'PrivateIPv6HcStatus' => [ + 'description' => '网络型负载均衡实例IPv6地址探测状态。'."\n" + .'- **Healthy**:健康。'."\n" + .'- **Unhealthy**:异常。'."\n" + ."\n" + .'> 只有可用区状态(**Status**)为运行中(**Active**)时才返回该参数。', + 'type' => 'string', + 'example' => 'Healthy', + ], + ], + ], + ], + 'Status' => [ + 'description' => '可用区状态。取值:'."\n" + ."\n" + .'- **Active**:启动。'."\n" + .'- **Stopped**:停止。该状态仅支持通过CADT容灾管理服务调用实现。'."\n" + .'- **Shifted**:DNS摘除。'."\n" + .'- **Starting**:启动中。该状态仅支持通过CADT容灾管理服务调用实现。'."\n" + .'- **Stopping**:停止中。该状态仅支持通过CADT容灾管理服务调用实现。', + 'type' => 'string', + 'example' => 'Active', + ], + ], + ], + ], + 'BandwidthPackageId' => [ + 'description' => '公网类型实例关联的共享带宽包ID。', + 'type' => 'string', + 'example' => 'cbwp-bp1vevu8h3ieh****', + ], + 'SecurityGroupIds' => [ + 'description' => '网络型负载均衡实例加入的安全组。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例加入的安全组。', + 'type' => 'string', + 'example' => 'sg-bp10uag3q0jkxu72****', + ], + ], + 'CrossZoneEnabled' => [ + 'description' => '网络型负载均衡实例是否开启跨可用区。取值:'."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'LoadBalancerBillingConfig' => [ + 'title' => '计费相关属性', + 'description' => '网络型负载均衡实例计费配置。', + 'type' => 'object', + 'properties' => [ + 'PayType' => [ + 'title' => '实例的计费类型', + 'description' => '网络型负载均衡实例的计费类型。仅取值**PostPay**:表示按量计费。', + 'type' => 'string', + 'example' => 'PostPay', + 'default' => 'PostPay', + ], + ], + ], + 'DeletionProtectionConfig' => [ + 'description' => '删除保护配置。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '删除保护状态,取值:'."\n" + ."\n" + .'- **true**:开启状态。'."\n" + .'- **false**:关闭状态。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Reason' => [ + 'description' => '更改删除保护状态的原因。长度为2~128个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n", + 'type' => 'string', + 'example' => '实例运行中', + ], + 'EnabledTime' => [ + 'description' => '删除保护开启时间,使用格林威治时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-12-01T17:22:45Z', + ], + ], + ], + 'ModificationProtectionConfig' => [ + 'description' => '修改保护配置。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '网络型负载均衡修改保护状态。取值:'."\n" + ."\n" + .'- **NonProtection**:不保护,表示不允许传入**Reason**。如果配置了**Reason**,则清空其配置信息。'."\n" + .'- **ConsoleProtection**:控制台修改保护,此时允许传入**Reason**。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', + 'type' => 'string', + 'example' => 'ConsoleProtection', + ], + 'Reason' => [ + 'description' => '输入开启修改保护的原因。长度为2~128个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'仅在**Status**为**ConsoleProtection**时有效。', + 'type' => 'string', + 'example' => '业务保障期', + ], + 'EnabledTime' => [ + 'description' => '修改保护开启时间,使用格林威治时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-12-01T17:22:45Z', + ], + ], + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。', + 'type' => 'string', + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '实例的标签值。', + 'type' => 'string', + 'example' => 'ValueTest', + ], + ], + ], + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.LoadBalancerType', + 'errorMessage' => 'The LoadBalancerType value is invalid.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam.loadBalancerName', + 'errorMessage' => 'Param loadBalancerName is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"LoadBalancers\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LoadBalancerId\\": \\"nlb-83ckzc8d4xlp8o****\\",\\n \\"LoadBalancerName\\": \\"NLB1\\",\\n \\"LoadBalancerType\\": \\"Network\\",\\n \\"AddressType\\": \\"Internet\\",\\n \\"AddressIpVersion\\": \\"ipv4\\",\\n \\"Ipv6AddressType\\": \\"Internet\\",\\n \\"LoadBalancerStatus\\": \\"Active\\",\\n \\"LoadBalancerBusinessStatus\\": \\"Normal\\",\\n \\"OperationLocks\\": [\\n {\\n \\"LockType\\": \\"SecurityLocked\\",\\n \\"LockReason\\": \\"业务异常\\"\\n }\\n ],\\n \\"VpcId\\": \\"vpc-bp1b49rqrybk45nio****\\",\\n \\"CreateTime\\": \\"2022-07-18T17:22:45Z\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"DNSName\\": \\"nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com\\",\\n \\"ZoneMappings\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-bp1rmcrwg3erh1fh8****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"LoadBalancerAddresses\\": [\\n {\\n \\"EniId\\": \\"eni-bp12f1xhs5yal61a****\\",\\n \\"PrivateIPv4Address\\": \\"192.168.3.32\\",\\n \\"AllocationId\\": \\"eip-bp1aedxso6u80u0qf****\\",\\n \\"PublicIPv4Address\\": \\"120.XX.XX.69\\",\\n \\"Ipv6Address\\": \\"2001:db8:1:1:1:1:1:1\\",\\n \\"PrivateIPv4HcStatus\\": \\"Healthy\\",\\n \\"PrivateIPv6HcStatus\\": \\"Healthy\\"\\n }\\n ],\\n \\"Status\\": \\"Active\\"\\n }\\n ],\\n \\"BandwidthPackageId\\": \\"cbwp-bp1vevu8h3ieh****\\",\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp10uag3q0jkxu72****\\"\\n ],\\n \\"CrossZoneEnabled\\": true,\\n \\"LoadBalancerBillingConfig\\": {\\n \\"PayType\\": \\"PostPay\\"\\n },\\n \\"DeletionProtectionConfig\\": {\\n \\"Enabled\\": true,\\n \\"Reason\\": \\"实例运行中\\",\\n \\"EnabledTime\\": \\"2022-12-01T17:22:45Z\\"\\n },\\n \\"ModificationProtectionConfig\\": {\\n \\"Status\\": \\"ConsoleProtection\\",\\n \\"Reason\\": \\"业务保障期\\",\\n \\"EnabledTime\\": \\"2022-12-01T17:22:45Z\\"\\n },\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"KeyTest\\",\\n \\"Value\\": \\"ValueTest\\"\\n }\\n ]\\n }\\n ],\\n \\"TotalCount\\": 10,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListLoadBalancersResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <LoadBalancers>\\n <RegionId>cn-hangzhou</RegionId>\\n <LoadBalancerId>nlb-83ckzc8d4xlp8o****</LoadBalancerId>\\n <LoadBalancerName>NLB1</LoadBalancerName>\\n <LoadBalancerType>Network</LoadBalancerType>\\n <AddressType>Internet</AddressType>\\n <AddressIpVersion>ipv4</AddressIpVersion>\\n <Ipv6AddressType>Internet</Ipv6AddressType>\\n <LoadBalancerStatus>Active</LoadBalancerStatus>\\n <LoadBalancerBusinessStatus>Normal</LoadBalancerBusinessStatus>\\n <OperationLocks>\\n <LockType>SecurityLocked</LockType>\\n <LockReason>业务异常</LockReason>\\n </OperationLocks>\\n <VpcId>vpc-bp1b49rqrybk45nio****</VpcId>\\n <CreateTime>2022-07-18T17:22Z</CreateTime>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <DNSName>nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com</DNSName>\\n <ZoneMappings>\\n <VSwitchId>vsw-bp1rmcrwg3erh1fh8****</VSwitchId>\\n <ZoneId>cn-hangzhou-a</ZoneId>\\n <LoadBalancerAddresses>\\n <EniId>eni-bp12f1xhs5yal61a****</EniId>\\n <PrivateIPv4Address>192.168.3.32</PrivateIPv4Address>\\n <AllocationId>eip-bp1aedxso6u80u0qf****</AllocationId>\\n <PublicIPv4Address>120.XX.XX.69</PublicIPv4Address>\\n <Ipv6Address>2001:db8:1:1:1:1:1:1</Ipv6Address>\\n <PrivateIPv4HcStatus>Healthy</PrivateIPv4HcStatus>\\n <PrivateIPv6HcStatus>Healthy</PrivateIPv6HcStatus>\\n </LoadBalancerAddresses>\\n <Status>Active</Status>\\n </ZoneMappings>\\n <BandwidthPackageId>cbwp-bp1vevu8h3ieh****</BandwidthPackageId>\\n <SecurityGroupIds>sg-bp10uag3q0jkxu72****</SecurityGroupIds>\\n <CrossZoneEnabled>true</CrossZoneEnabled>\\n <LoadBalancerBillingConfig>\\n <PayType>PostPay</PayType>\\n </LoadBalancerBillingConfig>\\n <DeletionProtectionConfig>\\n <Enabled>true</Enabled>\\n <Reason>实例运行中</Reason>\\n <EnabledTime>2022-12-01T17:22Z</EnabledTime>\\n </DeletionProtectionConfig>\\n <ModificationProtectionConfig>\\n <Status>ConsoleProtection</Status>\\n <Reason>业务保障期</Reason>\\n <EnabledTime>2022-12-01T17:22Z</EnabledTime>\\n </ModificationProtectionConfig>\\n <Tags>\\n <Key>KeyTest</Key>\\n <Value>ValueTest</Value>\\n </Tags>\\n </LoadBalancers>\\n <TotalCount>10</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</ListLoadBalancersResponse>","errorExample":""}]', + 'title' => '查询负载均衡实例信息', + ], + 'GetLoadBalancerAttribute' => [ + 'summary' => '查询指定网络型负载均衡实例的详细信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeNodes' => [ + 'FEATUREslbZQW9H1', + ], + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询实例的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => 'response', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'RegionId' => [ + 'description' => 'NLB实例所在的地域ID。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'LoadBalancerId' => [ + 'description' => 'NLB实例ID。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'LoadBalancerName' => [ + 'description' => 'NLB实例名称。'."\n" + ."\n" + .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'example' => 'NLB1', + ], + 'LoadBalancerType' => [ + 'description' => '负载均衡类型。仅取值:**network**,表示网络型负载均衡。', + 'type' => 'string', + 'example' => 'network', + ], + 'AddressType' => [ + 'description' => 'NLB实例的IPv4网络地址类型。取值:'."\n" + .'- **Internet**:公网。负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:私网。负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'example' => 'Internet', + ], + 'AddressIpVersion' => [ + 'description' => '协议版本。取值:'."\n" + ."\n" + .'- **ipv4**:IPv4类型。'."\n" + .'- **DualStack**:双栈类型。', + 'type' => 'string', + 'example' => 'ipv4', + ], + 'Ipv6AddressType' => [ + 'description' => 'NLB实例的IPv6地址类型。取值:'."\n" + .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n" + .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。', + 'type' => 'string', + 'example' => 'Internet', + ], + 'LoadBalancerStatus' => [ + 'description' => 'NLB实例状态。取值:'."\n" + .'- **Inactive**:已停止,表示实例监听不会再转发流量。'."\n" + .'- **Active**:运行中。'."\n" + .'- **Provisioning**:创建中。'."\n" + .'- **Configuring**:变配中。'."\n" + .'- **CreateFailed**:创建失败,此时不会产生费用,实例只能被删除。', + 'type' => 'string', + 'example' => 'Active', + ], + 'LoadBalancerBusinessStatus' => [ + 'description' => 'NLB的业务状态。取值:'."\n" + .'- **Abnormal**:异常状态。'."\n" + .'- **Normal**:正常状态。', + 'type' => 'string', + 'example' => 'Normal', + ], + 'OperationLocks' => [ + 'title' => '实例处于锁定状态列表', + 'description' => 'NLB实例处于锁定状态列表。在`LoadBalancerBussinessStatus`为**Abnormal**(异常状态)时才返回当前参数。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例处于锁定状态列表。在`LoadBalancerBussinessStatus`为**Abnormal**(异常状态)时才返回当前参数。。', + 'type' => 'object', + 'properties' => [ + 'LockType' => [ + 'description' => '锁定的类型。取值 :'."\n" + .'- **SecurityLocked**:安全锁定。'."\n" + .'- **RelatedResourceLocked**:关联锁定。'."\n" + .'- **FinancialLocked**:欠费锁定。'."\n" + .'- **ResidualLocked**:残留锁定。'."\n", + 'type' => 'string', + 'example' => 'SecurityLocked', + ], + 'LockReason' => [ + 'description' => '锁定的原因。', + 'type' => 'string', + 'example' => '业务异常。', + ], + ], + ], + ], + 'VpcId' => [ + 'description' => 'NLB实例的专有网络ID。', + 'type' => 'string', + 'example' => 'vpc-bp1b49rqrybk45nio****', + ], + 'CreateTime' => [ + 'description' => '资源创建时间,使用格林威治时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-07-02T02:49:05Z', + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-atstuj3rtop****', + ], + 'DNSName' => [ + 'description' => 'DNS域名。', + 'type' => 'string', + 'example' => 'nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com', + ], + 'ZoneMappings' => [ + 'description' => '可用区及交换机映射列表,最多返回10个可用区。若当前地域支持2个及以上可用区,至少返回2个及以上可用区。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表,最多返回10个可用区。若当前地域支持2个及以上可用区,至少返回2个及以上可用区。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。', + 'type' => 'string', + 'example' => 'vsw-bp1rmcrwg3erh1fh8****', + ], + 'ZoneId' => [ + 'description' => '可用区ID,您可以通过调用[DescribeZones](~~443890~~)接口获取。', + 'type' => 'string', + 'example' => 'cn-hangzhou-a', + ], + 'LoadBalancerAddresses' => [ + 'description' => '网络型负载均衡实例地址信息。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例地址信息。', + 'type' => 'object', + 'properties' => [ + 'EniId' => [ + 'description' => 'ENI的ID。', + 'type' => 'string', + 'example' => 'eni-bp12f1xhs5yal61a****', + ], + 'PrivateIPv4Address' => [ + 'title' => '私网ip', + 'description' => 'IPv4 私网VIP地址。NLB对外提供服务的私网IPv4地址。', + 'type' => 'string', + 'example' => '192.168.3.32', + ], + 'AllocationId' => [ + 'title' => '公网ipId', + 'description' => '弹性公网IP实例ID。', + 'type' => 'string', + 'example' => 'eip-bp1aedxso6u80u0qf****', + ], + 'PublicIPv4Address' => [ + 'title' => '公网ip地址:仅Get的时候有值', + 'description' => 'NLB实例公网IPv4地址。', + 'type' => 'string', + 'example' => '120.XX.XX.69', + ], + 'Ipv6Address' => [ + 'description' => 'IPv6 VIP地址。NLB对外提供服务的IPv6地址。', + 'type' => 'string', + 'example' => '2001:db8:1:1:1:1:1:1', + ], + 'PrivateIPv4HcStatus' => [ + 'description' => 'NLB实例私网IPv4地址的探测状态。取值:'."\n" + ."\n" + .'- **Healthy**:健康。'."\n" + .'- **Unhealthy**:异常。'."\n" + ."\n" + .'> 只有可用区状态(**Status**)为运行中(**Active**)时才返回该参数。', + 'type' => 'string', + 'example' => 'Healthy', + ], + 'PrivateIPv6HcStatus' => [ + 'description' => 'NLB实例IPv6地址的探测状态。取值:'."\n" + ."\n" + .'- **Healthy**:健康。'."\n" + .'- **Unhealthy**:异常。'."\n" + ."\n" + .'> 只有可用区状态(**Status**)为运行中(**Active**)时才返回该参数。', + 'type' => 'string', + 'example' => 'Healthy', + ], + 'Ipv4LocalAddresses' => [ + 'description' => 'IPv4 Local地址列表。NLB与后端服务交互的地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv4 Local地址。', + 'type' => 'string', + 'example' => '192.168.36.16', + ], + ], + 'Ipv6LocalAddresses' => [ + 'description' => 'IPv6 Local地址列表。NLB与后端服务交互的地址列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'IPv6 Local地址。', + 'type' => 'string', + 'example' => '2408:4005:357:ba00:64a2:221f:5685:8854', + ], + ], + ], + ], + ], + 'Status' => [ + 'description' => '可用区状态。取值:'."\n" + ."\n" + .'- **Active**:启动。'."\n" + .'- **Stopped**:停止。该状态仅支持通过CADT容灾管理服务调用实现。'."\n" + .'- **Shifted**:DNS摘除。'."\n" + .'- **Starting**:启动中。该状态仅支持通过CADT容灾管理服务调用实现。'."\n" + .'- **Stopping**:停止中。该状态仅支持通过CADT容灾管理服务调用实现。', + 'type' => 'string', + 'example' => 'Active', + ], + ], + ], + ], + 'BandwidthPackageId' => [ + 'description' => '公网类型实例关联的共享带宽包ID。', + 'type' => 'string', + 'example' => 'cbwp-bp1vevu8h3ieh****', + ], + 'SecurityGroupIds' => [ + 'description' => 'NLB实例绑定的安全组ID。', + 'type' => 'array', + 'items' => [ + 'description' => 'NLB实例绑定的安全组ID。', + 'type' => 'string', + 'example' => 'sg-bp10uag3q0jkxu72****', + ], + ], + 'CrossZoneEnabled' => [ + 'description' => 'NLB实例是否开启跨可用区。取值:'."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'LoadBalancerBillingConfig' => [ + 'title' => '计费相关属性', + 'description' => '负载均衡实例计费配置。', + 'type' => 'object', + 'properties' => [ + 'PayType' => [ + 'title' => '实例的计费类型', + 'description' => 'NLB实例的计费类型。'."\n" + .'仅取值**PostPay**:表示按量计费。', + 'type' => 'string', + 'example' => 'PostPay', + 'default' => 'PostPay', + ], + ], + ], + 'Cps' => [ + 'description' => 'NLB实例在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。'."\n" + ."\n" + .'**0**表示不限速。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'DeletionProtectionConfig' => [ + 'description' => '删除保护配置。', + 'type' => 'object', + 'properties' => [ + 'Enabled' => [ + 'description' => '删除保护状态,取值:'."\n" + ."\n" + .'- **true**:开启状态。'."\n" + .'- **false**:关闭状态。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Reason' => [ + 'description' => '更改删除保护状态的原因。长度为2~128个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'example' => '实例运行中', + ], + 'EnabledTime' => [ + 'description' => '删除保护开启时间,使用格林威治时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-11-02T02:49:05Z', + ], + ], + ], + 'ModificationProtectionConfig' => [ + 'description' => '修改保护配置。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '网络型负载均衡修改保护状态。取值:'."\n" + ."\n" + .'- **NonProtection**:不保护,表示不允许传入修改保护配置的**Reason**字段。如果配置了**Reason**,则清空其配置信息。'."\n" + .'- **ConsoleProtection**:控制台修改保护,此时允许传入修改保护配置的**Reason**字段。'."\n" + ."\n" + .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。'."\n", + 'type' => 'string', + 'example' => 'ConsoleProtection', + ], + 'Reason' => [ + 'description' => '输入开启修改保护的原因。长度为2~128个英文或中文字符,必须以大小字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n" + ."\n" + .'仅在修改保护配置的**Status**为**ConsoleProtection**有效且合法。', + 'type' => 'string', + 'example' => '业务保障期', + ], + 'EnabledTime' => [ + 'description' => '修改保护时间,使用格林威治时间,格式为`yyyy-MM-ddTHH:mm:ssZ`。', + 'type' => 'string', + 'example' => '2022-12-02T02:49:05Z', + ], + ], + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签列表。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '实例的标签键。', + 'type' => 'string', + 'example' => 'KeyTest', + ], + 'TagValue' => [ + 'description' => '实例的标签值。', + 'type' => 'string', + 'example' => 'ValueTest', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DuplicatedParam.%s', + 'errorMessage' => 'The param of %s is duplicated.', + ], + [ + 'errorCode' => 'OperationFailed.GetXipFailed', + 'errorMessage' => 'Operation failed because GetXipFailed.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LoadBalancerId\\": \\"nlb-83ckzc8d4xlp8o****\\",\\n \\"LoadBalancerName\\": \\"NLB1\\",\\n \\"LoadBalancerType\\": \\"network\\",\\n \\"AddressType\\": \\"Internet\\",\\n \\"AddressIpVersion\\": \\"ipv4\\",\\n \\"Ipv6AddressType\\": \\"Internet\\",\\n \\"LoadBalancerStatus\\": \\"Active\\",\\n \\"LoadBalancerBusinessStatus\\": \\"Normal\\",\\n \\"OperationLocks\\": [\\n {\\n \\"LockType\\": \\"SecurityLocked\\",\\n \\"LockReason\\": \\"业务异常。\\"\\n }\\n ],\\n \\"VpcId\\": \\"vpc-bp1b49rqrybk45nio****\\",\\n \\"CreateTime\\": \\"2022-07-02T02:49:05Z\\",\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"DNSName\\": \\"nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com\\",\\n \\"ZoneMappings\\": [\\n {\\n \\"VSwitchId\\": \\"vsw-bp1rmcrwg3erh1fh8****\\",\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"LoadBalancerAddresses\\": [\\n {\\n \\"EniId\\": \\"eni-bp12f1xhs5yal61a****\\",\\n \\"PrivateIPv4Address\\": \\"192.168.3.32\\",\\n \\"AllocationId\\": \\"eip-bp1aedxso6u80u0qf****\\",\\n \\"PublicIPv4Address\\": \\"120.XX.XX.69\\",\\n \\"Ipv6Address\\": \\"2001:db8:1:1:1:1:1:1\\",\\n \\"PrivateIPv4HcStatus\\": \\"Healthy\\",\\n \\"PrivateIPv6HcStatus\\": \\"Healthy\\",\\n \\"Ipv4LocalAddresses\\": [\\n \\"192.168.36.16\\"\\n ],\\n \\"Ipv6LocalAddresses\\": [\\n \\"2408:4005:357:ba00:64a2:221f:5685:8854\\"\\n ]\\n }\\n ],\\n \\"Status\\": \\"Active\\"\\n }\\n ],\\n \\"BandwidthPackageId\\": \\"cbwp-bp1vevu8h3ieh****\\",\\n \\"SecurityGroupIds\\": [\\n \\"sg-bp10uag3q0jkxu72****\\"\\n ],\\n \\"CrossZoneEnabled\\": true,\\n \\"LoadBalancerBillingConfig\\": {\\n \\"PayType\\": \\"PostPay\\"\\n },\\n \\"Cps\\": 100,\\n \\"DeletionProtectionConfig\\": {\\n \\"Enabled\\": true,\\n \\"Reason\\": \\"实例运行中\\",\\n \\"EnabledTime\\": \\"2022-11-02T02:49:05Z\\"\\n },\\n \\"ModificationProtectionConfig\\": {\\n \\"Status\\": \\"ConsoleProtection\\",\\n \\"Reason\\": \\"业务保障期\\",\\n \\"EnabledTime\\": \\"2022-12-02T02:49:05Z\\"\\n },\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"KeyTest\\",\\n \\"TagValue\\": \\"ValueTest\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetLoadBalancerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <RegionId>cn-hangzhou</RegionId>\\n <LoadBalancerId>nlb-83ckzc8d4xlp8o****</LoadBalancerId>\\n <LoadBalancerName>NLB1</LoadBalancerName>\\n <LoadBalancerType>network</LoadBalancerType>\\n <AddressType>Internet</AddressType>\\n <AddressIpVersion>ipv4</AddressIpVersion>\\n <Ipv6AddressType>Internet</Ipv6AddressType>\\n <LoadBalancerStatus>Active</LoadBalancerStatus>\\n <LoadBalancerBusinessStatus>Normal</LoadBalancerBusinessStatus>\\n <OperationLocks>\\n <LockType>SecurityLocked</LockType>\\n <LockReason>业务异常。</LockReason>\\n </OperationLocks>\\n <VpcId>vpc-bp1b49rqrybk45nio****</VpcId>\\n <CreateTime>2022-07-02T02:49:05Z</CreateTime>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <DNSName>nlb-wb7r6dlwetvt5j****.cn-hangzhou.nlb.aliyuncs.com</DNSName>\\n <ZoneMappings>\\n <VSwitchId>vsw-bp1rmcrwg3erh1fh8****</VSwitchId>\\n <ZoneId>cn-hangzhou-a</ZoneId>\\n <LoadBalancerAddresses>\\n <EniId>eni-bp12f1xhs5yal61a****</EniId>\\n <PrivateIPv4Address>192.168.3.32</PrivateIPv4Address>\\n <AllocationId>eip-bp1aedxso6u80u0qf****</AllocationId>\\n <PublicIPv4Address>120.XX.XX.69</PublicIPv4Address>\\n <Ipv6Address>2001:db8:1:1:1:1:1:1</Ipv6Address>\\n <PrivateIPv4HcStatus>Healthy</PrivateIPv4HcStatus>\\n <PrivateIPv6HcStatus>Healthy</PrivateIPv6HcStatus>\\n </LoadBalancerAddresses>\\n <Status>Active</Status>\\n </ZoneMappings>\\n <BandwidthPackageId>cbwp-bp1vevu8h3ieh****</BandwidthPackageId>\\n <SecurityGroupIds>sg-bp10uag3q0jkxu72****</SecurityGroupIds>\\n <CrossZoneEnabled>true</CrossZoneEnabled>\\n <LoadBalancerBillingConfig>\\n <PayType>PostPay</PayType>\\n </LoadBalancerBillingConfig>\\n <Cps>100</Cps>\\n <DeletionProtectionConfig>\\n <Enabled>true</Enabled>\\n <Reason>实例运行中</Reason>\\n <EnabledTime>2022-11-02T02:49:05Z</EnabledTime>\\n </DeletionProtectionConfig>\\n <ModificationProtectionConfig>\\n <Status>ConsoleProtection</Status>\\n <Reason>业务保障期</Reason>\\n <EnabledTime>2022-12-02T02:49:05Z</EnabledTime>\\n </ModificationProtectionConfig>\\n <Tags>\\n <TagKey>KeyTest</TagKey>\\n <TagValue>ValueTest</TagValue>\\n </Tags>\\n</GetLoadBalancerAttributeResponse>","errorExample":""}]', + 'title' => '查询负载均衡实例的详细信息', + ], + 'StartShiftLoadBalancerZones' => [ + 'summary' => '将可用区对应的EIP/VIP从域名解析中摘除。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ZoneMappings', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '可用区及交换机映射列表。'."\n" + ."\n" + .'> 一次调用最多支持移除一个可用区。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表。'."\n" + ."\n" + .'> 一次调用最多支持移除一个可用区。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-bp1rmcrwg3erh1fh8****', + ], + 'ZoneId' => [ + 'description' => 'NLB实例的可用区ID。'."\n" + .'> 一次调用最多支持移除一个可用区。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~443890~~)接口获取可用区ID。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou-a', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 1, + 'minItems' => 1, + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'NLB实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会移除可用区。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'NLB实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<LoadBalancerZonesResponse>', + 'description' => 'RpcResponse<LoadBalancerZonesResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.%s', + 'errorMessage' => 'Authentication is failed for %s.', + ], + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<StartShiftLoadBalancerZonesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n</StartShiftLoadBalancerZonesResponse>","errorExample":""}]', + 'title' => '把可用区的EIP/VIP从域名解析中摘除', + 'description' => '> 当前NLB实例可用区数量为1时,不支持将该可用区的EIP/VIP从域名解析中摘除。', + ], + 'CancelShiftLoadBalancerZones' => [ + 'summary' => '将可用区对应的EIP/VIP加回到域名解析中。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ZoneMappings', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '可用区及交换机映射列表。'."\n" + ."\n" + .'> 一次调用最多支持加回一个可用区。', + 'type' => 'array', + 'items' => [ + 'description' => '可用区及交换机映射列表。'."\n" + ."\n" + .'> 一次调用最多支持加回一个可用区。', + 'type' => 'object', + 'properties' => [ + 'VSwitchId' => [ + 'description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。'."\n", + 'type' => 'string', + 'required' => true, + 'example' => 'vsw-sersdf****', + ], + 'ZoneId' => [ + 'description' => 'NLB实例的可用区ID。'."\n" + .'> 一次调用最多支持加回一个可用区。'."\n" + ."\n" + .'您可以通过调用[DescribeZones](~~443890~~)接口获取可用区ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou-a', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 1, + 'minItems' => 1, + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'NLB实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会加回可用区。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'NLB实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<LoadBalancerZonesResponse>', + 'description' => 'RpcResponse<LoadBalancerZonesResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.ZoneId', + 'errorMessage' => 'The zoneId status of eni [%s] is incorrect.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.%s', + 'errorMessage' => 'Authentication is failed for %s.', + ], + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<CancelShiftLoadBalancerZonesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n</CancelShiftLoadBalancerZonesResponse>","errorExample":""}]', + 'title' => '把可用区的EIP/VIP加到DNS中', + 'description' => '调用本接口时,您已通过[StartShiftLoadBalancerZones](~~2411999~~)接口或控制台移除NLB实例的某个可用区。', + ], + 'CreateListener' => [ + 'summary' => '在网络型负载均衡实例中创建TCP、UDP或TCPSSL监听。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141889', + 'abilityTreeNodes' => [ + 'FEATUREslbC68LB1', + 'FEATUREslb4PUXNB', + 'FEATUREslbGDCN1S', + 'FEATUREslbUZZGGD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerProtocol', + 'in' => 'formData', + 'schema' => [ + 'title' => '监听协议', + 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。', + 'type' => 'string', + 'required' => true, + 'example' => 'TCP', + 'enum' => [], + ], + ], + [ + 'name' => 'ListenerPort', + 'in' => 'formData', + 'schema' => [ + 'title' => '监听端口', + 'description' => '监听端口。取值范围:**0**~**65535**。'."\n" + ."\n" + .'**0**:表示使用全端口功能。当设置为**0**时,您需要配置**StartPort**和**EndPort**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'maximum' => '65535', + 'minimum' => '0', + 'example' => '80', + ], + ], + [ + 'name' => 'ListenerDescription', + 'in' => 'formData', + 'schema' => [ + 'title' => '监听描述', + 'description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'tcp_80', + ], + ], + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'add 必选', + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'servergroupId', + 'description' => '服务器组ID。'."\n" + .'> - 当**ListenerProtocol**取值为**TCP**时,该监听支持选择后端协议为**TCP**或者**TCP_UDP**的服务器组,不支持选择后端协议为**UDP**的服务器组。'."\n" + .'> - 当**ListenerProtocol**取值为**UDP**时,该监听支持选择后端协议为**UDP**或者**TCP_UDP**的服务器组,不支持选择后端协议为**TCP**的服务器组。'."\n" + .'> - 当**ListenerProtocol**取值为**TCPSSL**时,该监听支持选择后端协议为**TCP**且**未开启客户端地址保持功能**的服务器组,不支持选择后端协议为**TCP**且**开启客户端地址保持功能**的服务器组、后端协议为**UDP**或者**TCP_UDP**的服务器组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgp-ppdpc14gdm3x4o****', + ], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'formData', + 'schema' => [ + 'title' => '空闲超时时间', + 'description' => '连接空闲超时时间。单位:秒。'."\n" + ."\n" + .'- 当**ListenerProtocol**取值为**TCP**或**TCPSSL**时,连接空闲超时时间取值范围为:**10**~**900**。默认值:**900**。'."\n" + ."\n" + .'- 当**ListenerProtocol**取值为**UDP**时,连接空闲超时时间取值范围为:**10**~**90**。默认值:**90**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '3600', + 'minimum' => '10', + 'example' => '900', + ], + ], + [ + 'name' => 'SecurityPolicyId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'Tclssl监听的安全策略', + 'description' => '安全策略ID。支持系统安全策略和自定义安全策略。'."\n" + ."\n" + .'- 系统策略取值:**tls_cipher_policy_1_0**(默认值)、**tls_cipher_policy_1_1**、**tls_cipher_policy_1_2**、**tls_cipher_policy_1_2_strict**或**tls_cipher_policy_1_2_strict_with_1_3**。'."\n" + .'- 自定义安全策略:输入自定义安全策略ID。'."\n" + .' - 创建自定义策略,请参见[CreateSecurityPolicy](~~445901~~)。'."\n" + .' - 查询安全策略,请参见[ListSecurityPolicy](~~445900~~)。'."\n" + ."\n" + .'>仅对TCPSSL监听生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'tls_cipher_policy_1_0', + ], + ], + [ + 'name' => 'CertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'server证书列表', + 'description' => '服务器证书列表信息。仅对TCPSSL监听生效。'."\n" + ."\n" + .'> 目前仅支持添加1个服务器证书。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器证书列表信息。仅对TCPSSL监听生效。'."\n" + ."\n" + .'> 目前仅支持添加1个服务器证书。', + 'type' => 'string', + 'required' => false, + 'example' => '123157******', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'CaCertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'ca 证书列表', + 'description' => 'CA证书列表。仅对TCPSSL监听生效。'."\n" + ."\n" + .'> 目前仅支持添加1个CA证书。', + 'type' => 'array', + 'items' => [ + 'description' => 'CA证书列表。仅对TCPSSL监听生效。'."\n" + ."\n" + .'> 目前仅支持添加1个CA证书。', + 'type' => 'string', + 'required' => false, + 'example' => '139a00******', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'CaEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否启动双向认证。取值:'."\n" + ."\n" + .'- **true**:启动。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建监听。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ProxyProtocolEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'SecSensorEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启秒级监控功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AlpnEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启ALPN。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'AlpnPolicy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'ALPN策略。取值:'."\n" + ."\n" + .'- **HTTP1Only**:只协商使用HTTP1.x协议,优先级为HTTP1.1>HTTP1.0。'."\n" + .'- **HTTP2Only**:只协商使用HTTP2.0协议。'."\n" + .'- **HTTP2Optional**:优先使用HTTP1.x协议,但也接受HTTP2.0协议,优先级为HTTP1.1>HTTP1.0>HTTP2.0。'."\n" + .'- **HTTP2Preferred**:优先使用HTTP2.0协议,但也接受HTTP1.x协议,优先级为HTTP2.0>HTTP1.1>HTTP1.0。'."\n" + ."\n" + .'> **AlpnEnabled**开启后需配置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1Only', + 'enum' => [ + 'HTTP1Only', + 'HTTP2Only', + 'HTTP2Preferred', + 'HTTP2Optional', + ], + ], + ], + [ + 'name' => 'StartPort', + 'in' => 'formData', + 'schema' => [ + 'description' => '全端口监听起始端口。取值范围:**1** ~ **65535**。'."\n" + ."\n" + .'> 当**ListenerPort**为**0**时,需要配置该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '244', + ], + ], + [ + 'name' => 'EndPort', + 'in' => 'formData', + 'schema' => [ + 'description' => '全端口监听结束端口。取值范围:**1** ~ **65535**。'."\n" + .'终止端口的取值大于起始端口。'."\n" + ."\n" + .'> 当**ListenerPort**为**0**时,需要配置该参数。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '566', + ], + ], + [ + 'name' => 'Cps', + 'in' => 'formData', + 'schema' => [ + 'description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + ], + [ + 'name' => 'Mss', + 'in' => 'formData', + 'schema' => [ + 'description' => 'TCP报文的最大段大小。单位:字节,取值范围:**0**~**1500**。'."\n" + .'**0**:表示不修改用户TCP报文的MSS值。'."\n" + ."\n" + .'> 仅TCP、TCPSSL类型的监听支持该字段值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '43', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '标签值。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ProxyProtocolV2Config', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => '通过Proxy Protocol协议携带VpcId、PrivateLinkEpId、PrivateLinkEpsId信息到后端服务器配置。', + 'type' => 'object', + 'properties' => [ + 'Ppv2VpcIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带VpcId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + 'Ppv2PrivateLinkEpIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带Ppv2PrivateLinkEpId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + 'Ppv2PrivateLinkEpsIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpsId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateListenerResponse>', + 'description' => 'RpcResponse<CreateListenerResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'ListenerId' => [ + 'description' => '监听ID。', + 'type' => 'string', + 'example' => 'lsn-bp1bpn0kn908w4nbw****@80', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Conflict.Port', + 'errorMessage' => 'The Port [%s] is conflict.', + ], + [ + 'errorCode' => 'IllegalParam.MssConflictWithUdpAndGeneve', + 'errorMessage' => 'The param of MssConflictWithUdpAndGeneve is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.%s', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'Mismatch.VpcId', + 'errorMessage' => 'The VpcId is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'ResourceNotEnough.%s', + 'errorMessage' => 'The specified resource of %s is not enough.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'IllegalParam.AnyPortListenerConflictWithNonAnyPortServerGroup', + 'errorMessage' => 'The param of AnyPortListenerConflictWithNonAnyPortServerGroup is illegal.', + ], + [ + 'errorCode' => 'IncorrectStatus.loadbalancer', + 'errorMessage' => 'The status of loadbalancer [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceNotFound.Certificate', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'IllegalParam.ServerGroupId', + 'errorMessage' => 'The param of ServerGroupId is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.NonAnyPortListenerConflictWithAnyPortServerGroup', + 'errorMessage' => 'The param of NonAnyPortListenerConflictWithAnyPortServerGroup is illegal.', + ], + [ + 'errorCode' => 'MissingParam.Certificate', + 'errorMessage' => 'The param of certificate is missing.', + ], + [ + 'errorCode' => 'IllegalParam.Port', + 'errorMessage' => 'The param of Port is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.QuotaInsufficient', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'Mismatch.Protocol', + 'errorMessage' => 'The Protocol is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'ResourceNotEnough.CaCertificateApiCount', + 'errorMessage' => 'The specified resource of CaCertificateApiCount is not enough.', + ], + [ + 'errorCode' => 'MissingParam.ServerGroupId', + 'errorMessage' => 'The param of ServerGroupId is missing.', + ], + [ + 'errorCode' => 'IllegalParam.ListenerDescription', + 'errorMessage' => 'The parameter ListenerDescription of listener is illegal.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IllegalParam.IdleTimeout', + 'errorMessage' => 'The param of IdleTimeout is illegal.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'IllegalParamSize.certificateIds', + 'errorMessage' => 'The param size of certificateIds or caCertificateIds is illegal.', + ], + [ + 'errorCode' => 'DuplicatedParam.listener', + 'errorMessage' => 'The param of any port listener is duplicated.', + ], + [ + 'errorCode' => 'IllegalParam.PreserveClientIpSwitch', + 'errorMessage' => 'The server group associated with the tcpssl listener does not support enabling PreserveClientIp.', + ], + [ + 'errorCode' => 'OperationDenied.RegionNotSupportHDMonitor', + 'errorMessage' => 'The operation is not allowed because of RegionNotSupportHDMonitor.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.VSwitch', + 'errorMessage' => 'The specified resource of vSwitch is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.CaCertificate', + 'errorMessage' => 'The specified resource of CaCertificate is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.HdMonitorConfigNotExist', + 'errorMessage' => 'The specified resource of HdMonitorConfigNotExist is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"ListenerId\\": \\"lsn-bp1bpn0kn908w4nbw****@80\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <ListenerId>lsn-bp1bpn0kn908w4nbw****</ListenerId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</CreateListenerResponse>","errorExample":""}]', + 'title' => '创建监听', + ], + 'DeleteListener' => [ + 'summary' => '删除网络型负载均衡监听。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@80', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除监听。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<UpdateOrDeleteListenerResponse>', + 'description' => '删除监听。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IncorrectStatus.listener', + 'errorMessage' => 'The status of listener [%s] is incorrect.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IncorrectStatus.loadbalancer', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</DeleteListenerResponse>","errorExample":""}]', + 'title' => '删除监听', + ], + 'StartListener' => [ + 'summary' => '启动网络型负载均衡监听。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '141893', + 'abilityTreeNodes' => [ + 'FEATUREslbC68LB1', + 'FEATUREslb4PUXNB', + 'FEATUREslbGDCN1S', + 'FEATUREslbUZZGGD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@80', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<StopOrStartListenerResponse>', + 'description' => '启动监听。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.listener', + 'errorMessage' => 'The status of listener [%s] is incorrect.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + ], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<StartListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</StartListenerResponse>","errorExample":""}]', + 'title' => '启动监听', + ], + 'StopListener' => [ + 'summary' => '停止网络型负载均衡实例的监听。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@80', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<StopOrStartListenerResponse>', + 'description' => '停止监听。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IncorrectStatus.listener', + 'errorMessage' => 'The status of listener [%s] is incorrect.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<StopListenerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</StopListenerResponse>","errorExample":""}]', + 'title' => '停止监听', + ], + 'UpdateListenerAttribute' => [ + 'summary' => '更新网络型负载均衡监听的配置。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141874', + 'abilityTreeNodes' => [ + 'FEATUREslbC68LB1', + 'FEATUREslb4PUXNB', + 'FEATUREslbGDCN1S', + 'FEATUREslbUZZGGD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@443', + ], + ], + [ + 'name' => 'ListenerDescription', + 'in' => 'formData', + 'schema' => [ + 'title' => '监听描述', + 'description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'tcpssl_443', + ], + ], + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'title' => '实服务组', + 'description' => '服务器组ID。'."\n" + ."\n" + .'> - 当监听为**TCP**时,该监听支持选择后端协议为**TCP**或者**TCP_UDP**的服务器组,不支持选择后端协议为**UDP**的服务器组。'."\n" + .'> - 当监听为**UDP**时,该监听支持选择后端协议为**UDP**或者**TCP_UDP**的服务器组,不支持选择后端协议为**TCP**的服务器组。'."\n" + .'> - 当监听为**TCPSSL**时,该监听支持选择后端协议为**TCP**且**未开启客户端地址保持功能**的服务器组,不支持选择后端协议为**TCP**且**开启客户端地址保持功能**的服务器组、后端协议为**UDP**或者**TCP_UDP**的服务器组。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgp-ppdpc14gdm3x4o****', + ], + ], + [ + 'name' => 'SecurityPolicyId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'https监听的安全策略', + 'description' => '安全策略ID。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'tls_cipher_policy_1_1', + ], + ], + [ + 'name' => 'CertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'server证书列表', + 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n" + ."\n\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'string', + 'required' => false, + 'example' => '123157******', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'CaCertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'ca 证书列表', + 'description' => 'CA证书列表信息。目前仅支持添加1个CA证书。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'array', + 'items' => [ + 'description' => 'CA证书列表信息。目前仅支持添加1个CA证书。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'string', + 'required' => false, + 'example' => '139a00******', + ], + 'required' => false, + 'maxItems' => 10, + ], + ], + [ + 'name' => 'CaEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否启动双向认证。取值:'."\n" + ."\n" + .'- **true**:启动。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'IdleTimeout', + 'in' => 'formData', + 'schema' => [ + 'description' => '连接空闲超时时间。单位:秒。'."\n" + ."\n" + .'- 当监听为**TCP**或**TCPSSL**时,连接空闲超时时间取值范围为:**10**~**900**。默认值:**900**。'."\n" + ."\n" + .'- 当监听为**UDP**时,连接空闲超时时间取值范围为:**10**~**20**。默认值:**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '3600', + 'minimum' => '10', + 'example' => '900', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'ProxyProtocolEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'SecSensorEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启秒级监控功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AlpnEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启ALPN。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'AlpnPolicy', + 'in' => 'formData', + 'schema' => [ + 'description' => 'ALPN策略。取值:'."\n" + ."\n" + .'- **HTTP1Only**:只协商使用HTTP1.x协议,优先级为HTTP1.1>HTTP1.0。'."\n" + .'- **HTTP2Only**:只协商使用HTTP2.0协议。'."\n" + .'- **HTTP2Optional**:优先使用HTTP1.x协议,但也接受HTTP2.0协议,优先级为HTTP1.1>HTTP1.0>HTTP2.0。'."\n" + .'- **HTTP2Preferred**:优先使用HTTP2.0协议,但也接受HTTP1.x协议,优先级为HTTP2.0>HTTP1.1>HTTP1.0。'."\n" + ."\n" + .'> AlpnEnabled开启后需配置该参数。', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1Only', + 'enum' => [ + 'HTTP1Only', + 'HTTP2Only', + 'HTTP2Preferred', + 'HTTP2Optional', + ], + ], + ], + [ + 'name' => 'Cps', + 'in' => 'formData', + 'schema' => [ + 'description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10000', + ], + ], + [ + 'name' => 'Mss', + 'in' => 'formData', + 'schema' => [ + 'description' => 'TCP报文的最大段大小。单位:字节,取值范围:**0**~**1500**。**0**表示不修改用户TCP报文的MSS值。仅TCP、TCPSSL类型的监听支持该字段值。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '344', + ], + ], + [ + 'name' => 'ProxyProtocolV2Config', + 'in' => 'formData', + 'style' => 'json', + 'schema' => [ + 'description' => '通过Proxy Protocol协议携带VpcId、PrivateLinkEpId、PrivateLinkEpsId信息到后端服务器配置。', + 'type' => 'object', + 'properties' => [ + 'Ppv2VpcIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带VpcId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Ppv2PrivateLinkEpIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'Ppv2PrivateLinkEpsIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpsId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<UpdateOrDeleteListenerResponse>', + 'description' => '更新监听配置。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Mismatch.VpcId', + 'errorMessage' => 'The VpcId is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'Conflict.Port', + 'errorMessage' => 'The Port [%s] is conflict.', + ], + [ + 'errorCode' => 'ResourceNotFound.Certificate', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'IncorrectStatus.listener', + 'errorMessage' => 'The status of listener [%s] is incorrect.', + ], + [ + 'errorCode' => 'IdempotenceSignatureMismatch', + 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.Certificate', + 'errorMessage' => 'The specified resource %s is already associated.', + ], + [ + 'errorCode' => 'IllegalParamSize.certificateIds', + 'errorMessage' => 'The param size of certificateIds or caCertificateIds is illegal.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam.IdleTimeout', + 'errorMessage' => 'The param of IdleTimeout is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.RegionNotSupportHDMonitor', + 'errorMessage' => 'The operation is not allowed because of RegionNotSupportHDMonitor.', + ], + [ + 'errorCode' => 'ResourceNotEnough.CaCertificateApiCount', + 'errorMessage' => 'The specified resource of CaCertificateApiCount is not enough.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.HdMonitorConfigNotExist', + 'errorMessage' => 'The specified resource of HdMonitorConfigNotExist is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.CaCertificate', + 'errorMessage' => 'The specified resource of CaCertificate is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.securitypolicy', + 'errorMessage' => 'The specified resource of securitypolicy is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateListenerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UpdateListenerAttributeResponse>","errorExample":""}]', + 'title' => '更新监听配置', + ], + 'ListListeners' => [ + 'summary' => '查询网络型负载均衡监听列表。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141890', + 'abilityTreeNodes' => [ + 'FEATUREslbC68LB1', + 'FEATUREslb4PUXNB', + 'FEATUREslbGDCN1S', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '监听唯一标识', + 'description' => '监听实例ID。最多支持20个监听ID。', + 'type' => 'array', + 'items' => [ + 'description' => '监听实例ID。最多支持20个监听ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@443', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'LoadBalancerIds', + 'in' => 'query', + 'style' => 'repeatList', + 'schema' => [ + 'title' => '负载均衡实例标识', + 'description' => '网络型负载均衡实例ID。最多支持20个实例ID。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例ID。最多支持20个实例ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ListenerProtocol', + 'in' => 'query', + 'schema' => [ + 'title' => '监听协议', + 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCPSSL', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '实例的标签键。最多支持输入20个标签键。一旦输入该值,则不允许为空字符串。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'description' => '实例的标签值。最多支持输入20个标签值。一旦输入该值,可以为空字符串。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'product', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'query', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'query', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'SecSensorEnabled', + 'in' => 'query', + 'schema' => [ + 'description' => '是否开启秒级监控功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。', + 'type' => 'string', + 'required' => false, + 'example' => 'false', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListListenersResponse>', + 'description' => '查询监听列表。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'Listeners' => [ + 'description' => '网络型负载均衡监听列表。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡监听列表。', + 'type' => 'object', + 'properties' => [ + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'Created', + ], + 'Value' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'TF', + ], + ], + ], + ], + 'LoadBalancerId' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'ListenerId' => [ + 'title' => '自己生成后赋值', + 'description' => '监听ID。', + 'type' => 'string', + 'example' => 'lsn-ga6sjjcll6ou34l1et****', + ], + 'ListenerProtocol' => [ + 'title' => '监听协议 (TCP, UDP, TCPSSL, GENEVE)', + 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。', + 'type' => 'string', + 'example' => 'TCPSSL', + ], + 'ListenerPort' => [ + 'title' => '监听端口', + 'description' => '监听端口。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '443', + ], + 'StartPort' => [ + 'title' => 'anyPort监听起始端口', + 'description' => '全端口监听起始端口。', + 'type' => 'string', + 'example' => '233', + ], + 'EndPort' => [ + 'title' => 'anyPort监听结束端口', + 'description' => '全端口监听结束端口。', + 'type' => 'string', + 'example' => '455', + ], + 'ListenerDescription' => [ + 'title' => '监听描述', + 'description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'example' => 'tcpssl_443', + ], + 'ServerGroupId' => [ + 'title' => 'servergroupId', + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-ppdpc14gdm3x4o****', + ], + 'IdleTimeout' => [ + 'title' => '空闲超时时间', + 'description' => '连接空闲超时时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '900', + ], + 'SecurityPolicyId' => [ + 'title' => 'Tclssl监听的安全策略', + 'description' => '安全策略ID。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'string', + 'example' => 'tls_cipher_policy_1_1', + ], + 'CertificateIds' => [ + 'title' => 'server证书列表', + 'description' => '服务器证书列表信息。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器证书列表信息。'."\n" + ."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'string', + 'example' => '123157******', + ], + ], + 'CaCertificateIds' => [ + 'title' => 'ca 证书列表', + 'description' => 'CA证书列表信息。'."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'array', + 'items' => [ + 'description' => 'CA证书列表信息。'."\n" + .'> 仅对TCPSSL监听生效。', + 'type' => 'string', + 'example' => '139a00******', + ], + ], + 'CaEnabled' => [ + 'description' => '是否启动双向认证。取值:'."\n" + ."\n" + .'- **true**:启动。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ListenerStatus' => [ + 'description' => '当前监听的状态,取值:'."\n" + ."\n" + .'- **Provisioning**:创建中。'."\n" + ."\n" + .'- **Running**:运行中。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Stopping**:停止中。'."\n" + ."\n" + .'- **Stopped**:已停止。'."\n" + ."\n" + .'- **Starting**:启动中。'."\n" + ."\n" + .'- **Deleting**:删除中。'."\n" + ."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Running', + ], + 'RegionId' => [ + 'title' => '业务location', + 'description' => '网络型负载均衡实例所在的地域ID。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AlpnEnabled' => [ + 'description' => '是否开启ALPN。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'AlpnPolicy' => [ + 'description' => 'ALPN策略。取值:'."\n" + ."\n" + .'- **HTTP1Only**'."\n" + .'- **HTTP2Only**'."\n" + .'- **HTTP2Preferred**'."\n" + .'- **HTTP2Optional**', + 'type' => 'string', + 'example' => 'HTTP1Only', + ], + 'SecSensorEnabled' => [ + 'description' => '是否开启秒级监控功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProxyProtocolEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProxyProtocolV2Config' => [ + 'description' => '通过Proxy Protocol协议携带VpcId、PrivateLinkEpId、PrivateLinkEpsId信息到后端服务器配置。', + 'type' => 'object', + 'properties' => [ + 'Ppv2VpcIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带VpcId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Ppv2PrivateLinkEpIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Ppv2PrivateLinkEpsIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpsId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'Cps' => [ + 'description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'Mss' => [ + 'description' => 'TCP报文的最大段大小。单位:字节,取值范围:**0**~**1500**。**0**表示不修改用户TCP报文的MSS值。'."\n" + ."\n" + .'> 仅TCP、TCPSSL类型的监听支持该字段值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '4', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Listeners\\": [\\n {\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"Created\\",\\n \\"Value\\": \\"TF\\"\\n }\\n ],\\n \\"LoadBalancerId\\": \\"nlb-83ckzc8d4xlp8o****\\",\\n \\"ListenerId\\": \\"lsn-ga6sjjcll6ou34l1et****\\",\\n \\"ListenerProtocol\\": \\"TCPSSL\\",\\n \\"ListenerPort\\": 443,\\n \\"StartPort\\": \\"233\\",\\n \\"EndPort\\": \\"455\\",\\n \\"ListenerDescription\\": \\"tcpssl_443\\",\\n \\"ServerGroupId\\": \\"sgp-ppdpc14gdm3x4o****\\",\\n \\"IdleTimeout\\": 900,\\n \\"SecurityPolicyId\\": \\"tls_cipher_policy_1_1\\",\\n \\"CertificateIds\\": [\\n \\"123157******\\"\\n ],\\n \\"CaCertificateIds\\": [\\n \\"139a00******\\"\\n ],\\n \\"CaEnabled\\": false,\\n \\"ListenerStatus\\": \\"Running\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"AlpnEnabled\\": false,\\n \\"AlpnPolicy\\": \\"HTTP1Only\\",\\n \\"SecSensorEnabled\\": false,\\n \\"ProxyProtocolEnabled\\": false,\\n \\"ProxyProtocolV2Config\\": {\\n \\"Ppv2VpcIdEnabled\\": false,\\n \\"Ppv2PrivateLinkEpIdEnabled\\": false,\\n \\"Ppv2PrivateLinkEpsIdEnabled\\": false\\n },\\n \\"Cps\\": 1000,\\n \\"Mss\\": 200\\n }\\n ],\\n \\"TotalCount\\": 4,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListListenersResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <Listeners>\\n <LoadBalancerId>nlb-83ckzc8d4xlp8o****</LoadBalancerId>\\n <ListenerId>lsn-ga6sjjcll6ou34l1et****</ListenerId>\\n <ListenerProtocol>TCPSSL</ListenerProtocol>\\n <ListenerPort>443</ListenerPort>\\n <StartPort>233</StartPort>\\n <EndPort>455</EndPort>\\n <ListenerDescription>tcpssl_443</ListenerDescription>\\n <ServerGroupId>sgp-ppdpc14gdm3x4o****</ServerGroupId>\\n <IdleTimeout>900</IdleTimeout>\\n <SecurityPolicyId>tls_cipher_policy_1_1</SecurityPolicyId>\\n <CertificateIds>12315790212_166f8204689_1714763408_70998****</CertificateIds>\\n <CaCertificateIds>139a00604ad-cn-east-hangzh****</CaCertificateIds>\\n <CaEnabled>false</CaEnabled>\\n <ListenerStatus>Running</ListenerStatus>\\n <RegionId>cn-hangzhou</RegionId>\\n <AlpnEnabled>false</AlpnEnabled>\\n <AlpnPolicy>ALPN</AlpnPolicy>\\n <SecSensorEnabled>false</SecSensorEnabled>\\n <ProxyProtocolEnabled>false</ProxyProtocolEnabled>\\n <Cps>1000</Cps>\\n <Mss>200</Mss>\\n </Listeners>\\n <TotalCount>4</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</ListListenersResponse>","errorExample":""}]', + 'title' => '查询监听', + ], + 'GetListenerAttribute' => [ + 'summary' => '查询网络型负载均衡实例的监听详情。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => [ + 'FEATUREslbC68LB1', + 'FEATUREslb4PUXNB', + 'FEATUREslbGDCN1S', + 'FEATUREslbUZZGGD', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@233', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'query', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会查询监听详情。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + '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' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<GetListenerAttributeResponse>', + 'description' => '查询监听属性。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'RegionId' => [ + 'title' => '业务location', + 'description' => '网络型负载均衡实例所在的地域ID。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'LoadBalancerId' => [ + 'title' => '列表id', + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + 'ListenerId' => [ + 'title' => '监听id', + 'description' => '监听ID。', + 'type' => 'string', + 'example' => 'lsn-bp1bpn0kn908w4nbw****@233', + ], + 'ListenerProtocol' => [ + 'title' => '监听协议 (TCP, UDP, TCPSSL, GENEVE)', + 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。', + 'type' => 'string', + 'example' => 'TCPSSL', + ], + 'ListenerPort' => [ + 'title' => '监听端口', + 'description' => '监听端口。取值范围:**0**~**65535**。**0**:表示使用全端口监听。当设置为**0**时,您需要配置**StartPort**和**EndPort**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '233', + ], + 'StartPort' => [ + 'title' => 'anyPort监听起始端口', + 'description' => '全端口监听起始端口。取值范围:**0** ~ **65535**。', + 'type' => 'string', + 'example' => '233', + ], + 'EndPort' => [ + 'title' => 'anyPort监听结束端口', + 'description' => '全端口监听结束端口。取值范围:**0**~ **65535**。结束端口的取值小于起始端口。', + 'type' => 'string', + 'example' => '455', + ], + 'ListenerDescription' => [ + 'title' => '监听描述', + 'description' => '自定义监听名称。'."\n" + ."\n" + .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'example' => 'tcpssl_443', + ], + 'ServerGroupId' => [ + 'title' => 'servergroupId', + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-ppdpc14gdm3x4o****', + ], + 'IdleTimeout' => [ + 'title' => '空闲超时时间', + 'description' => '连接空闲超时时间。单位:秒。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '900', + ], + 'SecurityPolicyId' => [ + 'title' => 'Tclssl监听的安全策略', + 'description' => '安全策略ID。支持系统安全策略和自定义安全策略。'."\n" + ."\n" + .'- 系统策略取值:**tls_cipher_policy_1_0**(默认值)、**tls_cipher_policy_1_1**、**tls_cipher_policy_1_2**、**tls_cipher_policy_1_2_strict**或**tls_cipher_policy_1_2_strict_with_1_3**。'."\n" + .'- 自定义安全策略:输入自定义安全策略ID。'."\n" + .' - 创建自定义策略,请参见[CreateSecurityPolicy](~~445901~~)。'."\n" + .' - 查询安全策略,请参见[ListSecurityPolicy](~~445900~~)。'."\n" + ."\n" + .'>仅对TCPSSL监听生效。', + 'type' => 'string', + 'example' => 'tls_cipher_policy_1_0', + ], + 'CertificateIds' => [ + 'title' => 'server证书列表', + 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n" + ."\n" + .'> 该参数仅对TCPSSL监听生效。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n" + ."\n" + .'> 该参数仅对TCPSSL监听生效。', + 'type' => 'string', + 'example' => '123157******', + ], + ], + 'CaCertificateIds' => [ + 'title' => 'ca 证书列表', + 'description' => 'CA证书列表信息。目前仅支持添加1个CA证书。'."\n" + .'> 该参数仅对TCPSSL监听生效。'."\n", + 'type' => 'array', + 'items' => [ + 'description' => 'CA证书列表信息。目前仅支持添加1个CA证书。'."\n" + .'> 该参数仅对TCPSSL监听生效。', + 'type' => 'string', + 'example' => '139a00******', + ], + ], + 'CaEnabled' => [ + 'description' => '是否启动双向认证。取值:'."\n" + ."\n" + .'- **true**:启动。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'AlpnEnabled' => [ + 'description' => '是否开启ALPN。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'AlpnPolicy' => [ + 'description' => 'ALPN策略。取值:'."\n" + ."\n" + .'- **HTTP1Only**'."\n" + .'- **HTTP2Only**'."\n" + .'- **HTTP2Preferred**'."\n" + .'- **HTTP2Optional**', + 'type' => 'string', + 'example' => 'HTTP1Only', + ], + 'ProxyProtocolEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ProxyProtocolV2Config' => [ + 'description' => '通过Proxy Protocol协议携带VpcId、PrivateLinkEpId、PrivateLinkEpsId信息到后端服务器配置。', + 'type' => 'object', + 'properties' => [ + 'Ppv2VpcIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带VpcId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Ppv2PrivateLinkEpIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'Ppv2PrivateLinkEpsIdEnabled' => [ + 'description' => '是否开启通过Proxy Protocol协议携带PrivateLinkEpsId到后端服务器。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + ], + ], + 'SecSensorEnabled' => [ + 'description' => '是否开启秒级监控功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ListenerStatus' => [ + 'description' => '当前监听的状态,取值:'."\n" + ."\n" + .'- **Provisioning**:创建中。'."\n" + ."\n" + .'- **Running**:运行中。'."\n" + ."\n" + .'- **Configuring**:配置中。'."\n" + ."\n" + .'- **Stopping**:停止中。'."\n" + ."\n" + .'- **Stopped**:已停止。'."\n" + ."\n" + .'- **Starting**:启动中。'."\n" + ."\n" + .'- **Deleting**:删除中。'."\n" + ."\n" + .'- **Deleted**:已删除。', + 'type' => 'string', + 'example' => 'Running', + ], + 'Cps' => [ + 'description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1000', + ], + 'Mss' => [ + 'description' => 'TCP报文的最大段大小。单位:字节,取值范围:**0**~**1500**。**0**表示不修改用户TCP报文的MSS值。'."\n" + ."\n" + .'> 仅TCP、TCPSSL类型的监听支持该字段值。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '166', + ], + 'Tags' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'ac-cus-tag-4', + ], + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'ON', + ], + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"LoadBalancerId\\": \\"nlb-83ckzc8d4xlp8o****\\",\\n \\"ListenerId\\": \\"lsn-bp1bpn0kn908w4nbw****@233\\",\\n \\"ListenerProtocol\\": \\"TCPSSL\\",\\n \\"ListenerPort\\": 233,\\n \\"StartPort\\": \\"233\\",\\n \\"EndPort\\": \\"455\\",\\n \\"ListenerDescription\\": \\"tcpssl_443\\",\\n \\"ServerGroupId\\": \\"sgp-ppdpc14gdm3x4o****\\",\\n \\"IdleTimeout\\": 900,\\n \\"SecurityPolicyId\\": \\"tls_cipher_policy_1_0\\",\\n \\"CertificateIds\\": [\\n \\"123157******\\"\\n ],\\n \\"CaCertificateIds\\": [\\n \\"139a00******\\"\\n ],\\n \\"CaEnabled\\": false,\\n \\"AlpnEnabled\\": false,\\n \\"AlpnPolicy\\": \\"HTTP1Only\\",\\n \\"ProxyProtocolEnabled\\": false,\\n \\"ProxyProtocolV2Config\\": {\\n \\"Ppv2VpcIdEnabled\\": false,\\n \\"Ppv2PrivateLinkEpIdEnabled\\": false,\\n \\"Ppv2PrivateLinkEpsIdEnabled\\": false\\n },\\n \\"SecSensorEnabled\\": false,\\n \\"ListenerStatus\\": \\"Running\\",\\n \\"Cps\\": 1000,\\n \\"Mss\\": 166,\\n \\"Tags\\": [\\n {\\n \\"TagKey\\": \\"ac-cus-tag-4\\",\\n \\"TagValue\\": \\"ON\\"\\n }\\n ]\\n}","errorExample":""},{"type":"xml","example":"<GetListenerAttributeResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <RegionId>cn-hangzhou</RegionId>\\n <LoadBalancerId>nlb-83ckzc8d4xlp8o****</LoadBalancerId>\\n <ListenerId>lsn-ga6sjjcll6ou34l1et****</ListenerId>\\n <ListenerProtocol>TCPSSL</ListenerProtocol>\\n <ListenerPort>233</ListenerPort>\\n <StartPort>233</StartPort>\\n <EndPort>455</EndPort>\\n <ListenerDescription>tcpssl_443</ListenerDescription>\\n <ServerGroupId>sgp-ppdpc14gdm3x4o****</ServerGroupId>\\n <IdleTimeout>900</IdleTimeout>\\n <SecurityPolicyId>tls_cipher_policy_1_0</SecurityPolicyId>\\n <CertificateIds>12315790212_166f8204689_1714763408_70998****</CertificateIds>\\n <CaCertificateIds>139a00604ad-cn-east-hangzh****</CaCertificateIds>\\n <CaEnabled>false</CaEnabled>\\n <AlpnEnabled>false</AlpnEnabled>\\n <AlpnPolicy>HTTP1Only</AlpnPolicy>\\n <ProxyProtocolEnabled>false</ProxyProtocolEnabled>\\n <SecSensorEnabled>false</SecSensorEnabled>\\n <ListenerStatus>Running</ListenerStatus>\\n <Cps>1000</Cps>\\n <Mss>166</Mss>\\n</GetListenerAttributeResponse>","errorExample":""}]', + 'title' => '查询监听的属性', + ], + 'GetListenerHealthStatus' => [ + 'summary' => '查询网络型负载均衡实例监听的健康检查状态。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '142934', + 'abilityTreeNodes' => [ + 'FEATUREslbL239O5', + 'FEATUREslbVDXH6N', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例的监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bp1bpn0kn908w4nbw****@80', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'query', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<GetListenerHealthStatusResponse>', + 'description' => '查询监听健康检查状态。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ListenerHealthStatus' => [ + 'description' => '监听的服务器组健康检查状态列表。', + 'type' => 'array', + 'items' => [ + 'description' => '监听的服务器组健康检查状态列表。', + 'type' => 'object', + 'properties' => [ + 'ListenerId' => [ + 'description' => '网络型负载均衡实例的监听ID。', + 'type' => 'string', + 'example' => 'lsn-bp1bpn0kn908w4nbw****@80', + ], + 'ListenerPort' => [ + 'description' => '监听的端口号。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'ListenerProtocol' => [ + 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。', + 'type' => 'string', + 'example' => 'TCPSSL', + ], + 'ServerGroupInfos' => [ + 'description' => '服务器组信息。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器组信息。', + 'type' => 'object', + 'properties' => [ + 'HeathCheckEnabled' => [ + 'description' => '是否开启健康检查。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-ppdpc14gdm3x4o****', + ], + 'NonNormalServers' => [ + 'description' => '非正常状态的后端服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '非正常状态的后端服务器列表。', + 'type' => 'object', + 'properties' => [ + 'Status' => [ + 'description' => '健康检查状态。取值:'."\n" + ."\n" + .'- **Initial**:初始化中,表示负载均衡实例配置了健康检查,但查不到数据。'."\n" + ."\n" + .'- **Unhealthy**:异常,表示连续上报不健康的状态。'."\n" + ."\n" + .'- **Unavailable**:未开启,表示未开启健康检查。', + 'type' => 'string', + 'example' => 'Initial', + ], + 'Port' => [ + 'description' => '后端服务器端口。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Reason' => [ + 'description' => '非正常状态的原因。', + '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' => [ + 'description' => '后端服务器ID。', + 'type' => 'string', + 'example' => 'i-bp1bt75jaujl7tjl****', + ], + 'ServerIp' => [ + 'description' => '后端服务器IP。', + 'type' => 'string', + 'example' => '192.168.8.10', + ], + ], + ], + ], + ], + ], + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ListenerHealthStatus\\": [\\n {\\n \\"ListenerId\\": \\"lsn-bp1bpn0kn908w4nbw****@80\\",\\n \\"ListenerPort\\": 80,\\n \\"ListenerProtocol\\": \\"TCPSSL\\",\\n \\"ServerGroupInfos\\": [\\n {\\n \\"HeathCheckEnabled\\": true,\\n \\"ServerGroupId\\": \\"sgp-ppdpc14gdm3x4o****\\",\\n \\"NonNormalServers\\": [\\n {\\n \\"Status\\": \\"Initial\\",\\n \\"Port\\": 80,\\n \\"Reason\\": {\\n \\"ReasonCode\\": \\"CONNECT_TIMEOUT\\"\\n },\\n \\"ServerId\\": \\"i-bp1bt75jaujl7tjl****\\",\\n \\"ServerIp\\": \\"192.168.8.10\\"\\n }\\n ]\\n }\\n ]\\n }\\n ],\\n \\"TotalCount\\": 10,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<GetListenerHealthStatusResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ListenerHealthStatus>\\n <ListenerId>lsn-agkd9gmjx8nd85jjs0****</ListenerId>\\n <ListenerPort>80</ListenerPort>\\n <ListenerProtocol>TCPSSL</ListenerProtocol>\\n <ServerGroupInfos>\\n <HeathCheckEnabled>true</HeathCheckEnabled>\\n <ServerGroupId>sgp-ppdpc14gdm3x4o****</ServerGroupId>\\n <NonNormalServers>\\n <Status>Initial</Status>\\n <Port>80</Port>\\n <Reason>\\n <ReasonCode>CONNECT_TIMEOUT</ReasonCode>\\n </Reason>\\n <ServerId>i-bp1bt75jaujl7tjl****</ServerId>\\n <ServerIp>192.168.8.10</ServerIp>\\n </NonNormalServers>\\n </ServerGroupInfos>\\n </ListenerHealthStatus>\\n <TotalCount>10</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</GetListenerHealthStatusResponse>","errorExample":""}]', + 'title' => '查询监听健康检查状态', + ], + 'ListListenerCertificates' => [ + 'summary' => '查询TCPSSL监听的服务器证书。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '141873', + 'abilityTreeNodes' => [ + 'FEATUREslbEJQO6W', + ], + ], + 'parameters' => [ + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '监听ID。仅TCPSSL监听有效。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-j49ht1jxxqyg45****@80', + ], + ], + [ + 'name' => 'CertType', + 'in' => 'formData', + 'schema' => [ + 'description' => '证书类型。'."\n" + ."\n" + .'- **Ca**:CA证书。'."\n" + .'- **Server**:服务器证书。', + 'type' => 'string', + 'required' => false, + 'example' => 'Ca', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '50', + 'minimum' => '1', + 'example' => '20', + 'default' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'CertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '服务器证书列表信息。目前仅支持添加 1 个服务器证书。'."\n" + ."\n" + .'> 仅对 TCPSSL 监听生效。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器证书列表信息。目前仅支持添加 1 个服务器证书。'."\n" + ."\n" + .'> 仅对 TCPSSL 监听生效。', + 'type' => 'string', + 'required' => false, + 'example' => '123157******', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListListenerCertificatesResponse>', + 'description' => '查询TCPSSL监听证书。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '2198BD6D-9EBB-5E1C-9C48-E0ABB79CF831', + ], + 'CertificateIds' => [ + 'description' => '服务器证书列表。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器证书列表。', + 'type' => 'string', + 'example' => '[ "931****-cn-hangzhou"]', + ], + ], + 'Certificates' => [ + 'description' => '证书列表。', + 'type' => 'array', + 'items' => [ + 'description' => '证书列表。', + 'type' => 'object', + 'properties' => [ + 'CertificateId' => [ + 'title' => '证书id', + 'description' => '证书ID,当前仅支持服务器证书。', + 'type' => 'string', + 'example' => '12315790343_166f8204689_1714763408_70998****', + ], + 'IsDefault' => [ + 'title' => '是否为监听默认证书', + 'description' => '是否为监听默认证书。取值:'."\n" + ."\n" + .'- **true**:默认证书。'."\n" + ."\n" + .'- **false**:扩展证书。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'Status' => [ + 'title' => '证书与监听关联的状态', + 'description' => '证书与监听关联的状态。取值:'."\n" + ."\n" + .'- **Associating**:关联中。'."\n" + ."\n" + .'- **Associated**:已关联。'."\n" + ."\n" + .'- **Diassociating**:解除关联中。', + 'type' => 'string', + 'example' => 'Associating', + ], + 'CertificateType' => [ + 'title' => '证书类型', + 'description' => '证书类型。', + 'type' => 'string', + 'example' => 'Server', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.Protocol', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.loadbalancer', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"2198BD6D-9EBB-5E1C-9C48-E0ABB79CF831\\",\\n \\"CertificateIds\\": [\\n \\"[ \\\\\\"931****-cn-hangzhou\\\\\\"]\\"\\n ],\\n \\"Certificates\\": [\\n {\\n \\"CertificateId\\": \\"12315790343_166f8204689_1714763408_70998****\\",\\n \\"IsDefault\\": true,\\n \\"Status\\": \\"Associating\\",\\n \\"CertificateType\\": \\"Server\\"\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListListenerCertificatesResponse>\\n <RequestId>2198BD6D-9EBB-5E1C-9C48-E0ABB79CF831</RequestId>\\n <CertificateIds>[ \\"931****-cn-hangzhou\\"]</CertificateIds>\\n <Certificates>\\n <CertificateId>12315790343_166f8204689_1714763408_70998****</CertificateId>\\n <IsDefault>true</IsDefault>\\n <Status>Associating</Status>\\n <CertificateType>Server</CertificateType>\\n </Certificates>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</ListListenerCertificatesResponse>","errorExample":""}]', + 'title' => '查询TCPSSL监听证书', + ], + 'AssociateAdditionalCertificatesWithListener' => [ + 'summary' => '为TCPSSL监听关联扩展证书。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '177212', + 'abilityTreeNodes' => [ + 'FEATUREslbEI2GF0', + ], + ], + 'parameters' => [ + [ + 'name' => 'AdditionalCertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'server扩展证书列表', + 'description' => '扩展证书列表。一次调用最多支持为监听关联15个扩展证书。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展证书列表。一次调用最多支持为监听关联15个扩展证书。', + 'type' => 'string', + 'required' => false, + 'example' => '123157******', + ], + 'required' => true, + 'maxItems' => 15, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听ID。该接口仅支持输入TCPSSL监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bpn0kn908w4nbw****@80', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会为TCPSSL监听添加扩展证书。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>', + 'description' => '为TCPSSL监听添加扩展证书。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'OperationDenied.%s', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'OperationFailed.%s', + 'errorMessage' => 'The operation failed because of %s.', + ], + [ + 'errorCode' => 'IncorrectStatus.%s', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.%s', + 'errorMessage' => 'The specified resource of %s is already associated.', + ], + [ + 'errorCode' => 'IncorrectStatus.listener', + 'errorMessage' => 'The status of listener [%s] is incorrect.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.Certificate', + 'errorMessage' => 'The specified resource %s is already associated.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'OperationDenied.Protocol', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'ResourceNotFound.Certificate', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.%s', + 'errorMessage' => 'The specified resource of %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Nlb::2022-04-30::GetJobStatus', + 'callbackInterval' => 5000, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<AssociateAdditionalCertificatesWithListenerResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</AssociateAdditionalCertificatesWithListenerResponse>","errorExample":""}]', + 'title' => '关联扩展证书和监听', + 'description' => '**AssociateAdditionalCertificatesWithListener**接口属于异步接口,即系统返回一个请求ID,但该扩展证书尚未添加成功,系统后台的添加任务仍在进行。您可以调用[ListListenerCertificates](~~615175~~)查询扩展证书的添加状态:'."\n" + ."\n" + .'- 当TCPSSL监听处于**Associating**状态时,表示扩展证书正在添加中。'."\n" + .'- 当TCPSSL监听处于**Associated**状态时,表示扩展证书添加成功。', + ], + 'DisassociateAdditionalCertificatesWithListener' => [ + 'summary' => '解除TCPSSL监听关联的扩展证书。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '177213', + 'abilityTreeNodes' => [ + 'FEATUREslbEI2GF0', + ], + ], + 'parameters' => [ + [ + 'name' => 'AdditionalCertificateIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'title' => 'server扩展证书列表', + 'description' => '扩展证书列表。一次调用最多支持为监听解绑15个扩展证书。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展证书列表。仅支持服务器证书,一次调用最多支持为监听解绑15个扩展证书。', + 'type' => 'string', + 'required' => false, + 'example' => '123157******', + ], + 'required' => true, + 'maxItems' => 15, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ListenerId', + 'in' => 'formData', + 'schema' => [ + 'title' => 'update or delete必选, add在custom中生成', + 'description' => '监听ID。该接口仅支持输入TCPSSL监听ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'lsn-bpn0kn908w4nbw****@80', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会为TCPSSL监听解绑扩展证书。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>', + 'description' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.listener', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.certificate', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'IncorrectStatus.loadbalancer', + 'errorMessage' => 'The status of %s [%s] is incorrect.', + ], + [ + 'errorCode' => 'OperationDenied.Protocol', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'OperationDenied.DefaultCertificateUsed', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.Certificate', + 'errorMessage' => 'The specified resource %s is not associated.', + ], + [ + 'errorCode' => 'OperationDenied.CaCertificateUsed', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'asynchronous', + 'callback' => 'Nlb::2022-04-30::GetJobStatus', + 'callbackInterval' => 5, + 'maxCallbackTimes' => 10, + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<DisassociateAdditionalCertificatesWithListenerResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</DisassociateAdditionalCertificatesWithListenerResponse>","errorExample":""}]', + 'title' => '解除关联监听和扩展证书', + 'description' => '**DisassociateAdditionalCertificatesWithListener**接口属于异步接口,即系统返回一个请求ID,但该扩展证书尚未解绑成功,系统后台的解绑任务仍在进行。您可以调用[ListListenerCertificates](~~615175~~)查询扩展证书的解绑状态:'."\n" + .' - 当扩展证书状态处于**Dissociating**状态时,表示扩展证书正在解绑中。'."\n" + .' - 当扩展证书状态处于**Dissociated**状态时,表示扩展证书解绑成功。', + ], + 'CreateServerGroup' => [ + 'summary' => '在指定地域创建服务器组。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141881', + 'abilityTreeNodes' => [ + 'FEATUREslbVDXH6N', + ], + ], + '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', + 'default' => 'Instance', + 'enum' => [], + ], + ], + [ + 'name' => 'ServerGroupName', + 'in' => 'formData', + 'schema' => [ + 'title' => '服务器组名称', + 'description' => '服务器组名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => true, + 'example' => 'NLB_ServerGroup', + ], + ], + [ + 'name' => 'AddressIPVersion', + 'in' => 'formData', + 'schema' => [ + 'description' => '协议版本。取值:'."\n" + ."\n" + .'- **ipv4**(默认值):IPv4类型。'."\n" + ."\n" + .'- **DualStack**:双栈类型。', + 'type' => 'string', + 'required' => false, + 'example' => 'ipv4', + 'default' => 'Ipv4', + 'enum' => [], + ], + ], + [ + 'name' => 'IpVersionAffinityMode', + 'in' => 'formData', + 'schema' => [ + 'title' => '', + 'description' => '双栈模式下的流量调度策略:'."\n" + ."\n" + .'- NonAffinity(默认):无亲和模式,转发时不区分来源的IP协议版本,按照调度算法向健康的后端转发。'."\n" + .'- Affinity:亲和模式,转发时根据请求来源的IP协议版本亲和转发,IPv4请求仅转发至IPv4后端,IPv6请求仅转发至IPv6后端。'."\n" + .'> 仅**AddressIPVersion**为**DualStack**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Affinity', + 'enum' => [ + 'NonAffinity', + 'Affinity', + ], + ], + ], + [ + 'name' => 'Protocol', + 'in' => 'formData', + 'schema' => [ + 'title' => '后端服务器类型', + 'description' => '转发到后端服务器使用的通信协议。取值:'."\n" + ."\n" + .'- **TCP**(默认值)'."\n" + .'- **UDP**'."\n" + .'- **TCP_UDP**'."\n" + .'> '."\n" + .'> - 当该参数取值为**UDP**时,该服务器组只支持关联**UDP**监听。'."\n" + .'> - 当该参数取值为**TCP**且**PreserveClientIpEnabled**取值为**true**时,该服务器组只支持关联**TCP**监听。'."\n" + .'> - 当该参数取值为**TCP**且**PreserveClientIpEnabled**取值为**false**时,该服务器组支持关联**TCPSSL**监听和**TCP**监听。'."\n" + .'> - 当该参数取值为**TCP_UDP**时,该服务器组支持关联**TCP**监听和**UDP**监听。', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + 'default' => 'Tcp', + 'enum' => [], + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'title' => '服务器组所在vpc的id', + 'description' => '服务器组所在VPC的ID。'."\n" + ."\n" + .'> 如果**ServerGroupType**取值为**Instance**时,只有该VPC下的服务器可以加入到该服务器组。', + 'type' => 'string', + 'required' => true, + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + ], + [ + 'name' => 'AnyPortEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启全端口转发。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ConnectionDrainEnabled', + 'in' => 'formData', + 'schema' => [ + 'title' => '是否开启连接优雅中断', + 'description' => '是否开启连接优雅中断。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**(默认值):关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => 'false', + ], + ], + [ + 'name' => 'ConnectionDrainTimeout', + 'in' => 'formData', + 'schema' => [ + 'title' => '连接优雅中断超时时间', + 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n" + .'取值范围:**0**~**900**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'maximum' => '3600', + 'minimum' => '0', + 'example' => '10', + 'default' => '10', + ], + ], + [ + 'name' => 'Scheduler', + 'in' => 'formData', + 'schema' => [ + 'title' => '调度类型', + 'description' => '调度算法。取值:'."\n" + ."\n" + .'- **Wrr**(默认值):加权轮询,权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + ."\n" + .'- **Wlc**:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的概率也越高。'."\n" + ."\n" + .'- **rr**:轮询,按照访问顺序依次将外部请求分发到后端服务器。'."\n" + ."\n" + .'- **sch**:源IP哈希:相同的源地址会调度到相同的后端服务器。'."\n" + ."\n" + .'- **tch**:四元组哈希,基于四元组(源IP、目的IP、源端口和目的端口)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'- **qch**:QUIC ID哈希,支持将同一个QUIC ID的请求哈希到同一台后端服务器上。'."\n" + ."\n" + .'> 仅后端协议为UDP时,支持选择QUIC ID哈希。', + 'type' => 'string', + 'required' => false, + 'example' => 'Wrr', + 'default' => 'wrr', + ], + ], + [ + 'name' => 'PreserveClientIpEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启客户端地址保持功能。取值:'."\n" + ."\n" + .'- **true**(默认值):开启。'."\n" + .'- **false**:关闭。'."\n" + ."\n\n" + .'> '."\n" + .'> 当**Protocol**取值为**TCP**且该参数取值为**true**时,该服务器组不支持关联**TCPSSL**监听。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + 'name' => 'HealthCheckConfig', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'title' => '健康检查配置', + 'description' => '健康检查相关配置。', + 'type' => 'object', + 'properties' => [ + 'HealthCheckEnabled' => [ + 'title' => '是否开启健康检查', + 'description' => '是否开启健康检查,取值:'."\n" + ."\n" + .'- **true**(默认值):开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + 'HealthCheckType' => [ + 'title' => '健康检查协议类型', + 'description' => '健康检查协议。取值:'."\n" + ."\n" + .'- **TCP**'."\n" + .'- **HTTP**'."\n" + .'- **UDP**', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'HealthCheckConnectPort' => [ + 'title' => '健康检查使用的端口', + 'description' => '健康检查的后端服务器的端口。'."\n" + ."\n" + .'取值范围: **0**~**65535**。'."\n" + ."\n" + .'默认值:**0**,表示使用后端服务器的端口进行健康检查。'."\n" + ."\n", + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + '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', + ], + 'HealthCheckConnectTimeout' => [ + 'title' => '健康检查响应的最大超时时间', + 'description' => '健康检查响应的最大超时时间。单位:秒。'."\n" + .'取值范围:**1**~**300**。'."\n" + .'默认值:**5**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'HealthCheckInterval' => [ + 'title' => '健康检查时间间隔', + 'description' => '健康检查的时间间隔。单位:秒。默认值:**5**'."\n" + ."\n" + .'- **HealthCheckType**为**TCP**或者**HTTP**时,取值范围为:**1**~**50**。'."\n" + .'- **HealthCheckType**为**UDP**时,取值范围为:**1**~**300**,您需要设置间隔时间>=响应超时时间,以确保UDP探测回包不会因为超时而被误判为未响应。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'HealthCheckDomain' => [ + 'title' => '健康检查的域名', + 'description' => '用于健康检查的域名。取值:'."\n" + ."\n" + .'- **$SERVER_IP**:使用后端服务器内网IP。'."\n" + ."\n" + .'- **domain**:指定特定域名。长度限制1~80个字符,只能使用大小写字母、数字、短划线(-)、半角句号(.)。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => '$SERVER_IP', + ], + 'HealthCheckUrl' => [ + 'title' => '健康检查的url', + 'description' => '健康检查路径。'."\n" + ."\n" + .'长度为1~80个字符,只能使用大小写英文字母、数字、字符`-/.%?#&`。 必须以正斜线(/)开头。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => '/test/index.html', + ], + 'HealthCheckHttpCode' => [ + 'title' => '状态码,多个状态码用逗号分隔', + 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n" + .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'array', + 'items' => [ + 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n" + .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'http_2xx', + ], + 'required' => false, + ], + 'HttpCheckMethod' => [ + 'description' => '健康检查方法,取值:**GET**(默认值)或**HEAD**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'GET', + 'enum' => [], + ], + 'HealthCheckReq' => [ + 'description' => 'UDP 监听健康检查的请求字符串,只允许包含字母、数字,最大长度限制为 512 个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'hello', + ], + 'HealthCheckExp' => [ + 'description' => 'UDP 监听健康检查的请求字符串,只允许包含字母、数字,最大长度限制为 512 个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'ok', + ], + 'HealthCheckHttpVersion' => [ + 'description' => '健康检查HTTP协议版本,取值:**HTTP1.0**(默认值)或**HTTP1.1**。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1.0', + 'enum' => [ + 'HTTP1.0', + 'HTTP1.1', + ], + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务器组所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-atstuj3rtop****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会创建服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'description' => '标签值。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'product', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateServerGroupResponse>', + 'description' => '创建服务器组。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.AnyPortServerGroupConflictWithHealthCheckConfig', + 'errorMessage' => 'The param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal.', + ], + [ + 'errorCode' => 'IllegalParamFormat.ParseCreateRsPoolRequestFailed', + 'errorMessage' => 'The param format of CreateRsPoolRequest is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.PreserveClientIpSwitch', + 'errorMessage' => 'The param of PreserveClientIpSwitch is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.VpcNotSupportIpv6', + 'errorMessage' => 'The operation is not allowed because of VpcNotSupportIpv6.', + ], + [ + 'errorCode' => 'IllegalParam.healthCheckDomain', + 'errorMessage' => 'The parameter of healthCheckConfig.healthCheckDomain is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.UidNotAllowQuic29', + 'errorMessage' => 'The operation is not allowed because of uid not allow quic29 version.', + ], + [ + 'errorCode' => 'IlleagalParam.healthCheckUrl', + 'errorMessage' => 'The parameter of healthCheckUrl in healthCheckConfig is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.ServerGroupName', + 'errorMessage' => 'The param of ServerGroupName is illegal.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + [ + 'errorCode' => 'IllegalParam.ConnectionDrainTimeout', + 'errorMessage' => 'The param of ConnectionDrainTimeout is illegal.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'QuotaExceeded.QuotaInsufficient', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.Vpc', + 'errorMessage' => 'The specified resource of Vpc is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.ResourceGroup', + 'errorMessage' => 'The param of resourceGroup not existed.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateServerGroupResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</CreateServerGroupResponse>","errorExample":""}]', + 'title' => '创建服务器组', + 'description' => '**CreateServerGroup**接口属于异步接口,即系统返回一个请求ID,但该网络型负载均衡的服务器组尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询服务器组的创建状态:'."\n" + .' - 当任务状态处于**Succeeded**时,表示服务器组创建成功。'."\n" + .' - 当任务状态处于**Processing**时,表示服务器组正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。', + ], + 'AddServersToServerGroup' => [ + 'summary' => '向网络型负载均衡服务器组中添加后端服务器。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeNodes' => [ + 'FEATUREslbWFW5HS', + ], + ], + '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' => '后端服务器列表。'."\n" + ."\n" + .'> 单次调用最多支持传入200个服务器。', + 'type' => 'object', + 'properties' => [ + 'ServerId' => [ + 'title' => '服务器id', + 'description' => '后端服务器ID。'."\n" + ."\n" + .'- 当服务器组为**Instance**类型时,该参数为**Ecs**、**Eni**、**Eci**的资源ID。'."\n" + ."\n" + .'- 当服务器组为**Ip**类型时,该参数为IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'ServerType' => [ + 'title' => '服务器类型', + 'description' => '后端服务器类型,取值:'."\n" + ."\n" + .'- **Ecs**:ECS实例。'."\n" + .'- **Eni**:ENI弹性网卡实例。'."\n" + .'- **Eci**:ECI弹性容器。'."\n" + .'- **Ip**:Ip地址。', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + 'enum' => [], + ], + 'ServerIp' => [ + 'title' => '服务器ip', + 'description' => '服务器IP地址。当服务器组为**Ip**类型时,必须指定IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.6.6', + ], + 'Port' => [ + 'title' => '服务器端口', + 'description' => '后端服务器使用的端口。端口范围**0~65535**,不填则默认传入端口值**0**。'."\n" + ."\n" + .'当服务器组开启全端口转发后,添加后端服务器时无需指定端口(默认传入0),NLB将按照前端请求端口转发流量至后端服务器。您可以通过[ListServerGroups](~~445895~~)接口返回的**AnyPortEnabled**字段查询是否开启了全端口转发。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + 'Weight' => [ + 'title' => '后端权重', + 'description' => '后端服务器的权重,取值范围:**0**~**100**。默认值为**100**。如果设置权重为**0**,则不会将请求转发给该后端服务器。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + 'default' => '100', + ], + 'Description' => [ + 'title' => '服务器描述信息', + 'description' => '服务器描述信息。'."\n" + ."\n" + .'长度限制为2-256个字符,可包含英文字母、数字、中文、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'ECS', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<AddServersToServerGroupResponse>', + 'description' => '添加后端服务器。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'IllegalParam.IP', + 'errorMessage' => 'The param of IP is illegal.', + ], + [ + 'errorCode' => 'QuotaExceeded.QuotaInsufficient', + 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'DuplicatedParam.Server', + 'errorMessage' => 'The param of Server is duplicated.', + ], + [ + 'errorCode' => 'IncorrectStatus.serverGroup', + 'errorMessage' => 'The status of servergroup [%s] is incorrect.', + ], + [ + 'errorCode' => 'Mismatch.VpcId', + 'errorMessage' => 'The VpcId is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'Mismatch.ServerType', + 'errorMessage' => 'The ServerType is mismatched for %s and %s.', + ], + [ + 'errorCode' => 'IllegalParam.RSPortConflictWithServerGroup', + 'errorMessage' => 'The param of RSPortConflictWithServerGroup is illegal.', + ], + [ + 'errorCode' => 'TagInvokeError', + 'errorMessage' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', + ], + [ + 'errorCode' => 'ResourceInUse.IP', + 'errorMessage' => 'The specified resource of IP is in use.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + [ + 'errorCode' => 'IllegalParam.description', + 'errorMessage' => 'The parameter description of server is illegal.', + ], + [ + 'errorCode' => 'MissingParam.IP', + 'errorMessage' => 'The param of IP is missing.', + ], + [ + 'errorCode' => 'OperationDenied.ServerGroupNotSupportIpv6', + 'errorMessage' => 'The operation is not allowed because of ServerGroupNotSupportIpv6.', + ], + [ + 'errorCode' => 'IncorrectStatus.Eni', + 'errorMessage' => 'Eni status is invalid.', + ], + [ + 'errorCode' => 'IdempotenceSignatureMismatch', + 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', + ], + [ + 'errorCode' => 'Throttling.User', + 'errorMessage' => 'Request was denied due to api flow control.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Eci', + 'errorMessage' => 'The specified resource of Eci is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Ecs', + 'errorMessage' => 'The specified resource of Ecs is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.Eni', + 'errorMessage' => 'The specified resource Eni is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<AddServersToServerGroupResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</AddServersToServerGroupResponse>","errorExample":""}]', + 'title' => '添加后端服务器', + ], + 'DeleteServerGroup' => [ + 'summary' => '删除网络型负载均衡的服务器组。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'title' => '服务器组ID', + 'description' => '服务器组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-atstuj3rtoptyui****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会删除服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DeleteServerGroupResponse>', + 'description' => '删除服务器组。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceInUse.ServerGroup', + 'errorMessage' => 'The specified resource of ServerGroup is in use.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IncorrectStatus.serverGroup', + 'errorMessage' => 'The status of servergroup [%s] is incorrect.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteServerGroupResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</DeleteServerGroupResponse>","errorExample":""}]', + 'title' => '删除服务器组', + 'description' => '服务器组未被任何监听使用时支持删除。', + ], + 'RemoveServersFromServerGroup' => [ + 'summary' => '从网络型负载均衡服务器组中移除后端服务器。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-atstuj3rtoptyui****', + ], + ], + [ + 'name' => 'Servers', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '后端服务器列表,单次调用最多支持传入200个服务器。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表,单次调用最多支持传入200个服务器。', + 'type' => 'object', + 'properties' => [ + 'ServerId' => [ + 'title' => '服务器id', + 'description' => '后端服务器ID。'."\n" + ."\n" + .'- 当服务器组为**Instance**类型时,该参数为**Ecs**、**Eni**、**Eci**的资源ID。'."\n" + ."\n" + .'- 当服务器组为**Ip**类型时,该参数为IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'ServerType' => [ + 'title' => '服务器类型', + 'description' => '后端服务器类型,取值:'."\n" + ."\n" + .'- **Ecs**:ECS实例。'."\n" + .'- **Eni**:ENI弹性网卡实例。'."\n" + .'- **Eci**:ECI弹性容器。'."\n" + .'- **Ip**:Ip地址。', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + 'enum' => [], + ], + 'ServerIp' => [ + 'title' => '服务器ip', + 'description' => '服务器IP地址。当服务器组为**Ip**类型时,必须指定IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.6.6', + ], + 'Port' => [ + 'title' => '服务器端口', + 'description' => '后端服务器使用的端口。端口范围**0**~**65535**,不填则默认传入端口值**0**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '443', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<RemoveServersFromServerGroupResponse>', + 'description' => '移除后端服务器。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'IncorrectStatus.serverGroup', + 'errorMessage' => 'The status of servergroup [%s] is incorrect.', + ], + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IdempotenceSignatureMismatch', + 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.BackendServer', + 'errorMessage' => 'The specified resource of BackendServer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<RemoveServersFromServerGroupResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</RemoveServersFromServerGroupResponse>","errorExample":""}]', + 'title' => '移除后端服务器', + ], + 'UpdateServerGroupAttribute' => [ + 'summary' => '更新 NLB 服务器组的配置信息', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141878', + 'abilityTreeNodes' => [ + 'FEATUREslbVDXH6N', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'title' => '服务器组ID', + 'description' => '服务器组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-atstuj3rtoptyui****', + ], + ], + [ + 'name' => 'ServerGroupName', + 'in' => 'formData', + 'schema' => [ + 'description' => '修改后的服务器组名称。'."\n" + ."\n" + .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'NLB_ServerGroup1', + ], + ], + [ + 'name' => 'ConnectionDrainEnabled', + 'in' => 'formData', + 'schema' => [ + 'title' => '是否开启连接优雅中断', + 'description' => '是否开启连接优雅中断。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:不开启。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ConnectionDrainTimeout', + 'in' => 'formData', + 'schema' => [ + 'title' => '连接优雅中断超时时间', + 'description' => '设置连接优雅中断超时时间。单位:秒。取值范围:**0**~**900**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '10', + ], + ], + [ + 'name' => 'Scheduler', + 'in' => 'formData', + 'schema' => [ + 'title' => '调度类型', + 'description' => '调度算法。取值:'."\n" + ."\n" + .'- **Wrr**:加权轮询,权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + ."\n" + .'- **Wlc**:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的概率也越高。'."\n" + ."\n" + .'- **rr**:轮询,按照访问顺序依次将外部请求分发到后端服务器。'."\n" + ."\n" + .'- **sch**:源IP哈希:相同的源地址会调度到相同的后端服务器。'."\n" + ."\n" + .'- **tch**:四元组哈希,基于四元组(源IP、目的IP、源端口和目的端口)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n" + ."\n" + .'- **qch**:QUIC ID哈希,支持将同一个QUIC ID的请求哈希到同一台后端服务器上。'."\n" + ."\n" + .'> 仅后端协议为UDP时,支持选择QUIC ID哈希。', + 'type' => 'string', + 'required' => false, + 'example' => 'Wrr', + ], + ], + [ + 'name' => 'IpVersionAffinityMode', + 'in' => 'formData', + 'schema' => [ + 'description' => '双栈模式下的流量调度策略:'."\n" + ."\n" + .'- NonAffinity(默认):无亲和模式,转发时不区分来源的IP协议版本,按照调度算法向健康的后端转发。'."\n" + .'- Affinity:亲和模式,转发时根据请求来源的IP协议版本亲和转发,IPv4请求仅转发至IPv4后端,IPv6请求仅转发至IPv6后端。'."\n" + .'> 仅**AddressIPVersion**为**DualStack**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'Affinity', + 'enum' => [ + 'NonAffinity', + 'Affinity', + ], + ], + ], + [ + 'name' => 'PreserveClientIpEnabled', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否开启客户端地址保持功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。'."\n" + ."\n" + .'> 当**PreserveClientIpEnabled**参数取值为**false**且服务器组已关联**TCPSSL**监听时,不支持将该参数的值修改为**true**。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'HealthCheckConfig', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'title' => '健康检查配置', + 'description' => '健康检查相关配置。', + 'type' => 'object', + 'properties' => [ + 'HealthCheckEnabled' => [ + 'title' => '是否开启健康检查', + 'description' => '是否开启健康检查,取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + 'HealthCheckType' => [ + 'title' => '健康检查协议类型', + 'description' => '健康检查协议。取值:'."\n" + ."\n" + .'- **TCP**'."\n" + .'- **HTTP**'."\n" + .'- **UDP**', + 'type' => 'string', + 'required' => false, + 'example' => 'TCP', + ], + 'HealthCheckConnectPort' => [ + 'title' => '健康检查使用的端口', + 'description' => '健康检查的后端服务器的端口。取值范围:**0**~**65535**。**0**表示使用后端服务器的端口进行健康检查。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '0', + ], + 'HealthyThreshold' => [ + 'title' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由fail判定为success', + 'description' => '健康检查连续成功多少次后,将后端服务器的健康检查状态由**失败**判定为**成功**。取值范围:**2**~**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'UnhealthyThreshold' => [ + 'title' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由success判定为fail', + 'description' => '健康检查连续失败多少次后,将后端服务器的健康检查状态由**成功**判定为**失败**。取值范围:**2**~**10**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '3', + ], + 'HealthCheckConnectTimeout' => [ + 'title' => '健康检查响应的最大超时时间', + 'description' => '健康检查响应的最大超时时间。单位:秒。 取值范围:**1~300**。 默认值:**5**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + 'HealthCheckInterval' => [ + 'title' => '健康检查时间间隔', + 'description' => '健康检查的时间间隔。单位:秒,默认值:**5**。'."\n" + ."\n" + .'- **HealthCheckType**为**TCP**或者**HTTP**时,取值范围为:**1~50**。'."\n" + ."\n" + .'- **HealthCheckType**为**UDP**时,取值范围为:**1~300**,您需要设置间隔时间>=响应超时时间,以确保UDP探测回包不会因为超时而被误判为未响应。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '5', + ], + 'HealthCheckDomain' => [ + 'title' => '健康检查的域名', + 'description' => '用于健康检查的域名。取值:'."\n" + .'- **$SERVER_IP**:使用后端服务器内网IP。'."\n" + .'- **domain**:指定特定域名。长度限制1~80个字符,只能使用小写字母、数字、短划线(-)、半角句号(.)。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => '$SERVER_IP', + ], + 'HealthCheckUrl' => [ + 'title' => '健康检查的url', + 'description' => '健康检查路径。'."\n" + ."\n" + .'长度为1~80个字符,只能使用字母、数字、字符`-/.%?#&=`以及扩展字符`_;~!()*[]@$^:\',+`。 必须以正斜线(/)开头。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => '/test/index.html', + ], + 'HealthCheckHttpCode' => [ + 'title' => '状态码,多个状态码用逗号分隔', + 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n" + .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'array', + 'items' => [ + 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n" + .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'http_2xx', + ], + 'required' => false, + ], + 'HttpCheckMethod' => [ + 'description' => '健康检查方法,取值:**GET**或**HEAD**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'GET', + 'enum' => [], + ], + 'HealthCheckReq' => [ + 'description' => 'UDP监听健康检查的请求串。只允许包含字母、数字,最大长度限制为512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'hello', + ], + 'HealthCheckExp' => [ + 'description' => 'UDP监听健康检查的响应串。只允许包含字母、数字,最大长度限制为512个字符。', + 'type' => 'string', + 'required' => false, + 'example' => 'ok', + ], + 'HealthCheckHttpVersion' => [ + 'description' => '健康检查HTTP协议版本,取值:**HTTP1.0**或**HTTP1.1**。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'required' => false, + 'example' => 'HTTP1.0', + 'enum' => [ + 'HTTP1.0', + 'HTTP1.1', + ], + ], + ], + 'required' => false, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会更新服务器组信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => ' 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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<UpdateServerGroupAttributeResponse>', + 'description' => '更新服务器组配置。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam.healthCheckDomain', + 'errorMessage' => 'The parameter of healthCheckConfig.healthCheckDomain is illegal.', + ], + [ + 'errorCode' => 'IlleagalParam.healthCheckUrl', + 'errorMessage' => 'The parameter of healthCheckUrl in healthCheckConfig is illegal.', + ], + [ + 'errorCode' => 'OperationDenied.UidNotAllowQuic29', + 'errorMessage' => 'The operation is not allowed because of uid not allow quic29 version.', + ], + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'DryRunOperation', + 'errorMessage' => 'Request validation has been passed with DryRun flag set.', + ], + [ + 'errorCode' => 'IllegalParam.ServerGroupName', + 'errorMessage' => 'The param of ServerGroupName is illegal.', + ], + [ + 'errorCode' => 'IllegalParam.PreserveClientIpSwitch', + 'errorMessage' => 'The server group associated with the tcpssl listener does not support enabling PreserveClientIp.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateServerGroupAttributeResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UpdateServerGroupAttributeResponse>","errorExample":""}]', + 'title' => '更新服务器组配置', + ], + 'UpdateServerGroupServersAttribute' => [ + 'summary' => '更新网络型负载均衡服务器组中后端服务器的权重和描述信息。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeNodes' => [ + 'FEATUREslb3GOGI0', + 'FEATUREslbBEALOE', + 'FEATUREslb3DZO9R', + 'FEATUREslbWFW5HS', + 'FEATUREslbBYQ1MP', + 'FEATUREslbYU1H2O', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sgp-atstuj3rtoptyui****', + ], + ], + [ + 'name' => 'Servers', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '后端服务器列表,单次调用最多支持传入200个后端服务器。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器列表,单次调用最多支持传入200个后端服务器。', + 'type' => 'object', + 'properties' => [ + 'ServerId' => [ + 'title' => '服务器id', + 'description' => '后端服务器ID。'."\n" + ."\n" + .'- 当服务器组为**Instance**类型时,该参数为**Ecs**、**Eni**、**Eci**的资源ID。'."\n" + ."\n" + .'- 当服务器组为**Ip**类型时,该参数为IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'ServerType' => [ + 'title' => '服务器类型', + 'description' => '后端服务器类型,取值:'."\n" + ."\n" + .'- **Ecs**:ECS实例。'."\n" + .'- **Eni**:ENI弹性网卡实例。'."\n" + .'- **Eci**:ECI弹性容器。'."\n" + .'- **Ip**:IP地址。', + 'type' => 'string', + 'required' => true, + 'example' => 'Ecs', + 'enum' => [], + ], + 'ServerIp' => [ + 'title' => '服务器ip', + 'description' => '服务器IP地址。当服务器组为**Ip**类型时,必须指定IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.6.6', + ], + 'Port' => [ + 'title' => '服务器端口', + 'description' => '后端服务器使用的端口。取值范围:**1**~**65535**。'."\n" + ."\n" + .'> 该参数暂不支持修改。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => true, + 'example' => '443', + ], + 'Weight' => [ + 'title' => '后端权重', + 'description' => '后端服务器的权重,取值范围:**0**~**100**。默认值为**100**。如果设置权重为**0**,则不会将请求转发给该后端服务器。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '100', + ], + 'Description' => [ + 'title' => '服务器描述信息', + 'description' => '服务器描述信息。'."\n" + ."\n" + .'长度限制为2-256个字符,可包含英文字母、数字、中文、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => '后端服务器描述', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 200, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会更新服务器配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + 'default' => '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<UpdateServerGroupServersAttributeResponse>', + 'description' => '更新后端服务器配置。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IncorrectStatus.serverGroup', + 'errorMessage' => 'The status of servergroup [%s] is incorrect.', + ], + [ + 'errorCode' => 'Conflict.Lock', + 'errorMessage' => 'The Lock [%s] is conflict.', + ], + [ + 'errorCode' => 'IllegalParam.%s', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.%s', + 'errorMessage' => 'Authentication is failed for %s.', + ], + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.BackendServer', + 'errorMessage' => 'The specified resource of BackendServer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateServerGroupServersAttributeResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UpdateServerGroupServersAttributeResponse>","errorExample":""}]', + 'title' => '更新后端服务器配置', + 'description' => '**UpdateServerGroupServersAttribute**接口属于异步接口,即系统返回一个请求ID,但该后端服务器配置信息尚未添加成功,系统后台的添加任务仍在进行。'."\n" + .'1. 您可以调用[ListServerGroups](~~445895~~)查询服务器组状态:'."\n" + .' - 当服务器组处于**Configuring**状态时,表示服务器组正在变配中。'."\n" + .' - 当服务器组处于**Available**状态时,表示服务器组运行中。'."\n" + ."\n" + .'2. 您可以调用[ListServerGroupServers](~~445896~~)查询后端服务器状态:'."\n" + .' - 当后端服务器处于**Configuring**状态时,表示后端服务器正在变配中。'."\n" + .' - 当后端服务器处于**Available**状态时,表示后端服务器运行中。', + ], + 'ListServerGroups' => [ + 'summary' => '查询网络型负载均衡实例的服务器组列表', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '141872', + 'abilityTreeNodes' => [ + 'FEATUREslbVDXH6N', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServerGroupIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '服务器组ID。一次最多支持查询20个服务器组ID。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器组ID。一次最多支持查询20个服务器组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ServerGroupNames', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '服务器组名称,一次最多支持查询20个服务器组名称。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器组名称,一次最多支持查询20个服务器组名称。', + 'type' => 'string', + 'required' => false, + 'example' => 'NLB_ServerGroup', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务器组所属的资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-atstuj3rtop****', + ], + ], + [ + 'name' => 'ServerGroupType', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务器组类型。取值:'."\n" + ."\n" + .'- **Instance**:服务器类型,该类型服务器组支持添加**Ecs**、**Ens**、**Eci**类型实例。'."\n" + .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址。', + 'type' => 'string', + 'required' => false, + 'example' => 'Instance', + ], + ], + [ + 'name' => 'VpcId', + 'in' => 'formData', + 'schema' => [ + 'title' => '服务器组所在vpc的id', + 'description' => '服务器组所在VPC的ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持10个标签键。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或`者https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + 'Value' => [ + 'description' => '标签值。最多支持10个标签值。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListServerGroupsResponse>', + 'description' => '查询服务器组。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B28E3D-DF70-471B-AA93-08E683A1B45', + ], + 'ServerGroups' => [ + 'description' => '后端服务器组列表。', + 'type' => 'array', + 'items' => [ + 'description' => '后端服务器组列表。', + 'type' => 'object', + 'properties' => [ + 'RegionId' => [ + 'title' => '业务region', + 'description' => '网络型负载均衡实例所在的地域ID。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'ServerGroupId' => [ + 'title' => '服务器组id', + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'ServerGroupName' => [ + 'title' => '服务器组名称', + 'description' => '服务器组名称。', + 'type' => 'string', + 'example' => 'NLB_ServerGroup', + ], + 'ServerGroupType' => [ + 'title' => '服务器组类型', + 'description' => '服务器组类型。取值:'."\n" + ."\n" + .'- **Instance**:服务器类型,该类型服务器组支持添加**Ecs**、**Ens**、**Eci**类型实例。'."\n" + .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址。', + 'type' => 'string', + 'example' => 'Instance', + ], + 'AddressIPVersion' => [ + 'title' => '服务器组地址类型', + 'description' => '协议版本。取值:'."\n" + ."\n" + .'- **Ipv4**:ipv4类型。'."\n" + .'- **DualStack**:双栈类型。', + 'type' => 'string', + 'example' => 'ipv4', + ], + 'VpcId' => [ + 'title' => '服务器组的vpcid', + 'description' => '服务器组所在VPC的ID。', + 'type' => 'string', + 'example' => 'vpc-bp15zckdt37pq72zv****', + ], + 'Scheduler' => [ + 'title' => '调度类型', + 'description' => '调度算法。取值:'."\n" + ."\n" + .'- **Wrr**:加权轮询,权重值越高的后端服务器,被轮询到的概率也越高。'."\n" + .'- **Wlc**:加权最小连接数,除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载(即连接数)。当权重值相同时,当前连接数越小的后端服务器被轮询到的概率也越高。'."\n" + .'- **rr**:轮询,按照访问顺序依次将外部请求分发到后端服务器sch:源IP哈希:相同的源地址会调度到相同的后端服务器。'."\n" + .'- **sch**:源IP哈希,相同的源地址会调度到相同的后端服务器。'."\n" + .'- **tch**:四元组哈希,基于四元组(源IP、目的IP、源端口和目的端口)的一致性哈希,相同的流会调度到相同的后端服务器。'."\n" + .'- **qch**:QUIC ID哈希,支持将同一个QUIC ID的请求哈希到同一台后端服务器上。', + 'type' => 'string', + 'example' => 'Wrr', + ], + 'Protocol' => [ + 'title' => '后端协议', + 'description' => '后端转发协议,取值:**TCP**、**UDP**。', + 'type' => 'string', + 'example' => 'TCP', + ], + 'HealthCheck' => [ + 'title' => '健康检查配置', + 'description' => '健康检查配置信息。', + 'type' => 'object', + 'properties' => [ + 'HealthCheckEnabled' => [ + 'title' => '是否开启健康检查', + 'description' => '是否开启健康检查,取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'HealthCheckType' => [ + 'title' => '健康检查协议类型', + 'description' => '健康检查协议。取值:'."\n" + ."\n" + .'- **TCP**'."\n" + .'- **HTTP**'."\n" + .'- **UDP**', + 'type' => 'string', + 'example' => 'TCP', + ], + 'HealthCheckConnectPort' => [ + 'title' => '健康检查使用的端口', + 'description' => '健康检查的后端服务器的端口。'."\n" + ."\n" + .'取值范围: **0**~**65535**。'."\n" + ."\n" + .'**0**表示使用后端服务器的端口进行健康检查。'."\n", + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + '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' => '3', + ], + 'HealthCheckConnectTimeout' => [ + 'title' => '健康检查响应的最大超时时间', + 'description' => '健康检查响应的最大超时时间。单位:秒,默认值:**5**。'."\n" + ."\n" + .'取值范围:**1**~**300**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'HealthCheckInterval' => [ + 'title' => '健康检查时间间隔', + 'description' => '健康检查的时间间隔。单位:秒,默认值:**5**。'."\n" + ."\n" + .'- **HealthCheckType**为**TCP**或者**HTTP**时,取值范围为:**1~50**。'."\n" + .'- **HealthCheckType**为**UDP**时,取值范围为:**1~300**,您需要设置间隔时间>=响应超时时间,以确保UDP探测回包不会因为超时而被误判为未响应。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'HealthCheckDomain' => [ + 'title' => '健康检查的域名', + 'description' => '用于健康检查的域名。取值:'."\n" + ."\n" + .'- **$SERVER_IP**:使用后端服务器内网IP。'."\n" + ."\n" + .'- **domain**:指定特定域名。长度限制1~80个字符,只能使用小写字母、数字、短划线(-)、半角句号(.)。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'example' => '$SERVER_IP', + ], + 'HealthCheckUrl' => [ + 'title' => '健康检查的url', + 'description' => '健康检查路径。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'example' => '/test/index.html', + ], + 'HealthCheckHttpCode' => [ + 'title' => '状态码,多个状态码用逗号分隔', + 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n" + .'取值:**http\\_2xx**、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'array', + 'items' => [ + 'description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n" + .'取值:**http\\_2xx**、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'example' => 'http_2xx', + ], + ], + 'HttpCheckMethod' => [ + 'description' => '健康检查方法,取值:**GET**或**HEAD**。'."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'example' => 'GET', + ], + 'HealthCheckReq' => [ + 'description' => 'UDP 监听健康检查的请求串。只允许包含字母、数字,最大长度限制为 512 个字符。', + 'type' => 'string', + 'example' => 'hello', + ], + 'HealthCheckExp' => [ + 'description' => 'UDP 监听健康检查的响应串。只允许包含字母、数字,最大长度限制为 512 个字符。', + 'type' => 'string', + 'example' => 'ok', + ], + 'HealthCheckHttpVersion' => [ + 'description' => '健康检查HTTP协议版本,取值:**HTTP1.0**或**HTTP1.1**。'."\n" + ."\n" + .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', + 'type' => 'string', + 'example' => 'HTTP1.0', + ], + ], + ], + 'ConnectionDrainEnabled' => [ + 'title' => '连接优雅中断开关', + 'description' => '是否开启连接优雅中断。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ConnectionDrainTimeout' => [ + 'title' => '连接优雅中断超时时间', + 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n" + .'取值范围:**10**~**900**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'PreserveClientIpEnabled' => [ + 'title' => '客户端地址保持开关', + 'description' => '是否开启客户端地址保持功能。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + .'- **false**:关闭。'."\n" + ."\n" + .'> 特殊说明:**AddressIPVersion**为**ipv4**类型时默认为**true**。**AddressIPVersion**为**ipv6**值时只能是**false**,后续待底层支持后可以为**true**。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'AnyPortEnabled' => [ + 'description' => '是否开启全端口转发。取值:'."\n" + ."\n" + .'- **true**:开启。'."\n" + ."\n" + .'- **false**:关闭。', + 'type' => 'boolean', + 'example' => 'false', + ], + 'ResourceGroupId' => [ + 'title' => '资源组id', + 'description' => '服务器组所属的资源组ID。', + 'type' => 'string', + 'example' => 'rg-atstuj3rtop****', + ], + 'ServerGroupStatus' => [ + 'title' => '状态', + 'description' => '服务器组状态。取值:'."\n" + ."\n" + .'- **Creating**:创建中。'."\n" + .'- **Available**:可用。'."\n" + .'- **Configuring**:变配中。', + 'type' => 'string', + 'example' => 'Available', + ], + 'AliUid' => [ + 'description' => '用户UID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '165820696622****', + ], + 'Tags' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持10个标签键。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或`者https://`。', + 'type' => 'string', + 'example' => 'Test', + ], + 'Value' => [ + 'description' => '标签值。最多支持10个标签值。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'Test', + ], + ], + ], + ], + 'RelatedLoadBalancerIds' => [ + 'description' => '网络型负载均衡实例列表。', + 'type' => 'array', + 'items' => [ + 'description' => '网络型负载均衡实例列表。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + 'ServerCount' => [ + 'description' => '后端服务器数量。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '2', + ], + 'IpVersionAffinityMode' => [ + 'description' => '双栈模式下的流量调度策略:'."\n" + ."\n" + .'- NonAffinity(默认):无亲和模式,转发时不区分来源的IP协议版本,按照调度算法向健康的后端转发。'."\n" + .'- Affinity:亲和模式,转发时根据请求来源的IP协议版本亲和转发,IPv4请求仅转发至IPv4后端,IPv6请求仅转发至IPv6后端。'."\n" + .'> 仅**AddressIPVersion**为**DualStack**时,该参数生效。', + 'type' => 'string', + 'example' => 'Affinity', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '1', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.%s', + 'errorMessage' => 'Authentication is failed for %s.', + ], + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B28E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"ServerGroups\\": [\\n {\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"ServerGroupName\\": \\"NLB_ServerGroup\\",\\n \\"ServerGroupType\\": \\"Instance\\",\\n \\"AddressIPVersion\\": \\"ipv4\\",\\n \\"VpcId\\": \\"vpc-bp15zckdt37pq72zv****\\",\\n \\"Scheduler\\": \\"Wrr\\",\\n \\"Protocol\\": \\"TCP\\",\\n \\"HealthCheck\\": {\\n \\"HealthCheckEnabled\\": false,\\n \\"HealthCheckType\\": \\"TCP\\",\\n \\"HealthCheckConnectPort\\": 200,\\n \\"HealthyThreshold\\": 2,\\n \\"UnhealthyThreshold\\": 3,\\n \\"HealthCheckConnectTimeout\\": 200,\\n \\"HealthCheckInterval\\": 10,\\n \\"HealthCheckDomain\\": \\"$SERVER_IP\\",\\n \\"HealthCheckUrl\\": \\"/test/index.html\\",\\n \\"HealthCheckHttpCode\\": [\\n \\"http_2xx\\"\\n ],\\n \\"HttpCheckMethod\\": \\"GET\\",\\n \\"HealthCheckReq\\": \\"hello\\",\\n \\"HealthCheckExp\\": \\"ok\\",\\n \\"HealthCheckHttpVersion\\": \\"HTTP1.0\\"\\n },\\n \\"ConnectionDrainEnabled\\": false,\\n \\"ConnectionDrainTimeout\\": 200,\\n \\"PreserveClientIpEnabled\\": true,\\n \\"AnyPortEnabled\\": false,\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"ServerGroupStatus\\": \\"Available\\",\\n \\"AliUid\\": 0,\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"Test\\",\\n \\"Value\\": \\"Test\\"\\n }\\n ],\\n \\"RelatedLoadBalancerIds\\": [\\n \\"nlb-83ckzc8d4xlp8o****\\"\\n ],\\n \\"ServerCount\\": 2,\\n \\"IpVersionAffinityMode\\": \\"Affinity\\"\\n }\\n ],\\n \\"TotalCount\\": 1,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListServerGroupsResponse>\\n <RequestId>54B28E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <ServerGroups>\\n <RegionId>cn-hangzhou</RegionId>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <ServerGroupName>NLB_ServerGroup</ServerGroupName>\\n <ServerGroupType>Instance</ServerGroupType>\\n <AddressIPVersion>ipv4</AddressIPVersion>\\n <VpcId>vpc-bp15zckdt37pq72zv****</VpcId>\\n <Scheduler>Wrr</Scheduler>\\n <Protocol>TCP</Protocol>\\n <HealthCheck>\\n <HealthCheckEnabled>false</HealthCheckEnabled>\\n <HealthCheckType>TCP</HealthCheckType>\\n <HealthCheckConnectPort>200</HealthCheckConnectPort>\\n <HealthyThreshold>2</HealthyThreshold>\\n <UnhealthyThreshold>3</UnhealthyThreshold>\\n <HealthCheckConnectTimeout>200</HealthCheckConnectTimeout>\\n <HealthCheckInterval>200</HealthCheckInterval>\\n <HealthCheckDomain>$SERVER_IP</HealthCheckDomain>\\n <HealthCheckUrl>/test/index.html</HealthCheckUrl>\\n <HealthCheckHttpCode>http2xx</HealthCheckHttpCode>\\n <HttpCheckMethod>GET</HttpCheckMethod>\\n </HealthCheck>\\n <ConnectionDrainEnabled>false</ConnectionDrainEnabled>\\n <ConnectionDrainTimeout>200</ConnectionDrainTimeout>\\n <PreserveClientIpEnabled>true</PreserveClientIpEnabled>\\n <AnyPortEnabled>false</AnyPortEnabled>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <ServerGroupStatus>Available</ServerGroupStatus>\\n <Tags>\\n <Key>Test</Key>\\n <Value>Test</Value>\\n </Tags>\\n <RelatedLoadBalancerIds>nlb-83ckzc8d4xlp8o****</RelatedLoadBalancerIds>\\n <ServerCount>2</ServerCount>\\n </ServerGroups>\\n <TotalCount>1</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</ListServerGroupsResponse>","errorExample":""}]', + 'title' => '查询服务器组', + ], + 'ListServerGroupServers' => [ + 'summary' => '查询网络型负载均衡服务器组中的服务器列表。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '141867', + 'abilityTreeNodes' => [ + 'FEATUREslb3GOGI0', + ], + ], + 'parameters' => [ + [ + 'name' => 'ServerGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'sgp-atstuj3rtoptyui****', + ], + ], + [ + 'name' => 'ServerIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '服务器ID列表。单次调用最多支持展示40个服务器。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器ID列表。单次调用最多支持展示40个服务器。', + 'type' => 'string', + 'required' => false, + 'example' => 'i-bp67acfmxazb4p****', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'ServerIps', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '服务器IP列表。单次调用最多支持展示40个服务器。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器IP列表。单次调用最多支持展示40个服务器。', + 'type' => 'string', + 'required' => false, + 'example' => '192.168.6.3', + ], + 'required' => false, + 'maxItems' => 100, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListServerGroupServersResponse>', + 'description' => '查询服务器。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'Servers' => [ + 'description' => '服务器列表。', + 'type' => 'array', + 'items' => [ + 'description' => '服务器列表。', + 'type' => 'object', + 'properties' => [ + 'ServerId' => [ + 'title' => '服务器id', + 'description' => '后端服务器ID。', + 'type' => 'string', + 'example' => 'i-bp67acfmxazb4p****', + ], + 'ServerType' => [ + 'title' => '服务器类型', + 'description' => '后端服务器类型,取值:'."\n" + ."\n" + .'- **Ecs**:ECS实例。'."\n" + .'- **Eni**:ENI弹性网卡实例。'."\n" + .'- **Eci**:ECI弹性容器。'."\n" + .'- **Ip**:IP地址。', + 'type' => 'string', + 'example' => 'Ecs', + ], + 'ServerIp' => [ + 'title' => '服务器ip', + 'description' => '后端服务器IP地址。', + 'type' => 'string', + 'example' => '192.168.2.1', + ], + 'Port' => [ + 'title' => '服务器端口', + 'description' => '后端服务器使用的端口。取值范围:**1**~**65535**。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '80', + ], + 'Weight' => [ + 'title' => '后端权重', + 'description' => '后端服务器的权重。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '100', + ], + 'ServerGroupId' => [ + 'description' => '服务器组ID。', + 'type' => 'string', + 'example' => 'sgp-atstuj3rtoptyui****', + ], + 'Description' => [ + 'title' => '服务器描述信息', + 'description' => '后端服务器描述。', + 'type' => 'string', + 'example' => 'ECS', + ], + 'ZoneId' => [ + 'title' => '服务器对应的zoneId', + 'description' => '服务器对应的可用区ID。'."\n", + 'type' => 'string', + 'example' => 'cn-hangzhou-a', + ], + 'Status' => [ + 'title' => '服务器的状态', + 'description' => '后端服务器的添加状态。取值:'."\n" + ."\n" + .'- **Adding**:添加中。'."\n" + .'- **Available**:正常可用状态。'."\n" + .'- **Configuring**:配置中。'."\n" + .'- **Removing**:移除中。', + 'type' => 'string', + 'example' => 'Available', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"Servers\\": [\\n {\\n \\"ServerId\\": \\"i-bp67acfmxazb4p****\\",\\n \\"ServerType\\": \\"Ecs\\",\\n \\"ServerIp\\": \\"192.168.2.1\\",\\n \\"Port\\": 80,\\n \\"Weight\\": 100,\\n \\"ServerGroupId\\": \\"sgp-atstuj3rtoptyui****\\",\\n \\"Description\\": \\"ECS\\",\\n \\"ZoneId\\": \\"cn-hangzhou-a\\",\\n \\"Status\\": \\"Available\\"\\n }\\n ],\\n \\"TotalCount\\": 10,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListServerGroupServersResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <Servers>\\n <ServerId>ecs-bp67acfmxazb4p****</ServerId>\\n <ServerType>Ecs</ServerType>\\n <ServerIp>192.168.2.1</ServerIp>\\n <Port>80</Port>\\n <Weight>100</Weight>\\n <ServerGroupId>sgp-atstuj3rtoptyui****</ServerGroupId>\\n <Description>ECS</Description>\\n <ZoneId>cn-hangzhou-a</ZoneId>\\n <Status>Available</Status>\\n </Servers>\\n <TotalCount>10</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</ListServerGroupServersResponse>","errorExample":""}]', + 'title' => '查询服务器', + ], + 'DetachCommonBandwidthPackageFromLoadBalancer' => [ + 'summary' => '解绑网络型负载均衡实例中的共享带宽包。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'formData', + 'schema' => [ + 'description' => '需要移除的共享带宽包ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cbwp-bp1pzf0ym72pu3y76****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '解绑共享带宽包。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.%s', + 'errorMessage' => 'The operation is not allowed because of %s.', + ], + [ + 'errorCode' => 'ResourceNotAssociated.loadbalancer', + 'errorMessage' => 'Thre resource is not associated with loadbalancer.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<DetachCommonBandwidthPackageFromLoadBalancerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</DetachCommonBandwidthPackageFromLoadBalancerResponse>","errorExample":""}]', + 'title' => '实例解绑共享带宽包', + ], + 'AttachCommonBandwidthPackageToLoadBalancer' => [ + 'summary' => '为网络型负载均衡实例绑定共享带宽包。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '141865', + 'abilityTreeNodes' => [ + 'FEATUREslb12YEWG', + ], + ], + 'parameters' => [ + [ + 'name' => 'LoadBalancerId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + [ + 'name' => 'BandwidthPackageId', + 'in' => 'formData', + 'schema' => [ + 'description' => '绑定的共享带宽包ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cbwp-bp1pzf0ym72pu3y76****', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'response', + 'description' => '实例绑定共享带宽包。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'OperationDenied.IntranetLoadBalancer', + 'errorMessage' => 'The operation is not allowed because of IntranetLoadBalancer.', + ], + [ + 'errorCode' => 'ResourceAlreadyAssociated.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is already associated.', + ], + [ + 'errorCode' => 'ResourceInConfiguring.loadbalancer', + 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.BandwidthPackageId', + 'errorMessage' => 'The specified resource of BandwidthPackageId is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.CommonBandwidthPackage', + 'errorMessage' => 'The specified resource of CommonBandwidthPackage is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<AttachCommonBandwidthPackageToLoadBalancerResponse>\\n <RequestId>CEF72CEB-54B6-4AE8-B225-F876FF7BA984</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</AttachCommonBandwidthPackageToLoadBalancerResponse>","errorExample":""}]', + 'title' => '实例绑定共享带宽包', + ], + 'CreateSecurityPolicy' => [ + 'summary' => '在指定地域创建TCPSSL监听的自定义安全策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '141883', + 'abilityTreeNodes' => [ + 'FEATUREslbAZREFH', + ], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'TlsVersions', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '支持的TLS协议版本,取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的TLS协议版本,取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', + 'type' => 'string', + 'required' => false, + 'example' => 'TLSv1.0', + ], + 'required' => true, + 'maxItems' => 4, + 'minItems' => 1, + ], + ], + [ + 'name' => 'SecurityPolicyName', + 'in' => 'formData', + 'schema' => [ + 'description' => '安全策略名称。'."\n" + ."\n" + .'长度为1~200个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'TLSCipherPolicy', + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-atstuj3rtop****', + ], + ], + [ + 'name' => 'Ciphers', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" + .'- **AES128-GCM-SHA256**'."\n" + .'- **AES256-GCM-SHA384**'."\n" + .'- **AES128-SHA256**'."\n" + .'- **AES256-SHA256**'."\n" + .'- **ECDHE-ECDSA-CHACHA20-POLY1305**'."\n" + .'- **ECDHE-RSA-CHACHA20-POLY1305**'."\n" + ."\n" + .'TLSv1.3支持:'."\n" + .'- **TLS_AES_128_GCM_SHA256**'."\n" + .'- **TLS_AES_256_GCM_SHA384**'."\n" + .'- **TLS_CHACHA20_POLY1305_SHA256**'."\n" + .'- **TLS_AES_128_CCM_SHA256**'."\n" + .'- **TLS_AES_128_CCM_8_SHA256**', + 'type' => 'array', + 'items' => [ + 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" + .'- **AES128-GCM-SHA256**'."\n" + .'- **AES256-GCM-SHA384**'."\n" + .'- **AES128-SHA256**'."\n" + .'- **AES256-SHA256**'."\n" + .'- **ECDHE-ECDSA-CHACHA20-POLY1305**'."\n" + .'- **ECDHE-RSA-CHACHA20-POLY1305**'."\n" + ."\n" + .'TLSv1.3支持:'."\n" + .'- **TLS_AES_128_GCM_SHA256**'."\n" + .'- **TLS_AES_256_GCM_SHA384**'."\n" + .'- **TLS_CHACHA20_POLY1305_SHA256**'."\n" + .'- **TLS_AES_128_CCM_SHA256**'."\n" + .'- **TLS_AES_128_CCM_8_SHA256**', + 'type' => 'string', + 'required' => false, + 'example' => 'ECDHE-ECDSA-AES128-SHA', + ], + 'required' => true, + 'maxItems' => 32, + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'allowEmptyValue' => true, + 'style' => 'repeatList', + 'schema' => [ + 'description' => '标签列表。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'KeyTest', + ], + 'Value' => [ + 'description' => '标签值。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'ValueTest', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<CreateSecurityPolicyResponse>', + 'description' => '创建自定义安全策略。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', + ], + 'SecurityPolicyId' => [ + 'description' => 'TLS安全策略ID。', + 'type' => 'string', + 'example' => 'sp-wuytp9pa******', + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\",\\n \\"SecurityPolicyId\\": \\"sp-wuytp9pa******\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<CreateSecurityPolicyResponse>\\n <RequestId>D7A8875F-373A-5F48-8484-25B07A61F2AF</RequestId>\\n <SecurityPolicyId>tls-bp14bb1e7dll4f****</SecurityPolicyId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</CreateSecurityPolicyResponse>","errorExample":""}]', + 'title' => '创建自定义安全策略', + ], + 'DeleteSecurityPolicy' => [ + 'summary' => '删除网络型负载均衡TLS自定义安全策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + ], + 'parameters' => [ + [ + 'name' => 'SecurityPolicyId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'TLS安全策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sp-wuytp9pa******'."\n", + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<DeleteSecurityPolicyResponse>', + 'description' => '删除TLS自定义安全策略。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'ResourceInUse.SecurityPolicy', + 'errorMessage' => 'The specified resource of SecurityPolicy is in use.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.securitypolicy', + 'errorMessage' => 'The specified resource of securitypolicy is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\"\\n}","errorExample":""},{"type":"xml","example":"<DeleteSecurityPolicyResponse>\\n <RequestId>D7A8875F-373A-5F48-8484-25B07A61F2AF</RequestId>\\n</DeleteSecurityPolicyResponse>","errorExample":""}]', + 'title' => '删除自定义安全策略', + ], + 'UpdateSecurityPolicyAttribute' => [ + 'summary' => '更新网络型负载均衡自定义安全策略属性。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'abilityTreeCode' => '141876', + 'abilityTreeNodes' => [ + 'FEATUREslbGDCN1S', + ], + ], + 'parameters' => [ + [ + 'name' => 'TlsVersions', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '支持的TLS协议版本,取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', + 'type' => 'array', + 'items' => [ + 'description' => '支持的TLS协议版本,取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。最多支持添加4个TLS协议版本。', + 'type' => 'string', + 'required' => false, + 'example' => 'TLSv1.0', + ], + 'required' => false, + 'maxItems' => 4, + 'minItems' => 1, + ], + ], + [ + 'name' => 'SecurityPolicyId', + 'in' => 'formData', + 'schema' => [ + 'description' => 'TLS安全策略ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'sp-wuytp9pa******'."\n", + ], + ], + [ + 'name' => 'SecurityPolicyName', + 'in' => 'formData', + 'schema' => [ + 'description' => '安全策略名称。'."\n" + ."\n" + .'长度为1~200个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', + 'type' => 'string', + 'required' => false, + 'example' => 'TLSCipherPolicy', + ], + ], + [ + 'name' => 'Ciphers', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" + .'- **AES128-GCM-SHA256**'."\n" + .'- **AES256-GCM-SHA384**'."\n" + .'- **AES128-SHA256**'."\n" + .'- **AES256-SHA256**'."\n" + .'- **ECDHE-ECDSA-CHACHA20-POLY1305**'."\n" + .'- **ECDHE-RSA-CHACHA20-POLY1305**'."\n" + ."\n" + .'TLSv1.3支持:'."\n" + .'- **TLS_AES_128_GCM_SHA256**'."\n" + .'- **TLS_AES_256_GCM_SHA384**'."\n" + .'- **TLS_CHACHA20_POLY1305_SHA256**'."\n" + .'- **TLS_AES_128_CCM_SHA256**'."\n" + .'- **TLS_AES_128_CCM_8_SHA256**', + 'type' => 'array', + 'items' => [ + 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" + .'- **AES128-GCM-SHA256**'."\n" + .'- **AES256-GCM-SHA384**'."\n" + .'- **AES128-SHA256**'."\n" + .'- **AES256-SHA256**'."\n" + .'- **ECDHE-ECDSA-CHACHA20-POLY1305**'."\n" + .'- **ECDHE-RSA-CHACHA20-POLY1305**'."\n" + ."\n\n" + .'TLSv1.3支持:'."\n" + .'- **TLS_AES_128_GCM_SHA256**'."\n" + .'- **TLS_AES_256_GCM_SHA384**'."\n" + .'- **TLS_CHACHA20_POLY1305_SHA256**'."\n" + .'- **TLS_AES_128_CCM_SHA256**'."\n" + .'- **TLS_AES_128_CCM_8_SHA256**', + 'type' => 'string', + 'required' => false, + 'example' => 'ECDHE-ECDSA-AES128-SHA', + ], + 'required' => false, + 'maxItems' => 32, + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + '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', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<UpdateSecurityPolicyAttributeResponse>', + 'description' => '更新安全策略属性。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', + ], + 'SecurityPolicyId' => [ + 'description' => 'TLS安全策略ID。', + 'type' => 'string', + 'example' => 'sp-wuytp9pa******'."\n", + ], + 'JobId' => [ + 'description' => '异步任务ID。', + 'type' => 'string', + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.PreserveClientIpSwitch', + 'errorMessage' => 'The param of PreserveClientIpSwitch is illegal.', + ], + [ + 'errorCode' => 'UpdateSecurityPolicyFailed', + 'errorMessage' => 'The operation failed because of Security Policy is not changed.', + ], + ], + 404 => [ + [ + 'errorCode' => 'ResourceNotFound.securitypolicy', + 'errorMessage' => 'The specified resource of securitypolicy is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\",\\n \\"SecurityPolicyId\\": \\"sp-wuytp9pa******\\\\n\\",\\n \\"JobId\\": \\"72dcd26b-f12d-4c27-b3af-18f6aed5****\\"\\n}","errorExample":""},{"type":"xml","example":"<UpdateSecurityPolicyAttributeResponse>\\n <RequestId>D7A8875F-373A-5F48-8484-25B07A61F2AF</RequestId>\\n <SecurityPolicyId>tls-bp14bb1e7dll4f****</SecurityPolicyId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UpdateSecurityPolicyAttributeResponse>","errorExample":""}]', + 'title' => '更新自定义安全策略属性', + ], + 'ListSecurityPolicy' => [ + 'summary' => '查询网络型负载均衡的TLS自定义安全策略。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '141862', + 'abilityTreeNodes' => [ + 'FEATUREslbAZREFH', + ], + ], + 'parameters' => [ + [ + 'name' => 'SecurityPolicyIds', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全策略实例ID列表。最多支持添加20个安全策略实例。', + 'type' => 'array', + 'items' => [ + 'description' => '安全策略实例ID列表。最多支持添加20个安全策略实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'sp-wuytp9pa******'."\n", + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'SecurityPolicyNames', + 'in' => 'formData', + 'style' => 'repeatList', + 'schema' => [ + 'description' => '安全策略名称列表。最多支持添加20个安全策略实例。', + 'type' => 'array', + 'items' => [ + 'description' => '安全策略名称列表。最多支持添加20个安全策略实例。', + 'type' => 'string', + 'required' => false, + 'example' => 'TLSCipherPolicy', + ], + 'required' => false, + 'maxItems' => 20, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持10个标签键。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + 'Value' => [ + 'description' => '标签值。最多支持10个标签值。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'Test', + ], + ], + 'required' => false, + ], + 'required' => false, + ], + ], + [ + 'name' => 'ResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'rg-atstuj3rtop****', + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListSecurityPolicyResponse>', + 'description' => '查询TLS安全策略。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF', + ], + 'SecurityPolicies' => [ + 'description' => 'TLS安全策略列表。', + 'type' => 'array', + 'items' => [ + 'description' => 'TLS安全策略列表。', + 'type' => 'object', + 'properties' => [ + 'SecurityPolicyId' => [ + 'title' => 'tls策略ID', + 'description' => 'TLS安全策略ID。', + 'type' => 'string', + 'example' => 'sp-wuytp9pa******'."\n", + ], + 'SecurityPolicyName' => [ + 'title' => '名称', + 'description' => 'TLS安全策略名称。', + 'type' => 'string', + 'example' => 'TLSCipherPolicy', + ], + 'TlsVersion' => [ + 'title' => 'tls版本', + 'description' => 'TLS协议版本,取值:**TLSv1.0**、**TLSv1.1**、**TLSv1.2**和**TLSv1.3**。', + 'type' => 'string', + 'example' => 'TLSv1.0', + ], + 'Ciphers' => [ + 'title' => '加密套件', + 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n" + ."\n" + .'TLSv1.0和TLSv1.1 支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + ."\n" + .'TLSv1.2支持:'."\n" + .'- **ECDHE-ECDSA-AES128-SHA**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA**'."\n" + .'- **ECDHE-RSA-AES128-SHA**'."\n" + .'- **ECDHE-RSA-AES256-SHA**'."\n" + .'- **AES128-SHA**'."\n" + .'- **AES256-SHA**'."\n" + .'- **DES-CBC3-SHA**'."\n" + .'- **ECDHE-ECDSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-ECDSA-AES128-SHA256**'."\n" + .'- **ECDHE-ECDSA-AES256-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-GCM-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-GCM-SHA384**'."\n" + .'- **ECDHE-RSA-AES128-SHA256**'."\n" + .'- **ECDHE-RSA-AES256-SHA384**'."\n" + .'- **AES128-GCM-SHA256**'."\n" + .'- **AES256-GCM-SHA384**'."\n" + .'- **AES128-SHA256**'."\n" + .'- **AES256-SHA256**'."\n" + .'- **ECDHE-ECDSA-CHACHA20-POLY1305**'."\n" + .'- **ECDHE-RSA-CHACHA20-POLY1305**'."\n" + ."\n\n" + .'TLSv1.3支持:'."\n" + .'- **TLS_AES_128_GCM_SHA256**'."\n" + .'- **TLS_AES_256_GCM_SHA384**'."\n" + .'- **TLS_CHACHA20_POLY1305_SHA256**'."\n" + .'- **TLS_AES_128_CCM_SHA256**'."\n" + .'- **TLS_AES_128_CCM_8_SHA256**', + 'type' => 'string', + 'example' => 'ECDHE-ECDSA-AES128-SHA', + ], + 'RegionId' => [ + 'title' => '业务location', + 'description' => '网络型负载均衡实例所在的地域ID。 ', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'Tags' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持10个标签键。'."\n" + ."\n" + .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'Test', + ], + 'Value' => [ + 'description' => '标签值。最多支持10个标签值。'."\n" + ."\n" + .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', + 'type' => 'string', + 'example' => 'Test', + ], + ], + ], + ], + 'RelatedListeners' => [ + 'description' => '关联的监听列表。', + 'type' => 'array', + 'items' => [ + 'description' => '关联的监听列表。', + 'type' => 'object', + 'properties' => [ + 'ListenerId' => [ + 'description' => '监听ID。', + 'type' => 'string', + 'example' => 'lsn-bp1bpn0kn908w4nbw****@443', + ], + 'ListenerPort' => [ + 'description' => '监听端口。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '443', + ], + 'ListenerProtocol' => [ + 'description' => '监听协议。仅取值**TCPSSL**。', + 'type' => 'string', + 'example' => 'TCPSSL', + ], + 'LoadBalancerId' => [ + 'description' => '网络型负载均衡实例ID。', + 'type' => 'string', + 'example' => 'nlb-83ckzc8d4xlp8o****', + ], + ], + ], + ], + 'ResourceGroupId' => [ + 'description' => '资源组ID。', + 'type' => 'string', + 'example' => 'rg-atstuj3rtop****', + ], + 'SecurityPolicyStatus' => [ + 'description' => 'TLS安全策略的状态,取值:'."\n" + ."\n" + .'- **Configuring** :配置中。'."\n" + .'- **Available**: 正常可用。', + 'type' => 'string', + 'example' => 'Available', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"D7A8875F-373A-5F48-8484-25B07A61F2AF\\",\\n \\"SecurityPolicies\\": [\\n {\\n \\"SecurityPolicyId\\": \\"sp-wuytp9pa******\\\\n\\",\\n \\"SecurityPolicyName\\": \\"TLSCipherPolicy\\",\\n \\"TlsVersion\\": \\"TLSv1.0\\",\\n \\"Ciphers\\": \\"ECDHE-ECDSA-AES128-SHA\\",\\n \\"RegionId\\": \\"cn-hangzhou\\",\\n \\"Tags\\": [\\n {\\n \\"Key\\": \\"Test\\",\\n \\"Value\\": \\"Test\\"\\n }\\n ],\\n \\"RelatedListeners\\": [\\n {\\n \\"ListenerId\\": \\"lsn-bp1bpn0kn908w4nbw****@443\\",\\n \\"ListenerPort\\": 443,\\n \\"ListenerProtocol\\": \\"TCPSSL\\",\\n \\"LoadBalancerId\\": \\"nlb-83ckzc8d4xlp8o****\\"\\n }\\n ],\\n \\"ResourceGroupId\\": \\"rg-atstuj3rtop****\\",\\n \\"SecurityPolicyStatus\\": \\"Available\\"\\n }\\n ],\\n \\"TotalCount\\": 10,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","errorExample":""},{"type":"xml","example":"<ListSecurityPolicyResponse>\\n <RequestId>D7A8875F-373A-5F48-8484-25B07A61F2AF</RequestId>\\n <SecurityPolicies>\\n <SecurityPolicyId>tls-bp14bb1e7dll4f****</SecurityPolicyId>\\n <SecurityPolicyName>TLSCipherPolicy</SecurityPolicyName>\\n <TlsVersion>TLSv1.0</TlsVersion>\\n <Ciphers>ECDHE-ECDSA-AES128-SHA</Ciphers>\\n <RegionId>cn-hangzhou</RegionId>\\n <Tags>\\n <Key>Test</Key>\\n <Value>Test</Value>\\n </Tags>\\n <RelatedListeners>\\n <ListenerId>lsn-bp1bpn0kn908w4nbw****</ListenerId>\\n <ListenerPort>443</ListenerPort>\\n <ListenerProtocol>TCPSSL</ListenerProtocol>\\n <LoadBalancerId>nlb-83ckzc8d4xlp8o****</LoadBalancerId>\\n </RelatedListeners>\\n <ResourceGroupId>rg-atstuj3rtop****</ResourceGroupId>\\n <SecurityPolicyStatus>Available</SecurityPolicyStatus>\\n </SecurityPolicies>\\n <TotalCount>10</TotalCount>\\n <NextToken>FFmyTO70tTpLG6I3FmYAXGKPd****</NextToken>\\n <MaxResults>20</MaxResults>\\n</ListSecurityPolicyResponse>","errorExample":""}]', + 'title' => '查询自定义安全策略', + ], + 'ListSystemSecurityPolicy' => [ + 'summary' => '查询系统默认的TLS安全策略。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '网络型负载均衡实例所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListSystemSecurityPolicyResponse>', + 'description' => '查询系统默认的TLS安全策略。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '5C057647-284B-5C67-A07E-4B8F3DABA9F9', + ], + 'SecurityPolicies' => [ + 'description' => 'TLS安全策略列表。', + 'type' => 'array', + 'items' => [ + 'description' => '安全策略。', + 'type' => 'object', + 'properties' => [ + 'SecurityPolicyId' => [ + 'title' => 'tls策略ID', + 'description' => 'TLS策略ID。', + 'type' => 'string', + 'example' => 'tls_cipher_policy_1_0', + ], + 'SecurityPolicyName' => [ + 'title' => '名称', + 'description' => 'TLS安全策略名称。', + 'type' => 'string', + 'example' => 'test', + ], + 'TlsVersion' => [ + 'title' => 'tls版本', + 'description' => 'TLS版本。', + 'type' => 'string', + 'example' => 'TLSv1.0,TLSv1.1,TLSv1.2', + ], + 'Ciphers' => [ + 'title' => '加密套件', + 'description' => '加密套件。', + 'type' => 'string', + 'example' => 'ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES256-SHA384,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,ECDHE-ECDSA-AES128-SHA,ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES256-SHA,AES128-SHA,AES256-SHA,DES-CBC3-SHA', + ], + ], + ], + ], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"5C057647-284B-5C67-A07E-4B8F3DABA9F9\\",\\n \\"SecurityPolicies\\": [\\n {\\n \\"SecurityPolicyId\\": \\"tls_cipher_policy_1_0\\",\\n \\"SecurityPolicyName\\": \\"test\\",\\n \\"TlsVersion\\": \\"TLSv1.0,TLSv1.1,TLSv1.2\\",\\n \\"Ciphers\\": \\"ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES128-SHA256,ECDHE-ECDSA-AES256-SHA384,ECDHE-RSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-RSA-AES128-SHA256,ECDHE-RSA-AES256-SHA384,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,ECDHE-ECDSA-AES128-SHA,ECDHE-ECDSA-AES256-SHA,ECDHE-RSA-AES128-SHA,ECDHE-RSA-AES256-SHA,AES128-SHA,AES256-SHA,DES-CBC3-SHA\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询系统安全策略', + ], + 'MoveResourceGroup' => [ + 'summary' => '修改云资源所属的资源组。', + 'methods' => [ + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '179098', + 'abilityTreeNodes' => [ + 'FEATUREslbZQW9H1', + ], + ], + 'parameters' => [ + [ + 'name' => 'NewResourceGroupId', + 'in' => 'formData', + 'schema' => [ + 'description' => '新资源组ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'rg-aekzjcnrv3v****', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源类型,取值:'."\n" + ."\n" + .'- **loadbalancer**:网络型负载均衡实例。'."\n" + .'- **securitypolicy**:安全策略。'."\n" + .'- **servergroup**:服务器组。', + 'type' => 'string', + 'required' => true, + 'example' => 'loadbalancer', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'nlb-nrnrxwd15en27r****', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源所在的地域ID。', + 'type' => 'string', + 'required' => true, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<MoveResourceGroupResponse>', + 'description' => 'RpcResponse<MoveResourceGroupResponse>', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984', + ], + 'Success' => [ + 'description' => '接口请求结果,取值:'."\n" + ."\n" + .'- **true**:请求成功。'."\n" + .'- **false**:请求失败。', + 'type' => 'boolean', + 'example' => 'true', + ], + 'HttpStatusCode' => [ + 'description' => 'HTTP状态码', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '200', + ], + 'Data' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'nlb-nrnrxwd15en27r****', + ], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam.resourceType', + 'errorMessage' => 'The param of resourceType is illegal.', + ], + [ + 'errorCode' => 'OperationFailed.StatusCheckFail.ResourceGroup', + 'errorMessage' => 'The operation failed because of StatusCheckFail.ResourceGroup.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.ResourceGroup', + 'errorMessage' => 'The param of resourceGroup not existed.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"CEF72CEB-54B6-4AE8-B225-F876FF7BA984\\",\\n \\"Success\\": true,\\n \\"HttpStatusCode\\": 200,\\n \\"Data\\": {\\n \\"ResourceId\\": \\"nlb-nrnrxwd15en27r****\\"\\n }\\n}","type":"json"}]', + 'title' => '变更资源所属的资源组', + ], + 'GetJobStatus' => [ + 'summary' => '查询网络型负载均衡的异步任务执行结果信息。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + ], + 'parameters' => [ + [ + 'name' => 'JobId', + 'in' => 'query', + 'schema' => [ + 'title' => 'add 必选', + 'description' => '异步任务ID。', + 'type' => 'string', + 'required' => true, + 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****', + ], + ], + [ + 'name' => 'ClientToken', + 'in' => 'query', + 'schema' => [ + 'description' => '客户端Token,用于保证请求的幂等性。'."\n" + ."\n" + .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n" + ."\n" + .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。', + 'type' => 'string', + 'required' => false, + 'example' => '123e4567-e89b-12d3-a456-426655440000', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<GetJodResponse>', + 'description' => '查询异步任务结果。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B540710', + ], + 'Status' => [ + 'description' => '任务状态。取值:'."\n" + ."\n" + .'- **Succeeded**:成功。'."\n" + .'- **Processing**:执行中。', + 'type' => 'string', + 'example' => 'Succeeded', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.JobId', + 'errorMessage' => 'The specified resource of JobId is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF34B540710\\",\\n \\"Status\\": \\"Succeeded\\"\\n}","errorExample":""},{"type":"xml","example":"<GetJobStatusResponse>\\n <RequestId>365F4154-92F6-4AE4-92F8-7FF34B540710</RequestId>\\n <Status>Succeeded</Status>\\n</GetJobStatusResponse>","errorExample":""}]', + 'title' => '查询异步任务结果', + ], + 'ListAsynJobs' => [ + 'summary' => '批量查询异步任务结果。', + 'methods' => [ + 'get', + 'post', + ], + 'schemes' => [ + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '259936', + 'abilityTreeNodes' => [ + 'FEATUREslbZQW9H1', + ], + ], + 'parameters' => [ + [ + 'name' => 'JobIds', + 'in' => 'query', + 'style' => 'flat', + 'schema' => [ + 'description' => '任务 ID 列表。', + 'type' => 'array', + 'items' => [ + 'description' => '异步任务 ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'bfb728bf-53a8-4886-84cb-829******', + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => '请求ID。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'title' => 'Id of the request', + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF3******', + ], + 'Jobs' => [ + 'description' => '任务列表。', + 'type' => 'array', + 'items' => [ + 'description' => '任务列表。', + 'type' => 'object', + 'properties' => [ + 'Id' => [ + 'description' => '任务 ID。', + 'type' => 'string', + 'example' => '365F4154-92F6-4AE4-92F8-7FF34B5****', + ], + 'Status' => [ + 'description' => '任务状态,取值:'."\n" + ."\n" + .'- **Succeeded**:成功。'."\n" + .'- **Failed**:失败。'."\n" + .'- **Processing**:执行。', + 'type' => 'string', + 'example' => 'Succeeded', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'string', + 'example' => '1000', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.JobId', + 'errorMessage' => 'The specified resource of JobId is not found.', + ], + ], + ], + 'staticInfo' => [ + 'returnType' => 'synchronous', + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"365F4154-92F6-4AE4-92F8-7FF3******\\",\\n \\"Jobs\\": [\\n {\\n \\"Id\\": \\"365F4154-92F6-4AE4-92F8-7FF34B5****\\",\\n \\"Status\\": \\"Succeeded\\"\\n }\\n ],\\n \\"TotalCount\\": \\"1000\\"\\n}","type":"json"}]', + 'title' => '批量查询异步任务结果', + ], + 'TagResources' => [ + 'summary' => '为指定的资源列表统一创建并绑定标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'abilityTreeCode' => '141891', + 'abilityTreeNodes' => [ + 'FEATUREslbTUH0QC', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '资源ID。一次调用最多支持添加50个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。一次调用最多支持添加50个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb-nrnrxwd15en27r****', + ], + 'required' => true, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持64个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'description' => '标签值。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。支持字符包括字母、数字、下划线 (_)、点 (.)、冒号 (:)、斜线 (/)、等号 (=)、加号 (+)、减号 (-)、@符号 (@) 。'."\n" + ."\n" + .'一次调用最多支持添加20个标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'product', + ], + ], + 'required' => false, + ], + 'required' => true, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源类型,取值:'."\n" + ."\n" + .'- **loadbalancer**:网络型负载均衡实例。'."\n" + .'- **securitypolicy**:安全策略。'."\n" + .'- **servergroup**:服务器组。', + 'type' => 'string', + 'required' => true, + 'example' => 'loadbalancer', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会为资源创建并绑定标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源所在的地域ID。'."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<BaseResult>', + 'description' => '绑定标签。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.securitypolicy', + 'errorMessage' => 'The specified resource of securitypolicy is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<TagResourcesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</TagResourcesResponse>","errorExample":""}]', + 'title' => '给资源添加标签', + ], + 'UntagResources' => [ + 'summary' => '为指定的资源列表统一解绑标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'abilityTreeCode' => '141866', + 'abilityTreeNodes' => [ + 'FEATUREslbTUH0QC', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '资源ID。一次调用最多支持添加50个资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。一次调用最多支持添加50个资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb-nrnrxwd15en27r****', + ], + 'required' => true, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'TagKey', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '要删除标签的标签键。一次调用最多支持删除20个标签。', + 'type' => 'array', + 'items' => [ + 'description' => '要删除标签的标签键。一次调用最多支持删除20个标签。'."\n" + ."\n" + .'> 如果不指定**TagKey**,会删除掉这个实例上所有的标签。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'All', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否解绑资源的所有标签。取值:'."\n" + ."\n" + .'- **true**:解绑资源的所有标签。'."\n" + .'- **false**(默认值):不解绑资源的所有标签。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'false', + ], + ], + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'- **loadbalancer**:网络型负载均衡实例。'."\n" + .'- **securitypolicy**:安全策略。'."\n" + .'- **servergroup**:服务器组。', + 'type' => 'string', + 'required' => true, + 'example' => 'loadbalancer', + ], + ], + [ + 'name' => 'DryRun', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否只预检此次请求。取值:'."\n" + .'- **true**:发送检查请求,不会为资源解绑标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n" + .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', + 'type' => 'boolean', + 'required' => false, + 'example' => 'true', + ], + ], + [ + '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' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源所在的地域ID。 '."\n" + ."\n" + .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<BaseResult>', + 'description' => '解绑标签。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'IllegalParam', + 'errorMessage' => 'The param of %s is illegal.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + ], + ], + 'responseDemo' => '[{"type":"json","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\"\\n}","errorExample":""},{"type":"xml","example":"<UntagResourcesResponse>\\n <RequestId>54B48E3D-DF70-471B-AA93-08E683A1B45</RequestId>\\n <JobId>72dcd26b-f12d-4c27-b3af-18f6aed5****</JobId>\\n</UntagResourcesResponse>","errorExample":""}]', + 'title' => '删除资源的标签', + ], + 'ListTagResources' => [ + 'summary' => '查询指定资源标签。', + 'methods' => [ + 'post', + 'get', + ], + 'schemes' => [ + 'http', + 'https', + ], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'abilityTreeCode' => '141863', + 'abilityTreeNodes' => [ + 'FEATUREslbS3YPBZ', + 'FEATUREslb01BKVK', + ], + ], + 'parameters' => [ + [ + 'name' => 'ResourceType', + 'in' => 'formData', + 'schema' => [ + 'description' => '资源类型。取值:'."\n" + ."\n" + .'- **loadbalancer**:网络型负载均衡实例。'."\n" + .'- **securitypolicy**:安全策略。'."\n" + .'- **servergroup**:服务器组。'."\n" + .'- **listener**:监听。', + 'type' => 'string', + 'required' => true, + 'example' => 'loadbalancer', + ], + ], + [ + 'name' => 'ResourceId', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '资源ID。', + 'type' => 'array', + 'items' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'required' => false, + 'example' => 'nlb-nrnrxwd15en27r****', + ], + 'required' => false, + 'maxItems' => 50, + 'minItems' => 1, + ], + ], + [ + 'name' => 'Tag', + 'in' => 'formData', + 'style' => 'flat', + 'schema' => [ + 'description' => '标签。', + 'type' => 'array', + 'items' => [ + 'description' => '标签。', + 'type' => 'object', + 'properties' => [ + 'Key' => [ + 'description' => '标签键。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'env', + ], + 'Value' => [ + 'description' => '标签值。最多支持128个字符,不能以`aliyun`或`acs:`开头,不能包含`http://`或`https://`。', + 'type' => 'string', + 'required' => false, + 'example' => 'product', + ], + ], + 'required' => false, + ], + 'required' => false, + 'maxItems' => 20, + 'minItems' => 1, + ], + ], + [ + 'name' => 'NextToken', + 'in' => 'formData', + 'schema' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 第一次查询和没有下一次查询时,均无需填写。'."\n" + .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', + 'type' => 'string', + 'required' => false, + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + ], + [ + 'name' => 'MaxResults', + 'in' => 'formData', + 'schema' => [ + 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**50**。', + 'type' => 'integer', + 'format' => 'int32', + 'required' => false, + 'example' => '20', + ], + ], + [ + 'name' => 'RegionId', + 'in' => 'formData', + 'schema' => [ + 'description' => '您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', + 'type' => 'string', + 'required' => false, + 'example' => 'cn-hangzhou', + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'RpcResponse<ListTagResourcesResponse>', + 'description' => '查询资源标签。', + 'type' => 'object', + 'properties' => [ + 'RequestId' => [ + 'description' => '请求ID。', + 'type' => 'string', + 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45', + ], + 'TagResources' => [ + 'description' => '由资源及其标签组成的集合,包含了资源ID、资源类型和标签键值等信息。', + 'type' => 'array', + 'items' => [ + 'description' => '由资源及其标签组成的集合,包含了资源ID、资源类型和标签键值等信息。', + 'type' => 'object', + 'properties' => [ + 'ResourceId' => [ + 'description' => '资源ID。', + 'type' => 'string', + 'example' => 'nlb-nrnrxwd15en27r****', + ], + 'ResourceType' => [ + 'description' => '资源类型,取值:'."\n" + ."\n" + .'- **loadbalancer**:网络型负载均衡实例。'."\n" + .'- **securitypolicy**:安全策略。'."\n" + .'- **servergroup**:服务器组。', + 'type' => 'string', + 'example' => 'loadbalancer', + ], + 'RegionNo' => [ + 'description' => '地域信息。', + 'type' => 'string', + 'example' => 'cn-hangzhou', + ], + 'AliUid' => [ + 'description' => '用户UID。', + 'type' => 'integer', + 'format' => 'int64', + 'example' => '1429****39299349', + ], + 'TagKey' => [ + 'description' => '标签键。', + 'type' => 'string', + 'example' => 'env', + ], + 'TagValue' => [ + 'description' => '标签值。', + 'type' => 'string', + 'example' => 'product', + ], + 'Scope' => [ + 'description' => '标签可见范围。', + 'type' => 'string', + 'example' => 'public', + ], + 'Category' => [ + 'description' => '标签类型。取值:'."\n" + ."\n" + .'- **Custom**:自定义标签。'."\n" + .'- **System**:系统标签。'."\n" + .'- **All**:全部标签。'."\n", + 'type' => 'string', + 'example' => 'All', + ], + ], + ], + ], + 'TotalCount' => [ + 'description' => '列表条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '10', + ], + 'NextToken' => [ + 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n" + .'- 如果**NextToken**为空表示没有下一次查询。'."\n" + .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。', + 'type' => 'string', + 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****', + ], + 'MaxResults' => [ + 'description' => '分批次查询时每次显示的条目数。', + 'type' => 'integer', + 'format' => 'int32', + 'example' => '20', + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + [ + 'errorCode' => 'SystemBusy', + 'errorMessage' => 'System is busy, please try again later.', + ], + [ + 'errorCode' => 'IllegalParam.resourceType', + 'errorMessage' => 'The param of resourceType is illegal.', + ], + [ + 'errorCode' => 'MissingParam.%s', + 'errorMessage' => 'The parameter of %s is missing.', + ], + ], + 403 => [ + [ + 'errorCode' => 'Forbidden.NoPermission', + 'errorMessage' => 'Authentication is failed for NoPermission.', + ], + ], + [ + [ + 'errorCode' => 'ResourceNotFound.securitypolicy', + 'errorMessage' => 'The specified resource of securitypolicy is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.loadBalancer', + 'errorMessage' => 'The specified resource of loadbalancer is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.listener', + 'errorMessage' => 'The specified resource %s is not found.', + ], + [ + 'errorCode' => 'ResourceNotFound.serverGroup', + 'errorMessage' => 'The specified resource of serverGroup is not found.', + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"54B48E3D-DF70-471B-AA93-08E683A1B45\\",\\n \\"TagResources\\": [\\n {\\n \\"ResourceId\\": \\"nlb-nrnrxwd15en27r****\\",\\n \\"ResourceType\\": \\"loadbalancer\\",\\n \\"RegionNo\\": \\"cn-hangzhou\\",\\n \\"AliUid\\": 0,\\n \\"TagKey\\": \\"env\\",\\n \\"TagValue\\": \\"product\\",\\n \\"Scope\\": \\"public\\",\\n \\"Category\\": \\"All\\"\\n }\\n ],\\n \\"TotalCount\\": 10,\\n \\"NextToken\\": \\"FFmyTO70tTpLG6I3FmYAXGKPd****\\",\\n \\"MaxResults\\": 20\\n}","type":"json"}]', + 'title' => '查询资源标签', + ], + ], + 'endpoints' => [ + [ + 'regionId' => 'cn-qingdao', + 'endpoint' => 'nlb.cn-qingdao.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing', + 'endpoint' => 'nlb.cn-beijing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhangjiakou', + 'endpoint' => 'nlb.cn-zhangjiakou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-zhengzhou-jva', + 'endpoint' => 'nlb.cn-zhengzhou-jva.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wulanchabu', + 'endpoint' => 'nlb.cn-wulanchabu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hangzhou', + 'endpoint' => 'nlb.cn-hangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai', + 'endpoint' => 'nlb.cn-shanghai.aliyuncs.com', + ], + [ + 'regionId' => 'cn-nanjing', + 'endpoint' => 'nlb.cn-nanjing.aliyuncs.com', + ], + [ + 'regionId' => 'cn-fuzhou', + 'endpoint' => 'nlb.cn-fuzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen', + 'endpoint' => 'nlb.cn-shenzhen.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan', + 'endpoint' => 'nlb.cn-heyuan.aliyuncs.com', + ], + [ + 'regionId' => 'cn-guangzhou', + 'endpoint' => 'nlb.cn-guangzhou.aliyuncs.com', + ], + [ + 'regionId' => 'cn-chengdu', + 'endpoint' => 'nlb.cn-chengdu.aliyuncs.com', + ], + [ + 'regionId' => 'cn-wuhan-lr', + 'endpoint' => 'nlb.cn-wuhan-lr.aliyuncs.com', + ], + [ + 'regionId' => 'cn-hongkong', + 'endpoint' => 'nlb.cn-hongkong.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-1', + 'endpoint' => 'nlb.ap-northeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-northeast-2', + 'endpoint' => 'nlb.ap-northeast-2.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-1', + 'endpoint' => 'nlb.ap-southeast-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-3', + 'endpoint' => 'nlb.ap-southeast-3.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-5', + 'endpoint' => 'nlb.ap-southeast-5.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-6', + 'endpoint' => 'nlb.ap-southeast-6.aliyuncs.com', + ], + [ + 'regionId' => 'us-east-1', + 'endpoint' => 'nlb.us-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'us-west-1', + 'endpoint' => 'nlb.us-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-west-1', + 'endpoint' => 'nlb.eu-west-1.aliyuncs.com', + ], + [ + 'regionId' => 'eu-central-1', + 'endpoint' => 'nlb.eu-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-south-1', + 'endpoint' => 'nlb.ap-south-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-east-1', + 'endpoint' => 'nlb.me-east-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shanghai-finance-1', + 'endpoint' => 'nlb.cn-shanghai-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-shenzhen-finance-1', + 'endpoint' => 'nlb.cn-shenzhen-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'ap-southeast-7', + 'endpoint' => 'nlb.ap-southeast-7.aliyuncs.com', + ], + [ + 'regionId' => 'cn-beijing-finance-1', + 'endpoint' => 'nlb.cn-beijing-finance-1.aliyuncs.com', + ], + [ + 'regionId' => 'me-central-1', + 'endpoint' => 'nlb.me-central-1.aliyuncs.com', + ], + [ + 'regionId' => 'cn-heyuan-acdr-1', + 'endpoint' => 'nlb.cn-heyuan-acdr-1.aliyuncs.com', + ], + [ + 'regionId' => 'na-south-1', + 'endpoint' => 'nlb.na-south-1.aliyuncs.com', + ], + ], +]; |
