summaryrefslogtreecommitdiff
path: root/data/zh_cn/nlb/2022-04-30/api-docs.php
diff options
context:
space:
mode:
Diffstat (limited to 'data/zh_cn/nlb/2022-04-30/api-docs.php')
-rw-r--r--data/zh_cn/nlb/2022-04-30/api-docs.php15491
1 files changed, 6138 insertions, 9353 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
index f148ac5..108800b 100644
--- a/data/zh_cn/nlb/2022-04-30/api-docs.php
+++ b/data/zh_cn/nlb/2022-04-30/api-docs.php
@@ -1,597 +1,943 @@
<?php return [
'version' => '1.0',
- 'info' => [
- 'style' => 'RPC',
- 'product' => 'Nlb',
- 'version' => '2022-04-30',
- ],
+ 'info' => ['style' => 'RPC', 'product' => 'Nlb', 'version' => '2022-04-30'],
'directories' => [
[
- 'id' => 192387,
- 'title' => '监控',
+ 'children' => ['DescribeHdMonitorRegionConfig', 'SetHdMonitorRegionConfig'],
'type' => 'directory',
- 'children' => [
- 'DescribeHdMonitorRegionConfig',
- 'SetHdMonitorRegionConfig',
- ],
+ 'title' => '监控',
+ 'id' => 82501,
],
[
- 'id' => 175130,
- 'title' => '地域与可用区',
+ 'children' => ['DescribeRegions', 'DescribeZones'],
'type' => 'directory',
- 'children' => [
- 'DescribeRegions',
- 'DescribeZones',
- ],
+ 'title' => '地域与可用区',
+ 'id' => 82488,
],
[
- 'id' => 175092,
- 'title' => '实例',
+ 'children' => ['CreateLoadBalancer', 'DeleteLoadBalancer', 'UpdateLoadBalancerAddressTypeConfig', 'UpdateLoadBalancerAttribute', 'UpdateLoadBalancerZones', 'EnableLoadBalancerIpv6Internet', 'DisableLoadBalancerIpv6Internet', 'LoadBalancerLeaveSecurityGroup', 'LoadBalancerJoinSecurityGroup', 'UpdateLoadBalancerProtection', 'ListLoadBalancers', 'GetLoadBalancerAttribute', 'StartShiftLoadBalancerZones', 'CancelShiftLoadBalancerZones'],
'type' => 'directory',
- 'children' => [
- 'CreateLoadBalancer',
- 'DeleteLoadBalancer',
- 'UpdateLoadBalancerAddressTypeConfig',
- 'UpdateLoadBalancerAttribute',
- 'UpdateLoadBalancerZones',
- 'EnableLoadBalancerIpv6Internet',
- 'DisableLoadBalancerIpv6Internet',
- 'LoadBalancerLeaveSecurityGroup',
- 'LoadBalancerJoinSecurityGroup',
- 'UpdateLoadBalancerProtection',
- 'ListLoadBalancers',
- 'GetLoadBalancerAttribute',
- 'StartShiftLoadBalancerZones',
- 'CancelShiftLoadBalancerZones',
- ],
+ 'title' => '实例',
+ 'id' => 82452,
],
[
- 'id' => 175084,
- 'title' => '监听',
+ 'children' => ['CreateListener', 'DeleteListener', 'StartListener', 'StopListener', 'UpdateListenerAttribute', 'ListListeners', 'GetListenerAttribute', 'GetListenerHealthStatus'],
'type' => 'directory',
- 'children' => [
- 'CreateListener',
- 'DeleteListener',
- 'StartListener',
- 'StopListener',
- 'UpdateListenerAttribute',
- 'ListListeners',
- 'GetListenerAttribute',
- 'GetListenerHealthStatus',
- ],
+ 'title' => '监听',
+ 'id' => 82443,
],
[
- 'id' => 175131,
- 'title' => '监听证书',
+ 'children' => ['ListListenerCertificates', 'AssociateAdditionalCertificatesWithListener', 'DisassociateAdditionalCertificatesWithListener'],
'type' => 'directory',
- 'children' => [
- 'ListListenerCertificates',
- 'AssociateAdditionalCertificatesWithListener',
- 'DisassociateAdditionalCertificatesWithListener',
- ],
+ 'title' => '监听证书',
+ 'id' => 82491,
],
[
- 'id' => 175112,
- 'title' => '服务器组',
+ 'children' => ['CreateServerGroup', 'AddServersToServerGroup', 'DeleteServerGroup', 'RemoveServersFromServerGroup', 'UpdateServerGroupAttribute', 'UpdateServerGroupServersAttribute', 'ListServerGroups', 'ListServerGroupServers'],
'type' => 'directory',
- 'children' => [
- 'CreateServerGroup',
- 'AddServersToServerGroup',
- 'DeleteServerGroup',
- 'RemoveServersFromServerGroup',
- 'UpdateServerGroupAttribute',
- 'UpdateServerGroupServersAttribute',
- 'ListServerGroups',
- 'ListServerGroupServers',
- ],
+ 'title' => '服务器组',
+ 'id' => 82476,
],
[
- 'id' => 175103,
- 'title' => '共享带宽包',
+ 'children' => ['DetachCommonBandwidthPackageFromLoadBalancer', 'AttachCommonBandwidthPackageToLoadBalancer'],
'type' => 'directory',
- 'children' => [
- 'DetachCommonBandwidthPackageFromLoadBalancer',
- 'AttachCommonBandwidthPackageToLoadBalancer',
- ],
+ 'title' => '共享带宽包',
+ 'id' => 82467,
],
[
- 'id' => 175106,
- 'title' => '安全策略',
+ 'children' => ['CreateSecurityPolicy', 'DeleteSecurityPolicy', 'UpdateSecurityPolicyAttribute', 'ListSecurityPolicy', 'ListSystemSecurityPolicy'],
'type' => 'directory',
- 'children' => [
- 'CreateSecurityPolicy',
- 'DeleteSecurityPolicy',
- 'UpdateSecurityPolicyAttribute',
- 'ListSecurityPolicy',
- 'ListSystemSecurityPolicy',
- ],
+ 'title' => '安全策略',
+ 'id' => 82470,
],
[
- 'id' => 183551,
- 'title' => '资源组',
+ 'children' => ['MoveResourceGroup'],
'type' => 'directory',
- 'children' => [
- 'MoveResourceGroup',
- ],
+ 'title' => '资源组',
+ 'id' => 82499,
],
[
- 'id' => 175122,
- 'title' => '异步任务',
+ 'children' => ['GetJobStatus', 'ListAsynJobs'],
'type' => 'directory',
- 'children' => [
- 'GetJobStatus',
- 'ListAsynJobs',
- ],
+ 'title' => '异步任务',
+ 'id' => 82485,
],
[
- 'id' => 175132,
- 'title' => '标签',
+ 'children' => ['TagResources', 'UntagResources', 'ListTagResources'],
'type' => 'directory',
- 'children' => [
- 'TagResources',
- 'UntagResources',
- 'ListTagResources',
- ],
+ 'title' => '标签',
+ 'id' => 82495,
],
],
'components' => [
'schemas' => [],
],
'apis' => [
- 'DescribeHdMonitorRegionConfig' => [
- 'summary' => '查询秒级监控存储配置。',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'AddServersToServerGroup' => [
+ 'summary' => '向网络型负载均衡服务器组中添加后端服务器。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
+ 'abilityTreeNodes' => ['FEATUREslbWFW5HS'],
],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '服务器组ID。', 'type' => 'string', 'required' => true, 'example' => 'sgp-atstuj3rtoptyui****'],
+ ],
+ [
+ 'name' => 'Servers',
+ 'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'title' => 'add 必选',
- 'description' => '资源所在的地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ '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<GetJodResponse>',
- 'description' => 'RpcResponse<GetJodResponse>',
+ 'title' => 'RpcResponse<AddServersToServerGroupResponse>',
+ 'description' => '添加后端服务器。',
'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',
- ],
+ '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.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'IllegalParam.IP', 'errorMessage' => 'The param of IP is illegal.', 'description' => '参数IP非法。请检查参数IP的输入值。'],
+ ['errorCode' => 'QuotaExceeded.QuotaInsufficient', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '配额不足,已使用%s/%s。请在配额中心中修改配额大小。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'DuplicatedParam.Server', 'errorMessage' => 'The param of Server is duplicated.', 'description' => '参数中的server重复了。'],
+ ['errorCode' => 'IncorrectStatus.serverGroup', 'errorMessage' => 'The status of servergroup [%s] is incorrect.', 'description' => '服务器组的状态无法进行当前操作,请检查服务器组当前是否处于其他操作下。'],
+ ['errorCode' => 'Mismatch.VpcId', 'errorMessage' => 'The VpcId is mismatched for %s and %s.', 'description' => '资源%s和资源%s的VpcId不匹配。请检查两种资源是否在同一个VPC下。'],
+ ['errorCode' => 'Mismatch.ServerType', 'errorMessage' => 'The ServerType is mismatched for %s and %s.', 'description' => 'ServerType不匹配'],
+ ['errorCode' => 'IllegalParam.RSPortConflictWithServerGroup', 'errorMessage' => 'The param of RSPortConflictWithServerGroup is illegal.', 'description' => '参数RSPort与ServerGroup冲突。请检查输入值。'],
+ ['errorCode' => 'TagInvokeError', 'errorMessage' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', 'description' => '在资源标签中找不到资源定义,请检查RAM是否给NLB添加授权。'],
+ ['errorCode' => 'ResourceInUse.IP', 'errorMessage' => 'The specified resource of IP is in use.', 'description' => '传入的IP不能是NLB的eni地址,请检查参数。'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam.description', 'errorMessage' => 'The parameter description of server is illegal.', 'description' => '服务器描述不符合输入要求,请根据错误中的详细信息进行修改。'],
+ ['errorCode' => 'MissingParam.IP', 'errorMessage' => 'The param of IP is missing.', 'description' => '输入的IP参数缺失,请检查您的输入参数。'],
+ ['errorCode' => 'OperationDenied.ServerGroupNotSupportIpv6', 'errorMessage' => 'The operation is not allowed because of ServerGroupNotSupportIpv6.', 'description' => '因为服务器组不支持IPV6,所以操作失败。'],
+ ['errorCode' => 'IncorrectStatus.Eni', 'errorMessage' => 'Eni status is invalid.', 'description' => '弹性网卡状态不合法。'],
+ ['errorCode' => 'IdempotenceSignatureMismatch', 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', 'description' => '请求的幂等令牌与上一个相同,但签名不同。'],
+ ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => '由于触发流控,请求被拒绝。'],
+ ],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'DescribeHDMonitor.Fail',
- 'errorMessage' => 'DescribeHDMonitor Fail.',
- ],
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.Eci', 'errorMessage' => 'The specified resource of Eci is not found.', 'description' => '找不到指定的弹性容器实例(Eci)资源,请检查输入的参数。'],
+ ['errorCode' => 'ResourceNotFound.Ecs', 'errorMessage' => 'The specified resource of Ecs is not found.', 'description' => '找不到指定的ECS资源, 请检查输入的参数。'],
+ ['errorCode' => 'ResourceNotFound.Eni', 'errorMessage' => 'The specified resource Eni is not found.', 'description' => '没有找到指定的弹性网卡实例,请检查输入参数。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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' => '添加后端服务器',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddServersToServerGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:AddServersToServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'AssociateAdditionalCertificatesWithListener' => [
+ 'summary' => '为TCPSSL监听关联扩展证书。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '207971',
- 'abilityTreeNodes' => [
- 'FEATUREslbNC4CZR',
- ],
- 'tenantRelevance' => 'publicInformation',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '177212',
+ 'abilityTreeNodes' => ['FEATUREslbEI2GF0'],
],
'parameters' => [
[
- 'name' => 'RegionId',
- 'in' => 'query',
+ 'name' => 'AdditionalCertificateIds',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => 'add 必选',
- 'description' => '资源所在的地域ID。'."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~2399192~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ 'title' => 'server扩展证书列表',
+ 'description' => '扩展证书列表。一次调用最多支持为监听关联15个扩展证书。',
+ 'type' => 'array',
+ 'items' => ['description' => '扩展证书列表。一次调用最多支持为监听关联15个扩展证书。', 'type' => 'string', 'required' => false, 'example' => '123157******'],
+ 'required' => true,
+ 'maxItems' => 15,
+ 'minItems' => 1,
],
],
[
- 'name' => 'LogProject',
- 'in' => 'query',
- 'schema' => [
- 'title' => 'add 必选',
- 'description' => '日志服务LogProject的名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hdmonitor-cn-hangzhou-223794579283657556',
- ],
+ 'name' => 'ListenerId',
+ 'in' => 'formData',
+ 'schema' => ['title' => 'update or delete必选, add在custom中生成', 'description' => '监听ID。该接口仅支持输入TCPSSL监听ID。', 'type' => 'string', 'required' => true, 'example' => 'lsn-bpn0kn908w4nbw****@80'],
],
[
- 'name' => 'MetricStore',
- 'in' => 'query',
- 'schema' => [
- 'title' => 'add 必选',
- 'description' => '日志服务MetricStore的名称。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'hdmonitor-cn-hangzhou-metricStore-1',
- ],
+ '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<GetJodResponse>',
- 'description' => 'RpcResponse<GetJodResponse>',
+ 'title' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>',
+ 'description' => '为TCPSSL监听添加扩展证书。',
'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',
- ],
+ '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.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'OperationDenied.%s', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '因为%s,当前操作是不允许的'],
+ ['errorCode' => 'OperationFailed.%s', 'errorMessage' => 'The operation failed because of %s.', 'description' => '因为%操作当前API失败'],
+ ['errorCode' => 'IncorrectStatus.%s', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '%s的状态不正确,不允许进行当前操作'],
+ ['errorCode' => 'ResourceAlreadyAssociated.%s', 'errorMessage' => 'The specified resource of %s is already associated.', 'description' => '所请求的资源%s已经被关联。'],
+ ['errorCode' => 'IncorrectStatus.listener', 'errorMessage' => 'The status of listener [%s] is incorrect.', 'description' => '监听的状态无法进行当前操作,请检查监听当前是否处于其他操作下。'],
+ ['errorCode' => 'ResourceAlreadyAssociated.Certificate', 'errorMessage' => 'The specified resource %s is already associated.', 'description' => '资源%s已被关联。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'OperationDenied.Protocol', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '操作被拒绝,原因是%s。'],
+ ['errorCode' => 'ResourceNotFound.Certificate', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'EnableHDMonitor.Fail',
- 'errorMessage' => 'EnableHDMonitor Fail.',
- ],
+ ['errorCode' => 'ResourceNotFound.%s', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '无法找到所需要使用的资源%s'],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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**状态时,表示扩展证书添加成功。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateAdditionalCertificatesWithListener'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:AssociateAdditionalCertificatesWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'AttachCommonBandwidthPackageToLoadBalancer' => [
+ 'summary' => '为网络型负载均衡实例绑定共享带宽包。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'update',
+ 'abilityTreeCode' => '141865',
+ 'abilityTreeNodes' => ['FEATUREslb12YEWG'],
],
'parameters' => [
[
- 'name' => 'ServiceCode',
- 'in' => 'query',
+ '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' => [
- 'description' => '云产品的ServiceCode,仅取值:**nlb**。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nlb',
- 'default' => 'nlb',
+ '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.', 'description' => '由于是内网负载均衡器(IntranetLoadBalancer),不允许进行此操作。'],
+ ['errorCode' => 'ResourceAlreadyAssociated.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is already associated.', 'description' => '指定的负载均衡已经和共享带宽包绑定过了。'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.BandwidthPackageId', 'errorMessage' => 'The specified resource of BandwidthPackageId is not found.', 'description' => '找不到指定的带宽包资源。请检查输入的参数。'],
+ ['errorCode' => 'ResourceNotFound.CommonBandwidthPackage', 'errorMessage' => 'The specified resource of CommonBandwidthPackage is not found.', 'description' => '共享带宽包资源不存在,请检查输入参数。'],
+ ],
+ ],
+ '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' => '实例绑定共享带宽包',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachCommonBandwidthPackageToLoadBalancer'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:AttachCommonBandwidthPackageToLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:CommonBandwidthPackage/{#CommonBandwidthPackageId}'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'CancelShiftLoadBalancerZones' => [
+ 'summary' => '将可用区对应的EIP/VIP加回到域名解析中。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'AcceptLanguage',
- 'in' => 'query',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
+ 'parameters' => [
+ [
+ 'name' => 'ZoneMappings',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '支持的语言。取值:'."\n"
+ 'description' => '可用区及交换机映射列表。'."\n"
."\n"
- .'- **zh-CN**:中文'."\n"
- .'- **en-US**(默认):英文'."\n"
- .'- **ja**:日文',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'en-US',
+ .'> 一次调用最多支持加回一个可用区。',
+ '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',
- ],
+ '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<DescribeRegionsResponse>',
- 'description' => '返回数据的结构。',
+ 'title' => 'RpcResponse<LoadBalancerZonesResponse>',
+ 'description' => 'RpcResponse<LoadBalancerZonesResponse>',
'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',
- ],
- ],
- ],
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'System is busy, please try again later.',
- ],
- [
- 'errorCode' => 'IllegalParam',
- 'errorMessage' => 'The param of %s is illegal.',
+ ['errorCode' => 'IncorrectStatus.ZoneId', 'errorMessage' => 'The zoneId status of eni [%s] is incorrect.', 'description' => '弹性网卡的可用区状态当前无法操作,请等待前置操作完成。'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.%s', 'errorMessage' => 'Authentication is failed for %s.', 'description' => '当前资源或者操作%s鉴权失败'],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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实例的某个可用区。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelShiftLoadBalancerZones'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:CancelShiftLoadBalancerZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'CreateListener' => [
+ 'summary' => '在网络型负载均衡实例中创建TCP、UDP或TCPSSL监听。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
+ 'operationType' => 'create',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '141889',
+ 'abilityTreeNodes' => ['FEATUREslbC68LB1', 'FEATUREslb4PUXNB', 'FEATUREslbGDCN1S', 'FEATUREslbUZZGGD'],
],
'parameters' => [
[
- 'name' => 'ServiceCode',
- 'in' => 'query',
+ 'name' => 'ListenerProtocol',
+ 'in' => 'formData',
'schema' => [
- 'description' => '云产品的ServiceCode,仅取值:**nlb**。',
+ 'title' => '监听协议',
+ 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。',
'type' => 'string',
- 'required' => false,
- 'example' => 'nlb',
+ 'required' => true,
+ 'example' => 'TCP',
+ 'enum' => [],
],
],
[
- 'name' => 'RegionId',
- 'in' => 'query',
+ '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' => [
- 'description' => '可用区所在的地域ID。您可以调用[DescribeRegions](~~443657~~)查看最新的阿里云地域列表。',
- 'type' => 'string',
+ 'title' => 'server证书列表',
+ 'description' => '服务器证书列表信息。仅对TCPSSL监听生效。'."\n"
+ ."\n"
+ .'> 目前仅支持添加1个服务器证书。',
+ 'type' => 'array',
+ 'items' => ['description' => '服务器证书列表信息。仅对TCPSSL监听生效。'."\n"
+ ."\n"
+ .'> 目前仅支持添加1个服务器证书。', 'type' => 'string', 'required' => false, 'example' => '123157******'],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'maxItems' => 10,
],
],
[
- 'name' => 'AcceptLanguage',
- 'in' => 'query',
+ 'name' => 'CaCertificateIds',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '支持的语言。取值:'."\n"
+ 'title' => 'ca 证书列表',
+ 'description' => 'CA证书列表。仅对TCPSSL监听生效。'."\n"
."\n"
- .'- **zh-CN**:中文'."\n"
- .'- **en-US**(默认):英文'."\n"
- .'- **ja**:日文',
- 'type' => 'string',
+ .'> 目前仅支持添加1个CA证书。',
+ 'type' => 'array',
+ 'items' => ['description' => 'CA证书列表。仅对TCPSSL监听生效。'."\n"
+ ."\n"
+ .'> 目前仅支持添加1个CA证书。', 'type' => 'string', 'required' => false, 'example' => '139a00******'],
'required' => false,
- 'example' => 'zh-CN',
+ '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' => 'query',
+ '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' => '客户端Token,用于保证请求的幂等性。'."\n"
+ 'description' => 'ALPN策略。取值:'."\n"
."\n"
- .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\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"
- .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。',
+ .'> **AlpnEnabled**开启后需配置该参数。',
'type' => 'string',
'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ '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<DescribeZonesResponse>',
- 'description' => '返回数据的结构。',
+ 'title' => 'RpcResponse<CreateListenerResponse>',
+ 'description' => 'RpcResponse<CreateListenerResponse>',
'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',
- ],
- ],
- ],
- ],
+ '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' => '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.',
+ ['errorCode' => 'Conflict.Port', 'errorMessage' => 'The Port [%s] is conflict.', 'description' => '指定端口与已有端口存在冲突'],
+ ['errorCode' => 'IllegalParam.MssConflictWithUdpAndGeneve', 'errorMessage' => 'The param of MssConflictWithUdpAndGeneve is illegal.', 'description' => 'Mss值不为null时,listenerProtocol不可以是udp或者GENEVE。'],
+ ['errorCode' => 'QuotaExceeded.%s', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '%s的配额超过限制,已使用%s/%s'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'Mismatch.VpcId', 'errorMessage' => 'The VpcId is mismatched for %s and %s.', 'description' => '资源%s和资源%s的VpcId不匹配。请检查两种资源是否在同一个VPC下。'],
+ ['errorCode' => 'ResourceNotEnough.%s', 'errorMessage' => 'The specified resource of %s is not enough.', 'description' => '所需要的资源%s不足了'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'IllegalParam.AnyPortListenerConflictWithNonAnyPortServerGroup', 'errorMessage' => 'The param of AnyPortListenerConflictWithNonAnyPortServerGroup is illegal.', 'description' => 'servergroup的全端口转发开关,必须匹配与监听的anyport开关匹配,请检查参数。'],
+ ['errorCode' => 'IncorrectStatus.loadbalancer', 'errorMessage' => 'The status of loadbalancer [%s] is incorrect.', 'description' => '负载均衡的状态无法进行当前操作,请检查负载均衡当前是否处于其他操作下。'],
+ ['errorCode' => 'ResourceNotFound.Certificate', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ['errorCode' => 'IllegalParam.ServerGroupId', 'errorMessage' => 'The param of ServerGroupId is illegal.', 'description' => '参数ServerGroupId非法,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam.NonAnyPortListenerConflictWithAnyPortServerGroup', 'errorMessage' => 'The param of NonAnyPortListenerConflictWithAnyPortServerGroup is illegal.', 'description' => '监听端口配置与全端口转发开关冲突。'],
+ ['errorCode' => 'MissingParam.Certificate', 'errorMessage' => 'The param of certificate is missing.', 'description' => '参数Certificate缺失。'],
+ ['errorCode' => 'IllegalParam.Port', 'errorMessage' => 'The param of Port is illegal.', 'description' => '请求中的端口范围非法,请检查输入参数。'],
+ ['errorCode' => 'QuotaExceeded.QuotaInsufficient', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '配额不足,已使用%s/%s。请在配额中心中修改配额大小。'],
+ ['errorCode' => 'Mismatch.Protocol', 'errorMessage' => 'The Protocol is mismatched for %s and %s.', 'description' => '监听和服务器组的协议不匹配。'],
+ ['errorCode' => 'ResourceNotEnough.CaCertificateApiCount', 'errorMessage' => 'The specified resource of CaCertificateApiCount is not enough.', 'description' => ''],
+ ['errorCode' => 'MissingParam.ServerGroupId', 'errorMessage' => 'The param of ServerGroupId is missing.', 'description' => '参数ServerGroupId缺失,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam.ListenerDescription', 'errorMessage' => 'The parameter ListenerDescription of listener is illegal.', 'description' => '监听描述不符合输入要求,请根据错误中的详细信息进行修改。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'IllegalParam.IdleTimeout', 'errorMessage' => 'The param of IdleTimeout is illegal.', 'description' => '参数连接空闲超时时间配置非法。'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'IllegalParamSize.certificateIds', 'errorMessage' => 'The param size of certificateIds or caCertificateIds is illegal.', 'description' => '证书的id只能有一个,请检查是否重复输入。'],
+ ['errorCode' => 'DuplicatedParam.listener', 'errorMessage' => 'The param of any port listener is duplicated.', 'description' => '只能创建一个anyport类型监听,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam.PreserveClientIpSwitch', 'errorMessage' => 'The server group associated with the tcpssl listener does not support enabling PreserveClientIp.', 'description' => 'tcpssl监听关联的服务器组不支持开启客户端ip保持功能'],
+ ['errorCode' => 'OperationDenied.RegionNotSupportHDMonitor', 'errorMessage' => 'The operation is not allowed because of RegionNotSupportHDMonitor.', 'description' => '当前区域不支持秒级监控。'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of vSwitch is not found.', 'description' => '找不到指定的虚拟交换机资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.CaCertificate', 'errorMessage' => 'The specified resource of CaCertificate is not found.', 'description' => 'Ca证书不存在,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.HdMonitorConfigNotExist', 'errorMessage' => 'The specified resource of HdMonitorConfigNotExist is not found.', 'description' => 'HdMonitorConfig 不存在,请检查输入参数。'],
+ ],
+ ],
+ 'title' => '创建监听',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateListener'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateListener',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:ListenerProtocol', 'validationType' => 'always'],
+ ['conditionKey' => 'nlb:SecurityPolicyId', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'],
+ ],
],
],
],
- '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' => '查询可用区',
+ '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":""}]',
],
'CreateLoadBalancer' => [
'summary' => '创建网络型负载均衡实例。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -604,9 +950,7 @@
'riskType' => 'none',
'chargeType' => 'paid',
'abilityTreeCode' => '141875',
- 'abilityTreeNodes' => [
- 'FEATUREslbS3YPBZ',
- ],
+ 'abilityTreeNodes' => ['FEATUREslbS3YPBZ'],
],
'parameters' => [
[
@@ -624,14 +968,9 @@
[
'name' => 'LoadBalancerName',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例名称。'."\n"
- ."\n"
- .'长度为2~128个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'NLB1',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例名称。'."\n"
+ ."\n"
+ .'长度为2~128个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => 'NLB1'],
],
[
'name' => 'AddressType',
@@ -667,12 +1006,7 @@
[
'name' => 'VpcId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例的专有网络ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-bp1b49rqrybk45nio****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例的专有网络ID。', 'type' => 'string', 'required' => true, 'example' => 'vpc-bp1b49rqrybk45nio****'],
],
[
'name' => 'ZoneMappings',
@@ -685,68 +1019,31 @@
'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',
- ],
+ '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',
- ],
+ 'items' => ['description' => 'IPv4 Local地址。', 'type' => 'string', 'required' => false, 'example' => '192.168.10.2'],
'required' => false,
- 'maxItems' => 8,
- 'minItems' => 2,
+ 'maxItems' => 15,
+ 'minItems' => 1,
],
'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',
- ],
+ 'items' => ['description' => 'IPv6 Local地址。', 'type' => 'string', 'required' => false, 'example' => '2408:400a:d5:3080:b409:840a:ca:e8e6'],
'required' => false,
- 'maxItems' => 8,
- 'minItems' => 2,
+ 'maxItems' => 15,
+ 'minItems' => 1,
],
],
'required' => false,
@@ -759,12 +1056,7 @@
[
'name' => 'BandwidthPackageId',
'in' => 'formData',
- 'schema' => [
- 'description' => '公网类型实例关联的共享带宽包ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cbwp-bp1vevu8h3ieh****',
- ],
+ 'schema' => ['description' => '公网类型实例关联的共享带宽包ID。', 'type' => 'string', 'required' => false, 'example' => 'cbwp-bp1vevu8h3ieh****'],
],
[
'name' => 'LoadBalancerBillingConfig',
@@ -774,15 +1066,9 @@
'description' => '网络型负载均衡实例计费配置。',
'type' => 'object',
'properties' => [
- 'PayType' => [
- 'title' => 'PrePay, PostPay',
- 'description' => '网络型负载均衡实例的计费类型。'."\n"
- ."\n"
- .'仅取值**PostPay**:表示按量计费。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'PostPay',
- ],
+ 'PayType' => ['title' => 'PrePay, PostPay', 'description' => '网络型负载均衡实例的计费类型。'."\n"
+ ."\n"
+ .'仅取值**PostPay**:表示按量计费。', 'type' => 'string', 'required' => false, 'example' => 'PostPay'],
],
'required' => false,
],
@@ -790,51 +1076,30 @@
[
'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
'name' => 'DeletionProtectionConfig',
@@ -844,21 +1109,11 @@
'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' => '实例运行中',
- ],
+ 'Enabled' => ['description' => '删除保护状态,取值:'."\n"
+ ."\n"
+ .'- **true**:开启状态。'."\n"
+ .'- **false**(默认值):关闭状态。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
+ 'Reason' => ['description' => '更改删除保护状态的原因。长度为2~128个英文或中文字符,必须以大小写英文字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => 'Instance is running'],
],
'required' => false,
],
@@ -871,25 +1126,15 @@
'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' => '业务保障期',
- ],
+ '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' => 'Business protection period'],
],
'required' => false,
],
@@ -906,22 +1151,12 @@
'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',
- ],
+ '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,
],
@@ -937,156 +1172,50 @@
'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',
- ],
+ '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.',
- ],
+ ['errorCode' => 'OperationDenied.OnlyPayByTrafficSupported', 'errorMessage' => 'The operation is not allowed because of OnlyPayByTrafficSupported.', 'description' => '由于仅支持按流量计费,因此不允许进行此操作。'],
+ ['errorCode' => 'OperationFailed.%s', 'errorMessage' => 'The operation failed because of %s.', 'description' => '因为%操作当前API失败'],
+ ['errorCode' => 'Mismatch.ZoneIdAndVswitchId', 'errorMessage' => 'The ZoneIdAndVswitchId is mismatched for %s and %s.', 'description' => 'ZoneId和VswitchId缺失,请检查输入参数。'],
+ ['errorCode' => 'QuotaExceeded.%s', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '%s的配额超过限制,已使用%s/%s'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'OperationDenied.OnlyPostPaidSupported', 'errorMessage' => 'The operation is not allowed because of OnlyPostPaidSupported.', 'description' => '由于仅支持后付费,因此不允许进行此操作。'],
+ ['errorCode' => 'OperationFailed.DuplicateZones.', 'errorMessage' => 'The operation failed because of Can not Specify duplicate zones.', 'description' => '由于指定了重复的可用区,操作失败。请修改参数。'],
+ ['errorCode' => 'ResourceNotEnough.VSwitchIp', 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', 'description' => '所指定的虚拟交换机(vSwitch) IP资源不足。'],
+ ['errorCode' => 'DuplicatedParam.AllocationId', 'errorMessage' => 'The param of AllocationId is duplicated.', 'description' => 'AllocationId参数重复,请检查参数。'],
+ ['errorCode' => 'ResourceInConfiguring.VswitchId', 'errorMessage' => 'The specified resource of VswitchId is being configured, please try again later.', 'description' => '正在配置指定的虚拟交换机资源,请稍后重试。'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'OperationFailed.UnpaidBill', 'errorMessage' => 'The operation failed because of UnpaidBill.', 'description' => '您有欠费账单,不符合购买条件。请先充值结清账单后再购买。'],
+ ['errorCode' => 'OperationDenied.ServiceLinkedRoleNotExist', 'errorMessage' => 'The operation is not allowed because of ServiceLinkedRoleNotExist.', 'description' => '由于服务关联角色不存在(ServiceLinkedRoleNotExist),不允许进行此操作。请检查RAM中是否给NLB进行了授权。'],
+ ['errorCode' => 'ResourceAlreadyAssociated.AllocationId', 'errorMessage' => 'The specified resource of %s is already associated.', 'description' => '指定的资源AllocationId已经被关联。'],
+ ['errorCode' => 'OperationFailed.vSwitchNotSupportIpv6', 'errorMessage' => 'The operation failed because of vSwitchNotSupportIpv6.', 'description' => '所使用的虚拟交换机(vSwicth)不支持ipv6协议,请确认输入参数。'],
+ ['errorCode' => 'InvalidZones', 'errorMessage' => 'The current zone list is illegal.', 'description' => 'Zone maping中使用的可用区非法。'],
+ ['errorCode' => 'QuotaExceeded.QuotaInsufficient', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '配额不足,已使用%s/%s。请在配额中心中修改配额大小。'],
+ ['errorCode' => 'ResourceInUse.IP', 'errorMessage' => 'The specified resource of IP is in use.', 'description' => '传入的IP不能是NLB的eni地址,请检查参数。'],
+ ['errorCode' => 'OperationFailed.CreateOrderError', 'errorMessage' => 'Operation failed because CreateOrderError.', 'description' => '因为创建订单失败,所以操作失败。'],
+ ['errorCode' => 'OperationFailed.NotExist.ResourceGroup', 'errorMessage' => 'Operation failed because ResourceGroup not exist.', 'description' => '指定的资源组不存在。'],
+ ['errorCode' => 'IllegalParam.loadBalancerName', 'errorMessage' => 'Param loadBalancerName is illegal.', 'description' => '实例名称非法,请检查参数。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam.DeletionProtectionConfig', 'errorMessage' => 'DeletionProtectionConfig reason is illegal.', 'description' => '更改删除保护状态原因参数非法。'],
+ ['errorCode' => 'IllegalParam.ModificationProtectionConfig', 'errorMessage' => 'ModificationProtectionConfig reason is illegal.', 'description' => '修改保护原因参数非法。'],
+ ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => '由于触发流控,请求被拒绝。'],
],
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' => 'UnauthorizedZone', 'errorMessage' => 'The specified zone of %s is not authorized.', 'description' => '指定的可用区%s未被授权使用'],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ['errorCode' => 'UnauthorizedRegion', 'errorMessage' => 'The specified region of %s is not authorized.', 'description' => '当前region还没有获得授权。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.VSwitch',
- 'errorMessage' => 'The specified resource of vSwitch is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.Vpc',
- 'errorMessage' => 'The specified resource of Vpc is not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of vSwitch is not found.', 'description' => '找不到指定的虚拟交换机资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.Vpc', 'errorMessage' => 'The specified resource of Vpc is not found.', 'description' => '找不到指定的VPC资源,请检查输入参数。'],
],
],
'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":""}]',
@@ -1095,16 +1224,36 @@
.'- **CreateLoadBalancer**接口属于异步接口,即系统返回一个实例ID,但该网络型负载均衡实例尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetLoadBalancerAttribute](~~445873~~)查询网络型负载均衡实例的创建状态:'."\n"
.' - 当网络型负载均衡实例处于**Provisioning**状态时,表示网络型负载均衡实例正在创建中。'."\n"
.' - 当网络型负载均衡实例处于**Active**状态时,表示网络型负载均衡实例创建成功。',
- ],
- 'DeleteLoadBalancer' => [
- 'summary' => '删除网络型负载均衡实例。',
- 'methods' => [
- 'post',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancer'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:AddressType', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/*'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'EipAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'CreateSecurityPolicy' => [
+ 'summary' => '在指定地域创建TCPSSL监听的自定义安全策略。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1113,135 +1262,225 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '141883',
+ 'abilityTreeNodes' => ['FEATUREslbAZREFH'],
+ 'tenantRelevance' => 'publicInformation',
],
'parameters' => [
[
- 'name' => 'LoadBalancerId',
+ 'name' => 'TlsVersions',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
+ '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,
- 'example' => 'nlb-wb7r6dlwetvt5j****',
+ 'maxItems' => 4,
+ 'minItems' => 1,
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'SecurityPolicyName',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会删除实例。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => '安全策略名称。'."\n"
+ ."\n"
+ .'长度为1~200个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => 'TLSCipherPolicy'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
+ ],
+ [
+ 'name' => 'Ciphers',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
+ 'description' => '支持的加密套件列表,具体依赖TLSVersion值。最多支持添加32个加密套件。'."\n"
."\n"
- .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\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"
- .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ .'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' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
+ '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,
- 'example' => 'cn-hangzhou',
+ 'maxItems' => 20,
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'response',
- 'description' => '删除网络型负载均衡实例。',
+ 'title' => 'RpcResponse<CreateSecurityPolicyResponse>',
+ '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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
- [
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ ],
+ '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' => '创建自定义安全策略',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSecurityPolicy'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateSecurityPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/*'],
+ ],
],
],
],
- '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',
- ],
+ 'CreateServerGroup' => [
+ 'summary' => '在指定地域创建服务器组。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1250,734 +1489,457 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'create',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '141880',
- 'abilityTreeNodes' => [
- 'FEATUREslb12YEWG',
- 'FEATUREslb4N3NIV',
- ],
+ 'abilityTreeCode' => '141881',
+ 'abilityTreeNodes' => ['FEATUREslbVDXH6N'],
],
'parameters' => [
[
- 'name' => 'LoadBalancerId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
- ],
- [
- 'name' => 'AddressType',
+ 'name' => 'ServerGroupType',
'in' => 'formData',
'schema' => [
- 'description' => '目标网络类型。取值:'."\n"
+ 'title' => '服务器组类型',
+ 'description' => '服务器组类型。取值:'."\n"
."\n"
- .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n"
- .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。',
+ .'- **Instance**(默认值):服务器类型,该类型服务器组支持添加**Ecs**、**Eni**、**Eci**类型实例。'."\n"
+ ."\n"
+ .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址类型的后端服务器。',
'type' => 'string',
- 'required' => true,
- 'example' => 'Internet',
+ 'required' => false,
+ 'example' => 'Instance',
+ 'default' => 'Instance',
'enum' => [],
],
],
[
- 'name' => 'ZoneMappings',
+ 'name' => 'ServerGroupName',
'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,
- ],
+ 'schema' => ['title' => '服务器组名称', 'description' => '服务器组名称。'."\n"
+ ."\n"
+ .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => true, 'example' => 'NLB_ServerGroup'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'AddressIPVersion',
'in' => 'formData',
'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
+ 'description' => '协议版本。取值:'."\n"
+ ."\n"
+ .'- **ipv4**(默认值):IPv4类型。'."\n"
."\n"
- .'- **true**:发送检查请求,不会更新实例的网络类型。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
+ .'- **DualStack**:双栈类型。',
+ 'type' => 'string',
'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ 'example' => 'ipv4',
+ 'default' => 'Ipv4',
+ 'enum' => [],
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'IpVersionAffinityMode',
'in' => 'formData',
'schema' => [
- 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
- ."\n"
- .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
+ 'title' => '',
+ 'description' => '双栈模式下的流量调度策略:'."\n"
."\n"
- .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**可能不一样。',
+ .'- NonAffinity(默认):无亲和模式,转发时不区分来源的IP协议版本,按照调度算法向健康的后端转发。'."\n"
+ .'- Affinity:亲和模式,转发时根据请求来源的IP协议版本亲和转发,IPv4请求仅转发至IPv4后端,IPv6请求仅转发至IPv6后端。'."\n"
+ .'> 仅**AddressIPVersion**为**DualStack**时,该参数生效。',
'type' => 'string',
'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'example' => 'Affinity',
+ 'enum' => ['NonAffinity', 'Affinity'],
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'Protocol',
'in' => 'formData',
'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ 'title' => '后端服务器类型',
+ 'description' => '转发到后端服务器使用的通信协议。取值:'."\n"
."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
+ .'- **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' => '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.',
+ 'example' => 'TCP',
+ 'default' => 'Tcp',
+ 'enum' => [],
],
],
[
- [
- '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',
+ 'name' => 'VpcId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例的ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-wb7r6dlwetvt5j****',
- ],
+ 'schema' => ['title' => '服务器组所在vpc的id', 'description' => '服务器组所在VPC的ID。'."\n"
+ ."\n"
+ .'> 如果**ServerGroupType**取值为**Instance**时,只有该VPC下的服务器可以加入到该服务器组。', 'type' => 'string', 'required' => true, 'example' => 'vpc-bp15zckdt37pq72zv****'],
],
[
- 'name' => 'LoadBalancerName',
+ 'name' => 'AnyPortEnabled',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例名称。'."\n"
- ."\n"
- .'长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'NLB1',
- ],
+ 'schema' => ['description' => '是否开启全端口转发。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**(默认值):关闭。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
- 'name' => 'CrossZoneEnabled',
+ 'name' => 'ConnectionDrainEnabled',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例是否开启跨可用区。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- .'- **false**:关闭。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['title' => '是否开启连接优雅中断', 'description' => '是否开启连接优雅中断。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**(默认值):关闭。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ConnectionDrainTimeout',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会更新实例信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['title' => '连接优雅中断超时时间', 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n"
+ .'取值范围:**0**~**900**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '3600', 'minimum' => '0', 'example' => '10', 'default' => '10'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'Scheduler',
'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',
- ],
+ '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' => 'RegionId',
+ 'name' => 'PreserveClientIpEnabled',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-beijing',
- ],
+ 'schema' => ['description' => '是否开启客户端地址保持功能。取值:'."\n"
+ ."\n"
+ .'- **true**(默认值):开启。'."\n"
+ .'- **false**:关闭。'."\n"
+ ."\n\n"
+ .'> '."\n"
+ .'> 当**Protocol**取值为**TCP**且该参数取值为**true**时,该服务器组不支持关联**TCPSSL**监听。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
- 'name' => 'Cps',
+ 'name' => 'HealthCheckConfig',
'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'description' => '网络型负载均衡实例在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**1**~**1000000**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '1',
- ],
- ],
- ],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'response',
- 'description' => '更新网络型负载均衡实例名称等属性。',
+ 'title' => '健康检查配置',
+ 'description' => '健康检查相关配置。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
+ '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',
- 'example' => '7294679F-08DE-16D4-8E5D-1625685DC10B',
+ 'required' => false,
+ 'example' => 'GET',
+ 'enum' => [],
],
- 'JobId' => [
- 'description' => '异步任务ID。',
+ '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',
- 'example' => 'aab74cfa-3bc4-48fc-80fc-0101da5a****',
+ 'required' => false,
+ 'example' => 'HTTP1.0',
+ 'enum' => ['HTTP1.0', 'HTTP1.1'],
],
],
+ 'required' => false,
],
],
- ],
- '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.',
- ],
+ [
+ 'name' => 'ResourceGroupId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '服务器组所属的资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会创建服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'true', 'default' => 'false'],
],
- ],
- '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' => [],
+ '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'],
],
- ],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
- 'parameters' => [
[
- 'name' => 'LoadBalancerId',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'ZoneMappings',
+ 'name' => 'Tag',
'in' => 'formData',
+ 'allowEmptyValue' => true,
'style' => 'repeatList',
'schema' => [
- 'description' => '可用区及交换机映射列表,最多支持添加10个可用区。',
+ 'description' => '标签列表。',
'type' => 'array',
'items' => [
- 'description' => '可用区及交换机映射列表,最多支持添加10个可用区。',
+ 'description' => '标签。',
'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',
- ],
+ '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' => 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',
+ 'maxItems' => 20,
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'response',
- 'description' => 'response',
+ 'title' => 'RpcResponse<CreateServerGroupResponse>',
+ '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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'IllegalParam.AnyPortServerGroupConflictWithHealthCheckConfig', 'errorMessage' => 'The param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal.', 'description' => '服务器组的配置与健康检查设置冲突。请检查配置参数。'],
+ ['errorCode' => 'IllegalParamFormat.ParseCreateRsPoolRequestFailed', 'errorMessage' => 'The param format of CreateRsPoolRequest is illegal.', 'description' => 'CreateRsPoolRequestFailed的参数格式不合法,请参考OpenAPI文档检查请求参数。'],
+ ['errorCode' => 'IllegalParam.PreserveClientIpSwitch', 'errorMessage' => 'The param of PreserveClientIpSwitch is illegal.', 'description' => ''],
+ ['errorCode' => 'OperationDenied.VpcNotSupportIpv6', 'errorMessage' => 'The operation is not allowed because of VpcNotSupportIpv6.', 'description' => '使用的VPC不支持Ipv6。'],
+ ['errorCode' => 'IllegalParam.healthCheckDomain', 'errorMessage' => 'The parameter of healthCheckConfig.healthCheckDomain is illegal.', 'description' => '健康检查配置中的healthCheckDomain非法,请检查输入参数。'],
+ ['errorCode' => 'OperationDenied.UidNotAllowQuic29', 'errorMessage' => 'The operation is not allowed because of uid not allow quic29 version.', 'description' => ''],
+ ['errorCode' => 'IlleagalParam.healthCheckUrl', 'errorMessage' => 'The parameter of healthCheckUrl in healthCheckConfig is illegal.', 'description' => '健康检查设置中使用的健康检查的URL不合法。'],
+ ['errorCode' => 'IllegalParam.ServerGroupName', 'errorMessage' => 'The param of ServerGroupName is illegal.', 'description' => '传入的ServerGroupName参数非法'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam.ConnectionDrainTimeout', 'errorMessage' => 'The param of ConnectionDrainTimeout is illegal.', 'description' => '参数ConnectionDrainTimeout非法,请检查输入参数。'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'QuotaExceeded.QuotaInsufficient', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '配额不足,已使用%s/%s。请在配额中心中修改配额大小。'],
],
403 => [
- [
- 'errorCode' => 'UnauthorizedZone',
- 'errorMessage' => 'The specified zone of %s is not authorized.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.VSwitch',
- 'errorMessage' => 'The specified resource of vSwitch is not found.',
+ ['errorCode' => 'ResourceNotFound.Vpc', 'errorMessage' => 'The specified resource of Vpc is not found.', 'description' => '找不到指定的VPC资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.ResourceGroup', 'errorMessage' => 'The param of resourceGroup not existed.', 'description' => '资源组不存在。'],
+ ],
+ ],
+ 'title' => '创建服务器组',
+ 'description' => '**CreateServerGroup**接口属于异步接口,即系统返回一个请求ID,但该网络型负载均衡的服务器组尚未创建成功,系统后台的创建任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询服务器组的创建状态:'."\n"
+ .' - 当任务状态处于**Succeeded**时,表示服务器组创建成功。'."\n"
+ .' - 当任务状态处于**Processing**时,表示服务器组正在创建中,在该状态下,您只能执行查询操作,不能执行其他操作。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateServerGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/*'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ],
],
],
],
- '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**时,表示实例可用区及可用区属性正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。',
+ '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":""}]',
],
- 'EnableLoadBalancerIpv6Internet' => [
- 'summary' => '将双栈NLB实例的IPv6地址从私网变更为公网。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteListener' => [
+ 'summary' => '删除网络型负载均衡监听。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'write',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
- 'name' => 'LoadBalancerId',
+ 'name' => 'ListenerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ '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**:发送检查请求,不会变更Pv6类型实例的网络类型。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'response',
- 'description' => '双栈NLB实例的IPv6地址从私网变更为公网。',
+ 'title' => 'RpcResponse<UpdateOrDeleteListenerResponse>',
+ 'description' => '删除监听。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
- ],
+ '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.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.',
- ],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'IncorrectStatus.listener', 'errorMessage' => 'The status of listener [%s] is incorrect.', 'description' => '监听的状态无法进行当前操作,请检查监听当前是否处于其他操作下。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IncorrectStatus.loadbalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s [%s]的状态无效。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.Ipv6Gateway',
- 'errorMessage' => 'The specified resource of Ipv6Gateway is not found.',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ],
+ ],
+ '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' => '删除监听',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteListener'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'DeleteLoadBalancer' => [
+ 'summary' => '删除网络型负载均衡实例。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -1986,108 +1948,98 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'delete',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREslbC68LB1'],
],
'parameters' => [
[
'name' => 'LoadBalancerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-wb7r6dlwetvt5j****'],
],
[
'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会变更Pv6类型实例的网络类型。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
'title' => 'response',
- 'description' => 'response',
+ 'description' => '删除网络型负载均衡实例。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
- ],
+ '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.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.',
- ],
+ ['errorCode' => 'OperationDenied.%s', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '因为%s,当前操作是不允许的'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ['errorCode' => 'ResourceInCreating.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', 'description' => '正在创建指定的负载均衡器资源,请稍后重试。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'OperationDenied.DeletionProtectionEnabled', 'errorMessage' => 'The operation is not allowed because of DeletionProtectionEnabled.', 'description' => '由于启用了删除保护(DeletionProtectionEnabled),不允许进行此操作。'],
+ ['errorCode' => 'IncorrectStatus.loadbalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s [%s]的状态无效。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ 'title' => '删除负载均衡实例',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancer'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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公网',
+ '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":""}]',
],
- 'LoadBalancerLeaveSecurityGroup' => [
- 'summary' => '为网络型负载均衡实例解绑安全组。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DeleteSecurityPolicy' => [
+ 'summary' => '删除网络型负载均衡TLS自定义安全策略。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2095,141 +2047,87 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'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',
+ 'name' => 'SecurityPolicyId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ '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' => 'true',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'response',
- 'description' => 'response',
+ 'title' => 'RpcResponse<DeleteSecurityPolicyResponse>',
+ 'description' => '删除TLS自定义安全策略。',
'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****',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF'],
],
],
],
],
'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' => 'ResourceInUse.SecurityPolicy', 'errorMessage' => 'The specified resource of SecurityPolicy is in use.', 'description' => 'SecurityPolicy变配中,请稍后重试。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.SecurityGroup',
- 'errorMessage' => 'Authentication is failed for SecurityGroup.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.%s',
- 'errorMessage' => 'The specified resource of %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ ['errorCode' => 'ResourceNotFound.securitypolicy', 'errorMessage' => 'The specified resource of securitypolicy is not found.', 'description' => '找不到指定的安全策略资源。请检查输入参数。'],
+ ],
+ ],
+ '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' => '删除自定义安全策略',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSecurityPolicy'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteSecurityPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ],
],
],
],
- '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',
- ],
+ 'DeleteServerGroup' => [
+ 'summary' => '删除网络型负载均衡的服务器组。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2237,377 +2135,162 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'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',
+ 'name' => 'ServerGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '待绑定安全组的网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ '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' => 'true',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'response',
- 'description' => '为NLB实例绑定已创建的安全组。',
+ 'title' => 'RpcResponse<DeleteServerGroupResponse>',
+ '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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'ResourceInUse.ServerGroup', 'errorMessage' => 'The specified resource of ServerGroup is in use.', 'description' => '指定的服务器组资源正在使用中,请稍后重试。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IncorrectStatus.serverGroup', 'errorMessage' => 'The status of servergroup [%s] is incorrect.', 'description' => '服务器组的状态无法进行当前操作,请检查服务器组当前是否处于其他操作下。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
- [
- 'errorCode' => 'Forbidden.SecurityGroup',
- 'errorMessage' => 'Authentication is failed for SecurityGroup.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.SecurityGroup',
- 'errorMessage' => 'The specified resource of SecurityGroup is not found.',
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '服务器组未被任何监听使用时支持删除。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ],
],
],
],
- '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',
- ],
+ 'DescribeHdMonitorRegionConfig' => [
+ 'summary' => '查询秒级监控存储配置。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'get'],
'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',
- ],
+ 'in' => 'query',
+ 'schema' => ['title' => 'add 必选', 'description' => '资源所在的地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'response',
- 'description' => '更新修改删除保护。',
+ 'title' => 'RpcResponse<GetJodResponse>',
+ 'description' => 'RpcResponse<GetJodResponse>',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
- ],
+ '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' => [
- 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' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ ['errorCode' => 'DescribeHDMonitor.Fail', 'errorMessage' => 'DescribeHDMonitor Fail.', 'description' => '查询秒级监控配置失败'],
+ ],
+ ],
+ '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' => '查询当前地域配置的秒级监控存储数仓。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHdMonitorRegionConfig'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:DescribeHdMonitorRegionConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'DescribeRegions' => [
+ 'summary' => '查询NLB的可用地域。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -2615,640 +2298,78 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '141871',
- 'abilityTreeNodes' => [
- 'FEATUREslb12YEWG',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'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',
+ 'name' => 'ServiceCode',
'in' => 'query',
- 'schema' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ 'schema' => ['description' => '云产品的ServiceCode,仅取值:**nlb**。', 'type' => 'string', 'required' => false, 'example' => 'nlb', 'default' => 'nlb'],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'AcceptLanguage',
'in' => 'query',
- 'schema' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- 'default' => '20',
- ],
+ 'schema' => ['description' => '支持的语言。取值:'."\n"
+ ."\n"
+ .'- **zh-CN**:中文'."\n"
+ .'- **en-US**(默认):英文'."\n"
+ .'- **ja**:日文', 'type' => 'string', 'required' => false, 'example' => 'en-US'],
],
[
- 'name' => 'RegionId',
- 'in' => 'query',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'response',
- 'description' => 'response',
+ 'title' => 'RpcResponse<DescribeRegionsResponse>',
+ 'description' => '返回数据的结构。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
- ],
- 'LoadBalancers' => [
- 'description' => '网络型负载均衡实例列表。',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
+ 'Regions' => [
+ 'description' => '地域列表。',
'type' => 'array',
'items' => [
- 'description' => '网络型负载均衡实例列表。',
+ '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',
- ],
- ],
- ],
- ],
+ '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'],
],
],
],
- '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ],
+ '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' => '查询地域',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegions'],
],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
],
- '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' => '查询负载均衡实例信息',
+ 'ramActions' => [],
],
- 'GetLoadBalancerAttribute' => [
- 'summary' => '查询指定网络型负载均衡实例的详细信息。',
- 'methods' => [
- 'get',
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DescribeZones' => [
+ 'summary' => '查询NLB一个地域下的可用区列表。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3256,400 +2377,54 @@
],
'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeNodes' => [
- 'FEATUREslbZQW9H1',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'parameters' => [
[
- 'name' => 'LoadBalancerId',
+ 'name' => 'ServiceCode',
'in' => 'query',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ 'schema' => ['description' => '云产品的ServiceCode,仅取值:**nlb**。', 'type' => 'string', 'required' => false, 'example' => 'nlb'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'RegionId',
'in' => 'query',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会查询实例的配置信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => '可用区所在的地域ID。您可以调用[DescribeRegions](~~443657~~)查看最新的阿里云地域列表。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'AcceptLanguage',
'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',
- ],
+ 'schema' => ['description' => '支持的语言。取值:'."\n"
+ ."\n"
+ .'- **zh-CN**:中文'."\n"
+ .'- **en-US**(默认):英文'."\n"
+ .'- **ja**:日文', 'type' => 'string', 'required' => false, 'example' => 'zh-CN'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ClientToken',
'in' => 'query',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'response',
- 'description' => 'response',
+ 'title' => 'RpcResponse<DescribeZonesResponse>',
+ 'description' => '返回数据的结构。',
'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' => '标签列表。',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
+ 'Zones' => [
+ 'description' => '可用区列表。',
'type' => 'array',
'items' => [
- 'description' => '标签列表。',
+ 'description' => '可用区信息结构。',
'type' => 'object',
'properties' => [
- 'TagKey' => [
- 'description' => '实例的标签键。',
- 'type' => 'string',
- 'example' => 'KeyTest',
- ],
- 'TagValue' => [
- 'description' => '实例的标签值。',
- 'type' => 'string',
- 'example' => 'ValueTest',
- ],
+ 'LocalName' => ['description' => '可用区名称。', 'type' => 'string', 'example' => '杭州 可用区G'],
+ 'ZoneId' => ['description' => '可用区ID。', 'type' => 'string', 'example' => 'cn-hangzhou-g'],
],
],
],
@@ -3659,40 +2434,26 @@
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'DuplicatedParam.%s',
- 'errorMessage' => 'The param of %s is duplicated.',
- ],
- [
- 'errorCode' => 'OperationFailed.GetXipFailed',
- 'errorMessage' => 'Operation failed because GetXipFailed.',
- ],
+ ['errorCode' => 'IllegalParam.AcceptLanguage', 'errorMessage' => 'The param of AcceptLanguage[%s] is illegal from bundle %s', 'description' => 'AcceptLanguage 参数[%s] 非法。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
],
- 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 \\"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' => '查询可用区',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeZones'],
],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
],
- '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' => '查询负载均衡实例的详细信息',
+ 'ramActions' => [],
],
- 'StartShiftLoadBalancerZones' => [
- 'summary' => '将可用区对应的EIP/VIP从域名解析中摘除。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'DetachCommonBandwidthPackageFromLoadBalancer' => [
+ 'summary' => '解绑网络型负载均衡实例中的共享带宽包。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3700,150 +2461,91 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ZoneMappings',
+ 'name' => 'LoadBalancerId',
'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,
- ],
+ 'schema' => ['description' => '网络型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-83ckzc8d4xlp8o****'],
],
[
- 'name' => 'LoadBalancerId',
+ 'name' => 'BandwidthPackageId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'NLB实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ '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' => 'true',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<LoadBalancerZonesResponse>',
- 'description' => 'RpcResponse<LoadBalancerZonesResponse>',
+ 'title' => 'response',
+ 'description' => '解绑共享带宽包。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
+ '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' => 'ResourceInConfiguring.loadbalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.',
- ],
+ ['errorCode' => 'OperationDenied.%s', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '因为%s,当前操作是不允许的'],
+ ['errorCode' => 'ResourceNotAssociated.loadbalancer', 'errorMessage' => 'Thre resource is not associated with loadbalancer.', 'description' => '当前带宽包没有和参数中的lb关联,请检查输入参数。'],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.%s',
- 'errorMessage' => 'Authentication is failed for %s.',
- ],
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
],
- [
- [
- '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' => '实例解绑共享带宽包',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachCommonBandwidthPackageFromLoadBalancer'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:DetachCommonBandwidthPackageFromLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'DisableLoadBalancerIpv6Internet' => [
+ 'summary' => '将双栈NLB实例的Pv6地址从公网变更为私网。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -3851,150 +2553,86 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'update',
- ],
+ '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****',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<LoadBalancerZonesResponse>',
- 'description' => 'RpcResponse<LoadBalancerZonesResponse>',
+ 'title' => 'response',
+ 'description' => 'response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IncorrectStatus.ZoneId',
- 'errorMessage' => 'The zoneId status of eni [%s] is incorrect.',
- ],
+ ['errorCode' => 'OperationDenied.Ipv6IntranetInstance', 'errorMessage' => 'The operation is not allowed because of Ipv6IntranetInstance.', 'description' => '私网ipv6负载均衡实例不支持当前操作。'],
+ ['errorCode' => 'OperationDenied.NonDualStackInstance', 'errorMessage' => 'The operation is not allowed because of NonDualStackInstance.', 'description' => '由于不存在双栈实例,因此操作不被允许。'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.%s',
- 'errorMessage' => 'Authentication is failed for %s.',
- ],
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
],
- [
- [
- '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公网',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableLoadBalancerIpv6Internet'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:DisableLoadBalancerIpv6Internet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'DisassociateAdditionalCertificatesWithListener' => [
+ 'summary' => '解除TCPSSL监听关联的扩展证书。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -4003,675 +2641,463 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'create',
+ 'operationType' => 'update',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '141889',
- 'abilityTreeNodes' => [
- 'FEATUREslbC68LB1',
- 'FEATUREslb4PUXNB',
- 'FEATUREslbGDCN1S',
- 'FEATUREslbUZZGGD',
- ],
+ 'abilityTreeCode' => '177213',
+ 'abilityTreeNodes' => ['FEATUREslbEI2GF0'],
],
'parameters' => [
[
- 'name' => 'ListenerProtocol',
+ 'name' => 'AdditionalCertificateIds',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => '监听协议',
- 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。',
- 'type' => 'string',
+ 'title' => 'server扩展证书列表',
+ 'description' => '扩展证书列表。一次调用最多支持为监听解绑15个扩展证书。',
+ 'type' => 'array',
+ 'items' => ['description' => '扩展证书列表。仅支持服务器证书,一次调用最多支持为监听解绑15个扩展证书。', 'type' => 'string', 'required' => false, 'example' => '123157******'],
'required' => true,
- 'example' => 'TCP',
- 'enum' => [],
+ 'maxItems' => 15,
+ 'minItems' => 1,
],
],
[
- 'name' => 'ListenerPort',
+ 'name' => 'ListenerId',
'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',
- ],
+ 'schema' => ['title' => 'update or delete必选, add在custom中生成', 'description' => '监听ID。该接口仅支持输入TCPSSL监听ID。', 'type' => 'string', 'required' => true, 'example' => 'lsn-bpn0kn908w4nbw****@80'],
],
[
- 'name' => 'ListenerDescription',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'title' => '监听描述',
- 'description' => '自定义监听名称。'."\n"
- ."\n"
- .'长度限制为2~256个字符,支持中文和英文字母,可包含数字、半角逗号(,)、半角句号(.)、半角分号(;)、正斜线(/)、at(@)、下划线(_)和短划线(-)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'tcp_80',
- ],
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会为TCPSSL监听解绑扩展证书。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
- 'name' => 'LoadBalancerId',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'title' => 'add 必选',
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ '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' => 'ServerGroupId',
+ 'name' => 'RegionId',
'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****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
- [
- 'name' => 'IdleTimeout',
- 'in' => 'formData',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ '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****'],
+ ],
],
],
- [
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'IncorrectStatus.listener', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s [%s]的状态无效。'],
+ ['errorCode' => 'IncorrectStatus.certificate', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s [%s]的状态无效。'],
+ ['errorCode' => 'IncorrectStatus.loadbalancer', 'errorMessage' => 'The status of %s [%s] is incorrect.', 'description' => '资源%s [%s]的状态无效。'],
+ ['errorCode' => 'OperationDenied.Protocol', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '操作被拒绝,原因是%s。'],
+ ['errorCode' => 'OperationDenied.DefaultCertificateUsed', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '操作被拒绝,原因是%s。'],
+ ['errorCode' => 'ResourceNotAssociated.Certificate', 'errorMessage' => 'The specified resource %s is not associated.', 'description' => '资源%s未被关联。'],
+ ['errorCode' => 'OperationDenied.CaCertificateUsed', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '资源%s已被关联。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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**状态时,表示扩展证书解绑成功。',
+ 'changeSet' => [
+ ['createdAt' => '2023-12-18T03:24:47.000Z', 'description' => '错误码发生变更'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisassociateAdditionalCertificatesWithListener'],
],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
[
- '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******',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:DisassociateAdditionalCertificatesWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'],
],
- 'required' => false,
- 'maxItems' => 10,
],
],
+ ],
+ ],
+ 'EnableLoadBalancerIpv6Internet' => [
+ 'summary' => '将双栈NLB实例的IPv6地址从私网变更为公网。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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,
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
+ 'parameters' => [
[
- 'name' => 'CaEnabled',
+ 'name' => 'LoadBalancerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否启动双向认证。取值:'."\n"
- ."\n"
- .'- **true**:启动。'."\n"
- ."\n"
- .'- **false**(默认值):关闭。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ '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',
- 'default' => 'false',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
- [
- 'name' => 'AlpnPolicy',
- 'in' => 'formData',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ 'title' => 'response',
+ 'description' => '双栈NLB实例的IPv6地址从私网变更为公网。',
+ 'type' => 'object',
+ 'properties' => [
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
],
],
],
- [
- 'name' => 'StartPort',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '全端口监听起始端口。取值范围:**1** ~ **65535**。'."\n"
- ."\n"
- .'> 当**ListenerPort**为**0**时,需要配置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '244',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'OperationDenied.NonDualStackInstance', 'errorMessage' => 'The operation is not allowed because of NonDualStackInstance.', 'description' => '由于不存在双栈实例,因此操作不被允许。'],
+ ['errorCode' => 'ResourceInCreating.%s', 'errorMessage' => 'The specified resource of %s is creating, please try again later.', 'description' => '指定的资源%s正在创建中,请稍后重试。'],
+ ['errorCode' => 'ResourceInCreating.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', 'description' => '正在创建指定的负载均衡器资源,请稍后重试。'],
],
- [
- 'name' => 'EndPort',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '全端口监听结束端口。取值范围:**1** ~ **65535**。'."\n"
- .'终止端口的取值大于起始端口。'."\n"
- ."\n"
- .'> 当**ListenerPort**为**0**时,需要配置该参数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '566',
- ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- 'name' => 'Cps',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '100',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.Ipv6Gateway', 'errorMessage' => 'The specified resource of Ipv6Gateway is not found.', 'description' => '找不到指定的 IPv6 网关资源。'],
+ ],
+ ],
+ '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公网',
+ 'changeSet' => [
+ ['createdAt' => '2024-02-29T07:14:36.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-12-18T03:24:47.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-09-05T02:00:44.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-08-22T04:15:27.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-03-30T07:22:05.000Z', 'description' => '响应参数发生变更'],
+ ['createdAt' => '2022-08-03T07:32:21.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2022-07-04T03:05:33.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2022-06-27T08:29:22.000Z', 'description' => 'OpenAPI 下线'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableLoadBalancerIpv6Internet'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:EnableLoadBalancerIpv6Internet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
+ ],
+ ],
+ 'GetJobStatus' => [
+ 'summary' => '查询网络型负载均衡的异步任务执行结果信息。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- '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',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'get'],
+ 'parameters' => [
[
- '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' => 'JobId',
+ 'in' => 'query',
+ 'schema' => ['title' => 'add 必选', 'description' => '异步任务ID。', 'type' => 'string', 'required' => true, 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****'],
],
[
- '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,
- ],
+ '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<CreateListenerResponse>',
- 'description' => 'RpcResponse<CreateListenerResponse>',
+ 'title' => 'RpcResponse<GetJodResponse>',
+ 'description' => '查询异步任务结果。',
'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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- '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.',
+ ['errorCode' => 'ResourceNotFound.JobId', 'errorMessage' => 'The specified resource of JobId is not found.', 'description' => '找不到指定的JobId资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '查询异步任务结果',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobStatus'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetJobStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
],
- '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',
- ],
+ 'GetListenerAttribute' => [
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'write',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'get',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ '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',
- ],
+ 'in' => 'query',
+ 'schema' => ['title' => 'update or delete必选, add在custom中生成', 'description' => '监听ID。', 'type' => 'string', 'required' => true, 'example' => 'lsn-bp1bpn0kn908w4nbw****@233'],
],
[
'name' => 'DryRun',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会删除监听。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'in' => 'query',
+ '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',
- ],
+ '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' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<UpdateOrDeleteListenerResponse>',
- 'description' => '删除监听。',
+ 'title' => 'RpcResponse<GetListenerAttributeResponse>',
+ 'description' => '查询监听属性。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
+ '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******'],
],
- 'JobId' => [
- 'description' => '异步任务ID。',
- 'type' => 'string',
- 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****',
+ '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'],
+ ],
+ ],
],
],
],
@@ -4679,258 +3105,397 @@
],
'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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
],
- [
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.listener',
- 'errorMessage' => 'The specified resource %s is not found.',
+ ],
+ 'title' => '查询监听的属性',
+ 'summary' => '查询网络型负载均衡实例的监听详情。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetListenerAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetListenerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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' => '删除监听',
+ '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":""}]',
],
- 'StartListener' => [
- 'summary' => '启动网络型负载均衡监听。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'GetListenerHealthStatus' => [
+ 'summary' => '查询网络型负载均衡实例监听的健康检查状态。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeCode' => '141893',
- 'abilityTreeNodes' => [
- 'FEATUREslbC68LB1',
- 'FEATUREslb4PUXNB',
- 'FEATUREslbGDCN1S',
- 'FEATUREslbUZZGGD',
- ],
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '142934',
+ 'abilityTreeNodes' => ['FEATUREslbL239O5', 'FEATUREslbVDXH6N'],
],
'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',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => '网络型负载均衡实例的监听ID。', 'type' => 'string', 'required' => true, 'example' => 'lsn-bp1bpn0kn908w4nbw****@80'],
],
[
'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<StopOrStartListenerResponse>',
- 'description' => '启动监听。',
+ 'title' => 'RpcResponse<GetListenerHealthStatusResponse>',
+ '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****',
+ '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' => 'IncorrectStatus.listener',
- 'errorMessage' => 'The status of listener [%s] is incorrect.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.listener',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
],
],
- 'eventInfo' => [
- 'enable' => false,
- 'eventNames' => [],
+ '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' => '查询监听健康检查状态',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetListenerHealthStatus'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetListenerHealthStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'GetLoadBalancerAttribute' => [
+ 'summary' => '查询指定网络型负载均衡实例的详细信息。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
+ 'abilityTreeNodes' => ['FEATUREslbZQW9H1'],
],
'parameters' => [
[
- 'name' => 'ListenerId',
- 'in' => 'formData',
- 'schema' => [
- 'title' => 'update or delete必选, add在custom中生成',
- 'description' => '监听ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsn-bp1bpn0kn908w4nbw****@80',
- ],
+ 'name' => 'LoadBalancerId',
+ 'in' => 'query',
+ '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',
- ],
+ 'in' => 'query',
+ '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',
- ],
+ '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' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'in' => 'query',
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<StopOrStartListenerResponse>',
- 'description' => '停止监听。',
+ 'title' => 'response',
+ 'description' => 'response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
+ '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' => '业务异常。'],
+ ],
+ ],
],
- 'JobId' => [
- 'description' => '异步任务ID。',
- 'type' => 'string',
- 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****',
+ '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'],
+ ],
+ ],
],
],
],
@@ -4938,477 +3503,287 @@
],
'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.',
- ],
+ ['errorCode' => 'DuplicatedParam.%s', 'errorMessage' => 'The param of %s is duplicated.', 'description' => '参数%s重复了'],
+ ['errorCode' => 'OperationFailed.GetXipFailed', 'errorMessage' => 'Operation failed because GetXipFailed.', 'description' => '操作失败,因为实例还在创建中。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.listener',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '查询负载均衡实例的详细信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetLoadBalancerAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetLoadBalancerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'ListAsynJobs' => [
+ 'summary' => '批量查询异步任务结果。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '141874',
- 'abilityTreeNodes' => [
- 'FEATUREslbC68LB1',
- 'FEATUREslb4PUXNB',
- 'FEATUREslbGDCN1S',
- 'FEATUREslbUZZGGD',
- ],
+ 'abilityTreeCode' => '259936',
+ 'abilityTreeNodes' => ['FEATUREslbZQW9H1'],
],
'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',
+ 'name' => 'JobIds',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'title' => 'server证书列表',
- 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n"
- ."\n\n"
- .'> 仅对TCPSSL监听生效。',
+ 'description' => '任务 ID 列表。',
'type' => 'array',
- 'items' => [
- 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n"
- ."\n"
- .'> 仅对TCPSSL监听生效。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123157******',
- ],
+ 'items' => ['description' => '异步任务 ID。', 'type' => 'string', 'required' => false, 'example' => 'bfb728bf-53a8-4886-84cb-829******'],
'required' => false,
- 'maxItems' => 10,
],
],
- [
- 'name' => 'CaCertificateIds',
- 'in' => 'formData',
- 'style' => 'repeatList',
+ ],
+ 'responses' => [
+ 200 => [
'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******',
+ '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'],
],
- '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',
- ],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
- [
- 'name' => 'DryRun',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会更新监听信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- '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',
- ],
+ ['errorCode' => 'ResourceNotFound.JobId', 'errorMessage' => 'The specified resource of JobId is not found.', 'description' => '找不到指定的JobId资源,请检查输入参数。'],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ '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' => '批量查询异步任务结果',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListAsynJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
],
],
+ ],
+ ],
+ 'ListListenerCertificates' => [
+ 'summary' => '查询TCPSSL监听的服务器证书。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'ProxyProtocolEnabled',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否开启通过Proxy Protocol协议携带客户端源地址到后端服务器。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**:关闭。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '141873',
+ 'abilityTreeNodes' => ['FEATUREslbEJQO6W'],
+ ],
+ 'parameters' => [
[
- 'name' => 'SecSensorEnabled',
+ 'name' => 'ListenerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否开启秒级监控功能。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**:关闭。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => '监听ID。仅TCPSSL监听有效。', 'type' => 'string', 'required' => true, 'example' => 'lsn-j49ht1jxxqyg45****@80'],
],
[
- 'name' => 'AlpnEnabled',
+ 'name' => 'CertType',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否开启ALPN。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**:关闭。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => '证书类型。'."\n"
+ ."\n"
+ .'- **Ca**:CA证书。'."\n"
+ .'- **Server**:服务器证书。', 'type' => 'string', 'required' => false, 'example' => 'Ca'],
],
[
- 'name' => 'AlpnPolicy',
+ 'name' => 'NextToken',
'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',
- ],
- ],
+ 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
],
[
- 'name' => 'Cps',
+ 'name' => 'MaxResults',
'in' => 'formData',
- 'schema' => [
- 'description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10000',
- ],
+ 'schema' => ['description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**20**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'maximum' => '50', 'minimum' => '1', 'example' => '20', 'default' => '20'],
],
[
- 'name' => 'Mss',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'TCP报文的最大段大小。单位:字节,取值范围:**0**~**1500**。**0**表示不修改用户TCP报文的MSS值。仅TCP、TCPSSL类型的监听支持该字段值。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '344',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。'."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'ProxyProtocolV2Config',
+ 'name' => 'CertificateIds',
'in' => 'formData',
- 'style' => 'json',
+ 'style' => 'repeatList',
'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',
- ],
- ],
+ '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<UpdateOrDeleteListenerResponse>',
- 'description' => '更新监听配置。',
+ 'title' => 'RpcResponse<ListListenerCertificatesResponse>',
+ 'description' => '查询TCPSSL监听证书。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '2198BD6D-9EBB-5E1C-9C48-E0ABB79CF831'],
+ 'CertificateIds' => [
+ 'description' => '服务器证书列表。',
+ 'type' => 'array',
+ 'items' => ['description' => '服务器证书列表。', 'type' => 'string', 'example' => '[ "931****-cn-hangzhou"]'],
],
- 'JobId' => [
- 'description' => '异步任务ID。',
- 'type' => 'string',
- 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****',
+ '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' => '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.',
- ],
+ ['errorCode' => 'OperationDenied.Protocol', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '操作被拒绝,原因是%s。'],
+ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数%s非法'],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ 404 => [
+ ['errorCode' => 'ResourceNotFound.loadbalancer', 'errorMessage' => 'The specified resource %s is not found.', 'description' => ''],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
],
- [
- [
- '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\\": \\"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监听证书',
+ 'changeSet' => [
+ ['createdAt' => '2024-08-14T07:43:31.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2023-08-22T04:15:26.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-06-07T11:41:51.000Z', 'description' => '错误码发生变更、请求参数发生变更、响应参数发生变更'],
+ ['createdAt' => '2023-04-11T07:38:13.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2022-07-26T03:48:19.000Z', 'description' => '响应参数发生变更'],
+ ['createdAt' => '2022-06-17T06:19:26.000Z', 'description' => 'OpenAPI 下线'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListListenerCertificates'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListListenerCertificates',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5421,11 +3796,7 @@
'riskType' => 'none',
'chargeType' => 'free',
'abilityTreeCode' => '141890',
- 'abilityTreeNodes' => [
- 'FEATUREslbC68LB1',
- 'FEATUREslb4PUXNB',
- 'FEATUREslbGDCN1S',
- ],
+ 'abilityTreeNodes' => ['FEATUREslbC68LB1', 'FEATUREslb4PUXNB', 'FEATUREslbGDCN1S'],
],
'parameters' => [
[
@@ -5436,12 +3807,7 @@
'title' => '监听唯一标识',
'description' => '监听实例ID。最多支持20个监听ID。',
'type' => 'array',
- 'items' => [
- 'description' => '监听实例ID。最多支持20个监听ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'lsn-bp1bpn0kn908w4nbw****@443',
- ],
+ 'items' => ['description' => '监听实例ID。最多支持20个监听ID。', 'type' => 'string', 'required' => false, 'example' => 'lsn-bp1bpn0kn908w4nbw****@443'],
'required' => false,
'maxItems' => 20,
],
@@ -5454,12 +3820,7 @@
'title' => '负载均衡实例标识',
'description' => '网络型负载均衡实例ID。最多支持20个实例ID。',
'type' => 'array',
- 'items' => [
- 'description' => '网络型负载均衡实例ID。最多支持20个实例ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ 'items' => ['description' => '网络型负载均衡实例ID。最多支持20个实例ID。', 'type' => 'string', 'required' => false, 'example' => 'nlb-83ckzc8d4xlp8o****'],
'required' => false,
'maxItems' => 20,
],
@@ -5467,13 +3828,7 @@
[
'name' => 'ListenerProtocol',
'in' => 'query',
- 'schema' => [
- 'title' => '监听协议',
- 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TCPSSL',
- ],
+ 'schema' => ['title' => '监听协议', 'description' => '监听协议。取值:**TCP**、**UDP**或**TCPSSL**。', 'type' => 'string', 'required' => false, 'example' => 'TCPSSL'],
],
[
'name' => 'Tag',
@@ -5486,22 +3841,12 @@
'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',
- ],
+ '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,
],
@@ -5513,50 +3858,29 @@
[
'name' => 'NextToken',
'in' => 'query',
- 'schema' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '是否开启秒级监控功能。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ .'- **false**:关闭。', 'type' => 'string', 'required' => false, 'example' => 'false'],
],
],
'responses' => [
@@ -5566,11 +3890,7 @@
'description' => '查询监听列表。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
'Listeners' => [
'description' => '网络型负载均衡监听列表。',
'type' => 'array',
@@ -5585,287 +3905,161 @@
'description' => '标签。',
'type' => 'object',
'properties' => [
- 'Key' => [
- 'description' => '标签键。',
- 'type' => 'string',
- 'example' => 'Created',
- ],
- 'Value' => [
- 'description' => '标签值。',
- 'type' => 'string',
- 'example' => 'TF',
- ],
+ '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',
- ],
+ '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******',
- ],
+ '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',
+ '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',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ ],
+ 'title' => '查询监听',
+ 'summary' => '查询网络型负载均衡监听列表。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListListeners'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListListeners',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'Listener', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:listener/*'],
+ ],
],
],
],
'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',
- ],
+ 'ListLoadBalancers' => [
+ 'summary' => '查询已创建的网络型负载均衡实例的基本信息。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -5877,565 +4071,365 @@
'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeNodes' => [
- 'FEATUREslbC68LB1',
- 'FEATUREslb4PUXNB',
- 'FEATUREslbGDCN1S',
- 'FEATUREslbUZZGGD',
- ],
+ 'abilityTreeCode' => '141871',
+ 'abilityTreeNodes' => ['FEATUREslb12YEWG'],
],
'parameters' => [
[
- 'name' => 'ListenerId',
+ 'name' => 'LoadBalancerType',
'in' => 'query',
- 'schema' => [
- 'title' => 'update or delete必选, add在custom中生成',
- 'description' => '监听ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsn-bp1bpn0kn908w4nbw****@233',
- ],
+ 'schema' => ['title' => '负载均衡类型', 'description' => '负载均衡类型。仅取值:**network**,表示网络型负载均衡。', 'type' => 'string', 'required' => false, 'example' => 'network'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ZoneId',
+ 'in' => 'query',
+ 'schema' => ['title' => '负载均衡拥有的可用区', 'description' => '可用区名称。您可以通过调用[DescribeZones](~~443890~~)接口获取。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou-a'],
+ ],
+ [
+ 'name' => 'VpcIds',
'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会查询监听详情。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
+ 'title' => '专有网络唯一标识',
+ 'description' => '网络型负载均衡实例的专有网络ID。一次最多支持查询10个VPC ID。',
+ 'type' => 'array',
+ 'items' => ['description' => '网络型负载均衡实例的专有网络ID。一次最多支持查询10个VPC ID。', 'type' => 'string', 'required' => false, 'example' => 'vpc-bp1b49rqrybk45nio****'],
'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ 'maxItems' => 10,
],
],
[
- 'name' => 'ClientToken',
+ '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' => [
- 'description' => '客户端Token,用于保证请求的幂等性。'."\n"
- ."\n"
- .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
- ."\n"
- .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
- 'type' => 'string',
+ 'title' => '负载均衡实例名称',
+ 'description' => '网络型负载均衡实例名称。一次最多支持查询20个实例名称。',
+ 'type' => 'array',
+ 'items' => ['description' => '网络型负载均衡实例名称。一次最多支持查询20个实例。', 'type' => 'string', 'required' => false, 'example' => 'NLB1'],
'required' => false,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ 'maxItems' => 20,
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceGroupId',
'in' => 'query',
+ 'schema' => ['title' => '企业资源组标识', 'description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
+ ],
+ [
+ 'name' => 'LoadBalancerIds',
+ 'in' => 'query',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
+ 'title' => '实例列表',
+ 'description' => '网络型负载均衡实例的ID。一次最多支持查询20个实例。',
+ 'type' => 'array',
+ 'items' => ['description' => '网络型负载均衡实例的ID。一次最多支持查询20个实例。', 'type' => 'string', 'required' => false, 'example' => 'nlb-83ckzc8d4xlp8o****'],
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'maxItems' => 20,
],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'flat',
'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"
+ 'description' => '网络型负载均衡实例标签。',
+ 'type' => 'array',
+ 'items' => [
+ 'description' => '网络型负载均衡实例标签。',
+ 'type' => 'object',
+ 'properties' => [
+ 'Key' => ['description' => '实例的标签键。最多支持输入20个标签键。一旦输入该值,则不允许为空字符串。'."\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"
+ .'最多支持64个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'KeyTest'],
+ 'Value' => ['description' => '实例的标签值。最多支持输入20个标签值。一旦输入该值,可以为空字符串。'."\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',
- ],
- ],
- ],
+ .'最多支持128个字符,不能以`aliyun`和`acs:`开头,不能包含`http://`或者`https://`。', 'type' => 'string', 'required' => false, 'example' => 'ValueTest'],
],
+ 'required' => false,
],
+ 'required' => false,
+ 'maxItems' => 20,
+ 'minItems' => 1,
],
],
- ],
- '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',
+ 'name' => 'NextToken',
+ 'in' => 'query',
+ 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
],
- ],
- 'parameters' => [
[
- 'name' => 'ListenerId',
+ 'name' => 'MaxResults',
'in' => 'query',
- 'schema' => [
- 'description' => '网络型负载均衡实例的监听ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsn-bp1bpn0kn908w4nbw****@80',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<GetListenerHealthStatusResponse>',
- 'description' => '查询监听健康检查状态。',
+ 'title' => 'response',
+ 'description' => 'response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
- 'ListenerHealthStatus' => [
- 'description' => '监听的服务器组健康检查状态列表。',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
+ 'LoadBalancers' => [
+ 'description' => '网络型负载均衡实例列表。',
'type' => 'array',
'items' => [
- 'description' => '监听的服务器组健康检查状态列表。',
+ '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',
+ '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' => '业务异常'],
+ ],
+ ],
],
- 'ServerGroupInfos' => [
- 'description' => '服务器组信息。',
+ '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' => '服务器组信息。',
+ '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' => '非正常状态的后端服务器列表。',
+ 'VSwitchId' => ['description' => '可用区对应的交换机,每个可用区默认使用一台交换机和一个子网。', 'type' => 'string', 'example' => 'vsw-bp1rmcrwg3erh1fh8****'],
+ 'ZoneId' => ['description' => '可用区名称,您可以通过调用[DescribeZones](~~443890~~)接口获取。', 'type' => 'string', 'example' => 'cn-hangzhou-a'],
+ 'LoadBalancerAddresses' => [
+ 'description' => '网络型负载均衡实例地址信息。',
'type' => 'array',
'items' => [
- 'description' => '非正常状态的后端服务器列表。',
+ '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',
- ],
+ '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"
- .'- 如果**NextToken**为空表示没有下一次查询。'."\n"
- .'- 如果**NextToken**有返回值,该取值表示下一次查询开始的令牌。',
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'MaxResults' => [
- 'description' => '分批次查询时每次显示的条目数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
+ '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.',
- ],
+ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数%s非法'],
+ ['errorCode' => 'IllegalParam.LoadBalancerType', 'errorMessage' => 'The LoadBalancerType value is invalid.', 'description' => '参数LoadBalancerType值非法,请检查输入参数。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam.loadBalancerName', 'errorMessage' => 'Param loadBalancerName is illegal.', 'description' => '实例名称非法,请检查参数。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
- [
- [
- '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 \\"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' => '查询负载均衡实例信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListLoadBalancers'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListLoadBalancers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/*'],
+ ],
],
],
],
- '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',
- ],
+ 'ListSecurityPolicy' => [
+ 'summary' => '查询网络型负载均衡的TLS自定义安全策略。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -6445,1152 +4439,1011 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'get',
- 'abilityTreeCode' => '141873',
- 'abilityTreeNodes' => [
- 'FEATUREslbEJQO6W',
- ],
+ 'abilityTreeCode' => '141862',
+ 'abilityTreeNodes' => ['FEATUREslbAZREFH'],
],
'parameters' => [
[
- 'name' => 'ListenerId',
+ 'name' => 'SecurityPolicyIds',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '监听ID。仅TCPSSL监听有效。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsn-j49ht1jxxqyg45****@80',
+ 'description' => '安全策略实例ID列表。最多支持添加20个安全策略实例。',
+ 'type' => 'array',
+ 'items' => ['description' => '安全策略实例ID列表。最多支持添加20个安全策略实例。', 'type' => 'string', 'required' => false, 'example' => 'sp-wuytp9pa******'."\n"],
+ 'required' => false,
+ 'maxItems' => 20,
],
],
[
- 'name' => 'CertType',
+ 'name' => 'SecurityPolicyNames',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '证书类型。'."\n"
- ."\n"
- .'- **Ca**:CA证书。'."\n"
- .'- **Server**:服务器证书。',
- 'type' => 'string',
+ 'description' => '安全策略名称列表。最多支持添加20个安全策略实例。',
+ 'type' => 'array',
+ 'items' => ['description' => '安全策略名称列表。最多支持添加20个安全策略实例。', 'type' => 'string', 'required' => false, 'example' => 'TLSCipherPolicy'],
'required' => false,
- 'example' => 'Ca',
+ 'maxItems' => 20,
],
],
[
- 'name' => 'NextToken',
- 'in' => 'formData',
+ 'name' => 'Tag',
+ 'in' => 'query',
+ 'style' => 'flat',
'schema' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
- 'type' => 'string',
+ '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,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**20**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'maximum' => '50',
- 'minimum' => '1',
- 'example' => '20',
- 'default' => '20',
- ],
+ 'schema' => ['description' => '资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'NextToken',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。'."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
],
[
- 'name' => 'CertificateIds',
+ 'name' => 'MaxResults',
'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,
- ],
+ '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<ListListenerCertificatesResponse>',
- 'description' => '查询TCPSSL监听证书。',
+ 'title' => 'RpcResponse<ListSecurityPolicyResponse>',
+ 'description' => '查询TLS安全策略。',
'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' => '证书列表。',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF'],
+ 'SecurityPolicies' => [
+ 'description' => 'TLS安全策略列表。',
'type' => 'array',
'items' => [
- 'description' => '证书列表。',
+ 'description' => 'TLS安全策略列表。',
'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',
+ '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'],
+ ],
+ ],
],
- 'CertificateType' => [
- 'title' => '证书类型',
- 'description' => '证书类型。',
- 'type' => 'string',
- 'example' => 'Server',
+ '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' => '1',
- ],
- 'NextToken' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
- 'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
- 'MaxResults' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**20**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
- ],
+ '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' => 'OperationDenied.Protocol',
- 'errorMessage' => 'The operation is not allowed because of %s.',
- ],
- [
- 'errorCode' => 'IllegalParam.%s',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.loadbalancer',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.listener',
- 'errorMessage' => 'The specified resource %s is not found.',
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ ],
+ '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' => '查询自定义安全策略',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSecurityPolicy'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListSecurityPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/*'],
+ ],
],
],
],
- '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',
- ],
+ 'ListServerGroupServers' => [
+ 'summary' => '查询网络型负载均衡服务器组中的服务器列表。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '177212',
- 'abilityTreeNodes' => [
- 'FEATUREslbEI2GF0',
- ],
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '141867',
+ 'abilityTreeNodes' => ['FEATUREslb3GOGI0'],
],
'parameters' => [
[
- 'name' => 'AdditionalCertificateIds',
+ 'name' => 'ServerGroupId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'sgp-atstuj3rtoptyui****'],
+ ],
+ [
+ 'name' => 'ServerIds',
'in' => 'formData',
'style' => 'repeatList',
'schema' => [
- 'title' => 'server扩展证书列表',
- 'description' => '扩展证书列表。一次调用最多支持为监听关联15个扩展证书。',
+ 'description' => '服务器ID列表。单次调用最多支持展示40个服务器。',
'type' => 'array',
- 'items' => [
- 'description' => '扩展证书列表。一次调用最多支持为监听关联15个扩展证书。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123157******',
- ],
- 'required' => true,
- 'maxItems' => 15,
- 'minItems' => 1,
+ 'items' => ['description' => '服务器ID列表。单次调用最多支持展示40个服务器。', 'type' => 'string', 'required' => false, 'example' => 'i-bp67acfmxazb4p****'],
+ 'required' => false,
+ 'maxItems' => 100,
],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'ServerIps',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => 'update or delete必选, add在custom中生成',
- 'description' => '监听ID。该接口仅支持输入TCPSSL监听ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsn-bpn0kn908w4nbw****@80',
+ 'description' => '服务器IP列表。单次调用最多支持展示40个服务器。',
+ 'type' => 'array',
+ 'items' => ['description' => '服务器IP列表。单次调用最多支持展示40个服务器。', 'type' => 'string', 'required' => false, 'example' => '192.168.6.3'],
+ 'required' => false,
+ 'maxItems' => 100,
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'NextToken',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会为TCPSSL监听添加扩展证书。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'MaxResults',
'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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。'."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>',
- 'description' => '为TCPSSL监听添加扩展证书。',
+ 'title' => 'RpcResponse<ListServerGroupServersResponse>',
+ '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****',
+ '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.',
- ],
- [
- '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.%s',
- 'errorMessage' => 'The specified resource of %s 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.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Nlb::2022-04-30::GetJobStatus',
- 'callbackInterval' => 5000,
- 'maxCallbackTimes' => 10,
+ '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' => '查询服务器',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListServerGroupServers'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListServerGroupServers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:serverGroup/{#ServerGroupId}'],
+ ],
+ ],
+ ],
],
- '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',
- ],
+ 'ListServerGroups' => [
+ 'summary' => '查询网络型负载均衡实例的服务器组列表',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
+ 'operationType' => 'get',
'riskType' => 'none',
'chargeType' => 'free',
- 'abilityTreeCode' => '177213',
- 'abilityTreeNodes' => [
- 'FEATUREslbEI2GF0',
- ],
+ 'abilityTreeCode' => '141872',
+ 'abilityTreeNodes' => ['FEATUREslbVDXH6N'],
],
'parameters' => [
[
- 'name' => 'AdditionalCertificateIds',
+ 'name' => 'ServerGroupIds',
'in' => 'formData',
'style' => 'repeatList',
'schema' => [
- 'title' => 'server扩展证书列表',
- 'description' => '扩展证书列表。一次调用最多支持为监听解绑15个扩展证书。',
+ 'description' => '服务器组ID。一次最多支持查询20个服务器组ID。',
'type' => 'array',
- 'items' => [
- 'description' => '扩展证书列表。仅支持服务器证书,一次调用最多支持为监听解绑15个扩展证书。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '123157******',
- ],
- 'required' => true,
- 'maxItems' => 15,
- 'minItems' => 1,
+ 'items' => ['description' => '服务器组ID。一次最多支持查询20个服务器组ID。', 'type' => 'string', 'required' => false, 'example' => 'sgp-atstuj3rtoptyui****'],
+ 'required' => false,
+ 'maxItems' => 20,
],
],
[
- 'name' => 'ListenerId',
+ 'name' => 'ServerGroupNames',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'title' => 'update or delete必选, add在custom中生成',
- 'description' => '监听ID。该接口仅支持输入TCPSSL监听ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'lsn-bpn0kn908w4nbw****@80',
+ 'description' => '服务器组名称,一次最多支持查询20个服务器组名称。',
+ 'type' => 'array',
+ 'items' => ['description' => '服务器组名称,一次最多支持查询20个服务器组名称。', 'type' => 'string', 'required' => false, 'example' => 'NLB_ServerGroup'],
+ 'required' => false,
+ 'maxItems' => 20,
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会为TCPSSL监听解绑扩展证书。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => '服务器组所属的资源组ID。', 'type' => 'string', 'required' => false, 'example' => 'rg-atstuj3rtop****'],
],
[
- 'name' => 'ClientToken',
+ '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' => '客户端Token,用于保证请求的幂等性。'."\n"
- ."\n"
- .'从您的客户端生成一个参数值,确保不同请求间该参数值唯一。ClientToken只支持ASCII字符。'."\n"
- ."\n"
- .'> 若您未指定,则系统自动使用API请求的**RequestId**作为**ClientToken**标识。每次API请求的**RequestId**不一样。',
- 'type' => 'string',
+ '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,
- 'example' => '123e4567-e89b-12d3-a456-426655440000',
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>',
- 'description' => 'RpcResponse<AdditionalCertificatesWithListenerResponse>',
+ 'title' => 'RpcResponse<ListServerGroupsResponse>',
+ '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****',
+ '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' => '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.listener',
- 'errorMessage' => 'The specified resource %s is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
+ 403 => [
+ ['errorCode' => 'Forbidden.%s', 'errorMessage' => 'Authentication is failed for %s.', 'description' => '当前资源或者操作%s鉴权失败'],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'asynchronous',
- 'callback' => 'Nlb::2022-04-30::GetJobStatus',
- 'callbackInterval' => 5,
- 'maxCallbackTimes' => 10,
+ 'title' => '查询服务器组',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListServerGroups'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListServerGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/*'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ],
+ ],
+ ],
],
- '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**状态时,表示扩展证书解绑成功。',
+ '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":""}]',
],
- 'CreateServerGroup' => [
- 'summary' => '在指定地域创建服务器组。',
- 'methods' => [
- 'post',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'ListSystemSecurityPolicy' => [
+ 'summary' => '查询系统默认的TLS安全策略。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'readAndWrite',
+ 'operationType' => 'read',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '141881',
- 'abilityTreeNodes' => [
- 'FEATUREslbVDXH6N',
- ],
- ],
+ 'systemTags' => ['operationType' => 'get'],
'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',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'title' => '服务器组名称',
- 'description' => '服务器组名称。'."\n"
- ."\n"
- .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'NLB_ServerGroup',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
- [
- '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',
+ ],
+ 'responses' => [
+ 200 => [
'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',
+ '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'],
+ ],
+ ],
+ ],
],
],
],
- [
- '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' => [],
- ],
+ ],
+ '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' => '查询系统安全策略',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSystemSecurityPolicy'],
],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [],
+ ],
+ 'ListTagResources' => [
+ 'summary' => '查询指定资源标签。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'VpcId',
- 'in' => 'formData',
- 'schema' => [
- 'title' => '服务器组所在vpc的id',
- 'description' => '服务器组所在VPC的ID。'."\n"
- ."\n"
- .'> 如果**ServerGroupType**取值为**Instance**时,只有该VPC下的服务器可以加入到该服务器组。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'vpc-bp15zckdt37pq72zv****',
- ],
+ 'AK' => [],
],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '141863',
+ 'abilityTreeNodes' => ['FEATUREslbS3YPBZ', 'FEATUREslb01BKVK'],
+ ],
+ 'parameters' => [
[
- 'name' => 'AnyPortEnabled',
+ 'name' => 'ResourceType',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否开启全端口转发。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**(默认值):关闭。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => '资源类型。取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网络型负载均衡实例。'."\n"
+ .'- **securitypolicy**:安全策略。'."\n"
+ .'- **servergroup**:服务器组。'."\n"
+ .'- **listener**:监听。', 'type' => 'string', 'required' => true, 'example' => 'loadbalancer'],
],
[
- 'name' => 'ConnectionDrainEnabled',
+ 'name' => 'ResourceId',
'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'title' => '是否开启连接优雅中断',
- 'description' => '是否开启连接优雅中断。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**(默认值):关闭。',
- 'type' => 'boolean',
+ 'description' => '资源ID。',
+ 'type' => 'array',
+ 'items' => ['description' => '资源ID。', 'type' => 'string', 'required' => false, 'example' => 'nlb-nrnrxwd15en27r****'],
'required' => false,
- 'example' => 'false',
- 'default' => 'false',
+ 'maxItems' => 50,
+ 'minItems' => 1,
],
],
[
- 'name' => 'ConnectionDrainTimeout',
+ 'name' => 'Tag',
'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'title' => '连接优雅中断超时时间',
- 'description' => '设置连接优雅中断超时时间。单位:秒。'."\n"
- .'取值范围:**0**~**900**。',
- 'type' => 'integer',
- 'format' => 'int32',
+ '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,
- 'maximum' => '3600',
- 'minimum' => '0',
- 'example' => '10',
- 'default' => '10',
+ 'maxItems' => 20,
+ 'minItems' => 1,
],
],
[
- 'name' => 'Scheduler',
+ 'name' => 'NextToken',
'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',
- ],
+ 'schema' => ['description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
+ .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
+ .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。', 'type' => 'string', 'required' => false, 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****'],
],
[
- 'name' => 'PreserveClientIpEnabled',
+ 'name' => 'MaxResults',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否开启客户端地址保持功能。取值:'."\n"
- ."\n"
- .'- **true**(默认值):开启。'."\n"
- .'- **false**:关闭。'."\n"
- ."\n\n"
- .'> '."\n"
- .'> 当**Protocol**取值为**TCP**且该参数取值为**true**时,该服务器组不支持关联**TCPSSL**监听。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- ],
+ 'schema' => ['description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**50**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'],
],
[
- 'name' => 'HealthCheckConfig',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'style' => 'flat',
+ 'schema' => ['description' => '您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '健康检查配置',
- 'description' => '健康检查相关配置。',
+ 'title' => 'RpcResponse<ListTagResourcesResponse>',
+ '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**时,该参数生效。',
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'],
+ 'TagResources' => [
+ 'description' => '由资源及其标签组成的集合,包含了资源ID、资源类型和标签键值等信息。',
'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',
+ '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'],
],
- 'required' => false,
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam.resourceType', 'errorMessage' => 'The param of resourceType is illegal.', 'description' => '参数resourceType非法。请检查参数resourceType的输入值。'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
[
- 'name' => 'ResourceGroupId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '服务器组所属的资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
+ ['errorCode' => 'ResourceNotFound.securitypolicy', 'errorMessage' => 'The specified resource of securitypolicy is not found.', 'description' => '找不到指定的安全策略资源。请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '查询资源标签',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServergroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ],
],
],
+ ],
+ ],
+ 'LoadBalancerJoinSecurityGroup' => [
+ 'summary' => '为网络型负载均衡实例绑定已创建的安全组。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
[
- 'name' => 'DryRun',
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
+ 'parameters' => [
+ [
+ 'name' => 'SecurityGroupIds',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会创建服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
- 'default' => 'false',
+ 'description' => '安全组ID。',
+ 'type' => 'array',
+ 'items' => ['description' => '安全组ID。', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1fg655nh68xyz9****'],
+ 'required' => true,
+ 'maxItems' => 10,
],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'LoadBalancerId',
'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',
- ],
+ 'schema' => ['description' => '待绑定安全组的网络型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-83ckzc8d4xlp8o****'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会为实例绑定安全组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
- 'name' => 'Tag',
+ 'name' => 'ClientToken',
'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,
- ],
+ '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<CreateServerGroupResponse>',
- 'description' => '创建服务器组。',
+ 'title' => 'response',
+ 'description' => '为NLB实例绑定已创建的安全组。',
'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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'QuotaExceeded.QuotaInsufficient', 'errorMessage' => 'The quota of %s is exceeded, usage %s/%s.', 'description' => '配额不足,已使用%s/%s。请在配额中心中修改配额大小。'],
+ ['errorCode' => 'Conflict.SecurityGroup', 'errorMessage' => 'The SecurityGroup [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'Mismatch.%s', 'errorMessage' => 'The %s is mismatched for %s and %s.', 'description' => '对于资源对象%s和%s,参数%s缺失'],
+ ['errorCode' => 'OperationDenied.%s', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '因为%s,当前操作是不允许的'],
+ ['errorCode' => 'TagInvokeError', 'errorMessage' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', 'description' => '在资源标签中找不到资源定义,请检查RAM是否给NLB添加授权。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'Mismatch.vpc', 'errorMessage' => 'The Vpc is mismatched for %s and %s.', 'description' => '资源%s和资源%s的VPC不匹配。请检查两种资源是否在同一个VPC下。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'ResourceInCreating.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', 'description' => '正在创建指定的负载均衡器资源,请稍后重试。'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ['errorCode' => 'Forbidden.SecurityGroup', 'errorMessage' => 'Authentication is failed for SecurityGroup.', 'description' => '因为安全组没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.Vpc',
- 'errorMessage' => 'The specified resource of Vpc is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.ResourceGroup',
- 'errorMessage' => 'The param of resourceGroup not existed.',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.SecurityGroup', 'errorMessage' => 'The specified resource of SecurityGroup is not found.', 'description' => '找不到指定的安全组资源,请检查输入参数。'],
+ ],
+ ],
+ '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**时,表示安全组正在绑定中,在该状态下,您只能执行查询操作,不能执行其他操作。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'LoadBalancerJoinSecurityGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:LoadBalancerJoinSecurityGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ],
],
],
],
- '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',
- ],
+ 'LoadBalancerLeaveSecurityGroup' => [
+ 'summary' => '为网络型负载均衡实例解绑安全组。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -7598,285 +5451,107 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeNodes' => [
- 'FEATUREslbWFW5HS',
- ],
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'ServerGroupId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '服务器组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sgp-atstuj3rtoptyui****',
- ],
- ],
- [
- 'name' => 'Servers',
+ 'name' => 'SecurityGroupIds',
'in' => 'formData',
- 'style' => 'flat',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '后端服务器列表。'."\n"
- ."\n"
- .'> 单次调用最多支持传入200个服务器。',
+ 'description' => '待解绑的安全组ID。',
'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,
- ],
+ 'items' => ['description' => '待解绑的安全组ID。', 'type' => 'string', 'required' => false, 'example' => 'sg-bp1fg655nh68xyz9****'],
'required' => true,
- 'maxItems' => 200,
+ 'maxItems' => 10,
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'LoadBalancerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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<AddServersToServerGroupResponse>',
- 'description' => '添加后端服务器。',
+ 'title' => 'response',
+ 'description' => 'response',
'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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.SecurityGroup', 'errorMessage' => 'Authentication is failed for SecurityGroup.', 'description' => '因为安全组没有权限,所以鉴权失败。'],
],
[
- [
- '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.',
+ ['errorCode' => 'ResourceNotFound.%s', 'errorMessage' => 'The specified resource of %s is not found.', 'description' => '无法找到所需要使用的资源%s'],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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**时,表示安全组正在解绑中,在该状态下,您只能执行查询操作,不能执行其他操作。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'LoadBalancerLeaveSecurityGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:LoadBalancerLeaveSecurityGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
+ ],
],
],
],
- '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',
- ],
+ 'MoveResourceGroup' => [
+ 'summary' => '修改云资源所属的资源组。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -7885,76 +5560,57 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '179098',
+ 'abilityTreeNodes' => ['FEATUREslbZQW9H1'],
],
'parameters' => [
[
- 'name' => 'ServerGroupId',
+ 'name' => 'NewResourceGroupId',
'in' => 'formData',
- 'schema' => [
- 'title' => '服务器组ID',
- 'description' => '服务器组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sgp-atstuj3rtoptyui****',
- ],
+ 'schema' => ['description' => '新资源组ID。', 'type' => 'string', 'required' => true, 'example' => 'rg-aekzjcnrv3v****'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ResourceType',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会删除服务器组。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- 'default' => 'false',
- ],
+ 'schema' => ['description' => '资源类型,取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网络型负载均衡实例。'."\n"
+ .'- **securitypolicy**:安全策略。'."\n"
+ .'- **servergroup**:服务器组。', 'type' => 'string', 'required' => true, 'example' => 'loadbalancer'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'ResourceId',
'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',
- ],
+ 'schema' => ['description' => '资源ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-nrnrxwd15en27r****'],
],
[
'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ 'schema' => ['description' => '资源所在的地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<DeleteServerGroupResponse>',
- 'description' => '删除服务器组。',
+ 'title' => 'RpcResponse<MoveResourceGroupResponse>',
+ 'description' => 'RpcResponse<MoveResourceGroupResponse>',
'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****',
+ '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****'],
+ ],
],
],
],
@@ -7962,53 +5618,47 @@
],
'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.',
- ],
+ ['errorCode' => 'IllegalParam.resourceType', 'errorMessage' => 'The param of resourceType is illegal.', 'description' => '参数resourceType非法。请检查参数resourceType的输入值。'],
+ ['errorCode' => 'OperationFailed.StatusCheckFail.ResourceGroup', 'errorMessage' => 'The operation failed because of StatusCheckFail.ResourceGroup.', 'description' => '因为资源组状态检查失败,所以操作失败。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.serverGroup',
- 'errorMessage' => 'The specified resource of serverGroup is not found.',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.ResourceGroup', 'errorMessage' => 'The param of resourceGroup not existed.', 'description' => '资源组不存在。'],
+ ],
+ ],
+ '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' => '变更资源所属的资源组',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:MoveResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#securitypolicyId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:serverGroup/{#serverGroupId}'],
+ ],
],
],
],
- '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',
- ],
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8016,19 +5666,12 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- ],
+ 'systemTags' => ['operationType' => 'delete'],
'parameters' => [
[
'name' => 'ServerGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '服务器组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sgp-atstuj3rtoptyui****',
- ],
+ 'schema' => ['description' => '服务器组ID。', 'type' => 'string', 'required' => true, 'example' => 'sgp-atstuj3rtoptyui****'],
],
[
'name' => 'Servers',
@@ -8041,17 +5684,11 @@
'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****',
- ],
+ '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"
@@ -8065,21 +5702,8 @@
'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',
- ],
+ '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,
],
@@ -8090,40 +5714,25 @@
[
'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会移除服务器。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
@@ -8133,77 +5742,142 @@
'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****',
- ],
+ '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.',
- ],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'IncorrectStatus.serverGroup', 'errorMessage' => 'The status of servergroup [%s] is incorrect.', 'description' => '服务器组的状态无法进行当前操作,请检查服务器组当前是否处于其他操作下。'],
+ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数%s非法'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IdempotenceSignatureMismatch', 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', 'description' => '请求的幂等令牌与上一个相同,但签名不同。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.BackendServer',
- 'errorMessage' => 'The specified resource of BackendServer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.serverGroup',
- 'errorMessage' => 'The specified resource of serverGroup is not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.BackendServer', 'errorMessage' => 'The specified resource of BackendServer is not found.', 'description' => '找不到指定的后端服务器资源,请检查输入的参数。'],
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
],
],
'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' => '移除后端服务器',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveServersFromServerGroup'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:RemoveServersFromServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ],
+ ],
+ ],
+ ],
],
- 'UpdateServerGroupAttribute' => [
- 'summary' => '更新 NLB 服务器组的配置信息',
- 'methods' => [
- 'post',
+ 'SetHdMonitorRegionConfig' => [
+ 'summary' => '配置秒级监控存储。',
+ 'methods' => ['get', 'post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'read',
+ 'deprecated' => false,
+ 'systemTags' => [
+ 'operationType' => 'get',
+ 'abilityTreeCode' => '207971',
+ 'abilityTreeNodes' => ['FEATUREslbNC4CZR'],
+ 'tenantRelevance' => 'publicInformation',
],
- 'schemes' => [
- 'http',
- 'https',
+ '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.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'EnableHDMonitor.Fail', 'errorMessage' => 'EnableHDMonitor Fail.', 'description' => '设置秒级监控错误'],
+ ],
+ ],
+ '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' => '设置秒级监控数仓信息,如果当前地域存在已开启秒级监控的监听,需要先关闭才可以调整秒级监控数仓。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetHdMonitorRegionConfig'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:SetHdMonitorRegionConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
+ ],
+ ],
+ ],
+ ],
+ ],
+ 'StartListener' => [
+ 'summary' => '启动网络型负载均衡监听。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8213,401 +5887,311 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '141878',
- 'abilityTreeNodes' => [
- 'FEATUREslbVDXH6N',
- ],
+ 'abilityTreeCode' => '141893',
+ 'abilityTreeNodes' => ['FEATUREslbC68LB1', 'FEATUREslb4PUXNB', 'FEATUREslbGDCN1S', 'FEATUREslbUZZGGD'],
],
'parameters' => [
[
- 'name' => 'ServerGroupId',
+ 'name' => 'ListenerId',
'in' => 'formData',
- 'schema' => [
- 'title' => '服务器组ID',
- 'description' => '服务器组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sgp-atstuj3rtoptyui****',
- ],
+ 'schema' => ['title' => 'update or delete必选, add在custom中生成', 'description' => '监听ID。', 'type' => 'string', 'required' => true, 'example' => 'lsn-bp1bpn0kn908w4nbw****@80'],
],
[
- 'name' => 'ServerGroupName',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => '修改后的服务器组名称。'."\n"
- ."\n"
- .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'NLB_ServerGroup1',
- ],
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会启动监听。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
- 'name' => 'ConnectionDrainEnabled',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'title' => '是否开启连接优雅中断',
- 'description' => '是否开启连接优雅中断。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**:不开启。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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' => 'ConnectionDrainTimeout',
+ 'name' => 'RegionId',
'in' => 'formData',
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
+ ],
+ ],
+ 'responses' => [
+ 200 => [
'schema' => [
- 'title' => '连接优雅中断超时时间',
- 'description' => '设置连接优雅中断超时时间。单位:秒。取值范围:**0**~**900**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '10',
+ '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.', 'description' => '监听的状态无法进行当前操作,请检查监听当前是否处于其他操作下。'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
[
- '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',
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ],
+ ],
+ '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' => '启动监听',
+ 'changeSet' => [
+ ['createdAt' => '2024-10-16T03:28:50.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2024-02-29T07:14:36.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-10-09T11:30:11.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2023-09-26T07:58:55.000Z', 'description' => '错误码发生变更'],
+ ['createdAt' => '2022-08-02T06:52:05.000Z', 'description' => '请求参数发生变更'],
+ ['createdAt' => '2022-06-17T06:19:00.000Z', 'description' => 'OpenAPI 下线'],
+ ],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartListener'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:StartListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
+ ],
+ ],
+ 'StartShiftLoadBalancerZones' => [
+ 'summary' => '将可用区对应的EIP/VIP从域名解析中摘除。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
+ 'security' => [
+ [
+ 'AK' => [],
+ ],
+ ],
+ 'operationType' => 'readAndWrite',
+ 'deprecated' => false,
+ 'systemTags' => ['operationType' => 'update'],
+ 'parameters' => [
[
- 'name' => 'IpVersionAffinityMode',
+ 'name' => 'ZoneMappings',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '双栈模式下的流量调度策略:'."\n"
+ 'description' => '可用区及交换机映射列表。'."\n"
."\n"
- .'- NonAffinity(默认):无亲和模式,转发时不区分来源的IP协议版本,按照调度算法向健康的后端转发。'."\n"
- .'- Affinity:亲和模式,转发时根据请求来源的IP协议版本亲和转发,IPv4请求仅转发至IPv4后端,IPv6请求仅转发至IPv6后端。'."\n"
- .'> 仅**AddressIPVersion**为**DualStack**时,该参数生效。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Affinity',
- 'enum' => [
- 'NonAffinity',
- 'Affinity',
+ .'> 一次调用最多支持移除一个可用区。',
+ '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' => 'PreserveClientIpEnabled',
+ 'name' => 'LoadBalancerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否开启客户端地址保持功能。取值:'."\n"
- ."\n"
- .'- **true**:开启。'."\n"
- ."\n"
- .'- **false**:关闭。'."\n"
- ."\n"
- .'> 当**PreserveClientIpEnabled**参数取值为**false**且服务器组已关联**TCPSSL**监听时,不支持将该参数的值修改为**true**。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => 'NLB实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-83ckzc8d4xlp8o****'],
],
[
- 'name' => 'HealthCheckConfig',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'style' => 'flat',
+ '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' => '健康检查配置',
- 'description' => '健康检查相关配置。',
+ 'title' => 'RpcResponse<LoadBalancerZonesResponse>',
+ 'description' => 'RpcResponse<LoadBalancerZonesResponse>',
'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',
- ],
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'],
],
- 'required' => false,
],
],
+ ],
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.%s', 'errorMessage' => 'Authentication is failed for %s.', 'description' => '当前资源或者操作%s鉴权失败'],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
[
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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从域名解析中摘除。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartShiftLoadBalancerZones'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:StartShiftLoadBalancerZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ],
],
],
+ ],
+ ],
+ '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',
- 'default' => ' false',
- ],
+ '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',
- ],
+ '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<UpdateServerGroupAttributeResponse>',
- 'description' => '更新服务器组配置。',
+ 'title' => 'RpcResponse<StopOrStartListenerResponse>',
+ '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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IncorrectStatus.listener', 'errorMessage' => 'The status of listener [%s] is incorrect.', 'description' => '监听的状态无法进行当前操作,请检查监听当前是否处于其他操作下。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.serverGroup',
- 'errorMessage' => 'The specified resource of serverGroup is not found.',
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '停止监听',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopListener'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:StopListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'TagResources' => [
+ 'summary' => '为指定的资源列表统一创建并绑定标签。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -8616,1000 +6200,539 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'update',
- 'abilityTreeNodes' => [
- 'FEATUREslb3GOGI0',
- 'FEATUREslbBEALOE',
- 'FEATUREslb3DZO9R',
- 'FEATUREslbWFW5HS',
- 'FEATUREslbBYQ1MP',
- 'FEATUREslbYU1H2O',
- ],
+ 'operationType' => 'create',
+ 'abilityTreeCode' => '141891',
+ 'abilityTreeNodes' => ['FEATUREslbTUH0QC'],
],
'parameters' => [
[
- 'name' => 'ServerGroupId',
+ 'name' => 'ResourceId',
'in' => 'formData',
+ 'style' => 'flat',
'schema' => [
- 'description' => '服务器组ID。',
- 'type' => 'string',
+ 'description' => '资源ID。一次调用最多支持添加50个资源ID。',
+ 'type' => 'array',
+ 'items' => ['description' => '资源ID。一次调用最多支持添加50个资源ID。', 'type' => 'string', 'required' => false, 'example' => 'nlb-nrnrxwd15en27r****'],
'required' => true,
- 'example' => 'sgp-atstuj3rtoptyui****',
+ 'maxItems' => 50,
+ 'minItems' => 1,
],
],
[
- 'name' => 'Servers',
+ 'name' => 'Tag',
'in' => 'formData',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'schema' => [
- 'description' => '后端服务器列表,单次调用最多支持传入200个后端服务器。',
+ 'description' => '标签。',
'type' => 'array',
'items' => [
- 'description' => '后端服务器列表,单次调用最多支持传入200个后端服务器。',
+ 'description' => '标签。',
'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' => '后端服务器描述',
- ],
+ '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' => 200,
+ 'maxItems' => 20,
+ 'minItems' => 1,
],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ResourceType',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'false',
- 'default' => 'false',
- ],
+ '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',
- ],
+ '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<UpdateServerGroupServersAttributeResponse>',
- 'description' => '更新后端服务器配置。',
+ 'title' => 'RpcResponse<BaseResult>',
+ '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****',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'],
],
],
],
],
'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.',
- ],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.%s',
- 'errorMessage' => 'Authentication is failed for %s.',
- ],
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.BackendServer',
- 'errorMessage' => 'The specified resource of BackendServer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.serverGroup',
- 'errorMessage' => 'The specified resource of serverGroup is not found.',
+ ['errorCode' => 'ResourceNotFound.securitypolicy', 'errorMessage' => 'The specified resource of securitypolicy is not found.', 'description' => '找不到指定的安全策略资源。请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '给资源添加标签',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'UntagResources' => [
+ 'summary' => '为指定的资源列表统一解绑标签。',
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '141872',
- 'abilityTreeNodes' => [
- 'FEATUREslbVDXH6N',
- ],
+ 'operationType' => 'delete',
+ 'abilityTreeCode' => '141866',
+ 'abilityTreeNodes' => ['FEATUREslbTUH0QC'],
],
'parameters' => [
[
- 'name' => 'ServerGroupIds',
+ 'name' => 'ResourceId',
'in' => 'formData',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'schema' => [
- 'description' => '服务器组ID。一次最多支持查询20个服务器组ID。',
+ 'description' => '资源ID。一次调用最多支持添加50个资源ID。',
'type' => 'array',
- 'items' => [
- 'description' => '服务器组ID。一次最多支持查询20个服务器组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sgp-atstuj3rtoptyui****',
- ],
- 'required' => false,
- 'maxItems' => 20,
+ 'items' => ['description' => '资源ID。一次调用最多支持添加50个资源ID。', 'type' => 'string', 'required' => false, 'example' => 'nlb-nrnrxwd15en27r****'],
+ 'required' => true,
+ 'maxItems' => 50,
+ 'minItems' => 1,
],
],
[
- 'name' => 'ServerGroupNames',
+ 'name' => 'TagKey',
'in' => 'formData',
- 'style' => 'repeatList',
+ 'style' => 'flat',
'schema' => [
- 'description' => '服务器组名称,一次最多支持查询20个服务器组名称。',
+ 'description' => '要删除标签的标签键。一次调用最多支持删除20个标签。',
'type' => 'array',
- 'items' => [
- 'description' => '服务器组名称,一次最多支持查询20个服务器组名称。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'NLB_ServerGroup',
- ],
+ 'items' => ['description' => '要删除标签的标签键。一次调用最多支持删除20个标签。'."\n"
+ ."\n"
+ .'> 如果不指定**TagKey**,会删除掉这个实例上所有的标签。', 'type' => 'string', 'required' => false, 'example' => 'env'],
'required' => false,
'maxItems' => 20,
+ 'minItems' => 1,
],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'All',
'in' => 'formData',
- 'schema' => [
- 'description' => '服务器组所属的资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => '是否解绑资源的所有标签。取值:'."\n"
+ ."\n"
+ .'- **true**:解绑资源的所有标签。'."\n"
+ .'- **false**(默认值):不解绑资源的所有标签。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
- 'name' => 'ServerGroupType',
+ 'name' => 'ResourceType',
'in' => 'formData',
- 'schema' => [
- 'description' => '服务器组类型。取值:'."\n"
- ."\n"
- .'- **Instance**:服务器类型,该类型服务器组支持添加**Ecs**、**Ens**、**Eci**类型实例。'."\n"
- .'- **Ip**:IP地址类型,该类型服务器组支持直接添加IP地址。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'Instance',
- ],
+ 'schema' => ['description' => '资源类型。取值:'."\n"
+ ."\n"
+ .'- **loadbalancer**:网络型负载均衡实例。'."\n"
+ .'- **securitypolicy**:安全策略。'."\n"
+ .'- **servergroup**:服务器组。', 'type' => 'string', 'required' => true, 'example' => 'loadbalancer'],
],
[
- 'name' => 'VpcId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'title' => '服务器组所在vpc的id',
- 'description' => '服务器组所在VPC的ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'vpc-bp15zckdt37pq72zv****',
- ],
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会为资源解绑标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'true'],
],
[
- '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',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '资源所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<ListServerGroupsResponse>',
- 'description' => '查询服务器组。',
+ 'title' => 'RpcResponse<BaseResult>',
+ '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',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'System is busy, please try again later.',
- ],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.%s',
- 'errorMessage' => 'Authentication is failed for %s.',
- ],
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '删除资源的标签',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'UpdateListenerAttribute' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '141867',
- 'abilityTreeNodes' => [
- 'FEATUREslb3GOGI0',
- ],
+ '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' => [
- 'description' => '服务器组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'sgp-atstuj3rtoptyui****',
- ],
+ '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' => 'ServerIds',
+ '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' => [
- 'description' => '服务器ID列表。单次调用最多支持展示40个服务器。',
+ 'title' => 'server证书列表',
+ 'description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n"
+ ."\n\n"
+ .'> 仅对TCPSSL监听生效。',
'type' => 'array',
- 'items' => [
- 'description' => '服务器ID列表。单次调用最多支持展示40个服务器。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'i-bp67acfmxazb4p****',
- ],
+ 'items' => ['description' => '服务器证书列表信息。目前仅支持添加1个服务器证书。'."\n"
+ ."\n"
+ .'> 仅对TCPSSL监听生效。', 'type' => 'string', 'required' => false, 'example' => '123157******'],
'required' => false,
- 'maxItems' => 100,
+ 'maxItems' => 10,
],
],
[
- 'name' => 'ServerIps',
+ 'name' => 'CaCertificateIds',
'in' => 'formData',
'style' => 'repeatList',
'schema' => [
- 'description' => '服务器IP列表。单次调用最多支持展示40个服务器。',
+ 'title' => 'ca 证书列表',
+ 'description' => 'CA证书列表信息。目前仅支持添加1个CA证书。'."\n"
+ ."\n"
+ .'> 仅对TCPSSL监听生效。',
'type' => 'array',
- 'items' => [
- 'description' => '服务器IP列表。单次调用最多支持展示40个服务器。',
- 'type' => 'string',
- 'required' => false,
- 'example' => '192.168.6.3',
- ],
+ 'items' => ['description' => 'CA证书列表信息。目前仅支持添加1个CA证书。'."\n"
+ ."\n"
+ .'> 仅对TCPSSL监听生效。', 'type' => 'string', 'required' => false, 'example' => '139a00******'],
'required' => false,
- 'maxItems' => 100,
+ 'maxItems' => 10,
],
],
[
- 'name' => 'NextToken',
+ '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' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
+ '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' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'example' => 'HTTP1Only',
+ 'enum' => ['HTTP1Only', 'HTTP2Only', 'HTTP2Preferred', 'HTTP2Optional'],
],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'Cps',
'in' => 'formData',
- 'schema' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ 'schema' => ['description' => '该监听在每个可用区(VIP)处理的每秒新建连接限速值。取值范围:**0**~**1000000**。**0**表示不限速。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10000'],
],
[
- 'name' => 'RegionId',
+ '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' => '网络型负载均衡实例所在的地域ID。'."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
+ '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,
- 'example' => 'cn-hangzhou',
],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<ListServerGroupServersResponse>',
- 'description' => '查询服务器。',
+ 'title' => 'RpcResponse<UpdateOrDeleteListenerResponse>',
+ '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',
- ],
+ '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' => 'Mismatch.VpcId', 'errorMessage' => 'The VpcId is mismatched for %s and %s.', 'description' => '资源%s和资源%s的VpcId不匹配。请检查两种资源是否在同一个VPC下。'],
+ ['errorCode' => 'Conflict.Port', 'errorMessage' => 'The Port [%s] is conflict.', 'description' => '指定端口与已有端口存在冲突'],
+ ['errorCode' => 'ResourceNotFound.Certificate', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ['errorCode' => 'IncorrectStatus.listener', 'errorMessage' => 'The status of listener [%s] is incorrect.', 'description' => '监听的状态无法进行当前操作,请检查监听当前是否处于其他操作下。'],
+ ['errorCode' => 'IdempotenceSignatureMismatch', 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', 'description' => '请求的幂等令牌与上一个相同,但签名不同。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'ResourceAlreadyAssociated.Certificate', 'errorMessage' => 'The specified resource %s is already associated.', 'description' => '资源%s已被关联。'],
+ ['errorCode' => 'IllegalParamSize.certificateIds', 'errorMessage' => 'The param size of certificateIds or caCertificateIds is illegal.', 'description' => '证书的id只能有一个,请检查是否重复输入。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam.IdleTimeout', 'errorMessage' => 'The param of IdleTimeout is illegal.', 'description' => '参数连接空闲超时时间配置非法。'],
+ ['errorCode' => 'OperationDenied.RegionNotSupportHDMonitor', 'errorMessage' => 'The operation is not allowed because of RegionNotSupportHDMonitor.', 'description' => '当前区域不支持秒级监控。'],
+ ['errorCode' => 'ResourceNotEnough.CaCertificateApiCount', 'errorMessage' => 'The specified resource of CaCertificateApiCount is not enough.', 'description' => ''],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.serverGroup',
- 'errorMessage' => 'The specified resource of serverGroup is not found.',
- ],
+ ['errorCode' => 'ResourceNotFound.listener', 'errorMessage' => 'The specified resource %s is not found.', 'description' => '资源%s不存在。'],
+ ['errorCode' => 'ResourceNotFound.HdMonitorConfigNotExist', 'errorMessage' => 'The specified resource of HdMonitorConfigNotExist is not found.', 'description' => 'HdMonitorConfig 不存在,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.CaCertificate', 'errorMessage' => 'The specified resource of CaCertificate is not found.', 'description' => 'Ca证书不存在,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.securitypolicy', 'errorMessage' => 'The specified resource of securitypolicy is not found.', 'description' => '找不到指定的安全策略资源。请检查输入参数。'],
],
],
- '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',
+ 'title' => '更新监听配置',
+ 'summary' => '更新网络型负载均衡监听的配置。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateListenerAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateListenerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:SecurityPolicyId', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateLoadBalancerAddressTypeConfig' => [
+ 'summary' => '变更网络型负载均衡NLB实例的IPv4地址的网络类型。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -9619,118 +6742,154 @@
'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****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-83ckzc8d4xlp8o****'],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'AddressType',
'in' => 'formData',
'schema' => [
- 'description' => '需要移除的共享带宽包ID。',
+ 'description' => '目标网络类型。取值:'."\n"
+ ."\n"
+ .'- **Internet**:负载均衡具有公网IP地址,DNS域名被解析到公网IP,因此可以在公网环境访问。'."\n"
+ .'- **Intranet**:负载均衡只有私网IP地址,DNS域名被解析到私网IP,因此只能被负载均衡所在VPC的内网环境访问。',
'type' => 'string',
'required' => true,
- 'example' => 'cbwp-bp1pzf0ym72pu3y76****',
+ 'example' => 'Internet',
+ 'enum' => [],
],
],
[
- 'name' => 'DryRun',
+ 'name' => 'ZoneMappings',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会解绑带宽包。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
+ '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,
- 'example' => '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
+ 'headers' => [],
'schema' => [
'title' => 'response',
- 'description' => '解绑共享带宽包。',
+ '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****',
- ],
+ '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.',
- ],
+ ['errorCode' => 'DuplicatedParam.AllocationId', 'errorMessage' => 'The param of AllocationId is duplicated.', 'description' => 'AllocationId参数重复,请检查参数。'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ['errorCode' => 'OperationDenied.EipAlreadyInBandwidthPackage', 'errorMessage' => 'The operation is not allowed because of EipAlreadyInBandwidthPackage.', 'description' => '由于 EIP已经加入共享带宽包的原因,操作不被允许。'],
+ ['errorCode' => 'ResourceInConfiguring.%s', 'errorMessage' => 'The specified resource of %s is being configured, please try again later.', 'description' => '指定的资源%s正在配置,请稍后重试'],
+ ['errorCode' => 'OperationDenied.AddressTypeNotChanged', 'errorMessage' => 'The operation is not allowed because of AddressTypeNotChanged.', 'description' => '该操作不被允许,因为地址类型未更改。'],
+ ['errorCode' => 'Mismatch.ZoneIdAndVswitchId', 'errorMessage' => 'The ZoneIdAndVswitchId is mismatched for %s and %s.', 'description' => 'ZoneId和VswitchId缺失,请检查输入参数。'],
+ ['errorCode' => 'TagInvokeError', 'errorMessage' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', 'description' => '在资源标签中找不到资源定义,请检查RAM是否给NLB添加授权。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'Throttling.User', 'errorMessage' => 'Request was denied due to api flow control.', 'description' => '由于触发流控,请求被拒绝。'],
],
- 404 => [
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.AnycastInstance', 'errorMessage' => 'The specified resource of AnycastInstance is not found.', 'description' => '找不到指定的 Anycast 实例资源。'],
],
],
- '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',
+ 'title' => '变更网络类型配置',
+ 'description' => '- 您已创建NLB实例,请参见[CreateLoadBalancer](~~445868~~)。'."\n"
+ .'- 您可以通过[GetLoadBalancerAttribute](~~445873~~)接口查询变更后NLB实例的**AddressType**取值。'."\n"
+ .'- **UpdateLoadBalancerAddressTypeConfig**属于异步接口,即系统返回一个请求ID,但该NLB实例IPv4地址的网络类型尚未变更成功,系统后台的变更任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询IPv4地址网络类型变更状态:'."\n"
+ .' - 当任务状态处于**Succeeded**时,表示实例IPv4地址的网络类型变更成功。'."\n"
+ .' - 当任务状态处于**Processing**时,表示实例IPv4地址的网络类型变更中,在该状态下,您只能执行查询操作,不能执行其他操作。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerAddressTypeConfig'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerAddressTypeConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:AddressType', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateLoadBalancerAttribute' => [
+ 'summary' => '更新网络型负载均衡实例名称等属性。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -9740,135 +6899,113 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'abilityTreeCode' => '141865',
- 'abilityTreeNodes' => [
- 'FEATUREslb12YEWG',
- ],
+ 'abilityTreeCode' => '141877',
+ 'abilityTreeNodes' => ['FEATUREslb12YEWG', 'FEATUREslb4N3NIV'],
],
'parameters' => [
[
'name' => 'LoadBalancerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-83ckzc8d4xlp8o****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例的ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-wb7r6dlwetvt5j****'],
],
[
- 'name' => 'BandwidthPackageId',
+ 'name' => 'LoadBalancerName',
'in' => 'formData',
- 'schema' => [
- 'description' => '绑定的共享带宽包ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cbwp-bp1pzf0ym72pu3y76****',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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' => '实例绑定共享带宽包。',
+ '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****',
- ],
+ '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' => '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.',
- ],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'IllegalParam.loadBalancerName', 'errorMessage' => 'Param loadBalancerName is illegal.', 'description' => '实例名称非法,请检查参数。'],
],
- 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.',
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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' => '更新负载均衡实例属性',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'UpdateLoadBalancerProtection' => [
+ 'summary' => '开启或关闭删除保护功能,及更新修改保护功能。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -9876,277 +7013,127 @@
],
'operationType' => 'readAndWrite',
'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '141883',
- 'abilityTreeNodes' => [
- 'FEATUREslbAZREFH',
- ],
- 'tenantRelevance' => 'publicInformation',
- ],
+ 'systemTags' => ['operationType' => 'update'],
'parameters' => [
[
- 'name' => 'TlsVersions',
+ 'name' => 'DeletionProtectionEnabled',
'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,
- ],
+ 'schema' => ['description' => '是否开启删除保护。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ .'- **false**:关闭。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
- 'name' => 'SecurityPolicyName',
+ 'name' => 'DeletionProtectionReason',
'in' => 'formData',
- 'schema' => [
- 'description' => '安全策略名称。'."\n"
- ."\n"
- .'长度为1~200个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TLSCipherPolicy',
- ],
+ 'schema' => ['description' => '输入开启删除保护的原因。长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n"
+ ."\n"
+ .'> 仅在**DeletionProtectionEnabled**为**true**时该参数有效且合法。', 'type' => 'string', 'required' => false, 'example' => '实例使用中'],
],
[
- 'name' => 'ResourceGroupId',
+ 'name' => 'ModificationProtectionStatus',
'in' => 'formData',
- 'schema' => [
- 'description' => '资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['description' => '网络型负载均衡修改保护状态。取值:'."\n"
+ ."\n"
+ .'- **NonProtection**:不保护,表示不允许传入**ModificationProtectionReason**。如果配置了保护配置的**ModificationProtectionReason**,则清空其配置信息。'."\n"
+ .'- **ConsoleProtection**:控制台修改保护,此时允许传入**ModificationProtectionReason**。'."\n"
+ ."\n"
+ .'> 当取值为**ConsoleProtection**,即开启修改保护后,用户不能通过负载均衡控制台修改实例配置,但可以通过调用API修改实例配置。', 'type' => 'string', 'required' => false, 'example' => 'ConsoleProtection'],
],
[
- 'name' => 'Ciphers',
+ 'name' => 'ModificationProtectionReason',
'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,
- ],
+ 'schema' => ['description' => '输入开启修改保护的原因。长度为2~128个英文或中文字符,必须以字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。'."\n"
+ ."\n"
+ .'> 仅在**Status**为**ConsoleProtection**时该参数有效且合法。', 'type' => 'string', 'required' => false, 'example' => '托管实例'],
],
[
- 'name' => 'DryRun',
+ 'name' => 'LoadBalancerId',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会创建自定义安全策略。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-83ckzc8d4xlp8o****'],
],
[
- 'name' => 'ClientToken',
+ 'name' => 'DryRun',
'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',
- ],
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会更新修改保护和删除保护。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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' => 'Tag',
+ 'name' => 'RegionId',
'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,
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<CreateSecurityPolicyResponse>',
- 'description' => '创建自定义安全策略。',
+ 'title' => 'response',
+ '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****',
- ],
+ 'RequestId' => ['description' => '请求ID。', 'type' => 'string', 'example' => 'CEF72CEB-54B6-4AE8-B225-F876FF7BA984'],
],
],
],
],
'errorCodes' => [
400 => [
- [
- 'errorCode' => 'IllegalParam',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
+ ['errorCode' => 'ResourceInConfiguring.%s', 'errorMessage' => 'The specified resource of %s is being configured, please try again later.', 'description' => '指定的资源%s正在配置,请稍后重试'],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'IdempotenceSignatureMismatch', 'errorMessage' => 'The idempotence token of request is same with the prev one, but the signature is different.', 'description' => '请求的幂等令牌与上一个相同,但签名不同。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'IllegalParam.deletionProtectionReason', 'errorMessage' => 'The param of deletionProtectionReason is illegal.', 'description' => '参数deletionProtectionReason非法,请检查参数是否满足长度为2-128个英文或中文字符,必须以大小字母或中文开头,可包含数字,点号(.),下划线(_)和短横线(-)。'],
+ ['errorCode' => 'IllegalParam.modificationProtectionReason', 'errorMessage' => 'The param of modificationProtectionReason is illegal.', 'description' => '参数modificationProtectionReason非法,请参考文档进行修改。'],
+ ['errorCode' => 'ResourceInCreating.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', 'description' => '正在创建指定的负载均衡器资源,请稍后重试。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ],
+ ],
+ '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~~)接口查询删除保护和修改保护详细信息。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerProtection'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerProtection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ],
],
],
],
- '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',
- ],
+ 'UpdateLoadBalancerZones' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10155,107 +7142,142 @@
'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'delete',
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeNodes' => ['FEATUREslbC68LB1'],
],
'parameters' => [
[
- 'name' => 'SecurityPolicyId',
+ 'name' => 'LoadBalancerId',
'in' => 'formData',
+ 'schema' => ['description' => '网络型负载均衡实例ID。', 'type' => 'string', 'required' => true, 'example' => 'nlb-83ckzc8d4xlp8o****'],
+ ],
+ [
+ 'name' => 'ZoneMappings',
+ 'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => 'TLS安全策略ID。',
- 'type' => 'string',
+ '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,
- 'example' => 'sp-wuytp9pa******'."\n",
+ 'maxItems' => 10,
+ 'minItems' => 1,
],
],
[
'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会删除自定义安全策略。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
- ],
+ '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',
- ],
+ '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',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
],
'responses' => [
200 => [
'schema' => [
- 'title' => 'RpcResponse<DeleteSecurityPolicyResponse>',
- 'description' => '删除TLS自定义安全策略。',
+ 'title' => 'response',
+ 'description' => 'response',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF',
- ],
+ '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' => 'ResourceInUse.SecurityPolicy',
- 'errorMessage' => 'The specified resource of SecurityPolicy is in use.',
- ],
+ ['errorCode' => 'ResourceInCreating.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is creating, please try again later.', 'description' => '正在创建指定的负载均衡器资源,请稍后重试。'],
+ ['errorCode' => 'OperationDenied.ProtectedPrivateIPv4AddressChanged', 'errorMessage' => 'The operation is not allowed because of ProtectedPrivateIPv4AddressChanged.', 'description' => '由于受保护的私有 IPv4 地址已更改的原因,操作不被允许。'],
+ ['errorCode' => 'OperationFailed.vSwitchNotSupportIpv6', 'errorMessage' => 'The operation failed because of vSwitchNotSupportIpv6.', 'description' => '所使用的虚拟交换机(vSwicth)不支持ipv6协议,请确认输入参数。'],
+ ['errorCode' => 'OperationDenied.%s', 'errorMessage' => 'The operation is not allowed because of %s.', 'description' => '因为%s,当前操作是不允许的'],
+ ['errorCode' => 'OperationDenied.ZoneVSwitchChanged', 'errorMessage' => 'The operation is not allowed because of ZoneVSwitchChanged.', 'description' => '已存在的可用区不允许虚拟交换机发生变化。'],
+ ['errorCode' => 'InvalidZones', 'errorMessage' => 'The current zone list is illegal.', 'description' => 'Zone maping中使用的可用区非法。'],
+ ['errorCode' => 'ResourceInConfiguring.loadbalancer', 'errorMessage' => 'The specified resource of loadbalancer is being configured, please try again later.', 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'ResourceNotEnough.VSwitchIp', 'errorMessage' => 'The specified resource of VSwitchIp is not enough.', 'description' => '所指定的虚拟交换机(vSwitch) IP资源不足。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'UnauthorizedZone', 'errorMessage' => 'The specified zone of %s is not authorized.', 'description' => '指定的可用区%s未被授权使用'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.securitypolicy',
- 'errorMessage' => 'The specified resource of securitypolicy is not found.',
+ ['errorCode' => 'ResourceNotFound.loadBalancer', 'errorMessage' => 'The specified resource of loadbalancer is not found.', 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.VSwitch', 'errorMessage' => 'The specified resource of vSwitch is not found.', 'description' => '找不到指定的虚拟交换机资源,请检查输入参数。'],
+ ],
+ ],
+ 'title' => '更新实例可用区及可用区属性',
+ 'summary' => '修改网络型负载均衡实例可用区及可用区属性。',
+ 'description' => '每次调用该接口时,请确保您传入该NLB实例的所有可用区参数,包括存量和新增的可用区。如您未传入存量的可用区参数,存量可用区将会被删掉。'."\n"
+ ."\n"
+ .'前提条件:'."\n"
+ .'- 您已创建NLB实例,请参见[CreateLoadBalancer](~~445868~~)。'."\n"
+ .'- 您可以通过[GetLoadBalancerAttribute](~~445873~~)接口查询该NLB实例的可用区及可用区属性。'."\n"
+ .'- **UpdateLoadBalancerZones**属于异步接口,即系统返回一个请求ID,但该NLB实例可用区及可用区属性尚未修改成功,系统后台的变更任务仍在进行。您可以调用[GetJobStatus](~~445904~~)查询修改状态:'."\n"
+ .' - 当任务状态处于**Succeeded**时,表示实例可用区及可用区属性修改成功。'."\n"
+ .' - 当任务状态处于**Processing**时,表示实例可用区及可用区属性正在修改中,在该状态下,您只能执行查询操作,不能执行其他操作。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerZones'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
],
- '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' => '删除自定义安全策略',
+ '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":""}]',
],
'UpdateSecurityPolicyAttribute' => [
'summary' => '更新网络型负载均衡自定义安全策略属性。',
- 'methods' => [
- 'post',
- 'get',
- ],
- 'schemes' => [
- 'http',
- 'https',
- ],
+ 'methods' => ['post', 'get'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10266,9 +7288,7 @@
'systemTags' => [
'operationType' => 'update',
'abilityTreeCode' => '141876',
- 'abilityTreeNodes' => [
- 'FEATUREslbGDCN1S',
- ],
+ 'abilityTreeNodes' => ['FEATUREslbGDCN1S'],
],
'parameters' => [
[
@@ -10278,12 +7298,7 @@
'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',
- ],
+ '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,
@@ -10292,24 +7307,14 @@
[
'name' => 'SecurityPolicyId',
'in' => 'formData',
- 'schema' => [
- 'description' => 'TLS安全策略ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'sp-wuytp9pa******'."\n",
- ],
+ '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',
- ],
+ 'schema' => ['description' => '安全策略名称。'."\n"
+ ."\n"
+ .'长度为1~200个字符,支持中文和大小写英文字母,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => 'TLSCipherPolicy'],
],
[
'name' => 'Ciphers',
@@ -10357,51 +7362,46 @@
.'- **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',
- ],
+ '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,
],
@@ -10409,40 +7409,25 @@
[
'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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',
- ],
+ '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',
- ],
+ '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' => [
@@ -10452,482 +7437,291 @@
'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****',
- ],
+ '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.',
- ],
+ ['errorCode' => 'IllegalParam.PreserveClientIpSwitch', 'errorMessage' => 'The param of PreserveClientIpSwitch is illegal.', 'description' => ''],
+ ['errorCode' => 'UpdateSecurityPolicyFailed', 'errorMessage' => 'The operation failed because of Security Policy is not changed.', 'description' => '因为安全策略没有发生变化,所以操作失败,请检查输入参数。'],
],
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.',
- ],
+ ['errorCode' => 'ResourceNotFound.securitypolicy', 'errorMessage' => 'The specified resource of securitypolicy is not found.', 'description' => '找不到指定的安全策略资源。请检查输入参数。'],
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
],
],
'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',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSecurityPolicyAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateSecurityPolicyAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ],
+ ],
+ ],
],
+ ],
+ 'UpdateServerGroupAttribute' => [
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
],
],
- 'operationType' => 'read',
+ 'operationType' => 'readAndWrite',
'deprecated' => false,
'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '141862',
- 'abilityTreeNodes' => [
- 'FEATUREslbAZREFH',
- ],
+ 'operationType' => 'update',
+ 'riskType' => 'none',
+ 'chargeType' => 'free',
+ 'abilityTreeCode' => '141878',
+ 'abilityTreeNodes' => ['FEATUREslbVDXH6N'],
],
'parameters' => [
[
- 'name' => 'SecurityPolicyIds',
+ 'name' => 'ServerGroupId',
'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,
- ],
+ 'schema' => ['title' => '服务器组ID', 'description' => '服务器组ID。', 'type' => 'string', 'required' => true, 'example' => 'sgp-atstuj3rtoptyui****'],
],
[
- 'name' => 'SecurityPolicyNames',
+ 'name' => 'ServerGroupName',
'in' => 'formData',
- 'style' => 'repeatList',
- 'schema' => [
- 'description' => '安全策略名称列表。最多支持添加20个安全策略实例。',
- 'type' => 'array',
- 'items' => [
- 'description' => '安全策略名称列表。最多支持添加20个安全策略实例。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'TLSCipherPolicy',
- ],
- 'required' => false,
- 'maxItems' => 20,
- ],
+ 'schema' => ['description' => '修改后的服务器组名称。'."\n"
+ ."\n"
+ .'长度为2~128个字符,必须以大小写字母或中文开头,可包含数字、半角句号(.)、下划线(_)和短划线(-)。', 'type' => 'string', 'required' => false, 'example' => 'NLB_ServerGroup1'],
],
[
- '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',
+ 'name' => 'ConnectionDrainEnabled',
'in' => 'formData',
- 'schema' => [
- 'description' => '资源组ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'rg-atstuj3rtop****',
- ],
+ 'schema' => ['title' => '是否开启连接优雅中断', 'description' => '是否开启连接优雅中断。取值:'."\n"
+ ."\n"
+ .'- **true**:开启。'."\n"
+ ."\n"
+ .'- **false**:不开启。', 'type' => 'boolean', 'required' => false, 'example' => 'false'],
],
[
- 'name' => 'NextToken',
+ 'name' => 'ConnectionDrainTimeout',
'in' => 'formData',
- 'schema' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
- ],
+ 'schema' => ['title' => '连接优雅中断超时时间', 'description' => '设置连接优雅中断超时时间。单位:秒。取值范围:**0**~**900**。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'],
],
[
- 'name' => 'MaxResults',
+ 'name' => 'Scheduler',
'in' => 'formData',
- 'schema' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**100**,默认值为**20**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
- ],
+ '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' => 'RegionId',
+ 'name' => 'IpVersionAffinityMode',
'in' => 'formData',
'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ 'description' => '双栈模式下的流量调度策略:'."\n"
."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
+ .'- NonAffinity(默认):无亲和模式,转发时不区分来源的IP协议版本,按照调度算法向健康的后端转发。'."\n"
+ .'- Affinity:亲和模式,转发时根据请求来源的IP协议版本亲和转发,IPv4请求仅转发至IPv4后端,IPv6请求仅转发至IPv6后端。'."\n"
+ .'> 仅**AddressIPVersion**为**DualStack**时,该参数生效。',
'type' => 'string',
'required' => false,
- 'example' => 'cn-hangzhou',
+ 'example' => 'Affinity',
+ 'enum' => ['NonAffinity', 'Affinity'],
],
],
- ],
- 'responses' => [
- 200 => [
+ [
+ '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' => 'RpcResponse<ListSecurityPolicyResponse>',
- 'description' => '查询TLS安全策略。',
+ 'title' => '健康检查配置',
+ 'description' => '健康检查相关配置。',
'type' => 'object',
'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => 'D7A8875F-373A-5F48-8484-25B07A61F2AF',
- ],
- 'SecurityPolicies' => [
- 'description' => 'TLS安全策略列表。',
+ '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' => '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',
+ 'items' => ['description' => '健康状态返回码,多个状态码用半角逗号(,)分隔。'."\n"
+ .'取值:**http\\_2xx**(默认值)、**http\\_3xx**、**http\\_4xx**和**http\\_5xx**。'."\n"
+ .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。', 'type' => 'string', 'required' => false, 'example' => 'http_2xx'],
+ 'required' => false,
],
- 'NextToken' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
+ 'HttpCheckMethod' => [
+ 'description' => '健康检查方法,取值:**GET**或**HEAD**。'."\n"
+ .'> 仅**HealthCheckType**为**HTTP**时,该参数生效。',
'type' => 'string',
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ 'required' => false,
+ 'example' => 'GET',
+ 'enum' => [],
],
- 'MaxResults' => [
- 'description' => '分批次查询时每次显示的条目数。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'example' => '20',
+ '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,
],
],
- ],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'System is busy, please try again later.',
- ],
- ],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ [
+ 'name' => 'RegionId',
+ 'in' => 'formData',
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
- ],
- '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' => [],
+ 'name' => 'DryRun',
+ 'in' => 'formData',
+ 'schema' => ['description' => '是否只预检此次请求。取值:'."\n"
+ .'- **true**:发送检查请求,不会更新服务器组信息。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
+ .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => ' false'],
],
- ],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- ],
- 'parameters' => [
[
- 'name' => 'RegionId',
+ 'name' => 'ClientToken',
'in' => 'formData',
- 'schema' => [
- 'description' => '网络型负载均衡实例所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
- ],
+ '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<ListSystemSecurityPolicyResponse>',
- 'description' => '查询系统默认的TLS安全策略。',
+ 'title' => 'RpcResponse<UpdateServerGroupAttributeResponse>',
+ 'description' => '更新服务器组配置。',
'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',
- ],
- ],
- ],
- ],
+ '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****'],
],
],
],
],
- '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',
+ 'errorCodes' => [
+ 400 => [
+ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数%s非法'],
+ ['errorCode' => 'SystemBusy', 'errorMessage' => 'System is busy, please try again later.', 'description' => '系统繁忙,请稍后重试'],
+ ['errorCode' => 'IllegalParam.healthCheckDomain', 'errorMessage' => 'The parameter of healthCheckConfig.healthCheckDomain is illegal.', 'description' => '健康检查配置中的healthCheckDomain非法,请检查输入参数。'],
+ ['errorCode' => 'IlleagalParam.healthCheckUrl', 'errorMessage' => 'The parameter of healthCheckUrl in healthCheckConfig is illegal.', 'description' => '健康检查设置中使用的健康检查的URL不合法。'],
+ ['errorCode' => 'OperationDenied.UidNotAllowQuic29', 'errorMessage' => 'The operation is not allowed because of uid not allow quic29 version.', 'description' => ''],
+ ['errorCode' => 'IllegalParam', 'errorMessage' => 'The param of %s is illegal.', 'description' => '输入的参数有值非法,请检查输入。'],
+ ['errorCode' => 'DryRunOperation', 'errorMessage' => 'Request validation has been passed with DryRun flag set.', 'description' => 'dryRun请求验证已通过。'],
+ ['errorCode' => 'IllegalParam.ServerGroupName', 'errorMessage' => 'The param of ServerGroupName is illegal.', 'description' => '传入的ServerGroupName参数非法'],
+ ['errorCode' => 'IllegalParam.PreserveClientIpSwitch', 'errorMessage' => 'The server group associated with the tcpssl listener does not support enabling PreserveClientIp.', 'description' => 'tcpssl监听关联的服务器组不支持开启客户端ip保持功能'],
+ ],
+ 403 => [
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ],
+ [
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
+ ],
],
- 'schemes' => [
- 'http',
- 'https',
+ 'title' => '更新服务器组配置',
+ 'summary' => '更新 NLB 服务器组的配置信息',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateServerGroupAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateServerGroupAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ],
+ ],
+ ],
],
+ '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":""}]',
+ ],
+ 'UpdateServerGroupServersAttribute' => [
+ 'summary' => '更新网络型负载均衡服务器组中后端服务器的权重和描述信息。',
+ 'methods' => ['post'],
+ 'schemes' => ['http', 'https'],
'security' => [
[
'AK' => [],
@@ -10937,1087 +7731,1078 @@
'deprecated' => false,
'systemTags' => [
'operationType' => 'update',
- 'riskType' => 'none',
- 'chargeType' => 'free',
- 'abilityTreeCode' => '179098',
- 'abilityTreeNodes' => [
- 'FEATUREslbZQW9H1',
- ],
+ 'abilityTreeNodes' => ['FEATUREslb3GOGI0', 'FEATUREslbBEALOE', 'FEATUREslb3DZO9R', 'FEATUREslbWFW5HS', 'FEATUREslbBYQ1MP', 'FEATUREslbYU1H2O'],
],
'parameters' => [
[
- 'name' => 'NewResourceGroupId',
+ 'name' => 'ServerGroupId',
'in' => 'formData',
- 'schema' => [
- 'description' => '新资源组ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'rg-aekzjcnrv3v****',
- ],
+ 'schema' => ['description' => '服务器组ID。', 'type' => 'string', 'required' => true, 'example' => 'sgp-atstuj3rtoptyui****'],
],
[
- 'name' => 'ResourceType',
+ 'name' => 'Servers',
'in' => 'formData',
+ 'style' => 'repeatList',
'schema' => [
- 'description' => '资源类型,取值:'."\n"
- ."\n"
- .'- **loadbalancer**:网络型负载均衡实例。'."\n"
- .'- **securitypolicy**:安全策略。'."\n"
- .'- **servergroup**:服务器组。',
- 'type' => 'string',
+ '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,
- 'example' => 'loadbalancer',
+ 'maxItems' => 200,
],
],
[
- 'name' => 'ResourceId',
+ 'name' => 'RegionId',
'in' => 'formData',
- 'schema' => [
- 'description' => '资源ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'nlb-nrnrxwd15en27r****',
- ],
+ 'schema' => ['description' => '网络型负载均衡实例所在的地域ID。 '."\n"
+ ."\n"
+ .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'],
],
[
- 'name' => 'RegionId',
+ 'name' => 'DryRun',
'in' => 'formData',
- 'schema' => [
- 'description' => '资源所在的地域ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'cn-hangzhou',
- ],
+ '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<MoveResourceGroupResponse>',
- 'description' => 'RpcResponse<MoveResourceGroupResponse>',
+ 'title' => 'RpcResponse<UpdateServerGroupServersAttributeResponse>',
+ 'description' => '更新后端服务器配置。',
'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****',
- ],
- ],
- ],
+ '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.resourceType',
- 'errorMessage' => 'The param of resourceType is illegal.',
- ],
- [
- 'errorCode' => 'OperationFailed.StatusCheckFail.ResourceGroup',
- 'errorMessage' => 'The operation failed because of StatusCheckFail.ResourceGroup.',
- ],
+ ['errorCode' => 'IncorrectStatus.serverGroup', 'errorMessage' => 'The status of servergroup [%s] is incorrect.', 'description' => '服务器组的状态无法进行当前操作,请检查服务器组当前是否处于其他操作下。'],
+ ['errorCode' => 'Conflict.Lock', 'errorMessage' => 'The Lock [%s] is conflict.', 'description' => '指定的资源当前存在锁冲突。'],
+ ['errorCode' => 'IllegalParam.%s', 'errorMessage' => 'The param of %s is illegal.', 'description' => '参数%s非法'],
+ ['errorCode' => 'MissingParam.%s', 'errorMessage' => 'The parameter of %s is missing.', 'description' => '参数%s缺失,请检查输入参数。'],
],
403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
- ],
+ ['errorCode' => 'Forbidden.%s', 'errorMessage' => 'Authentication is failed for %s.', 'description' => '当前资源或者操作%s鉴权失败'],
+ ['errorCode' => 'Forbidden.NoPermission', 'errorMessage' => 'Authentication is failed for NoPermission.', 'description' => '因为账号没有权限,所以鉴权失败。'],
],
[
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.ResourceGroup',
- 'errorMessage' => 'The param of resourceGroup not existed.',
- ],
+ ['errorCode' => 'ResourceNotFound.BackendServer', 'errorMessage' => 'The specified resource of BackendServer is not found.', 'description' => '找不到指定的后端服务器资源,请检查输入的参数。'],
+ ['errorCode' => 'ResourceNotFound.serverGroup', 'errorMessage' => 'The specified resource of serverGroup is not found.', 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
],
],
- 'staticInfo' => [
- 'returnType' => 'synchronous',
+ '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**状态时,表示后端服务器运行中。',
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateServerGroupServersAttribute'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ramActions' => [
+ [
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateServerGroupServersAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ],
+ ],
+ ],
],
- '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',
+ ],
+ 'endpoints' => [
+ ['regionId' => 'cn-wulanchabu', 'regionName' => '华北6(乌兰察布)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-wulanchabu.aliyuncs.com', 'endpoint' => 'nlb.cn-wulanchabu.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-wulanchabu.aliyuncs.com'],
+ ['regionId' => 'cn-beijing', 'regionName' => '华北2(北京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-beijing.aliyuncs.com', 'endpoint' => 'nlb.cn-beijing.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-beijing.aliyuncs.com'],
+ ['regionId' => 'cn-zhengzhou-jva', 'regionName' => '郑州(联通合营)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-zhengzhou-jva.aliyuncs.com', 'endpoint' => 'nlb.cn-zhengzhou-jva.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-zhengzhou-jva.aliyuncs.com'],
+ ['regionId' => 'cn-qingdao', 'regionName' => '华北1(青岛)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-qingdao.aliyuncs.com', 'endpoint' => 'nlb.cn-qingdao.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-qingdao.aliyuncs.com'],
+ ['regionId' => 'cn-wuhan-lr', 'regionName' => '华中1(武汉-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-wuhan-lr.aliyuncs.com', 'endpoint' => 'nlb.cn-wuhan-lr.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-wuhan-lr.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai', 'regionName' => '华东2(上海)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-shanghai.aliyuncs.com', 'endpoint' => 'nlb.cn-shanghai.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-shanghai.aliyuncs.com'],
+ ['regionId' => 'cn-hongkong', 'regionName' => '中国香港', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-hongkong.aliyuncs.com', 'endpoint' => 'nlb.cn-hongkong.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-hongkong.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan', 'regionName' => '华南2(河源)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-heyuan.aliyuncs.com', 'endpoint' => 'nlb.cn-heyuan.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-heyuan.aliyuncs.com'],
+ ['regionId' => 'cn-zhangjiakou', 'regionName' => '华北3(张家口)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-zhangjiakou.aliyuncs.com', 'endpoint' => 'nlb.cn-zhangjiakou.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-zhangjiakou.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen', 'regionName' => '华南1(深圳)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-shenzhen.aliyuncs.com', 'endpoint' => 'nlb.cn-shenzhen.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-shenzhen.aliyuncs.com'],
+ ['regionId' => 'cn-nanjing', 'regionName' => '华东5(南京-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-nanjing.aliyuncs.com', 'endpoint' => 'nlb.cn-nanjing.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-nanjing.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-2', 'regionName' => '韩国(首尔)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-northeast-2.aliyuncs.com', 'endpoint' => 'nlb.ap-northeast-2.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-northeast-2.aliyuncs.com'],
+ ['regionId' => 'ap-northeast-1', 'regionName' => '日本(东京)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-northeast-1.aliyuncs.com', 'endpoint' => 'nlb.ap-northeast-1.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-northeast-1.aliyuncs.com'],
+ ['regionId' => 'cn-fuzhou', 'regionName' => '华东6(福州-本地地域)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-fuzhou.aliyuncs.com', 'endpoint' => 'nlb.cn-fuzhou.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-fuzhou.aliyuncs.com'],
+ ['regionId' => 'cn-chengdu', 'regionName' => '西南1(成都)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-chengdu.aliyuncs.com', 'endpoint' => 'nlb.cn-chengdu.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-chengdu.aliyuncs.com'],
+ ['regionId' => 'cn-guangzhou', 'regionName' => '华南3(广州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-guangzhou.aliyuncs.com', 'endpoint' => 'nlb.cn-guangzhou.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-guangzhou.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-1', 'regionName' => '新加坡', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-southeast-1.aliyuncs.com', 'endpoint' => 'nlb.ap-southeast-1.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-southeast-1.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-3', 'regionName' => '马来西亚(吉隆坡)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-southeast-3.aliyuncs.com', 'endpoint' => 'nlb.ap-southeast-3.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-southeast-3.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-5', 'regionName' => '印度尼西亚(雅加达)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-southeast-5.aliyuncs.com', 'endpoint' => 'nlb.ap-southeast-5.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-southeast-5.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-6', 'regionName' => '菲律宾(马尼拉)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-southeast-6.aliyuncs.com', 'endpoint' => 'nlb.ap-southeast-6.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-southeast-6.aliyuncs.com'],
+ ['regionId' => 'ap-southeast-7', 'regionName' => '泰国(曼谷)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.ap-southeast-7.aliyuncs.com', 'endpoint' => 'nlb.ap-southeast-7.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-southeast-7.aliyuncs.com'],
+ ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'nlb.cn-hangzhou.aliyuncs.com', 'endpoint' => 'nlb.cn-hangzhou.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-hangzhou.aliyuncs.com'],
+ ['regionId' => 'us-east-1', 'regionName' => '美国(弗吉尼亚)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'nlb.us-east-1.aliyuncs.com', 'endpoint' => 'nlb.us-east-1.aliyuncs.com', 'vpc' => 'nlb-vpc.us-east-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-1', 'regionName' => '英国(伦敦)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'nlb.eu-west-1.aliyuncs.com', 'endpoint' => 'nlb.eu-west-1.aliyuncs.com', 'vpc' => 'nlb-vpc.eu-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-west-2', 'regionName' => '法国(巴黎)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'nlb.eu-west-2.aliyuncs.com', 'endpoint' => 'nlb.eu-west-2.aliyuncs.com', 'vpc' => 'nlb-vpc.eu-west-2.aliyuncs.com'],
+ ['regionId' => 'us-west-1', 'regionName' => '美国(硅谷)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'nlb.us-west-1.aliyuncs.com', 'endpoint' => 'nlb.us-west-1.aliyuncs.com', 'vpc' => 'nlb-vpc.us-west-1.aliyuncs.com'],
+ ['regionId' => 'eu-central-1', 'regionName' => '德国(法兰克福)', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'nlb.eu-central-1.aliyuncs.com', 'endpoint' => 'nlb.eu-central-1.aliyuncs.com', 'vpc' => 'nlb-vpc.eu-central-1.aliyuncs.com'],
+ ['regionId' => 'na-south-1', 'regionName' => '墨西哥', 'areaId' => 'europeAmerica', 'areaName' => '欧洲与美洲', 'public' => 'nlb.na-south-1.aliyuncs.com', 'endpoint' => 'nlb.na-south-1.aliyuncs.com', 'vpc' => 'nlb-vpc.na-south-1.aliyuncs.com'],
+ ['regionId' => 'me-east-1', 'regionName' => '阿联酋(迪拜)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'nlb.me-east-1.aliyuncs.com', 'endpoint' => 'nlb.me-east-1.aliyuncs.com', 'vpc' => 'nlb-vpc.me-east-1.aliyuncs.com'],
+ ['regionId' => 'me-central-1', 'regionName' => '沙特(利雅得)', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'nlb.me-central-1.aliyuncs.com', 'endpoint' => 'nlb.me-central-1.aliyuncs.com', 'vpc' => 'nlb-vpc.me-central-1.aliyuncs.com'],
+ ['regionId' => 'ap-south-1', 'regionName' => '印度(孟买)已关停', 'areaId' => 'middleEast', 'areaName' => '中东', 'public' => 'nlb.ap-south-1.aliyuncs.com', 'endpoint' => 'nlb.ap-south-1.aliyuncs.com', 'vpc' => 'nlb-vpc.ap-south-1.aliyuncs.com'],
+ ['regionId' => 'cn-heyuan-acdr-1', 'regionName' => '河源专属云汽车合规', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'nlb.cn-heyuan-acdr-1.aliyuncs.com', 'endpoint' => 'nlb.cn-heyuan-acdr-1.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-heyuan-acdr-1.aliyuncs.com'],
+ ['regionId' => 'cn-shenzhen-finance-1', 'regionName' => '华南1 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'nlb.cn-shenzhen-finance-1.aliyuncs.com', 'endpoint' => 'nlb.cn-shenzhen-finance-1.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-shenzhen-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-beijing-finance-1', 'regionName' => '华北2 金融云(邀测)', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'nlb.cn-beijing-finance-1.aliyuncs.com', 'endpoint' => 'nlb.cn-beijing-finance-1.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-beijing-finance-1.aliyuncs.com'],
+ ['regionId' => 'cn-shanghai-finance-1', 'regionName' => '华东2 金融云', 'areaId' => 'industryCloud', 'areaName' => '行业云', 'public' => 'nlb.cn-shanghai-finance-1.aliyuncs.com', 'endpoint' => 'nlb.cn-shanghai-finance-1.aliyuncs.com', 'vpc' => 'nlb-vpc.cn-shanghai-finance-1.aliyuncs.com'],
+ ],
+ 'errorCodes' => [
+ ['code' => 'Conflict.%s', 'message' => 'The %s [%s] is conflict.', 'http_code' => 400, 'description' => '资源%s [%s] 冲突'],
+ ['code' => 'Conflict.Lock', 'message' => 'The Lock [%s] is conflict.', 'http_code' => 400, 'description' => '指定的资源当前存在锁冲突。'],
+ ['code' => 'Conflict.Port', 'message' => 'The Port [%s] is conflict.', 'http_code' => 400, 'description' => '指定端口与已有端口存在冲突'],
+ ['code' => 'Conflict.SecurityGroup', 'message' => 'The SecurityGroup [%s] is conflict.', 'http_code' => 400, 'description' => '指定的资源当前存在锁冲突。'],
+ ['code' => 'DescribeHDMonitor.Fail', 'message' => 'DescribeHDMonitor Fail.', 'http_code' => 404, 'description' => '查询秒级监控配置失败'],
+ ['code' => 'DryRunOperation', 'message' => 'Request validation has been passed with DryRun flag set.', 'http_code' => 400, 'description' => 'dryRun请求验证已通过。'],
+ ['code' => 'DuplicatedParam.%s', 'message' => 'The param of %s is duplicated.', 'http_code' => 400, 'description' => '参数%s重复了'],
+ ['code' => 'DuplicatedParam.AllocationId', 'message' => 'The param of AllocationId is duplicated.', 'http_code' => 400, 'description' => 'AllocationId参数重复,请检查参数。'],
+ ['code' => 'DuplicatedParam.listener', 'message' => 'The param of any port listener is duplicated.', 'http_code' => 400, 'description' => '只能创建一个anyport类型监听,请检查输入参数。'],
+ ['code' => 'DuplicatedParam.Server', 'message' => 'The param of Server is duplicated.', 'http_code' => 400, 'description' => '参数中的server重复了。'],
+ ['code' => 'EnableHDMonitor.Fail', 'message' => 'EnableHDMonitor Fail.', 'http_code' => 404, 'description' => '设置秒级监控错误'],
+ ['code' => 'EnableHdMonitorFail', 'message' => 'OperationDenied.HdMonitorListenerExist.', 'http_code' => 400, 'description' => '存在已开启秒级监控的监听'],
+ ['code' => 'Forbidden.%s', 'message' => 'Authentication is failed for %s.', 'http_code' => 403, 'description' => '当前资源或者操作%s鉴权失败'],
+ ['code' => 'Forbidden.NoPermission', 'message' => 'Authentication is failed for NoPermission.', 'http_code' => 403, 'description' => '因为账号没有权限,所以鉴权失败。'],
+ ['code' => 'Forbidden.SecurityGroup', 'message' => 'Authentication is failed for SecurityGroup.', 'http_code' => 403, 'description' => '因为安全组没有权限,所以鉴权失败。'],
+ ['code' => 'HealthCheckConfig.healthCheckUrl', 'message' => 'The healthCheckUrl used in the healthCheckConfig is illegal.', 'http_code' => 400, 'description' => 'healthCheckConfig中使用的healthCheckUrl不合法。'],
+ ['code' => 'healthCheckConfig.healthCheckUrl', 'message' => 'The healthCheckUrl used in the healthCheckConfig is illegal. refer to the correct use example to modify the url format: the length needs to be 1~80 characters, and only letters, numbers, characters -/.%?#&= and extended characters _;~!()*[]@$^:\',+ can be used. It must start with a forward slash (/).', 'http_code' => 400, 'description' => 'healthCheckConfig中使用的healthCheckUrl不合法。'],
+ ['code' => 'IdempotenceSignatureMismatch', 'message' => 'The idempotence token of request is same with the prev one, but the signature is different.', 'http_code' => 400, 'description' => '请求的幂等令牌与上一个相同,但签名不同。'],
+ ['code' => 'IlleagalParam.healthCheckUrl', 'message' => 'The param of healthCheckUrl in healthCheckConfig is illegal.', 'http_code' => 400, 'description' => '健康检查设置中使用的健康检查的url不合法。'],
+ ['code' => 'IlleagalParam.healthCheckUrl', 'message' => 'The parameter of healthCheckUrl in healthCheckConfig is illegal.', 'http_code' => 400, 'description' => '健康检查设置中使用的健康检查的URL不合法。'],
+ ['code' => 'IllegalParam', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '输入的参数有值非法,请检查输入。'],
+ ['code' => 'IllegalParam.%s', 'message' => 'The param of %s is illegal.', 'http_code' => 400, 'description' => '参数%s非法'],
+ ['code' => 'IllegalParam.AcceptLanguage', 'message' => 'The param of AcceptLanguage[%s] is illegal from bundle %s', 'http_code' => 400, 'description' => 'AcceptLanguage 参数[%s] 非法。'],
+ ['code' => 'IllegalParam.AnyPortListenerConflictWithNonAnyPortServerGroup', 'message' => 'The param of AnyPortListenerConflictWithNonAnyPortServerGroup is illegal.', 'http_code' => 400, 'description' => 'servergroup的全端口转发开关,必须匹配与监听的anyport开关匹配,请检查参数。'],
+ ['code' => 'IllegalParam.AnyPortServerGroupConflictWithHealthCheckConfig', 'message' => 'The param of AnyPortServerGroupConflictWithHealthCheckConfig is illegal.', 'http_code' => 400, 'description' => '服务器组的配置与健康检查设置冲突。请检查配置参数。'],
+ ['code' => 'IllegalParam.ConnectionDrainTimeout', 'message' => 'The param of ConnectionDrainTimeout is illegal.', 'http_code' => 400, 'description' => '参数ConnectionDrainTimeout非法,请检查输入参数。'],
+ ['code' => 'IllegalParam.DeletionProtectionConfig', 'message' => 'DeletionProtectionConfig reason is illegal.', 'http_code' => 400, 'description' => '更改删除保护状态原因参数非法。'],
+ ['code' => 'IllegalParam.deletionProtectionReason', 'message' => 'The param of deletionProtectionReason is illegal.', 'http_code' => 400, 'description' => '参数deletionProtectionReason非法,请检查参数是否满足长度为2-128个英文或中文字符,必须以大小字母或中文开头,可包含数字,点号(.),下划线(_)和短横线(-)。'],
+ ['code' => 'IllegalParam.description', 'message' => 'The parameter description of server is illegal.', 'http_code' => 400, 'description' => '服务器描述不符合输入要求,请根据错误中的详细信息进行修改。'],
+ ['code' => 'IllegalParam.healthCheckDomain', 'message' => 'The parameter of healthCheckConfig.healthCheckDomain is illegal.', 'http_code' => 400, 'description' => '健康检查配置中的healthCheckDomain非法,请检查输入参数。'],
+ ['code' => 'IllegalParam.healthCheckDomain', 'message' => 'The parameter of healthCheckUrl is illegal.', 'http_code' => 400, 'description' => '参数healthCheckUrl非法。'],
+ ['code' => 'IllegalParam.IdleTimeout', 'message' => 'The param of IdleTimeout is illegal.', 'http_code' => 400, 'description' => '参数连接空闲超时时间配置非法。'],
+ ['code' => 'IllegalParam.IP', 'message' => 'The param of IP is illegal.', 'http_code' => 400, 'description' => '参数IP非法。请检查参数IP的输入值。'],
+ ['code' => 'IllegalParam.ListenerDescription', 'message' => 'The parameter ListenerDescription of listener is illegal.', 'http_code' => 400, 'description' => '监听描述不符合输入要求,请根据错误中的详细信息进行修改。'],
+ ['code' => 'IllegalParam.loadBalancerName', 'message' => 'Param loadBalancerName is illegal.', 'http_code' => 400, 'description' => '实例名称非法,请检查参数。'],
+ ['code' => 'IllegalParam.loadBalancerName', 'message' => 'The parameter loadBalancerName of listener is illegal.', 'http_code' => 400, 'description' => 'NLB负载均衡实例名称不符合输入要求,请根据错误中的详细信息进行修改。'],
+ ['code' => 'IllegalParam.loadBalancerNames', 'message' => 'The size of the loadBalancerNames parameter must be between 1 and 10.', 'http_code' => 400, 'description' => 'loadBalancerNames参数的大小必须在1到10之间。'],
+ ['code' => 'IllegalParam.LoadBalancerType', 'message' => 'The LoadBalancerType value is invalid.', 'http_code' => 400, 'description' => '参数LoadBalancerType值非法,请检查输入参数。'],
+ ['code' => 'IllegalParam.ModificationProtectionConfig', 'message' => 'ModificationProtectionConfig reason is illegal.', 'http_code' => 400, 'description' => '修改保护原因参数非法。'],
+ ['code' => 'IllegalParam.modificationProtectionReason', 'message' => 'The param of modificationProtectionReason is illegal.', 'http_code' => 400, 'description' => '参数modificationProtectionReason非法,请参考文档进行修改。'],
+ ['code' => 'IllegalParam.MssConflictWithUdpAndGeneve', 'message' => 'The param of MssConflictWithUdpAndGeneve is illegal.', 'http_code' => 400, 'description' => 'Mss值不为null时,listenerProtocol不可以是udp或者GENEVE。'],
+ ['code' => 'IllegalParam.NonAnyPortListenerConflictWithAnyPortServerGroup', 'message' => 'The param of NonAnyPortListenerConflictWithAnyPortServerGroup is illegal.', 'http_code' => 400, 'description' => '监听端口配置与全端口转发开关冲突。'],
+ ['code' => 'IllegalParam.Port', 'message' => 'The param of Port is illegal.', 'http_code' => 400, 'description' => '请求中的端口范围非法,请检查输入参数。'],
+ ['code' => 'IllegalParam.PreserveClientIpSwitch', 'message' => 'The server group associated with the tcpssl listener does not support enabling PreserveClientIp.', 'http_code' => 400, 'description' => 'tcpssl监听关联的服务器组不支持开启客户端ip保持功能'],
+ ['code' => 'IllegalParam.resourceType', 'message' => 'The param of resourceType is illegal.', 'http_code' => 400, 'description' => '参数resourceType非法。请检查参数resourceType的输入值。'],
+ ['code' => 'IllegalParam.RSPortConflictWithServerGroup', 'message' => 'The param of RSPortConflictWithServerGroup is illegal.', 'http_code' => 400, 'description' => '参数RSPort与ServerGroup冲突。请检查输入值。'],
+ ['code' => 'IllegalParam.ServerGroupId', 'message' => 'The param of ServerGroupId is illegal.', 'http_code' => 400, 'description' => '参数ServerGroupId非法,请检查输入参数。'],
+ ['code' => 'IllegalParam.ServerGroupName', 'message' => 'The param of ServerGroupName is illegal.', 'http_code' => 400, 'description' => '传入的ServerGroupName参数非法'],
+ ['code' => 'IllegalParamFormat.ParseCreateRsPoolRequestFailed', 'message' => 'The param format of CreateRsPoolRequest is illegal.', 'http_code' => 400, 'description' => 'CreateRsPoolRequestFailed的参数格式不合法,请参考OpenAPI文档检查请求参数。'],
+ ['code' => 'IllegalParamSize.certificateIds', 'message' => 'The param size of certificateIds or caCertificateIds is illegal.', 'http_code' => 400, 'description' => '证书的id只能有一个,请检查是否重复输入。'],
+ ['code' => 'IncorrectBusinessStatus.CommonBandwidthPackage', 'message' => 'The business status of CommonBandwidthPackage is incorrect.', 'http_code' => 400, 'description' => '请求参数中使用的共享带宽包已被锁定,请检查是否欠费。'],
+ ['code' => 'IncorrectStatus.%s', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '%s的状态不正确,不允许进行当前操作'],
+ ['code' => 'IncorrectStatus.certificate', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s [%s]的状态无效。'],
+ ['code' => 'IncorrectStatus.Eni', 'message' => 'Eni status is invalid.', 'http_code' => 400, 'description' => '弹性网卡状态不合法。'],
+ ['code' => 'IncorrectStatus.listener', 'message' => 'The status of listener [%s] is incorrect.', 'http_code' => 400, 'description' => '监听的状态无法进行当前操作,请检查监听当前是否处于其他操作下。'],
+ ['code' => 'IncorrectStatus.listener', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s [%s]的状态无效。'],
+ ['code' => 'IncorrectStatus.loadbalancer', 'message' => 'The status of loadbalancer [%s] is incorrect.', 'http_code' => 400, 'description' => '负载均衡的状态无法进行当前操作,请检查负载均衡当前是否处于其他操作下。'],
+ ['code' => 'IncorrectStatus.loadbalancer', 'message' => 'The status of %s [%s] is incorrect.', 'http_code' => 400, 'description' => '资源%s [%s]的状态无效。'],
+ ['code' => 'IncorrectStatus.serverGroup', 'message' => 'The status of servergroup [%s] is incorrect.', 'http_code' => 400, 'description' => '服务器组的状态无法进行当前操作,请检查服务器组当前是否处于其他操作下。'],
+ ['code' => 'IncorrectStatus.ZoneId', 'message' => 'The zoneId status of eni [%s] is incorrect.', 'http_code' => 400, 'description' => '弹性网卡的可用区状态当前无法操作,请等待前置操作完成。'],
+ ['code' => 'InvalidParameter', 'message' => 'Invalid parameter, please check the parameter input.', 'http_code' => 400, 'description' => '无效参数,请检查参数输入。'],
+ ['code' => 'InvalidZones', 'message' => 'The current zone list is illegal.', 'http_code' => 400, 'description' => 'Zone maping中使用的可用区非法。'],
+ ['code' => 'loadBalancerNames', 'message' => 'size must be between 1 and 10', 'http_code' => 400, 'description' => '参数大小必须在1-10之间。'],
+ ['code' => 'Mismatch.%s', 'message' => 'The %s is mismatched for %s and %s.', 'http_code' => 400, 'description' => '对于资源对象%s和%s,参数%s缺失'],
+ ['code' => 'Mismatch.Protocol', 'message' => 'The Protocol is mismatched for %s and %s.', 'http_code' => 400, 'description' => '监听和服务器组的协议不匹配。'],
+ ['code' => 'Mismatch.ServerType', 'message' => 'The ServerType is mismatched for %s and %s.', 'http_code' => 400, 'description' => 'ServerType不匹配'],
+ ['code' => 'Mismatch.vpc', 'message' => 'The Vpc is mismatched for %s and %s.', 'http_code' => 400, 'description' => '资源%s和资源%s的VPC不匹配。请检查两种资源是否在同一个VPC下。'],
+ ['code' => 'Mismatch.VpcId', 'message' => 'The VpcId is mismatched for %s and %s.', 'http_code' => 400, 'description' => '资源%s和资源%s的VpcId不匹配。请检查两种资源是否在同一个VPC下。'],
+ ['code' => 'Mismatch.VswitchIdAndPrivateIPv4Address', 'message' => 'The VSwitch ID and IPv4Address are mismatched.', 'http_code' => 400, 'description' => 'VSwitch ID与IPV4地址不匹配,因为指定的IPV4地址已经被分配或者不在指定CIDR中,请检查输入参数。'],
+ ['code' => 'Mismatch.ZoneIdAndVswitchId', 'message' => 'The ZoneIdAndVswitchId is mismatched for %s and %s.', 'http_code' => 400, 'description' => 'ZoneId和VswitchId缺失,请检查输入参数。'],
+ ['code' => 'MissingParam.%s', 'message' => 'The parameter of %s is missing.', 'http_code' => 400, 'description' => '参数%s缺失,请检查输入参数。'],
+ ['code' => 'MissingParam.Certificate', 'message' => 'The param of certificate is missing.', 'http_code' => 400, 'description' => '参数Certificate缺失。'],
+ ['code' => 'MissingParam.IP', 'message' => 'The parameter of IP is missing.', 'http_code' => 400, 'description' => '输入的ip参数缺失,请检查输入参数。'],
+ ['code' => 'MissingParam.IP', 'message' => 'The param of IP is missing.', 'http_code' => 400, 'description' => '输入的IP参数缺失,请检查您的输入参数。'],
+ ['code' => 'MissingParam.ServerGroupId', 'message' => 'The param of ServerGroupId is missing.', 'http_code' => 400, 'description' => '参数ServerGroupId缺失,请检查输入参数。'],
+ ['code' => 'OperationDenied.%s', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => '因为%s,当前操作是不允许的'],
+ ['code' => 'OperationDenied.AddressTypeNotChanged', 'message' => 'The operation is not allowed because of AddressTypeNotChanged.', 'http_code' => 400, 'description' => '该操作不被允许,因为地址类型未更改。'],
+ ['code' => 'OperationDenied.CaCertificateUsed', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => '资源%s已被关联。'],
+ ['code' => 'OperationDenied.DefaultCertificateUsed', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => '操作被拒绝,原因是%s。'],
+ ['code' => 'OperationDenied.DeletionProtectionEnabled', 'message' => 'The operation is not allowed because of DeletionProtectionEnabled.', 'http_code' => 400, 'description' => '由于启用了删除保护(DeletionProtectionEnabled),不允许进行此操作。'],
+ ['code' => 'OperationDenied.EipAlreadyInBandwidthPackage', 'message' => 'The operation is not allowed because of EipAlreadyInBandwidthPackage.', 'http_code' => 400, 'description' => '由于 EIP已经加入共享带宽包的原因,操作不被允许。'],
+ ['code' => 'OperationDenied.IntranetLoadBalancer', 'message' => 'The operation is not allowed because of IntranetLoadBalancer.', 'http_code' => 400, 'description' => '由于是内网负载均衡器(IntranetLoadBalancer),不允许进行此操作。'],
+ ['code' => 'OperationDenied.Ipv6IntranetInstance', 'message' => 'The operation is not allowed because of Ipv6IntranetInstance.', 'http_code' => 400, 'description' => '私网ipv6负载均衡实例不支持当前操作。'],
+ ['code' => 'OperationDenied.NonDualStackInstance', 'message' => 'The operation is not allowed because of NonDualStackInstance.', 'http_code' => 400, 'description' => '由于不存在双栈实例,因此操作不被允许。'],
+ ['code' => 'OperationDenied.OnlyPayByTrafficSupported', 'message' => 'The operation is not allowed because of OnlyPayByTrafficSupported.', 'http_code' => 400, 'description' => '由于仅支持按流量计费,因此不允许进行此操作。'],
+ ['code' => 'OperationDenied.OnlyPostPaidSupported', 'message' => 'The operation is not allowed because of OnlyPostPaidSupported.', 'http_code' => 400, 'description' => '由于仅支持后付费,因此不允许进行此操作。'],
+ ['code' => 'OperationDenied.ProtectedPrivateIPv4AddressChanged', 'message' => 'The operation is not allowed because of ProtectedPrivateIPv4AddressChanged.', 'http_code' => 400, 'description' => '由于受保护的私有 IPv4 地址已更改的原因,操作不被允许。'],
+ ['code' => 'OperationDenied.Protocol', 'message' => 'The operation is not allowed because of %s.', 'http_code' => 400, 'description' => '操作被拒绝,原因是%s。'],
+ ['code' => 'OperationDenied.RegionNotSupportAnycast', 'message' => 'The operation is not allowed because of RegionNotSupportAnycast.', 'http_code' => 400, 'description' => '当前地域不支持AnyCast。'],
+ ['code' => 'OperationDenied.RegionNotSupportHDMonitor', 'message' => 'The operation is not allowed because of RegionNotSupportHDMonitor.', 'http_code' => 400, 'description' => '当前区域不支持秒级监控。'],
+ ['code' => 'OperationDenied.ServerGroupNotSupportIpv6', 'message' => 'The operation is not allowed because of ServerGroupNotSupportIpv6.', 'http_code' => 400, 'description' => '因为服务器组不支持IPV6,所以操作失败。'],
+ ['code' => 'OperationDenied.ServiceLinkedRoleNotExist', 'message' => 'The operation is not allowed because of ServiceLinkedRoleNotExist.', 'http_code' => 400, 'description' => '由于服务关联角色不存在(ServiceLinkedRoleNotExist),不允许进行此操作。请检查RAM中是否给NLB进行了授权。'],
+ ['code' => 'OperationDenied.VpcNotSupportIpv6', 'message' => 'The operation is not allowed because of VpcNotSupportIpv6.', 'http_code' => 400, 'description' => '使用的VPC不支持Ipv6。'],
+ ['code' => 'OperationDenied.ZoneVSwitchChanged', 'message' => 'The operation is not allowed because of ZoneVSwitchChanged.', 'http_code' => 400, 'description' => '已存在的可用区不允许虚拟交换机发生变化。'],
+ ['code' => 'OperationFailed.%s', 'message' => 'The operation failed because of %s.', 'http_code' => 400, 'description' => '因为%操作当前API失败'],
+ ['code' => 'OperationFailed.CreateOrderError', 'message' => 'Operation failed because CreateOrderError.', 'http_code' => 400, 'description' => '因为创建订单失败,所以操作失败。'],
+ ['code' => 'OperationFailed.DefaultCertificateNotFound', 'message' => 'The operation failed because of %s.', 'http_code' => 400, 'description' => '操作失败,原因是%s。'],
+ ['code' => 'OperationFailed.DuplicateZones.', 'message' => 'The operation failed because of Can not Specify duplicate zones.', 'http_code' => 400, 'description' => '由于指定了重复的可用区,操作失败。请修改参数。'],
+ ['code' => 'OperationFailed.GetXipFailed', 'message' => 'Operation failed because GetXipFailed.', 'http_code' => 400, 'description' => '操作失败,因为实例还在创建中。'],
+ ['code' => 'OperationFailed.NotExist.ResourceGroup', 'message' => 'Operation failed because ResourceGroup not exist.', 'http_code' => 400, 'description' => '指定的资源组不存在。'],
+ ['code' => 'OperationFailed.StatusCheckFail.ResourceGroup', 'message' => 'The operation failed because of StatusCheckFail.ResourceGroup.', 'http_code' => 400, 'description' => '因为资源组状态检查失败,所以操作失败。'],
+ ['code' => 'OperationFailed.UnpaidBill', 'message' => 'The operation failed because of UnpaidBill.', 'http_code' => 400, 'description' => '您有欠费账单,不符合购买条件。请先充值结清账单后再购买。'],
+ ['code' => 'OperationFailed.vSwitchNotSupportIpv6', 'message' => 'The operation failed because of vSwitchNotSupportIpv6.', 'http_code' => 400, 'description' => '所使用的虚拟交换机(vSwicth)不支持ipv6协议,请确认输入参数。'],
+ ['code' => 'OperationFailed.ZoneAlreadyExist', 'message' => 'The operation failed because of ZoneAlreadyExist.', 'http_code' => 400, 'description' => '参数中指定的可用区已经存在,请检查输入参数。'],
+ ['code' => 'QuotaExceeded.%s', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => '%s的配额超过限制,已使用%s/%s'],
+ ['code' => 'QuotaExceeded.QuotaInsufficient', 'message' => 'The quota of %s is exceeded, usage %s/%s.', 'http_code' => 400, 'description' => '配额不足,已使用%s/%s。请在配额中心中修改配额大小。'],
+ ['code' => 'ResourceAlreadyAssociated.%s', 'message' => 'The specified resource of %s is already associated.', 'http_code' => 400, 'description' => '所请求的资源%s已经被关联。'],
+ ['code' => 'ResourceAlreadyAssociated.AllocationId', 'message' => 'The specified resource of %s is already associated.', 'http_code' => 400, 'description' => '指定的资源AllocationId已经被关联。'],
+ ['code' => 'ResourceAlreadyAssociated.Certificate', 'message' => 'The specified resource %s is already associated.', 'http_code' => 400, 'description' => '资源%s已被关联。'],
+ ['code' => 'ResourceAlreadyAssociated.loadbalancer', 'message' => 'The specified resource of loadbalancer is already associated.', 'http_code' => 400, 'description' => '指定的负载均衡已经和共享带宽包绑定过了。'],
+ ['code' => 'ResourceInConfiguring.%s', 'message' => 'The specified resource of %s is being configured, please try again later.', 'http_code' => 400, 'description' => '指定的资源%s正在配置,请稍后重试'],
+ ['code' => 'ResourceInConfiguring.loadbalancer', 'message' => 'The specified resource of loadbalancer is being configured, please try again later.', 'http_code' => 400, 'description' => '正在配置指定的负载均衡资源,请稍后重试。'],
+ ['code' => 'ResourceInConfiguring.VswitchId', 'message' => 'The specified resource of VswitchId is being configured, please try again later.', 'http_code' => 400, 'description' => '正在配置指定的虚拟交换机资源,请稍后重试。'],
+ ['code' => 'ResourceInCreating.%s', 'message' => 'The specified resource of %s is creating, please try again later.', 'http_code' => 400, 'description' => '指定的资源%s正在创建中,请稍后重试。'],
+ ['code' => 'ResourceInCreating.loadbalancer', 'message' => 'The specified resource of loadbalancer is creating, please try again later.', 'http_code' => 400, 'description' => '正在创建指定的负载均衡器资源,请稍后重试。'],
+ ['code' => 'ResourceInUse.%s', 'message' => 'The specified resource of %s is in use.', 'http_code' => 400, 'description' => '指定的资源%s正在使用中'],
+ ['code' => 'ResourceInUse.IP', 'message' => 'The specified resource of IP is in use.', 'http_code' => 400, 'description' => '传入的IP不能是NLB的eni地址,请检查参数。'],
+ ['code' => 'ResourceInUse.SecurityPolicy', 'message' => 'The specified resource of SecurityPolicy is in use.', 'http_code' => 400, 'description' => 'SecurityPolicy变配中,请稍后重试。'],
+ ['code' => 'ResourceInUse.ServerGroup', 'message' => 'The specified resource of ServerGroup is in use.', 'http_code' => 400, 'description' => '指定的服务器组资源正在使用中,请稍后重试。'],
+ ['code' => 'ResourceNotAssociated.Certificate', 'message' => 'The specified resource %s is not associated.', 'http_code' => 400, 'description' => '资源%s未被关联。'],
+ ['code' => 'ResourceNotAssociated.loadbalancer', 'message' => 'Thre resource is not associated with loadbalancer.', 'http_code' => 400, 'description' => '当前带宽包没有和参数中的lb关联,请检查输入参数。'],
+ ['code' => 'ResourceNotEnough.%s', 'message' => 'The specified resource of %s is not enough.', 'http_code' => 400, 'description' => '所需要的资源%s不足了'],
+ ['code' => 'ResourceNotEnough.VSwitchIp', 'message' => 'The specified resource of VSwitchIp is not enough.', 'http_code' => 400, 'description' => '所指定的虚拟交换机(vSwitch) IP资源不足。'],
+ ['code' => 'ResourceNotFound.%s', 'message' => 'The specified resource of %s is not found.', 'http_code' => 404, 'description' => '无法找到所需要使用的资源%s'],
+ ['code' => 'ResourceNotFound.AllocationId', 'message' => 'The specified resource of AllocationId is not found.', 'http_code' => 404, 'description' => '指定的AllocationId不存在,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.AnycastInstance', 'message' => 'The specified resource of AnycastInstance is not found.', 'http_code' => 404, 'description' => '找不到指定的 Anycast 实例资源。'],
+ ['code' => 'ResourceNotFound.BackendServer', 'message' => 'The specified resource of BackendServer is not found.', 'http_code' => 404, 'description' => '找不到指定的后端服务器资源,请检查输入的参数。'],
+ ['code' => 'ResourceNotFound.BandwidthPackageId', 'message' => 'The specified resource of BandwidthPackageId is not found.', 'http_code' => 404, 'description' => '找不到指定的带宽包资源。请检查输入的参数。'],
+ ['code' => 'ResourceNotFound.CaCertificate', 'message' => 'The specified resource of CaCertificate is not found.', 'http_code' => 404, 'description' => 'Ca证书不存在,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.Certificate', 'message' => 'The specified resource %s is not found.', 'http_code' => 400, 'description' => '资源%s不存在。'],
+ ['code' => 'ResourceNotFound.CommonBandwidthPackage', 'message' => 'The specified resource of CommonBandwidthPackage is not found.', 'http_code' => 404, 'description' => '共享带宽包资源不存在,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.Eci', 'message' => 'The specified resource of Eci is not found.', 'http_code' => 404, 'description' => '找不到指定的弹性容器实例(Eci)资源,请检查输入的参数。'],
+ ['code' => 'ResourceNotFound.Ecs', 'message' => 'The specified resource of Ecs is not found.', 'http_code' => 404, 'description' => '找不到指定的ECS资源, 请检查输入的参数。'],
+ ['code' => 'ResourceNotFound.Eni', 'message' => 'The specified resource Eni is not found.', 'http_code' => 404, 'description' => '没有找到指定的弹性网卡实例,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.HdMonitorConfigNotExist', 'message' => 'The specified resource of HdMonitorConfigNotExist is not found.', 'http_code' => 404, 'description' => 'HdMonitorConfig 不存在,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.Ipv6Gateway', 'message' => 'The specified resource of Ipv6Gateway is not found.', 'http_code' => 404, 'description' => '找不到指定的 IPv6 网关资源。'],
+ ['code' => 'ResourceNotFound.JobId', 'message' => 'The specified resource of JobId is not found.', 'http_code' => 404, 'description' => '找不到指定的JobId资源,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.listener', 'message' => 'The specified resource %s is not found.', 'http_code' => 404, 'description' => '资源%s不存在。'],
+ ['code' => 'ResourceNotFound.loadBalancer', 'message' => 'The specified resource of loadbalancer is not found.', 'http_code' => 404, 'description' => '找不到指定的负载均衡器资源,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.ResourceGroup', 'message' => 'The param of resourceGroup not existed.', 'http_code' => 404, 'description' => '资源组不存在。'],
+ ['code' => 'ResourceNotFound.SecurityGroup', 'message' => 'The specified resource of SecurityGroup is not found.', 'http_code' => 404, 'description' => '找不到指定的安全组资源,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.securitypolicy', 'message' => 'The specified resource of securitypolicy is not found.', 'http_code' => 404, 'description' => '找不到指定的安全策略资源。请检查输入参数。'],
+ ['code' => 'ResourceNotFound.serverGroup', 'message' => 'The specified resource of serverGroup is not found.', 'http_code' => 404, 'description' => '找不到指定的服务器组资源,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.Vpc', 'message' => 'The specified resource of Vpc is not found.', 'http_code' => 404, 'description' => '找不到指定的VPC资源,请检查输入参数。'],
+ ['code' => 'ResourceNotFound.VSwitch', 'message' => 'The specified resource of vSwitch is not found.', 'http_code' => 404, 'description' => '找不到指定的虚拟交换机资源,请检查输入参数。'],
+ ['code' => 'SystemBusy', 'message' => 'System is busy, please try again later.', 'http_code' => 400, 'description' => '系统繁忙,请稍后重试'],
+ ['code' => 'TagInvokeError', 'message' => 'resourceType:%s ,error msg:%s', 'http_code' => 400, 'description' => '资源类型:%s, tag相关报错为%s'],
+ ['code' => 'TagInvokeError', 'message' => 'listTagsByResourceIds: InvalidResourceId.NotFound : The specified ResourceIds are not found in our records.', 'http_code' => 400, 'description' => '在资源标签中找不到资源定义,请检查RAM是否给NLB添加授权。'],
+ ['code' => 'Throttling.User', 'message' => 'Request was denied due to api flow control.', 'http_code' => 400, 'description' => '由于触发流控,请求被拒绝。'],
+ ['code' => 'UnauthorizedRegion', 'message' => 'The specified region of %s is not authorized.', 'http_code' => 403, 'description' => '当前region还没有获得授权。'],
+ ['code' => 'UnauthorizedZone', 'message' => 'The specified zone of %s is not authorized.', 'http_code' => 403, 'description' => '指定的可用区%s未被授权使用'],
+ ['code' => 'UpdateSecurityPolicyFailed', 'message' => 'The operation failed because of Security Policy is not changed.', 'http_code' => 400, 'description' => '因为安全策略没有发生变化,所以操作失败,请检查输入参数。'],
+ ],
+ 'changeSet' => [],
+ 'flowControl' => [
+ 'flowControlList' => [
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListTagResources'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetListenerAttribute'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UntagResources'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListServerGroupServers'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerZones'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteSecurityPolicy'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DetachCommonBandwidthPackageFromLoadBalancer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListServerGroups'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'MoveResourceGroup'],
+ ['threshold' => '10', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetListenerHealthStatus'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSystemSecurityPolicy'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'SetHdMonitorRegionConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateListenerAttribute'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateLoadBalancer'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateServerGroupAttribute'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateServerGroup'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeZones'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteServerGroup'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AddServersToServerGroup'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteLoadBalancer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListListeners'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'LoadBalancerJoinSecurityGroup'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisassociateAdditionalCertificatesWithListener'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DisableLoadBalancerIpv6Internet'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'DeleteListener'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AssociateAdditionalCertificatesWithListener'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetLoadBalancerAttribute'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListSecurityPolicy'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'AttachCommonBandwidthPackageToLoadBalancer'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListLoadBalancers'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'ListListenerCertificates'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateSecurityPolicyAttribute'],
+ ['threshold' => '-1', 'countWindow' => 1, 'regionId' => '*'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerAttribute'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'RemoveServersFromServerGroup'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerAddressTypeConfig'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeRegions'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateSecurityPolicy'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CancelShiftLoadBalancerZones'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'EnableLoadBalancerIpv6Internet'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StopListener'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'CreateListener'],
+ ['threshold' => '300', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateLoadBalancerProtection'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'DescribeHdMonitorRegionConfig'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'TagResources'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'LoadBalancerLeaveSecurityGroup'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'UpdateServerGroupServersAttribute'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartShiftLoadBalancerZones'],
+ ['threshold' => '200', 'countWindow' => 60, 'regionId' => '*', 'api' => 'StartListener'],
+ ['threshold' => '20', 'countWindow' => 1, 'regionId' => '*', 'api' => 'GetJobStatus'],
+ ],
+ 'product' => ['code' => 'nlb', 'title' => '网络型负载均衡NLB'],
+ ],
+ 'ram' => [
+ 'productCode' => 'NLB',
+ 'productName' => '负载均衡',
+ 'ramCodes' => ['nlb'],
+ 'ramLevel' => '资源级',
+ 'ramConditions' => [
+ [
+ 'name' => 'nlb:ListenerProtocol',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => '网络型负载均衡监听协议',
+ 'enums' => ['TCP', 'UDP', 'TCPSSL'],
+ ],
+ ],
+ [
+ 'name' => 'nlb:AddressType',
+ 'schema' => [
+ 'type' => 'String',
+ 'description' => '网络型负载均衡IPv4 地址类型',
+ 'enums' => ['Internet', 'Intranet'],
+ ],
+ ],
+ [
+ 'name' => 'nlb:SecurityPolicyId',
+ 'schema' => ['type' => 'String', 'description' => '网络型负载均衡安全策略'],
],
- 'security' => [
- [
- 'AK' => [],
+ ],
+ 'ramActions' => [
+ [
+ 'apiName' => 'ListTagResources',
+ 'description' => '查询资源标签',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListTagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServergroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'ListListeners',
+ 'description' => '查询监听',
'operationType' => 'get',
- ],
- 'parameters' => [
- [
- 'name' => 'JobId',
- 'in' => 'query',
- 'schema' => [
- 'title' => 'add 必选',
- 'description' => '异步任务ID。',
- 'type' => 'string',
- 'required' => true,
- 'example' => '72dcd26b-f12d-4c27-b3af-18f6aed5****',
+ 'ramAction' => [
+ 'action' => 'nlb:ListListeners',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'Listener', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:listener/*'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'EnableLoadBalancerIpv6Internet',
+ 'description' => '开启NLB实例IPv6公网',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:EnableLoadBalancerIpv6Internet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'ListListenerCertificates',
+ 'description' => '查询TCPSSL监听证书',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListListenerCertificates',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'System is busy, please try again later.',
+ [
+ 'apiName' => 'CancelShiftLoadBalancerZones',
+ 'description' => '把可用区的EIP/VIP加到DNS中',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:CancelShiftLoadBalancerZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ],
+ [
+ 'apiName' => 'CreateServerGroup',
+ 'description' => '创建服务器组',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/*'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
],
],
- [
- [
- 'errorCode' => 'ResourceNotFound.JobId',
- 'errorMessage' => 'The specified resource of JobId is not found.',
+ ],
+ [
+ 'apiName' => 'CreateLoadBalancer',
+ 'description' => '创建网络型负载均衡实例',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:AddressType', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/*'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'EipAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
],
],
],
- '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' => [],
+ [
+ 'apiName' => 'AddServersToServerGroup',
+ 'description' => '添加后端服务器',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:AddServersToServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
+ [
+ 'apiName' => 'GetListenerHealthStatus',
+ 'description' => '查询监听健康检查状态',
'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,
+ 'ramAction' => [
+ 'action' => 'nlb:GetListenerHealthStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'DeleteSecurityPolicy',
+ 'description' => '删除自定义安全策略',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteSecurityPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'SystemBusy',
- 'errorMessage' => 'System is busy, please try again later.',
- ],
- ],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ [
+ 'apiName' => 'ListServerGroups',
+ 'description' => '查询服务器组',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListServerGroups',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/*'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
],
],
- [
- [
- 'errorCode' => 'ResourceNotFound.JobId',
- 'errorMessage' => 'The specified resource of JobId is not found.',
+ ],
+ [
+ 'apiName' => 'GetLoadBalancerAttribute',
+ 'description' => '查询负载均衡实例的详细信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetLoadBalancerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- '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' => [],
+ [
+ 'apiName' => 'UpdateLoadBalancerProtection',
+ 'description' => '修改删除保护',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerProtection',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'create',
- 'abilityTreeCode' => '141891',
- 'abilityTreeNodes' => [
- 'FEATUREslbTUH0QC',
+ [
+ 'apiName' => 'UpdateListenerAttribute',
+ 'description' => '更新监听配置',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateListenerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:SecurityPolicyId', 'validationType' => 'always'],
+ ],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
- '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,
+ [
+ 'apiName' => 'UpdateLoadBalancerAddressTypeConfig',
+ 'description' => '变更网络类型配置',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerAddressTypeConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:AddressType', 'validationType' => 'always'],
],
- ],
- [
- '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,
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '资源类型,取值:'."\n"
- ."\n"
- .'- **loadbalancer**:网络型负载均衡实例。'."\n"
- .'- **securitypolicy**:安全策略。'."\n"
- .'- **servergroup**:服务器组。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'loadbalancer',
+ ],
+ [
+ 'apiName' => 'StartListener',
+ 'description' => '启动监听',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:StartListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- 'name' => 'DryRun',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会为资源创建并绑定标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ ],
+ [
+ 'apiName' => 'UntagResources',
+ 'description' => '删除资源的标签',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:UntagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'AttachCommonBandwidthPackageToLoadBalancer',
+ 'description' => '实例绑定共享带宽包',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:AttachCommonBandwidthPackageToLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:CommonBandwidthPackage/{#CommonBandwidthPackageId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '资源所在的地域ID。'."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ListServerGroupServers',
+ 'description' => '查询服务器',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListServerGroupServers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:serverGroup/{#ServerGroupId}'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'RpcResponse<BaseResult>',
- 'description' => '绑定标签。',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
- ],
+ [
+ 'apiName' => 'DeleteListener',
+ 'description' => '删除监听',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IllegalParam',
- 'errorMessage' => 'The param of %s is illegal.',
- ],
- [
- 'errorCode' => 'MissingParam.%s',
- 'errorMessage' => 'The parameter of %s is missing.',
+ [
+ 'apiName' => 'UpdateSecurityPolicyAttribute',
+ 'description' => '更新自定义安全策略属性',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateSecurityPolicyAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ],
+ [
+ 'apiName' => 'UpdateLoadBalancerAttribute',
+ 'description' => '更新负载均衡实例属性',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- [
- 'errorCode' => 'ResourceNotFound.securitypolicy',
- 'errorMessage' => 'The specified resource of securitypolicy is not found.',
- ],
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ ],
+ [
+ 'apiName' => 'GetListenerAttribute',
+ 'description' => '查询监听的属性',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetListenerAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- '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' => [],
+ [
+ 'apiName' => 'CreateSecurityPolicy',
+ 'description' => '创建自定义安全策略',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateSecurityPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/*'],
+ ],
],
],
- 'operationType' => 'readAndWrite',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'delete',
- 'abilityTreeCode' => '141866',
- 'abilityTreeNodes' => [
- 'FEATUREslbTUH0QC',
+ [
+ 'apiName' => 'DisableLoadBalancerIpv6Internet',
+ 'description' => '关闭NLB实例IPv6公网',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:DisableLoadBalancerIpv6Internet',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
- '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,
+ [
+ 'apiName' => 'StopListener',
+ 'description' => '停止监听',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:StopListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- '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,
+ ],
+ [
+ 'apiName' => 'StartShiftLoadBalancerZones',
+ 'description' => '把可用区的EIP/VIP从域名解析中摘除',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:StartShiftLoadBalancerZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
],
],
- [
- 'name' => 'All',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否解绑资源的所有标签。取值:'."\n"
- ."\n"
- .'- **true**:解绑资源的所有标签。'."\n"
- .'- **false**(默认值):不解绑资源的所有标签。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'false',
+ ],
+ [
+ 'apiName' => 'UpdateLoadBalancerZones',
+ 'description' => '更新实例可用区及可用区属性',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateLoadBalancerZones',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- 'name' => 'ResourceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '资源类型。取值:'."\n"
- ."\n"
- .'- **loadbalancer**:网络型负载均衡实例。'."\n"
- .'- **securitypolicy**:安全策略。'."\n"
- .'- **servergroup**:服务器组。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'loadbalancer',
+ ],
+ [
+ 'apiName' => 'CreateListener',
+ 'description' => '创建监听',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:CreateListener',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [
+ ['conditionKey' => 'nlb:ListenerProtocol', 'validationType' => 'always'],
+ ['conditionKey' => 'nlb:SecurityPolicyId', 'validationType' => 'always'],
],
- ],
- [
- 'name' => 'DryRun',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否只预检此次请求。取值:'."\n"
- .'- **true**:发送检查请求,不会为资源解绑标签。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回错误码`DryRunOperation`。'."\n"
- .'- **false**(默认值):发送正常请求,通过检查后返回HTTP 2xx状态码并直接进行操作。',
- 'type' => 'boolean',
- 'required' => false,
- 'example' => 'true',
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'],
],
],
- [
- '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',
+ ],
+ [
+ 'apiName' => 'ListLoadBalancers',
+ 'description' => '查询负载均衡实例信息',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListLoadBalancers',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/*'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '资源所在的地域ID。 '."\n"
- ."\n"
- .'您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'ListSecurityPolicy',
+ 'description' => '查询自定义安全策略',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListSecurityPolicy',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/*'],
],
],
],
- 'responses' => [
- 200 => [
- 'schema' => [
- 'title' => 'RpcResponse<BaseResult>',
- 'description' => '解绑标签。',
- 'type' => 'object',
- 'properties' => [
- 'RequestId' => [
- 'description' => '请求ID。',
- 'type' => 'string',
- 'example' => '54B48E3D-DF70-471B-AA93-08E683A1B45',
- ],
- ],
+ [
+ 'apiName' => 'DisassociateAdditionalCertificatesWithListener',
+ 'description' => '解除关联监听和扩展证书',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:DisassociateAdditionalCertificatesWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- 'errorCodes' => [
- 400 => [
- [
- 'errorCode' => 'IllegalParam',
- 'errorMessage' => 'The param of %s is illegal.',
+ [
+ 'apiName' => 'LoadBalancerJoinSecurityGroup',
+ 'description' => '绑定安全组',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:LoadBalancerJoinSecurityGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ],
+ [
+ 'apiName' => 'ListAsynJobs',
+ 'description' => '批量查询异步任务结果',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:ListAsynJobs',
+ 'authLevel' => 'operate',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- [
- 'errorCode' => 'ResourceNotFound.loadBalancer',
- 'errorMessage' => 'The specified resource of loadbalancer is not found.',
+ ],
+ [
+ 'apiName' => 'TagResources',
+ 'description' => '给资源添加标签',
+ 'operationType' => 'create',
+ 'ramAction' => [
+ 'action' => 'nlb:TagResources',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'conditional', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
],
- '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' => [],
+ [
+ 'apiName' => 'DetachCommonBandwidthPackageFromLoadBalancer',
+ 'description' => '实例解绑共享带宽包',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:DetachCommonBandwidthPackageFromLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
+ ],
],
],
- 'operationType' => 'read',
- 'deprecated' => false,
- 'systemTags' => [
- 'operationType' => 'get',
- 'abilityTreeCode' => '141863',
- 'abilityTreeNodes' => [
- 'FEATUREslbS3YPBZ',
- 'FEATUREslb01BKVK',
+ [
+ 'apiName' => 'UpdateServerGroupServersAttribute',
+ 'description' => '更新后端服务器配置',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateServerGroupServersAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
+ ],
],
],
- 'parameters' => [
- [
- 'name' => 'ResourceType',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '资源类型。取值:'."\n"
- ."\n"
- .'- **loadbalancer**:网络型负载均衡实例。'."\n"
- .'- **securitypolicy**:安全策略。'."\n"
- .'- **servergroup**:服务器组。'."\n"
- .'- **listener**:监听。',
- 'type' => 'string',
- 'required' => true,
- 'example' => 'loadbalancer',
+ [
+ 'apiName' => 'DescribeHdMonitorRegionConfig',
+ 'description' => '查询秒级监控配置',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:DescribeHdMonitorRegionConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- '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,
+ ],
+ [
+ 'apiName' => 'DeleteServerGroup',
+ 'description' => '删除服务器组',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
],
],
- [
- '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,
+ ],
+ [
+ 'apiName' => 'DeleteLoadBalancer',
+ 'description' => '删除负载均衡实例',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:DeleteLoadBalancer',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- 'name' => 'NextToken',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '是否拥有下一次查询的令牌(Token)。取值:'."\n"
- .'- 第一次查询和没有下一次查询时,均无需填写。'."\n"
- .'- 如果有下一次查询,取值为上一次API调用返回的NextToken值。',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'FFmyTO70tTpLG6I3FmYAXGKPd****',
+ ],
+ [
+ 'apiName' => 'SetHdMonitorRegionConfig',
+ 'description' => '配置秒级监控',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:SetHdMonitorRegionConfig',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
- [
- 'name' => 'MaxResults',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '分批次查询时每次显示的条目数。取值范围:**1**~**50**,默认值为**50**。',
- 'type' => 'integer',
- 'format' => 'int32',
- 'required' => false,
- 'example' => '20',
+ ],
+ [
+ 'apiName' => 'MoveResourceGroup',
+ 'description' => '变更资源所属的资源组',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:MoveResourceGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#securitypolicyId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:serverGroup/{#serverGroupId}'],
],
],
- [
- 'name' => 'RegionId',
- 'in' => 'formData',
- 'schema' => [
- 'description' => '您可以通过调用[DescribeRegions](~~443657~~)接口获取地域ID。 ',
- 'type' => 'string',
- 'required' => false,
- 'example' => 'cn-hangzhou',
+ ],
+ [
+ 'apiName' => 'GetJobStatus',
+ 'description' => '查询异步任务结果',
+ 'operationType' => 'get',
+ 'ramAction' => [
+ 'action' => 'nlb:GetJobStatus',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => '全部资源', 'arn' => '*'],
],
],
],
- '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',
- ],
- ],
+ [
+ 'apiName' => 'LoadBalancerLeaveSecurityGroup',
+ 'description' => '解绑安全组',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:LoadBalancerLeaveSecurityGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#loadbalancerId}'],
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
],
],
],
- '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.',
+ [
+ 'apiName' => 'RemoveServersFromServerGroup',
+ 'description' => '移除后端服务器',
+ 'operationType' => 'delete',
+ 'ramAction' => [
+ 'action' => 'nlb:RemoveServersFromServerGroup',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
],
],
- 403 => [
- [
- 'errorCode' => 'Forbidden.NoPermission',
- 'errorMessage' => 'Authentication is failed for NoPermission.',
+ ],
+ [
+ 'apiName' => 'AssociateAdditionalCertificatesWithListener',
+ 'description' => '关联扩展证书和监听',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:AssociateAdditionalCertificatesWithListener',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:loadbalancer/{#LoadBalancerId}'],
],
],
- [
- [
- '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.',
+ ],
+ [
+ 'apiName' => 'UpdateServerGroupAttribute',
+ 'description' => '更新服务器组配置',
+ 'operationType' => 'update',
+ 'ramAction' => [
+ 'action' => 'nlb:UpdateServerGroupAttribute',
+ 'authLevel' => 'resource',
+ 'actionConditions' => [],
+ 'resources' => [
+ ['validationType' => 'always', 'product' => 'NLB', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServerGroupId}'],
],
],
],
- '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',
+ 'resourceTypes' => [
+ ['validationType' => 'conditional', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/{#ServergroupId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/{#LoadbalancerId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/{#SecurityPolicyId}'],
+ ['validationType' => 'always', 'resourceType' => 'Listener', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:listener/*'],
+ ['validationType' => 'always', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:servergroup/*'],
+ ['validationType' => 'always', 'resourceType' => 'VPC', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vpc/{#VpcId}'],
+ ['validationType' => 'always', 'resourceType' => 'LoadBalancer', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:loadbalancer/*'],
+ ['validationType' => 'always', 'resourceType' => 'VSwitch', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:vswitch/{#VSwitchId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'EipAddress', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:eip/{#AllocationId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'Instance', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:instance/{#InstanceId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'NetworkInterface', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:eni/{#ServerId}'],
+ ['validationType' => 'conditional', 'resourceType' => 'ContainerGroup', 'arn' => 'acs:eci:{#regionId}:{#accountId}:containergroup/{#ServerId}'],
+ ['validationType' => 'always', 'resourceType' => 'CommonBandwidthPackage', 'arn' => 'acs:vpc:{#regionId}:{#accountId}:CommonBandwidthPackage/{#CommonBandwidthPackageId}'],
+ ['validationType' => 'always', 'resourceType' => 'ServerGroup', 'arn' => 'acs:nlb:{#regionId}:{#AccountId}:serverGroup/{#ServerGroupId}'],
+ ['validationType' => 'always', 'resourceType' => 'SecurityPolicy', 'arn' => 'acs:nlb:{#regionId}:{#accountId}:securitypolicy/*'],
+ ['validationType' => 'always', 'resourceType' => 'SecurityGroup', 'arn' => 'acs:ecs:{#regionId}:{#accountId}:securitygroup/{#SecurityGroupId}'],
],
],
];